Всем привет! Только что создал простой анти-крэшер(срабатывает при использовани клео крэша). Испытано на сервере, работает норм.
Актуально только для 0.3c версии SAMP
В начало мода:
дальше добавьте в public OnPlayerStateChange(playerid, newstate, oldstate)PHP код:
new CrashCars1[] = {//двуместный транспорт
401,402,403,407,408,410,411,412,413,414,415,416,417,419,422,423,424,427,428,429,433,434,
436,440,443,444,447,451,455,456,457,459,461,462,463,468,469,471,474,475,477,478,480,482,
483,489,491,494,495,496,498,499,500,502,503,504,505,506,508,511,514,515,517,518,521,522,
523,524,525,526,527528,533,534,535,537,538,541,542,543,544,545 ,548,549,552,554,556,557,
558,559,562,563,565,573,574,575,576,578,581,582, 586,587,588,589,599,600,601,602,603,605,609
};
new CrashCars2[] = {//одноместный транспорт
406,425,430,432,441,446,448,452,453,454,460,464,465,472,473,476,481,
484,485,486,493,501,509,510,512,513,519,520,530,531,532,539,553,564,
568,571,572,577,583,592,593,594,595
};
Если кто может оптимизировать код, пишите в эту тему.PHP код:
if(newstate == PLAYER_STATE_PASSENGER)
{
for(new i; i<111; i++)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==CrashCars1[i]&&GetPlayerVehicleSeat(playerid) > 1)
{
new kstring[256];
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
format(kstring,sizeof(kstring),"[Анти Чит]: Игрок %s Кикнут по подозрению в использовании Крэшера[#1]!",PlayerName);
SendClientMessageToAll(0xFF1E00FF, kstring);
Kick(playerid);
}
}
for(new i; i<43; i++)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==CrashCars2[i])
{
new kstring[256];
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
format(kstring,sizeof(kstring),"[Анти Чит]: Игрок %s Кикнут по подозрению в использовании Крэшера[#2]!",PlayerName);
SendClientMessageToAll(0xFF1E00FF, kstring);
Kick(playerid);
}
}
}