Merlin
Умник
Основа Спидометра.
Мод : STATE SILWERHOF
Автор: системы -WorcOut-
Автор : TD Merlin
[HR][/HR]
[HR][/HR]
К new
[HR][/HR]
В public OnPlayerConnect(playerid)
[HR][/HR]
В public OnPlayerStateChange(playerid, newstate, oldstate)
[HR][/HR]
В любое место
[HR][/HR]
[HR][/HR]
[HR][/HR]
Мод : STATE SILWERHOF
Автор: системы -WorcOut-
Автор : TD Merlin
[HR][/HR]
К new
PHP:
new PlayerText:SpeedText[MAX_PLAYERS][4];
new SpeedTimer[MAX_PLAYERS];
new CarSaleOn[MAX_PLAYERS];
new gCarLock[MAX_VEHICLES];
В public OnPlayerConnect(playerid)
PHP:
//==========================================================================
SpeedText[playerid][0] = CreatePlayerTextDraw(playerid,495.000000, 423.000000, "_");
PlayerTextDrawBackgroundColor(playerid,SpeedText[playerid][0], 255);
PlayerTextDrawFont(playerid,SpeedText[playerid][0], 1);
PlayerTextDrawLetterSize(playerid,SpeedText[playerid][0], 2.989997, 0.400006);
PlayerTextDrawColor(playerid,SpeedText[playerid][0], -16776961);
PlayerTextDrawSetOutline(playerid,SpeedText[playerid][0], 0);
PlayerTextDrawSetProportional(playerid,SpeedText[playerid][0], 0);
PlayerTextDrawSetShadow(playerid,SpeedText[playerid][0], 4);
PlayerTextDrawUseBox(playerid,SpeedText[playerid][0], 1);
PlayerTextDrawBoxColor(playerid,SpeedText[playerid][0], -1962934170);
PlayerTextDrawTextSize(playerid,SpeedText[playerid][0], 631.000000, -110.000000);
PlayerTextDrawSetSelectable(playerid,SpeedText[playerid][0], 0);
SpeedText[playerid][1] = CreatePlayerTextDraw(playerid,493.000000, 419.000000, "S: IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII");
PlayerTextDrawBackgroundColor(playerid,SpeedText[playerid][1], 255);
PlayerTextDrawFont(playerid,SpeedText[playerid][1], 1);
PlayerTextDrawLetterSize(playerid,SpeedText[playerid][1], 0.270000, 1.200000);
PlayerTextDrawColor(playerid,SpeedText[playerid][1], -1);
PlayerTextDrawSetOutline(playerid,SpeedText[playerid][1], 0);
PlayerTextDrawSetProportional(playerid,SpeedText[playerid][1], 1);
PlayerTextDrawSetShadow(playerid,SpeedText[playerid][1], 1);
PlayerTextDrawSetSelectable(playerid,SpeedText[playerid][1], 0);
SpeedText[playerid][2] = CreatePlayerTextDraw(playerid,594.000000, 419.000000, "200 KM/H");
PlayerTextDrawBackgroundColor(playerid,SpeedText[playerid][2], 255);
PlayerTextDrawFont(playerid,SpeedText[playerid][2], 1);
PlayerTextDrawLetterSize(playerid,SpeedText[playerid][2], 0.259999, 1.200000);
PlayerTextDrawColor(playerid,SpeedText[playerid][2], -1);
PlayerTextDrawSetOutline(playerid,SpeedText[playerid][2], 0);
PlayerTextDrawSetProportional(playerid,SpeedText[playerid][2], 1);
PlayerTextDrawSetShadow(playerid,SpeedText[playerid][2], 1);
PlayerTextDrawSetSelectable(playerid,SpeedText[playerid][2], 0);
SpeedText[playerid][3] = CreatePlayerTextDraw(playerid,638.000000, 417.000000, "_");
PlayerTextDrawBackgroundColor(playerid,SpeedText[playerid][3], 255);
PlayerTextDrawFont(playerid,SpeedText[playerid][3], 1);
PlayerTextDrawLetterSize(playerid,SpeedText[playerid][3], 0.350000, 1.100000);
PlayerTextDrawColor(playerid,SpeedText[playerid][3], -1);
PlayerTextDrawSetOutline(playerid,SpeedText[playerid][3], 0);
PlayerTextDrawSetProportional(playerid,SpeedText[playerid][3], 1);
PlayerTextDrawSetShadow(playerid,SpeedText[playerid][3], 1);
PlayerTextDrawUseBox(playerid,SpeedText[playerid][3], 1);
PlayerTextDrawBoxColor(playerid,SpeedText[playerid][3], 51);
PlayerTextDrawTextSize(playerid,SpeedText[playerid][3], 488.000000, 12.000000);
PlayerTextDrawSetSelectable(playerid,SpeedText[playerid][3], 0);
//==========================================================================
В public OnPlayerStateChange(playerid, newstate, oldstate)
PHP:
new vehicleid = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
if(gCarLock[vehicleid] == 1) RemovePlayerFromVehicle(playerid);
if(!IsAPlane(vehicleid) && !IsABoat(vehicleid) && !IsANoSpeed(vehicleid))
{
if(CarSaleOn[playerid] == 0)
{
SpeedTimer[playerid] = SetTimerEx("UpdateSpeed",100,1,"d",playerid);
PlayerTextDrawShow(playerid,SpeedText[playerid][0]);
PlayerTextDrawShow(playerid,SpeedText[playerid][1]);
PlayerTextDrawShow(playerid,SpeedText[playerid][2]);
PlayerTextDrawShow(playerid,SpeedText[playerid][3]);
}
}
}
else if(newstate == PLAYER_STATE_ONFOOT)
{
KillTimer(SpeedTimer[playerid]);
PlayerTextDrawHide(playerid,SpeedText[playerid][0]);
PlayerTextDrawHide(playerid,SpeedText[playerid][1]);
PlayerTextDrawHide(playerid,SpeedText[playerid][2]);
PlayerTextDrawHide(playerid,SpeedText[playerid][3]);
}
В любое место
PHP:
//==============================================================================
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 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;}
PHP:
forward UpdateSpeed(playerid); // объявляем функцию "Ваше название"
public UpdateSpeed(playerid)
{
new string[86];
new carid = GetPlayerVehicleID(playerid);
new Float:carhp;
GetVehicleHealth(carid,carhp);
switch(SpeedVehicle(playerid))
{
case 0..1: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~w~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII");
case 2..5: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~g~~h~II");
case 6..10: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~g~~h~IIII");
case 11..15: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~g~~h~IIIIII");
case 16..20: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~g~~h~IIIIIIII");
case 21..25: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~g~~h~IIIIIIIII");
case 26..30: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~g~~h~IIIIIIIIIII");
case 31..35: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~g~IIIIIIIIIIIII");
case 36..40: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~g~IIIIIIIIIIIIIII");
case 41..45: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~g~IIIIIIIIIIIIIIIII");
case 46..50: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~r~~h~IIIIIIIIIIIIIIIIIII");
case 51..55: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~r~~h~IIIIIIIIIIIIIIIIIIIII");
case 56..60: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~r~~h~IIIIIIIIIIIIIIIIIIIIIII");
case 61..65: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~r~~h~IIIIIIIIIIIIIIIIIIIIIIIII");
case 66..70: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~r~~h~~h~IIIIIIIIIIIIIIIIIIIIIIIIIII");
case 71..75: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~r~~h~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIII");
case 76..90: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~r~~h~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII");
case 91..130: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~r~~h~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII");
case 131..170: PlayerTextDrawSetString(playerid, SpeedText[playerid][1],"S: ~r~~h~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII");
}
format(string, sizeof(string), "%d KM/H", SpeedVehicle(playerid));
PlayerTextDrawSetString(playerid, SpeedText[playerid][2], string);
}
PHP:
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)) * 100.3;
return floatround(ST[3]);
}
