stock GetPlayerSpeed(playerid)
{
new speed;
if(!IsPlayerInAnyVehicle(playerid)) return -1;
new Float:VelocityX;
new Float:VelocityY;
new Float:VelocityZ;
GetVehicleVelocity(GetPlayerVehicleID(playerid),VelocityX,VelocityY,VelocityZ);
speed = floatround(floatpower((VelocityX*VelocityX)+(VelocityY*VelocityY)+(VelocityZ*VelocityZ),0.5)*217.5);
return speed;
}
Sziasztok! Pedro-tól láttam ezt a stock-ot és akárhogy is nézem nem nagyon értem, hogy mi mit csinál. Azt értem, hogy sebességmérõ akar lenni, de valaki leírná, hogy mi micsoda mit csinák? :) Köszönöm!
Ez lekéri a jármû mozgását, és sebességgé alakítja
Használata egyszerû.
Szimplán beilleszted a sebességmérõdbe
new string[32];
format(string, sizeof(string), \"Sebesség: %d KM/h\", GetPlayerSpeed(playerid));
SendClientMessage(playerid, -1, string);
Hogy melyik Float mit csinál, azt ne kérdezd, mert fogalmam nincs (nem értek hozzá)
A GetVehicleVelocity pedig a gyorsulást méri le.
#include <a_samp>
new Text:seb = TextDrawCreate(200,200,\"sebesseg\");
new timer[MAX_PLAYERS];
public OnPlayerEnterVehicle(playerid,vehicleid)
{
new str[128];
format(str,128,\"%d\",GetPlayerSpeed(playerid));
TextDrawSetString(seb,str);
TextDrawShowForPlayer(playerid,seb);
timer[playerid] = SetTimerEx(\"timercar\",500,true,\"d\",playerid);
return 1;
}
public OnPlayerExitVehicle(playerid,vehicleid)
{
KillTimer(timer[playerid]);
TextDrawHideForPlayer(playerid);
return 1;
}
public timercar(playerid);
public timercar(playerid)
{
new str[128];
format(str,128,\"%d\",GetPlayerSpeed(playerid));
TextDrawSetString(seb,str);
}
stock GetPlayerSpeed(playerid)
{
new speed;
if(!IsPlayerInAnyVehicle(playerid)) return -1;
new Float:VelocityX;
new Float:VelocityY;
new Float:VelocityZ;
GetVehicleVelocity(GetPlayerVehicleID(playerid),VelocityX,VelocityY,VelocityZ);
speed = floatround(floatpower((VelocityX*VelocityX)+(VelocityY*VelocityY)+(VelocityZ*VelocityZ),0.5)*217.5);
return speed;
}