#include <a_samp> #include <Pawn.RakNet> #define BulletCrasher -5.5 #define red 0xFF0000FF #define eight 8 #define two 2 #define NULL 0 #define PASSENGER_SYNC 211 #define VEHICLE_SYNC 200 #define PLAYER_SYNC 207 //Anti Crasher 0.3.7 R2 by [MD]_Shift | skype: dima.shift | public OnIncomingPacket(playerid, packetid, BitStream:bs){ switch(packetid) { case VEHICLE_SYNC:{ new inCarData[PR_InCarSync]; BS_IgnoreBits(bs, eight); BS_ReadInCarSync(bs, inCarData); if inCarData[PR_position][two] == BulletCrasher *then { new string[MAX_CHATBUBBLE_LENGTH]; format(string,sizeof(string),"[Anti-CrasherHack]: {FFFF00}%s {999999}|ID:%d| {00FF00}auto-kick {FF0000}[Motivo: BulletCrasher]",GetName(playerid),playerid); SendClientMessageToAll(red,string); Kick(playerid); return false; } } case PLAYER_SYNC:{ new onFootData[PR_OnFootSync]; BS_IgnoreBits(bs,eight); BS_ReadOnFootSync(bs, onFootData); if onFootData[PR_position][two] == BulletCrasher *then { new string[MAX_CHATBUBBLE_LENGTH]; format(string,sizeof(string),"[Anti-CrasherHack]: {FFFF00}%s {999999}|ID:%d| {00FF00}auto-kick {FF0000}[Motivo: BulletCrasher]",GetName(playerid),playerid); SendClientMessageToAll(red,string); Kick(playerid); return false; } } case PASSENGER_SYNC:{ new passengerData[PR_PassengerSync]; BS_IgnoreBits(bs, eight); BS_ReadPassengerSync(bs, passengerData); if GetPlayerVehicleSeat(playerid) == NULL *then { new string[MAX_CHATBUBBLE_LENGTH]; format(string,sizeof(string),"[Anti-CrasherHack]: {FFFF00}%s {999999}|ID:%d| {00FF00}auto-kick {FF0000}[Motivo: BadVehicleCrasher]",GetName(playerid),playerid); SendClientMessageToAll(red,string); Kick(playerid); return false; } if passengerData[PR_position][two] == BulletCrasher *then { new string[MAX_CHATBUBBLE_LENGTH]; format(string,sizeof(string),"[Anti-CrasherHack]: {FFFF00}%s {999999}|ID:%d| {00FF00}auto-kick {FF0000}[Motivo: BulletCrasher]",GetName(playerid),playerid); SendClientMessageToAll(red,string); Kick(playerid); return false; } } } return true; } stock GetName(playerid) { new Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, sizeof(Name)); return Name; }
#include <a_samp> #define BulletCrasher -5.5 #define InvalidSeat1 -1000000.0 #define InvalidSeat2 1000000.0 #define red 0xFF0000FF //Anti Crasher 0.3.7 R2 by [MD]_Shift | skype: dima.shift | public OnPlayerUpdate(playerid){ new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,X,Y,Z); if Z == BulletCrasher || !(InvalidSeat1 <= Z <= InvalidSeat2) *then { new tipcrasher[20]; tipcrasher="BadVehicleCrasher"; if Z == BulletCrasher *then tipcrasher="BulletCrasher"; new string[MAX_CHATBUBBLE_LENGTH]; format(string,sizeof(string),"[Anti-CrasherHack]: {FFFF00}%s {999999}|ID:%d| {00FF00}auto-kick {FF0000}[Motivo: %s]",GetName(playerid),playerid,tipcrasher); SendClientMessageToAll(red,string); Kick(playerid); return false; } return true; } stock GetName(playerid) { new Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, sizeof(Name)); return Name; }
Interesting... you should mention that you need pawn.raknet for people who don't notice it.
|
I realize it's in the includes but i'm saying he should say that in his post. Anyway good job i'm gonna test this and see how it goes.
|