Узбагоительное
Умник
[HR][/HR]
[HR][/HR]
[HR][/HR]
К всем NEW
Далее в public OnPlayerConnect(playerid)
Дальше идем в public OnGameModeInit()
В public OnGameModeExit()
После в public OnPlayerStateChange(playerid, newstate, oldstate)
И создадим public "public UpdateSpeedometr()"
[HR][/HR]
Ах да еще забыл,если у вас чистый new.pwn и не разу не делался спидометр то добавьте следующие.
К всем new
К всем new
И в конец мода
Привет всем уважаемые друзья.
Сегодня я решил испытать свои навыки Pawn на такой штуке как TextDraw.
И так что же получилось
[HR][/HR]Сегодня я решил испытать свои навыки Pawn на такой штуке как TextDraw.
И так что же получилось
[HR][/HR]
Спидометр очень прост да,но это все что мне сегодня далось может кто поставит на DM сервер
К всем NEW
PHP:
new Text:S[MAX_PLAYERS];
new Text:F[MAX_PLAYERS];
new str1[10],str2[10];
new spedtimer;
PHP:
S[playerid] = TextDrawCreate(517.000000, 384.000000, "_");
TextDrawBackgroundColor(S[playerid], 255);
TextDrawFont(S[playerid], 1);
TextDrawLetterSize(S[playerid], 0.470000, 1.400000);
TextDrawColor(S[playerid], -1);
TextDrawSetOutline(S[playerid], 0);
TextDrawSetProportional(S[playerid], 1);
TextDrawSetSelectable(S[playerid], 0);
F[playerid] = TextDrawCreate(516.000000, 400.000000, "_");
TextDrawBackgroundColor(F[playerid], 255);
TextDrawFont(F[playerid], 1);
TextDrawLetterSize(F[playerid], 0.480000, 1.100000);
TextDrawColor(F[playerid], -1);
TextDrawSetOutline(F[playerid], 0);
TextDrawSetProportional(F[playerid], 1);
TextDrawSetSelectable(F[playerid], 0);
PHP:
spedtimer = SetTimer("UpdateSpeedometrr", 1000, 1);
PHP:
KillTimer(spedtimer);
PHP:
new tacha = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
if(PlayerRacing[playerid] == 0)
{
if(!IsAPlane(tacha) && !IsABoat(tacha) && !IsANoSpeed(tacha))
{
TextDrawShowForPlayer(playerid,S[playerid]);
TextDrawShowForPlayer(playerid,F[playerid]);
}
}
}
else if(newstate == PLAYER_STATE_ONFOOT)
{
if(!IsAPlane(tacha) && !IsABoat(tacha) && !IsANoSpeed(tacha))
{
TextDrawHideForPlayer(playerid,S[playerid]);
TextDrawHideForPlayer(playerid,F[playerid]);
}
}
PHP:
forward UpdateSpeedometr();
public UpdateSpeedometr()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInAnyVehicle(i))
{
new string[128];
new vehs[100];
new vehicleid = GetPlayerVehicleID(i);
format(str1, sizeof(str1), "~w~SPEED: ~g~%d", SpeedVehicle(i) / 2);
format(str2, sizeof(str2), "~w~FUEL: ~g~%s%.0f", vehs,Fuell[GetPlayerVehicleID(i)]);
if(!IsAPlane(vehicleid) && !IsABoat(vehicleid) && !IsANoSpeed(vehicleid))
{
if(SpeedVehicle(i) != 0)
{
Fuell[vehicleid] -= 0.0050;
}
}
TextDrawSetString(S[i],str1);
TextDrawSetString(F[i],str2);
}
}
}
Вот и все спидометр готов,с вами были Узбагоительное автор я.
[HR][/HR]Ах да еще забыл,если у вас чистый new.pwn и не разу не делался спидометр то добавьте следующие.
К всем new
К всем new
PHP:
new PlayerRacing[MAX_PLAYERS];
PHP:
stock IsAPlane(carid){switch(GetVehicleModel(carid)){case 592,577,511,512,593,520,553,476,519,460,513,548,417,487,488,497,563,447,469:return true;}return false;}
stock BezBenzacar(carid){switch(GetVehicleModel(carid)){case 462,510,481,509:return true;}return false;}
stock IsANoSpeed(carid){switch(GetVehicleModel(carid)){case 441,448,449,450,462,464,465,481,501,509,510,537,538,564,569,570,590,591,594,606,607,608,610,611:return true;}return false;}
stock IsABoat(carid){switch(GetVehicleModel(carid)){case 472,473,493,595,484,430,452..454,446:return true;}return false;}
stock SpeedVehicle(playerid)
{
new Float:ST[4];
if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 213.3;
return floatround(ST[3]);
}
Последнее редактирование:
