Привет! Если вы читаете это - вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы получить доступ ко всем разделам нашего форума. Удачи!
Ложных срабатываний мной не выявлено.
Работает очень просто. Если игрок резко прибавляет скорость на 20км больше предыдущей, значит чит.
PHP код:
// Функция определения скорости
stock GetPlayerSpeed ( player )
{
new Float:x, Float:y, Float:z;
GetVehicleVelocity ( GetPlayerVehicleID ( player ), x, y, z ) ;
return floatround ( floatsqroot ( x * x + y * y + z * z ) * 195 ) ;
}
Ложных срабатываний мной не выявлено.
Работает очень просто. Если игрок резко прибавляет скорость на 20км больше предыдущей, значит чит.
PHP код:
// Функция определения скорости stock GetPlayerSpeed ( player ) { new Float:x, Float:y, Float:z; GetVehicleVelocity ( GetPlayerVehicleID ( player ), x, y, z ) ; return floatround ( floatsqroot ( x * x + y * y + z * z ) * 195 ) ; }
stock GetPlayerSpeed ( player ) { new Float:x, Float:y, Float:z; GetVehicleVelocity ( GetPlayerVehicleID ( player ), x, y, z ) ; return floatround ( floatsqroot ( x * x + y * y + z * z ) * 195 ) ; }
в OnPlayerUpdate
PHP код:
public OnPlayerUpdate ( playerid ) { if ( GetPlayerState ( playerid ) == PLAYER_STATE_DRIVER ) { if ( GetPlayerSpeed ( playerid ) - SPEEDPLAYER [ playerid ] > 20) { new Float:z; GetVehicleVelocity ( GetPlayerVehicleID ( player ), z, z, z ) ; if(z > -0.05){ new string [ 48 ] ; format ( string, sizeof ( string ), "Ты был кикнут за использование SpeedHack (%d KM/H)", GetPlayerSpeed ( playerid ) - SPEEDPLAYER [ playerid ] ) ; SendClientMessage ( playerid, -1, string ) ; Kick(playerid); return 1; } } SPEEDPLAYER [ playerid ] = GetPlayerSpeed ( playerid ) ; } return 1; }