Long-
Мастер
Всем привет с вами Mile нарисовал простенький спидометр
приступим:
К всем New
PHP:
new Text:SpeedEnprise[8];
new PlayerText:SpeedEnprisePlayers[MAX_PLAYERS][4];
Первая переменная отвечает за TD который не изменяется/обновляется а только вылазиет по функции
Вторая переменная отвечает за обновление текста "только игрока" иначе показывало у всех одну и туже скорость
Вторая переменная отвечает за обновление текста "только игрока" иначе показывало у всех одну и туже скорость
в GameModeInit
PHP:
SpeedEnprise[0] = TextDrawCreate(354.800018, 334.106658, "i");
TextDrawLetterSize(SpeedEnprise[0], 31.562900, 2.969999);
TextDrawAlignment(SpeedEnprise[0], 1);
TextDrawColor(SpeedEnprise[0], 127);
TextDrawSetShadow(SpeedEnprise[0], 0);
TextDrawSetOutline(SpeedEnprise[0], 0);
TextDrawBackgroundColor(SpeedEnprise[0], 255);
TextDrawFont(SpeedEnprise[0], 2);
TextDrawSetProportional(SpeedEnprise[0], 1);
TextDrawSetShadow(SpeedEnprise[0], 0);
SpeedEnprise[1] = TextDrawCreate(354.800018, 351.907745, "i");
TextDrawLetterSize(SpeedEnprise[1], 31.562900, 2.969999);
TextDrawAlignment(SpeedEnprise[1], 1);
TextDrawColor(SpeedEnprise[1], 127);
TextDrawSetShadow(SpeedEnprise[1], 0);
TextDrawSetOutline(SpeedEnprise[1], 0);
TextDrawBackgroundColor(SpeedEnprise[1], 255);
TextDrawFont(SpeedEnprise[1], 2);
TextDrawSetProportional(SpeedEnprise[1], 1);
TextDrawSetShadow(SpeedEnprise[1], 0);
SpeedEnprise[2] = TextDrawCreate(355.600006, 369.608825, "i");
TextDrawLetterSize(SpeedEnprise[2], 31.562900, 2.969999);
TextDrawAlignment(SpeedEnprise[2], 1);
TextDrawColor(SpeedEnprise[2], 127);
TextDrawSetShadow(SpeedEnprise[2], 0);
TextDrawSetOutline(SpeedEnprise[2], 0);
TextDrawBackgroundColor(SpeedEnprise[2], 255);
TextDrawFont(SpeedEnprise[2], 2);
TextDrawSetProportional(SpeedEnprise[2], 1);
TextDrawSetShadow(SpeedEnprise[2], 0);
SpeedEnprise[3] = TextDrawCreate(355.600006, 387.409912, "i");
TextDrawLetterSize(SpeedEnprise[3], 31.562900, 2.969999);
TextDrawAlignment(SpeedEnprise[3], 1);
TextDrawColor(SpeedEnprise[3], 127);
TextDrawSetShadow(SpeedEnprise[3], 0);
TextDrawSetOutline(SpeedEnprise[3], 0);
TextDrawBackgroundColor(SpeedEnprise[3], 255);
TextDrawFont(SpeedEnprise[3], 2);
TextDrawSetProportional(SpeedEnprise[3], 1);
TextDrawSetShadow(SpeedEnprise[3], 0);
SpeedEnprise[4] = TextDrawCreate(492.148162, 342.409912, "name");
TextDrawLetterSize(SpeedEnprise[4], 0.297598, 1.293866);
TextDrawAlignment(SpeedEnprise[4], 1);
TextDrawColor(SpeedEnprise[4], -171);
TextDrawSetShadow(SpeedEnprise[4], 0);
TextDrawSetOutline(SpeedEnprise[4], 0);
TextDrawBackgroundColor(SpeedEnprise[4], 255);
TextDrawFont(SpeedEnprise[4], 2);
TextDrawSetProportional(SpeedEnprise[4], 1);
TextDrawSetShadow(SpeedEnprise[4], 0);
SpeedEnprise[5] = TextDrawCreate(492.148162, 360.010986, "speed");
TextDrawLetterSize(SpeedEnprise[5], 0.297598, 1.293866);
TextDrawAlignment(SpeedEnprise[5], 1);
TextDrawColor(SpeedEnprise[5], -171);
TextDrawSetShadow(SpeedEnprise[5], 0);
TextDrawSetOutline(SpeedEnprise[5], 0);
TextDrawBackgroundColor(SpeedEnprise[5], 255);
TextDrawFont(SpeedEnprise[5], 2);
TextDrawSetProportional(SpeedEnprise[5], 1);
TextDrawSetShadow(SpeedEnprise[5], 0);
SpeedEnprise[6] = TextDrawCreate(492.148162, 378.212097, "health");
TextDrawLetterSize(SpeedEnprise[6], 0.297598, 1.293866);
TextDrawAlignment(SpeedEnprise[6], 1);
TextDrawColor(SpeedEnprise[6], -171);
TextDrawSetShadow(SpeedEnprise[6], 0);
TextDrawSetOutline(SpeedEnprise[6], 0);
TextDrawBackgroundColor(SpeedEnprise[6], 255);
TextDrawFont(SpeedEnprise[6], 2);
TextDrawSetProportional(SpeedEnprise[6], 1);
TextDrawSetShadow(SpeedEnprise[6], 0);
SpeedEnprise[7] = TextDrawCreate(492.148162, 396.412414, "fuel");
TextDrawLetterSize(SpeedEnprise[7], 0.297598, 1.293866);
TextDrawAlignment(SpeedEnprise[7], 1);
TextDrawColor(SpeedEnprise[7], -171);
TextDrawSetShadow(SpeedEnprise[7], 0);
TextDrawSetOutline(SpeedEnprise[7], 0);
TextDrawBackgroundColor(SpeedEnprise[7], 255);
TextDrawFont(SpeedEnprise[7], 2);
TextDrawSetProportional(SpeedEnprise[7], 1);
TextDrawSetShadow(SpeedEnprise[7], 0);
//для игрока
SpeedEnprisePlayers[playerid][0] = CreatePlayerTextDraw(playerid, 555.538757, 342.409912, "turismo");
PlayerTextDrawLetterSize(playerid, SpeedEnprisePlayers[playerid][0], 0.297598, 1.293866);
PlayerTextDrawAlignment(playerid, SpeedEnprisePlayers[playerid][0], 1);
PlayerTextDrawColor(playerid, SpeedEnprisePlayers[playerid][0], -1);
PlayerTextDrawSetShadow(playerid, SpeedEnprisePlayers[playerid][0], 0);
PlayerTextDrawSetOutline(playerid, SpeedEnprisePlayers[playerid][0], 0);
PlayerTextDrawBackgroundColor(playerid, SpeedEnprisePlayers[playerid][0], 255);
PlayerTextDrawFont(playerid, SpeedEnprisePlayers[playerid][0], 2);
PlayerTextDrawSetProportional(playerid, SpeedEnprisePlayers[playerid][0], 1);
PlayerTextDrawSetShadow(playerid, SpeedEnprisePlayers[playerid][0], 0);
SpeedEnprisePlayers[playerid][1] = CreatePlayerTextDraw(playerid, 555.538757, 360.010101, "000_km/h");
PlayerTextDrawLetterSize(playerid, SpeedEnprisePlayers[playerid][1], 0.297598, 1.293866);
PlayerTextDrawAlignment(playerid, SpeedEnprisePlayers[playerid][1], 1);
PlayerTextDrawColor(playerid, SpeedEnprisePlayers[playerid][1], -1);
PlayerTextDrawSetShadow(playerid, SpeedEnprisePlayers[playerid][1], 0);
PlayerTextDrawSetOutline(playerid, SpeedEnprisePlayers[playerid][1], 0);
PlayerTextDrawBackgroundColor(playerid, SpeedEnprisePlayers[playerid][1], 255);
PlayerTextDrawFont(playerid, SpeedEnprisePlayers[playerid][1], 2);
PlayerTextDrawSetProportional(playerid, SpeedEnprisePlayers[playerid][1], 1);
PlayerTextDrawSetShadow(playerid, SpeedEnprisePlayers[playerid][1], 0);
SpeedEnprisePlayers[playerid][2] = CreatePlayerTextDraw(playerid, 555.538757, 378.210418, "100_%");
PlayerTextDrawLetterSize(playerid, SpeedEnprisePlayers[playerid][2], 0.297598, 1.293866);
PlayerTextDrawAlignment(playerid, SpeedEnprisePlayers[playerid][2], 1);
PlayerTextDrawColor(playerid, SpeedEnprisePlayers[playerid][2], -1);
PlayerTextDrawSetShadow(playerid, SpeedEnprisePlayers[playerid][2], 0);
PlayerTextDrawSetOutline(playerid, SpeedEnprisePlayers[playerid][2], 0);
PlayerTextDrawBackgroundColor(playerid, SpeedEnprisePlayers[playerid][2], 255);
PlayerTextDrawFont(playerid, SpeedEnprisePlayers[playerid][2], 2);
PlayerTextDrawSetProportional(playerid, SpeedEnprisePlayers[playerid][2], 1);
PlayerTextDrawSetShadow(playerid, SpeedEnprisePlayers[playerid][2], 0);
SpeedEnprisePlayers[playerid][3] = CreatePlayerTextDraw(playerid, 556.338745, 395.710723, "100_%");
PlayerTextDrawLetterSize(playerid, SpeedEnprisePlayers[playerid][3], 0.297598, 1.293866);
PlayerTextDrawAlignment(playerid, SpeedEnprisePlayers[playerid][3], 1);
PlayerTextDrawColor(playerid, SpeedEnprisePlayers[playerid][3], -1);
PlayerTextDrawSetShadow(playerid, SpeedEnprisePlayers[playerid][3], 0);
PlayerTextDrawSetOutline(playerid, SpeedEnprisePlayers[playerid][3], 0);
PlayerTextDrawBackgroundColor(playerid, SpeedEnprisePlayers[playerid][3], 255);
PlayerTextDrawFont(playerid, SpeedEnprisePlayers[playerid][3], 2);
PlayerTextDrawSetProportional(playerid, SpeedEnprisePlayers[playerid][3], 1);
PlayerTextDrawSetShadow(playerid, SpeedEnprisePlayers[playerid][3], 0);
PHP:
for(new w; w<8; w++){TextDrawHideForPlayer(playerid,SpeedEnprise[w]);}
for(new e; e < 4; e++){PlayerTextDrawHide(playerid,SpeedEnprisePlayers[playerid][e]);}
1.Это если игрок умерает сделаем скрытие наших с вами TD(Естественно циклом)
в OnPlayerStateChange
PHP:
if(newstate == PLAYER_STATE_DRIVER)
{
for(new w; w < 8; w++){TextDrawShowForPlayer(playerid,SpeedEnprise[w]);}
for(new e; e < 4; e++){PlayerTextDrawShow(playerid,SpeedEnprisePlayers[playerid][e]);}
}
if(newstate == PLAYER_STATE_ONFOOT)
{
for(new w; w < 8; w++){TextDrawHideForPlayer(playerid,SpeedEnprise[w]);}
for(new e; e < 4; e++){PlayerTextDrawHide(playerid,SpeedEnprisePlayers[playerid][e]);}
}
в 1 примере у нас проверка "Если игрок в машине то" мы показываем ТД во втором Если мы вышли из машины то скрываем TD естественно циклом для оптимизации
Создадим паблик где будет обновлять нашу скорость и т.п
PHP:
forward UpdateSpeedometr(playerid)
public UpdateSpeedometr(playerid)
{
new text[20];
new carid = GetPlayerVehicleID(playerid);
format(text, sizeof(text), "%s", VehicleNameS[GetVehicleModel(carid)-400]);
PlayerTextDrawSetString(playerid, SpeedEnprisePlayers[playerid][0], text);
format(text, sizeof(text),"%d", Fuell[carid]);
PlayerTextDrawSetString(playerid, SpeedEnprisePlayers[playerid][3], text);
format(text, sizeof(text), "%02d km/h", SpeedVehicle(carid));
PlayerTextDrawSetString(playerid, SpeedEnprisePlayers[playerid][1],text);
format(text, sizeof(text), "%.0f%", GetVehicleHealthEx(carid));
PlayerTextDrawSetString(playerid, SpeedEnprisePlayers[playerid][2], text);
}
PHP:
STimer[playerid] = SetTimerEx("UpdateSpeedometr", 100, true, "d", playerid);
Доделайте сами.
Скриншот:
P.S
У меня каракули потому-что нету вроде русификатора.
Буду вопросы пишите,не кому не откажу.
Последнее редактирование:
