Всем привет,я вёл разработку - Freedom Project | Protection ,но теперь у меня нет желания довести её до ума,вот и решил поделиться античитом на Speed в транспорте.
Принцип работы таков,если транспортное средство разогналось больше чем на 100км за 1 секунду то читер.
К #define
PHP код:
#define Kick.(%0) SetTimerEx("OnPlayerKick",100,false,"i",%0)
К new
PHP код:
new Float:FP_Speed_Car[MAX_PLAYERS];
new Float:FP_Speed_Car_1[MAX_PLAYERS];
new Float:FP_Speed_Car_C[MAX_PLAYERS][3];
К forward
PHP код:
forward OnPlayerKick(playerid);
В OnPlayerSpawn
PHP код:
SetPVarInt(playerid,"FP_Protection",1);
Строго в таймер 1000мс.
PHP код:
if(!IsPlayerNPC(playerid)&&GetPVarInt(playerid,"FP_Protection")==1){
if(IsPlayerInAnyVehicle(playerid)){
GetVehicleVelocity(GetPlayerVehicleID(playerid),FP_Speed_Car_C[playerid][0],FP_Speed_Car_C[playerid][1],FP_Speed_Car_C[playerid][2]);
FP_Speed_Car[playerid]=floatround(floatsqroot(FP_Speed_Car_C[playerid][0]*FP_Speed_Car_C[playerid][0]+FP_Speed_Car_C[playerid][1]*FP_Speed_Car_C[playerid][1]+FP_Speed_Car_C[playerid][2]*FP_Speed_Car_C[playerid][2])*200.0);
if((FP_Speed_Car[playerid]-FP_Speed_Car_1[playerid])>100){
if(GetPlayerState(playerid)!=PLAYER_STATE_SPECTATING){
SendClientMessage(playerid,0xFFFFFFff,"Тебя спалили на спид хак,вы набрали 100км за 1 секунду и ты был кикнут");
Kick.(playerid);
}
}
else FP_Speed_Car_1[playerid]=FP_Speed_Car[playerid];
}
}
В конец мода
PHP код:
public OnPlayerKick(playerid)
{
Kick(playerid);
}
Разработчик:
- Tracer (Freedom Project)
При копировании материала в другие источники указывайте настоящего разработчика!