Данная функция устанавливает прыжок игроку.
Обычная функция:
Код
stock SetPlayerJump(playerid)
{
if(IsPlayerInAnyVehicle(playerid)) return 1;
if(GetPVarInt(playerid, "JUMP") > gettime()) return 1;
new Float: I[3];
GetPlayerVelocity(playerid, I[0],I[1],I[2]);
SetPVarInt(playerid, "JUMP", gettime()+2); // Где 2 - это задержка использования команды, дабы избежать полета.
return SetPlayerVelocity(playerid, (I[0]+I[0])*1.5,(I[1]+I[1])*1.5,I[2]+7);
}
Пример использования:
Код
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkey == 32) return SetPlayerJump(playerid);
return 1;
}
Функция с указанием параметра прыжка:
Код
stock SetPlayerJump(playerid, vel)
{
if(IsPlayerInAnyVehicle(playerid)) return 1;
if(GetPVarInt(playerid, "JUMP") > gettime()) return 1;
new Float: I[3];
GetPlayerVelocity(playerid, I[0],I[1],I[2]);
SetPVarInt(playerid, "JUMP", gettime()+2); // Где 2 - это задержка использования команды, дабы избежать полета.
return SetPlayerVelocity(playerid, (I[0]+I[0])*floatsqroot(vel),(I[1]+I[1])*floatsqroot(vel),I[2]
+floatsqroot(vel)+4);
}
Пример использования:
Код
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkey == 32) return SetPlayerJump(playerid, 5);
return 1;
}