Raised This Month: $12 Target: $400
 3% 

[CS:S] Timer 1.0.7


Post New Thread Reply   
 
Thread Tools Display Modes
Author
alongub
Veteran Member
Join Date: Aug 2009
Location: Israel
Plugin ID:
3077
Plugin Version:
1.0.7
Plugin Category:
General Purpose
Plugin Game:
Counter-Strike: Source
Plugin Dependencies:
    Servers with this Plugin:
    12 
    Plugin Description:
    Competitive Bhop, Trikz and XC experience.
    Old 07-10-2012 , 13:21   [CS:S] Timer 1.0.7
    Reply With Quote #1

    Timer

    Quick questions, comments, concerns? You can reach me quickly in the SourceMod IRC Channel: #sourcemod

    The most recent source code is available at this project's GitHub repository: https://github.com/alongubkin/timer

    About
    Timer is all about the competitive Bhop, Trikz and XC experience.
    • It is completely modular and extensible.
    • It measures the time and jumps it takes players to finish the map.
    • Players can choose their level of difficulty. You can add up to 32 levels of difficulty, and change their physical effects on the player.
    • It has an advanced world record system.
    • A map start and end is determined by map zones. You can add map zones in-game (video). There are also glitch map zones, that try to stop players from exploiting map bugs that can possibly be used to cheat the timer.
    • It has a HUD that displays players their current timer (or if you're a spectator it displays the timer of the player you're spectating).
    • It supports MySQL, and theoretically SQLite too (but because of a bug in the old version of SQLite that SM uses, the WR module currently doesn't work with SQLite).
    • It supports Updater by GoD-Tony.
    Some of its functionality existed in some form in cP mod, among many other features. This plugin is much more focused. It is also modular and extensible - which means you can enable and disable any feature of the plugin, and developers can easily integrate it with their own plugins. If you need the checkpoints functionallity of cP mod, you can use other plugins such as SM_CheckpointSaver.
    Modules
    Unless stated otherwise, all modules work independently and do not require other plugins/modules to be loaded. The one exception being timer-core.smx, which is required for the timer to work at all. This means that any modules which you are not using can be disabled.
    Core - timer-core.smx
    The core component of the Timer. It is required for the timer to function. It provides the most of the API, as well as the following commands for players:
    • /restart - Restarts your timer. If the map zones module is enabled, it will teleport the player to the start map zone.
    • /stop - Stops your timer.
    • /pause and /resume - Players can pause their timers, and move around the map. When they resume the timer, it'll automatically teleport them to where they paused it.
    Physics - timer-physics.smx
    You can configure different levels of difficulty in your server. Every level of difficulty has certain effect on the player who chooses it. You can easily add or remove levels of difficulty, and change their effects on the player.

    For example, one can create an 'easy' difficulty with low gravity and auto jump enabled, a 'hard' difficulty where the A and D keys are disabled, and a 'medium' difficulty with a different value of stamina.

    The physics module exposes the /difficulty command that allows players to change their level of difficulty.
    Map Zones - timer-mapzones.smx
    For every map, you can add different map zones. The plugin has an in-game map zone editor for admins.

    Timer currently supports 5 types of map zones:
    • A start map zone that automatically starts the timer for players who inside it,
    • An end map zone that stops the timer for a player and adds a new record to the database,
    • ... and 3 other 'glitch' map zones that try to stop players from exploiting map bugs that can possibly be used to cheat the timer.
    World Record - timer-worldrecord.smx
    Allows players to view the records for the current map using the /wr command. If the physics module is enabled, it will display different world records for each difficulty. This module supports a console version of wr, in the same way status prints results.

    It also provides the /record and the /record <name> commands to view your or another player's record for the current map. In addition, it provides the /delete command, that allows you to delete any of your records in this map.
    HUD - timer-hud.smx
    The HUD module adds a constant hint message for players, showing them their timers. Usually, it shows the time since the timer started, jumps, speed and best times for this map. If the physics module is enabled, it also shows them their current difficulty.

    If you're currently spectating someone else, it will show you his timer.
    Logging - timer-logging.smx
    The logging module has 5 different levels of messages: trace, debug, info, warning and error. It logs to sourcemod/logs/timer-<date>.txt. You can configure the minimum type of messages that you want in your log (for example: warning and errors only), in configs/timer/logging.cfg.

    Installation
    Just download the attached zip archive and extract to your sourcemod folder intact. Then navigate to your configs/ directory and add the following entry in databases.cfg:

    HTML Code:
            "timer"
            {
                    "driver"                        "mysql"
                    "host"                          "<your-database-host>"
                    "database"                      "<your-database-name>"
                    "user"                          "<username>"
                    "pass"                          "<password>"
            }
    The plugin will automatically create the necessary tables.
    Configuration
    For most modules, there is a corresponding cvar configuration file located in cfg/sourcemod/. They will be prefixed with "timer-".

    Besides the cvar configuration files, there is the levels of difficulty configuration, in configs/timer/difficulties.cfg.

    For every map you want to use the Timer in, you'll need to add map zones. I've created a simple video tutorial on how to do it: http://www.youtube.com/watch?v=YAX7FAF_N8Q
    Changelog
    The most recent source code is available at this project's GitHub repository:
    https://github.com/alongubkin/timer

    1.0.7 (9 February 2013)
    • Added flashbang count for Trikz maps.
    • Optimized anti-prespeeding.
    • Added rank natives.
    • Added the timer_three_axis_speed cvar.
    • Added optional forward button prevention on difficulties.
    • Added native for some anti-cheats.
    • Added the OnTimerPause, OnTimerResume and OnTimerDeleteOneRecord forwards.
    • Added the Timer_Pause and Timer_Resume natives.
    • Added cvar timer_drawzones.
    • Added cvar timer_hud_update_time.
    • Add total number of records to Records Title.
    • Added French translations, thanks to blacklagoon.
    • Added the Timer_GetBestRecord native; deprecated Timer_GetBestRound.
    • Many, many other improvements and bug fixes based on your feedback.
    1.0.6 (4 August 2012)
    • Updated translations.
    1.0.5 (3 August 2012)
    • Added an advanced logging module, configurable in configs/timer/logging.cfg.
    • Added support for anti pre-speeding in start zones, configurable using the timer_stopprespeeding cvar.
    • Added an option for admins to remove all zones from the current map.
    • The admin delete record menu now allows to delete records of players who aren't connected to the server.
    • Fixed cvar handling in some modules.
    • Added the sm_deleterecord and sm_deleterecord_all admin commands.
    • Added time difference in the finish map message.
    • Added Portuguese translations.
    • Added the timer_showjumps cvar, that sets whether or not jumps are shown in some messages.
    • Improved some messages.
    • Removed the timer_resetbeforestart cvar, this is now always enabled.
    • Improved auto bhop in timer-physics.
    • Fixed the ground map zone bug.
    • Fixed some memory leaks.
    • Removed loghelper dependency.
    • Reduced smlib dependency to smlib/arrays only.
    • Other minor improvements and bugfixes.
    1.0.4 (23 July 2012)
    • Fixed a memory leak with SQL connection handling in timer-core, timer-mapzones and timer-worldrecord.
    • Fixed a memory leak with difficulties loading in timer-physics.
    • Implemented GetClientSerial/GetClientFromSerial in some timers.
    • Now verifying if player is still in-game before sending him the Map Zone Delete message in DeleteMapZoneCallback.
    • Fixed an exploit where players could delete records that do not belong to them in rare situations.
    1.0.3 (23 July 2012)
    • Added the timer_restart_enabled, timer_stop_enabled, timer_pauseresume_enabled cvars so you can enable or disable the /restart, /stop, /pause and /resume commands. They are enabled by default.
    • Added support for frags (time) and deaths (jumps). Configurable using the timer_frags and timer_jumps_death cvars. They are disabled by default.
    • Added support for the H:M:S.thousands time format for more accuracy.
    • Changed the HUD update timer to 0.25 for more accuracy.
    • Jumps are now shown in the WR main menu.
    • Added optional support for showing the difficulty menu in player_team. Configurable using the timer_jointeam_difficulty cvar, which is disabled by default.
    • Menu strings are now translated to the client's language.
    • !restart now teleports the player to the center of the start zone.
    • Not considering the vertical component of velocity anymore when calculating speed (again).
    • Fixed a bug where spectators didn't see the timer of the player whom they're currently spectating.
    • Changed the player tracker timer to 0.1 for more accuracy.
    • Added jump count to the finish message.
    • Changed "Map Zones Management" to "Timer Management" in the admin menu.
    • Added an option for admins with the RCON flag to delete a player's record (requires the timer-worldrecord module).
    • Added an option for admins with the RCON flag to delete all records from the current map (requires the timer-worldrecord module).
    • Fixed World Record player sorting.
    • Fixed a bug with difficulty in personal record info.
    • Many other small bug fixes.
    1.0.2 (11 July 2012)
    • Fixed Russian translations.
    • Added the OnTimerStarted, OnTimerStopped and OnTimerRestart forwards.
    • Added the timer_resetbeforestart cvar that sets whether or not the timer is restarted in the start zone (disabled by default).
    1.0.1 (11 July 2012)
    • Added Russian translations, thanks to Glite.
    • Timers now automatically stop on player_death, player_team, player_spawn and player_disconnect.
    • Not using FormatTime anymore because of a bug in SM in Windows SRCDS.
    • Hour part doesn't show up anymore unless you're actually an hour in to the timer.
    • Fixed the message of the WR module when there are no records and the timer-physics module is disabled.
    • Changed speed units to u/s instead of m/s.
    • Added the timer_hud_* cvars to show or hide specific information in the HUD.
    • Not considering the vertical component of velocity anymore when calculating speed.
    • Fixed a bug where spectators got map records.
    • Not auto-bhopping anymore if the client is on a ladder.


    Attached Files
    File Type: zip timer-1.0.7.zip (126.4 KB, 9825 views)
    __________________

    Last edited by alongub; 03-02-2013 at 11:48. Reason: Updated to version 1.0.7
    alongub is offline
    iDragon
    Member
    Join Date: Aug 2010
    Old 07-10-2012 , 13:48   Re: [CS:S] Timer (v1.0.0)
    Reply With Quote #2

    Great Plugin!
    And awsome video.
    __________________
    Sorry for my bad english.

    Last edited by iDragon; 07-10-2012 at 13:50.
    iDragon is offline
    away000
    Veteran Member
    Join Date: Sep 2010
    Old 07-10-2012 , 14:06   Re: [CS:S] Timer (v1.0.0)
    Reply With Quote #3

    Can u add a new feature?

    Use Frags for time of the player (and stop frag count with his best time after he finish the map) and use deaths in the same way for jumps....

    Maybe the "star" from MPV can be used to show the rank of a player....

    Thanks again and will try it soon
    __________________
    away000 is offline
    alongub
    Veteran Member
    Join Date: Aug 2009
    Location: Israel
    Old 07-10-2012 , 14:19   Re: [CS:S] Timer (v1.0.0)
    Reply With Quote #4

    Quote:
    Originally Posted by away000 View Post
    Can u add a new feature?

    Use Frags for time of the player (and stop frag count with his best time after he finish the map) and use deaths in the same way for jumps....
    Yes, it's possible.

    Last edited by alongub; 07-10-2012 at 14:19.
    alongub is offline
    alongub
    Veteran Member
    Join Date: Aug 2009
    Location: Israel
    Old 07-13-2012 , 15:15   Re: [CS:S] Timer (v1.0.0)
    Reply With Quote #5

    Quote:
    Originally Posted by away000 View Post
    Can u add a new feature?

    Use Frags for time of the player (and stop frag count with his best time after he finish the map) and use deaths in the same way for jumps....

    Maybe the "star" from MPV can be used to show the rank of a player....
    What happens if the rank of the player > 5?
    alongub is offline
    away000
    Veteran Member
    Join Date: Sep 2010
    Old 07-10-2012 , 14:22   Re: [CS:S] Timer (v1.0.0)
    Reply With Quote #6

    Wow, probabily i will change from CP to this ;D, but can u give more options to dificult levels? like easy = gravity+auto jump+préspeed, normal=autojump+pré speed, hard=normal gravity no préspeed noautojump and these kind of things? and make a pannel to choose dificulty on jointeam event....
    __________________
    away000 is offline
    alongub
    Veteran Member
    Join Date: Aug 2009
    Location: Israel
    Old 07-10-2012 , 14:34   Re: [CS:S] Timer (v1.0.0)
    Reply With Quote #7

    Quote:
    Originally Posted by away000 View Post
    Wow, probabily i will change from CP to this ;D, but can u give more options to dificult levels? like easy = gravity+auto jump+préspeed, normal=autojump+pré speed, hard=normal gravity no préspeed noautojump and these kind of things?
    You can do that already.

    Quote:
    Originally Posted by away000 View Post
    and make a pannel to choose dificulty on jointeam event....
    Good idea, I'll add it in the next version.
    alongub is offline
    away000
    Veteran Member
    Join Date: Sep 2010
    Old 07-10-2012 , 14:35   Re: [CS:S] Timer (v1.0.0)
    Reply With Quote #8

    My friend have a part of code who have are of long jump, maybe u can implement a boxarea like start/stop areas for longjumps (with sounds for records )
    __________________
    away000 is offline
    alongub
    Veteran Member
    Join Date: Aug 2009
    Location: Israel
    Old 07-10-2012 , 14:48   Re: [CS:S] Timer (v1.0.0)
    Reply With Quote #9

    Quote:
    Originally Posted by away000 View Post
    My friend have a part of code who have are of long jump, maybe u can implement a boxarea like start/stop areas for longjumps (with sounds for records )
    The map zones module currently has 5 hardcoded map zones. My plan is that developers can add custom types of map zones so ideas like this one can be easily implemented using a different plugin.
    alongub is offline
    away000
    Veteran Member
    Join Date: Sep 2010
    Old 07-10-2012 , 14:55   Re: [CS:S] Timer (v1.0.0)
    Reply With Quote #10

    U can create a module for LJ? I know nothing of coding any language, sourcepawn i know less than nothing ^^

    I can give u a hudge amount of ideas for ur plugin.... will only wait this changes and start testing it for myself to check if i think in more ;D
    __________________
    away000 is offline
    Reply


    Thread Tools
    Display Modes

    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 18:17.


    Powered by vBulletin®
    Copyright ©2000 - 2024, vBulletin Solutions, Inc.
    Theme made by Freecode