Posts: 836
Threads: 107
Joined: Sep 2010
Reputation:
0
Well considering that the user doesn't want it disabled. In my house system, players enter via the pickup and exit via the default San Andreas house marker. When they exit I check their position and set them to the correct exit, so it would work.
Posts: 1,047
Threads: 23
Joined: Jun 2009
Quote:
Originally Posted by cessil
Rejoin Check
A pesky thing I've seen on CrazyBob's more than any other server is people rejoining within 20 seconds, these players have been cheaters and very troublesome. You can create a simple check to see if a player rejoins after a Kick or Quit, timeouts usually rejoin within 30seconds so only check for Kicks or Quits.
I save the last 10 names, ips and time they left and check under OnPlayerConnect to see when they quit/were kicked last.
|
Shall I explain why this is a vry bad method? Especially if we have (My)SQL[i] databases as native functions?
... Use ya brain, tip: timestamp, playername. SQLI: SELECT `time_left_server` FROM player_info WHERE `playername` = `Gamer_Z`; , or something
This is just to point out your faults and so you can correct them.
Anyway you put much time in it so I respect this piece of work (although I won't use any [new?] methods from your #1 post. I'll keep using my own ones ;P ).
Posts: 1,047
Threads: 23
Joined: Jun 2009
Quote:
Originally Posted by cessil
You haven't pointed out to as why it's a "vry bad method", why would you want to save another variable for every single player when you could just use a small array?
How many players do you have quitting your server per 30 seconds? If it's more than 10 then just increase the array.
I'm open to suggestions but it looks like you're just trying to correct something which doesn't need correcting for the sake of trying to sound smart.
|
You are limiting yourself, with SA-MP's abilities you shouldn't.
It's like having a pro sports car but just using it to drive around the city..
Posts: 1,047
Threads: 23
Joined: Jun 2009
Quote:
Originally Posted by Infinity
How is he limiting himself? Seems to work fine if you ask me.
|
let's create an situation where more than 30 players quit because of an crash or whatever, just anything,
If you use built in SQLi functions you can easily save them all, if you use just the 10 player variable you are limiting yourself to the last 10 players, so the other 20 won't be saved....
that is at least NOT usefull to ME, Don't know what you need guys, but again, not usefull for me.. just pointing out as I think there is AT LEAST one more person who thinks the same way as me..
Posts: 1,363
Threads: 14
Joined: Apr 2009
Reputation:
0
@DarkKillerWithPride<3
No it's not go re-read it again
@Gamer_Z
If 30 players quit because of a crash then how are they going to reconnect within 30seconds?
Posts: 4,878
Threads: 85
Joined: Jun 2007
Reputation:
0
A recent topic by wups about autoaiming was removed, I dont know why, but I guess it was people talked too much about the cheats and hacks, instead of ways how to detect and avoid them.
So this topic should be a discussion about ways to detect and ban certain hacks with pure scripting methods, so no external anti-cheat clients that players need to download or stuff like that. imo that stuff is just unrealistic, as noones gonna use it. Scripters should get good and elaborated ideas how to script their anticheat.
If this topic should get deleted again, please be kind and send me the reason, as I think that a topic like this is one of the most effective ways to face the raising number of hacks, without always begging the samp devs to "create sume anticheat".
Also avoid talking about the hacks themselves, if it is not neccessary. Hack reports should NOT contain a download link or how to use it ofc, but just describe how the hack works, and what it does, as exactly as possible.
Autoaiming
Ill start with a theory about detecting auto aim, that got deleted with the recent topic. I got no idea of how autoaiming really works, so please correct me if i assume anything wrong.
Autoaiming, or aim hacking automatically moves the players camera to target enemy players. It will of course move the camera (or the mouse) in straight lines, theres no reason why the software should move stuttery and in zig-zag lines. Im just still wondering if autoaim instantly moves the camera, so it jumps to the next target, or if it moves it with a certain speed.
So for some time we got the GetPlayerCameraFrontVector native to get the aiming vector (angles) of a player.
This can then be observed over a short time, like in OnPlayerUpdate, to see if it changes in straight, linear lines.
Sure human players can move their mouse in a straight line without any hacks, if they move fast or precise enough. So you shouldnt declare everyone as a hacker who does that. Its important to separate and weight: If a player turns 20° left straight, its nothing special, but if he turns around 180° with a fantastic speed, and without any stuttering or stops to directly target a player, it is a sure thing that this movement wasnt done by a human being.
Id like to elaborate my ideas of observing the aiming vector a bit, but would rather hear of my theroy is right, and autoaiming works this way, else it would be pointless to work out antihacks for non-existant hacks.
Posts: 772
Threads: 52
Joined: Aug 2010
Reputation:
0
A good bot will randomize his movements and speed to avoid getting detected. I doubt any of the SAMP mods do that though.
Posts: 1,177
Threads: 27
Joined: Sep 2011
Reputation:
0
To detect jetpack hacking you can hook SetPlayerSpecialAction and set a variable to true when the special action is a jetpack. Then you can hook OnPlayerSpawn, ClearAnimations, and SetPlayerSpecialAction (for SPECIAL_ACTION_NONE) to set the variable to false.
You should also hook OnPlayerKeyStateChange to detect if the car enter key is pressed and the player isn't moving (0 velocity) and set the variable to false at that time.
Then under OnPlayerUpdate check if GetPlayerSpecialAction equals SPECIAL_ACTION_USEJETPACK and if the variable is false, ban the player.
That's how you make a simple jetpack anticheat in an include.