Приветствую форумчане, недавно думал о том как пофиксить ускорение на стрелочку, вот что получилось:
PHP код:
fix_bug_moto[MAX_PLAYERS char] //Создатим глоб. переменную что бы нас постоянно не замедляло
Это вставляем в OnPlayerUpdate:
PHP код:
static keys, ud, lr,
Float: v_vel_x,
Float: v_vel_y,
Float: v_vel_z;
GetPlayerKeys(playerid, keys, ud, lr);
if(ud == KEY_UP)
{
if(GetPlayerState(playerid) == 2)
{
switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case 462, 522:
{
if(GetSpeed(playerid) >= 50)
{
if(++fix_bug_moto{playerid} >= 3)
{
fix_bug_moto[playerid] =0;
GetVehicleVelocity(GetPlayerVehicleID(playerid), v_vel_x, v_vel_y, v_vel_z);
SetVehicleVelocity(GetPlayerVehicleID(playerid), v_vel_x * 0.9, v_vel_y * 0.9, v_vel_z * 0.9);
}
}
}
}
}
}
PHP код:
stock GetSpeed(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid),
Float: pos_x,
Float: pos_y,
Float: pos_z;
switch(vehicleid)
{
case 0: GetPlayerVelocity(playerid, pos_x, pos_y, pos_z);
default: GetVehicleVelocity(vehicleid, pos_x, pos_y, pos_z);
}
return floatround(VectorSize(pos_x, pos_y, pos_z) * 100.0);
}
Вроде бы на этом всё.Если возможно как то улучшить то пишите как и что)
Помогали: DeimoS, Nexius_Tailer.