Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Урок Простенький спидометр + система

Статус
В этой теме нельзя размещать новые ответы.

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);
в OnPlayerDeath

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
У меня каракули потому-что нету вроде русификатора.
Буду вопросы пишите,не кому не откажу.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу