mirror of
https://github.com/shavitush/bhoptimer.git
synced 2025-12-06 18:08:26 +00:00
A bunnyhop timer plugin for Counter-Strike: Source, Counter-Strike: Global Offensive and Team Fortress 2.
bhop-timerbunnyhopcounter-strike-global-offensivecounter-strike-sourcecsgocsshacktoberfestkreedzkzsourcemodsourcepawntimer
| configs | ||
| gamedata | ||
| maps | ||
| scripting | ||
| sound/shavit | ||
| webserver | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| 1.2b_todo.md | ||
| 1.3b_todo.md | ||
| 1.4b_todo.md | ||
| README.md | ||
| smbuild | ||
Build status
shavit's simple bhop timer
a bhop server should be simple
Requirements:
Optional requirements:
- DHooks - required for static 250 prestrafe (bhoptimer 1.2b and above)
Installation:
- Add a database entry in addons/sourcemod/configs/databases.cfg, call it "shavit"
"Databases"
{
"driver_default" "mysql"
// When specifying "host", you may use an IP address, a hostname, or a socket file path
"default"
{
"driver" "default"
"host" "localhost"
"database" "sourcemod"
"user" "root"
"pass" ""
//"timeout" "0"
//"port" "0"
}
"shavit"
{
"driver" "mysql"
"host" "localhost"
"database" "shavit"
"user" "root"
"pass" ""
}
}
- Copy the desired .smx files to your plugins (addons/sourcemod/plugins) folder
2.1. Copy shavit.games.txt to /gamedata if you have DHooks installed. - Copy base.nav to the
mapsfolder. - Copy the files from the
soundfolder to the one on your server. Make sure to also have equivelant bz2 files on your FastDL server! - Copy the
configsfile to your server and modifyshavit-sounds.cfgif you wish to. - Restart your server.
Required plugins:
shavit-core - no other plugin will work without it.
shavit-zones - required for server functionality and for shavit-misc.
shavit-wr - required for shavit-stats, shavit-replay, shavit-sounds, shavit-stats and shavit-rankings.
shavit-rankings - required for some functionality in shavit-chat.
Todo for 1.5b release (out of beta!)
- Migrate every menu to the 1.7 transitional syntax.
- Migrate DBI to the 1.7 transitional syntax.
- Migrate events to the 1.7 transitional syntax.
- Migrate ADT_Arrays to ArrayList.
~ shavit-core:
- Fix chat colors for CS:S.
- Add table prefix. (
shavit_core_sqlprefix) - Add shavit_core_nostaminareset ("easybhop")
Make a global enumerator/variable with per-style settings (bitflags)- configs are canceled, just recompile the plugin with your own edit ofshavit.inc.- Add unranked styles.
- Add native that will execute threaded MySQL queries and allow callbacks - including safety checks, to prevent error spams. (Migrate DBI to new syntax first!)
- Measure strafe sync, also have it in the Shavit_OnFinish forward.
- Add bonus timer.
~ shavit-hud:
- HUD toggling command. (
sm_hud) - Zone (start/end) HUD toggling command. (
sm_zonehud) - [CS:GO] Replace "- Replay Bot -" for bots with an underlined and pretty text.
- Show time in a "TIME/RECORD" format including percentage for replay bots.
- Remove
sm_zonehudand makesm_huda menu that can toggle HUD, zonehud and spectators list in a panel. - Support for bonus timer.
~ shavit-replay
- Add admin interface. (delete replay data)
- Remove replay bot data on deletion of the #1 record.
- Make a boolean native that confirms if a client is a replay bot with loaded data. (used for
shavit-hud)
~ shavit-wr
- Make
UpdateWRCachesmaller. Will result in extra optimization and more uhm.. dynamic! - Add a cvar that limits the amount of records in the WR menu. (default: 50 |
shavit_wr_recordlimit) - Remove
sm_wrswand makesm_wra dynamic menu with all difficulties. (dynamic!) - Add strafe sync to the WR menu where available.
- Add
sm_bwrsm_bonuswrsm_bonusworldrecord. - Use unix timestamps for future record dates.
~ shavit-stats
- Make style names editable from shavit.inc (like I did to the rest of modules) (dynamic!)
~ shavit-misc
- Allow changing the prespeed limitation.
~ [NEW PLUGIN] shavit-sounds
- Play sounds (from config file |
configs/shavit-sounds.cfg) on new events. - On new #1.
- On personal best.
- On map finish.
~ [NEW PLUGIN] shavit-rankings:
- Create tables. (
mappoints,playerpoints) - Allow RCON admins to set ideal points for map and time for the default style.
- Implement an algorithm that will calculate points for the map, will also take the time and style into account. Add a +25% bonus if the time is equal or better than the ideal one.
- Use a weighting system for points calculation. The highest ranked time will be weighted 100% and worse times will be weighted as 5% less each time.
- Calculate points and rank for players once they connect to the server.
- Add
sm_topthat will show the top X players, sort by points. - Add natives.
float Shavit_GetPoints(int client)int Shavit_GetRank()void Shavit_GetMapPoints(float &points, float &idealtime) - Add a command that recalculates points for every player in the server. To be ran when rankings are first installed for retroactivity purposes.
~ [NEW PLUGIN] shavit-chat:
- Add logic that processes chat without requiring an external plugin such as
Simple Chat Processor (Redux). - Custom chat titles/colors for rank range. (will require shavit-rankings)
- Custom chat titles/colors per individual player.