Giter VIP home page Giter VIP logo

shavitush / bhoptimer Goto Github PK

View Code? Open in Web Editor NEW
228.0 25.0 93.0 5.77 MB

A bunnyhop timer plugin for Counter-Strike: Source, Counter-Strike: Global Offensive and Team Fortress 2.

Home Page: https://timer.shav.it

License: GNU General Public License v3.0

SourcePawn 100.00%
counter-strike-source counter-strike-global-offensive css csgo bhop-timer bunnyhop kreedz timer sourcemod sourcepawn

bhoptimer's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bhoptimer's Issues

Calculate points based on tiers

I saw your back and forth with Techno and I have to agree that this current method is too complicated and tedious. If server owners want to use this they will have to set all maps before letting people play since if not they will get -1 for finishing. Also as you said in the readme it should be simple and this kind of isn't.

In my opinion a better solution would be to calculate the points that are given based on your position compared to how many times total, let owners set base points through a cvar then let them set a tier for a each map 1-6 that points will scale on.

Also of course having base points and defalt tier 1 will solve the default -1 point issue while making sure it can't be abused.

Edit: Also forgot to mention with this method you could also add a native to get map tier so we can use it in mapchooser, nominate and rtv so players know what they're voting for.

Better weapon clean up for csgo and css

I think it's still a good idea to include weapon cleaning in the timer itself, if you don't agree fair enough.
This works well for me when players drop weapon and when they die or suicide, it also obviously allows you to leave map weapons in.

public void OnClientPutInServer(int client)
{
SDKHook(client, SDKHook_WeaponDrop, OnWeaponDrop);
}

public void OnWeaponDrop(int client, int weapon)
{
if(IsValidEntity(weapon))
AcceptEntityInput(weapon, "Kill");
}

Server Record Demos - Cvar to set amount to be saved per map.

The situation that this would be used is for example, if the value was set to 3, 3 demos of each style could be saved, in this case, should the #1 record be scripting or something like that, that demo can be deleted and the lower demo used.

More of a use to stop having to use no demo at all.

Map Tiers

maptiers table added to the database schema

Recent Records and ranks not showing up.

Hello Shavit,

Recently I've moved to a new host and I've used the same database however I cleared all of the tables except mapzones. But for some reason the web page isn't showing the recent records even though I see the records on the playertimes on my database. I'm using the same database for both database.cfg and config.php and it used to work fine on the old host, not sure what happened. The other thing about ranking is that it's not giving the players any points, and it shows unranked even after finishing new maps.

One thing I know for sure that the server is connecting to the database since its logging all of the new records, but not the points or other stuff. Same for web interface, it's not picking up any records.

I'm using the latest commit which is cf4d528

EDIT: I did a clean install with the latest SM and different database, and still same results.

Add a native? to get the total times on a map

I think it's only done once that I've seen in the !wr menu but it requires an sql query there.

When a player finishes for the first time or with a new PB I think it should be displaying their rank. e.g. "Rank: 23/157" this data could also be used on the HUD.

Start Zone - Very difficult to move

When moving through the start zone, you appear to have 10 speed and tons of jittery movement, makes it incredibly hard to move out of the start zone.

Latest Plugin Code,
SourceMod 1.7.3-dev+5303,

sql issues

Hey, I have some errors during starting the server:

L 05/17/2016 - 20:19:35: [shavit-zones.smx] Timer (zone refresh) SQL query failed. Reason: Table 'kartex_shavit.mapzones' doesn't exist
L 05/17/2016 - 20:19:35: [shavit-wr.smx] Timer (WR cache update) SQL query failed. Reason: Table 'kartex_shavit.playertimes' doesn't exist
UTIL_GetListenServerHost() called from a dedicated server or single-player game.
PutClientInServer: no info_player_start on level
L 05/17/2016 - 20:19:38: [shavit-core.smx] Timer error! Failed to insert "rest in peace."'s data to the table. Reason: Table 'kartex_shavit.users' doesn't exist
L 05/17/2016 - 20:19:38: [shavit-wr.smx] Timer (PB cache update) SQL query failed. Reason: Table 'kartex_shavit.playertimes' doesn't exist

what should I do?

A few things you need to do before the official 1.5 release.

  1. Block the radio commands, because people are just spamming them like retards and there is no reason to keep them.
  2. Disable blood decals since it's even more useless than the radio commands and I think you know how awful the map looks like after a PERIOD of time. :>
  3. Add Slowmotion and LowGravity styles, because everyone's waiting for it.

Percentage Based Rankings

As it stands at the minute, this chat would do, i.e:

1 -> Master
2-5 -> Pro
7-15 -> Semipro Etc.

The percentage based system would be more along the lines of,

1 -> Master
Top 1% -> Pro
Top 2-5% -> Semipro etc.

Where the % is the top of all players that use the server.

Using WR as the ideal server time and calculate points from there

If the WR was used as the ideal time, the points could be awarded based off of a set config option, this would mean that there would be no need to visit each map to add a time and points value. However to reduce sql strain, the update could be completed on map completion, or personal refresh by the user, updating their points to the correct value.

Freeze bots on first and last frame

I'd really like this feature if possible, preferably with cvars to control the amount of freeze time at the start and end but that isn't a must.

Basically like the css timer. If you're recording a run with SrcDemo it's great to have the bot freeze on the last frame because it ensures you can get a clear non blended frame to fade out on. + It's better than what it does at the moment imo which seems to be just drop down after the last frame.

Thanks for putting so much work into this lately aswell.

Bots.

For some reason, without shavit-replay it seems to add bots.

Running:

shavit-core
shavit-hud
shavit-misc
shavit-wr
shavit-zones

I have -nobots now, but without it, it adds the bots.

Points given for finishing a map

Hi, I just finished a map and was provided with

[Timer] This record was rated -1.00 points. [Timer] Total points: -1.00. [Timer] You are ranked 1 with -1.00 points.

Any ideas why it would give -1 points?

Problem with prefix.

I install new version (from git) of timer, add prefix in plugin.shavit-core.cfg. Plugin crash server, when i change style. Plugin create only two tables in my database:
shavit_mapzones
shavit_playertimes

database.conf
"shavit"
{
"driver" "mysql"
"host" "my_hostname"
"database" "live4net_4fun"
"user" "**_"
"pass" "_
"
"timeout" "10"
"port" "3306"
}

logs:
L 06/12/2016 - 18:15:55: [shavit-wr.smx] Timer (WR cache update) SQL query failed. Reason: Table 'live4net_4fun.shavit_users' doesn't exist
L 06/12/2016 - 18:15:56: [shavit-wr.smx] Timer (WR cache update) SQL query failed. Reason: Table 'live4net_4fun.shavit_users' doesn't exist
L 06/12/2016 - 18:15:58: [shavit-core.smx] Timer error! Failed to insert "Adi"'s data to the table. Reason: Table 'live4net_4fun.shavit_users' doesn't exist

in plugin.shavit-core.cfg:
shavit_core_sqlprefix "shavit_"

OnFinish - could you extend it a bit?

This is not really an issue, just a feature request.

Well basically "Shavit_OnFinish" isn't called if a player finishes the map but with the timer stopped. (i.e for using +left/+right binds)
This causes players not to be slayed if they've used a +left/+right bind, as the Shavit_OnFinish isn't called.

Perhaps you could add a bool with the _OnFinish forward? Like bool timerrunning or another forward that is called when a player enters an end zone, even if the players timer isn't running..

Unless I missed this in the .inc.

Bots Killing Themselves

I saw in the latest update you added the hiding of bots when there were no records, are they constantly meant to respawn and ragdoll every few seconds?

Problems with compilation

I'm trying to complile all plugins, but I have some errors with GetMapDisplayName

//// shavit-rankings.sp
//
// F:\CSGO\SourceMod Compiler\shavit-rankings.sp(249) : error 017: undefined symbol "GetMapDisplayName"
//
// 1 Error.
//
// Compilation Time: 0,12 sec
// ----------------------------------------

Auto-Bhop not working

Hey man just compiled the latest version you have and noticed that auto-bhop doesn't work in the latest version. It spams this error many times in my error logs

[SM] Plugin encountered error 21: Native is not bound
[SM] Native "Shavit_InsideZone" reported:
[SM] Displaying call stack trace for plugin "shavit-core.smx":
[SM] [0] Line 748, C:\Users\fizzo\AppData\Roaming\spedit\sourcepawn\configs\latest_snapshot\shavit-core.sp::OnPlayerRunCmd()

Old versions work fine, or would something be wrong on my end?

Restarts the round.

If only 1 player or so is playing, and someone connects and joins a team, it ends/restarts the round.

Real prestrafe

Most runs going on globaljumps are being done on sourcecode, they have kztimer style prestrafe with a 290 max instead of 276.

Add No Block to the timer with cvar

I understand this isn't needed and people could just go and get the original plugin but OpenTimer and Zipcore's timer both include it, it's better for the end user imo.

Shavit-Chat causing server crashes

I honestly can't tell you what the issue is, but with dynamic/rtler/shavit-chat enabled, the server seems to stop on retrieving game data and then revert to the default map with no players able to connect.

With them disabled, everything works fine again, so something in the plugins is essentially crashing the server, there's no logs or anything to support this however.

shavit-reply.sp compile error

Shavit-reply wont combile. Log:

shavit-replay.sp(234) : error 180: function return type differs from prototype. expected 'int', but got 'void'

!wr don't work - error log

L 06/17/2016 - 12:45:09: [shavit-wr.smx] Timer (WR SELECT) SQL query failed. Reason: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''bhop_christmas' AND style = 0 ORDER BY time ASC' at line 1
L 06/17/2016 - 12:45:10: [shavit-wr.smx] Timer (WR SELECT) SQL query failed. Reason: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''bhop_christmas' AND style = 1 ORDER BY time ASC' at line 1
L 06/17/2016 - 12:45:13: [shavit-wr.smx] Timer (WR SELECT) SQL query failed. Reason: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''bhop_christmas' AND style = 2 ORDER BY time ASC' at line 1
L 06/17/2016 - 12:45:15: [shavit-wr.smx] Timer (WR SELECT) SQL query failed. Reason: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''bhop_christmas' AND style = 3 ORDER BY time ASC' at line 1

Feature requests for 1.5b

Seeing as github is a better place due to enhancement tags and milestones, here are a few other feature requests that have been previously mentioned:

  1. Only spawn bots if there is a record present for the bot.
  2. Create cvar to override the shavit.inc bot configs, to allow the disabling of bots via a convar, i.e
    shavit_misc_bots_enabled

sm_r is disabled - can't spawn in start zone.

Having "shavit_core_restart" set to 0 will disable the ability to spawn in the starting zone although "shavit_misc_startonspawn" is set to 1, as it will simply run sm_r.

If you could add a feature that restarts the players timer without forcing the sm_r for a client it would be awesome! :) (I want the players to start in the starting zone but disallow players to use !r/!s)

Map does not change after round and timelimit end

I have a bug. Testing in 2 different servers and trying different methods for nextmap voting - they don't work on new version bhoptimer. With default mapchooser from SM 1.8 vote is present, but map don't change after out of timelimit and roundtime. With UMC or default Valve voting (mp_endmatch_votenextmap 1 without any plugins) vote is missing and also map don't change.

Also I'm trying change this cvar's:
mp_timelimit 2
mp_maxrounds 0
mp_roundtime 2
mp_ignore_round_win_conditions 1

But this is don't work. How to fix change map on the server?

Enable or Disable Plugin

A enable/disable cvar for the whole plugin would be a very nice addition to the plugin and would be very helpful in some maps.

Admin command to restart a specifc replay 1.5b

This basically goes along with my other request as it's related to helping with recording demos.

You may already know of this issue but on almost every server with bots when the map changes the bot starts the run before any player can load and and start spectating it, on long maps this means you must wait the for the bot to finish a whole lap and then another just to get the recording.

SrcDemo also seems to get choppy if you start the movie recording quite far into the demo (10 mins+) but never if you start it within the first 30 seconds. Although this might just be for me.

Just thought, this doesn't resolve the issue for general players, so maybe if you do add the bots freezing on the first frame, make them freeze quite a bit longer for the first start of the map.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.