Код: Выделить всё
#include <a_samp>
new Text: Speed[MAX_PLAYERS][3];
public OnPlayerConnect(playerid)
{
Speed[playerid][0] = TextDrawCreate(138.000000, 403.000000, " "); //30
TextDrawBackgroundColor(Speed[playerid][0], 0x00000033);
TextDrawFont(Speed[playerid][0], 1);
TextDrawLetterSize(Speed[playerid][0], 0.359999, 1.299998);
TextDrawColor(Speed[playerid][0], -1);
TextDrawSetOutline(Speed[playerid][0], 1);
TextDrawSetProportional(Speed[playerid][0], 1);
Speed[playerid][1] = TextDrawCreate(138.000000, 403.000000, "IIIIIIIIIIIIIIIIIIIIIIIIIIIII"); //30
TextDrawBackgroundColor(Speed[playerid][1], 0x00000000);
TextDrawFont(Speed[playerid][1], 1);
TextDrawLetterSize(Speed[playerid][1], 0.359999, 1.299998);
TextDrawColor(Speed[playerid][1], 0xFFFFFF33);
TextDrawSetOutline(Speed[playerid][1], 1);
TextDrawSetProportional(Speed[playerid][1], 1);
Speed[playerid][2] = TextDrawCreate(145.000000, 388.000000, " "); //km
TextDrawBackgroundColor(Speed[playerid][2], 0x000000FF);
TextDrawFont(Speed[playerid][2], 2);
TextDrawLetterSize(Speed[playerid][2], 0.309998, 1.600000);
TextDrawColor(Speed[playerid][2], -1);
TextDrawSetOutline(Speed[playerid][2], 0);
TextDrawSetProportional(Speed[playerid][2], 1);
TextDrawSetShadow(Speed[playerid][2], 0);
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == 2)
{
TextDrawShowForPlayer(playerid, Speed[playerid][0]);
TextDrawShowForPlayer(playerid, Speed[playerid][1]);
TextDrawShowForPlayer(playerid, Speed[playerid][2]);
}
else
{
TextDrawHideForPlayer(playerid, Speed[playerid][0]);
TextDrawHideForPlayer(playerid, Speed[playerid][1]);
TextDrawHideForPlayer(playerid, Speed[playerid][2]);
}
}
public OnPlayerUpdate(playerid)
{
if(GetPlayerState(playerid) == 2)
{
SetSpeedDel(playerid);
SetSpeedPok(playerid);
}
return 1;
}
stock SetSpeedDel(playerid)
{
switch(SpeedVehicle(playerid))
{
case 0..9: TextDrawSetString(Speed[playerid][0], "~w~~h~I");
case 10..14: TextDrawSetString(Speed[playerid][0], "~w~~h~II");
case 15..19: TextDrawSetString(Speed[playerid][0], "~g~III");
case 20..24: TextDrawSetString(Speed[playerid][0], "~g~IIII");
case 25..29: TextDrawSetString(Speed[playerid][0], "~g~~h~IIIII");
case 30..34: TextDrawSetString(Speed[playerid][0], "~g~~h~IIIIII");
case 35..39: TextDrawSetString(Speed[playerid][0], "~g~~h~IIIIIII");
case 40..44: TextDrawSetString(Speed[playerid][0], "~g~~h~IIIIIIII");
case 45..49: TextDrawSetString(Speed[playerid][0], "~g~~h~~h~IIIIIIIII");
case 50..59: TextDrawSetString(Speed[playerid][0], "~g~~h~~h~IIIIIIIIII");
case 60..64: TextDrawSetString(Speed[playerid][0], "~g~~h~~h~IIIIIIIIIII");
case 65..69: TextDrawSetString(Speed[playerid][0], "~g~~h~~h~IIIIIIIIIIII");
case 70..79: TextDrawSetString(Speed[playerid][0], "~y~IIIIIIIIIIIII");
case 80..89: TextDrawSetString(Speed[playerid][0], "~y~IIIIIIIIIIIIII");
case 90..99: TextDrawSetString(Speed[playerid][0], "~y~~h~IIIIIIIIIIIIIII");
case 100..109: TextDrawSetString(Speed[playerid][0], "~y~~h~IIIIIIIIIIIIIIII");
case 110..119: TextDrawSetString(Speed[playerid][0], "~y~~h~IIIIIIIIIIIIIIIII");
case 120..129: TextDrawSetString(Speed[playerid][0], "~y~~h~IIIIIIIIIIIIIIIIII");
case 130..139: TextDrawSetString(Speed[playerid][0], "~y~~h~IIIIIIIIIIIIIIIIIII");
case 140..149: TextDrawSetString(Speed[playerid][0], "~y~~h~IIIIIIIIIIIIIIIIIIII");
case 150..164: TextDrawSetString(Speed[playerid][0], "~y~~h~IIIIIIIIIIIIIIIIIIIII");
case 165..174: TextDrawSetString(Speed[playerid][0], "~y~~h~IIIIIIIIIIIIIIIIIIIIII");
case 175..189: TextDrawSetString(Speed[playerid][0], "~r~IIIIIIIIIIIIIIIIIIIIIII");
case 190..199: TextDrawSetString(Speed[playerid][0], "~r~IIIIIIIIIIIIIIIIIIIIIIII");
case 200..209: TextDrawSetString(Speed[playerid][0], "~r~~h~IIIIIIIIIIIIIIIIIIIIIIIII");
case 210..219: TextDrawSetString(Speed[playerid][0], "~r~~h~IIIIIIIIIIIIIIIIIIIIIIIIII");
case 220..229: TextDrawSetString(Speed[playerid][0], "~r~~h~IIIIIIIIIIIIIIIIIIIIIIIIIII");
case 230..239: TextDrawSetString(Speed[playerid][0], "~r~~h~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIII");
case 240..249: TextDrawSetString(Speed[playerid][0], "~r~~h~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIII");
default: TextDrawSetString(Speed[playerid][0], "~r~~h~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIII");
}
}
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)) * 253.3;
return floatround(ST[3]);
}
stock SetSpeedPok(playerid)
{
new string[256];
format(string, sizeof(string), "%d km'h", SpeedVehicle(playerid));
TextDrawSetString(Speed[playerid][2], string);
}