Вопросы

Хай, Всем! У меня есть вот такой замечательный спидометр который я взял у одного из проектов т.к они его заменили на новый. И у меня есть пару вопросов которые я хочу задать.
Мне нужно как-то подключить полоски бензина чтобы были отнимались каждые 5 литров бензина, и как же сделать так чтобы полоска снизу значения скорости прибавлялась когда я буду ехать на машине набирая скорость? Как подключить название машин, ибо если я это делаю через "VehicleNameS[GetVehicleModel(veh[playerid])-400]" то это не работает :( 
Вот если что полоска бензина:

Спойлер

    FuelShow2[playerid] = TextDrawCreate(560.300476401.758911"~g~~h~IIIIIIIIIIIIIIIIIIII");
    TextDrawLetterSize(FuelShow2[playerid], 0.2860000.716400);
    TextDrawTextSize(FuelShow2[playerid], 613.7907100.000000);
    TextDrawAlignment(FuelShow2[playerid], 1);
    TextDrawColor(FuelShow2[playerid], 0xFFFFFFFF);
    TextDrawUseBox(FuelShow2[playerid], 0);
    TextDrawBoxColor(FuelShow2[playerid], 0x00000000);
    TextDrawSetShadow(FuelShow2[playerid], 0);
    TextDrawSetOutline(FuelShow2[playerid], 0);
    TextDrawBackgroundColor(FuelShow2[playerid], 0x000000FF);
    TextDrawFont(FuelShow2[playerid], 2);
    TextDrawSetProportional(FuelShow2[playerid], 1);
    TextDrawSetSelectable(FuelShow2[playerid], 0);
    //это было в паблике обновления спидометра
    format(str7, sizeof(str7), "",vehs,Fuel[GetPlayerVehicleID(playerid)]);
    TextDrawSetString(FuelShow2[playerid],str7);
    //текстдрав с названиями машин
    vehspeednazv[playerid] = TextDrawCreate(439.666687393.674103"");
    TextDrawLetterSize(vehspeednazv[playerid], 0.1136000.940400);
    TextDrawTextSize(vehspeednazv[playerid], 1280.0000001280.000000);
    TextDrawAlignment(vehspeednazv[playerid], 1);
    TextDrawColor(vehspeednazv[playerid], 0xFFFFFFFF);
    TextDrawUseBox(vehspeednazv[playerid], 0);
    TextDrawBoxColor(vehspeednazv[playerid], 0x80808080);
    TextDrawSetShadow(vehspeednazv[playerid], 0);
    TextDrawSetOutline(vehspeednazv[playerid], 0);
    TextDrawBackgroundColor(vehspeednazv[playerid], 0x000000FF);
    TextDrawFont(vehspeednazv[playerid], 2);
    TextDrawSetProportional(vehspeednazv[playerid], 1);
    TextDrawSetSelectable(vehspeednazv[playerid], 0);
    //Паблик обновления спидометра
    format(str5, sizeof(str5), "Vehicle:_");
    TextDrawSetString(vehspeednazv[playerid],str5);
    //полоска скорости
    SpeedPolosa[playerid] = TextDrawCreate(498.635803421.137207" ");
    TextDrawLetterSize(SpeedPolosa[playerid], 0.2860000.616400);
    TextDrawTextSize(SpeedPolosa[playerid], 552.000000, -0.429800);
    TextDrawAlignment(SpeedPolosa[playerid], 1);
    TextDrawColor(SpeedPolosa[playerid], 0xFFFFFFFF);
    TextDrawUseBox(SpeedPolosa[playerid], 0);
    TextDrawBoxColor(SpeedPolosa[playerid], 0x00000000);
    TextDrawSetShadow(SpeedPolosa[playerid], 0);
    TextDrawSetOutline(SpeedPolosa[playerid], 0);
    TextDrawBackgroundColor(SpeedPolosa[playerid], 0x000000FF);
    TextDrawFont(SpeedPolosa[playerid], 2);
    TextDrawSetProportional(SpeedPolosa[playerid], 1);
    TextDrawSetSelectable(SpeedPolosa[playerid], 0);

 

 

sa-mp-022.png

Поделиться сообщением


Ссылка на сообщение

2 ответа на этот вопрос

  • 0

Предположим, что в баке каждого автомобиля умещается максимум по 50 литров топлива, а максимальное количество "полосок" в текстдраве бензина = 20, то вот такой код должен выйти в момент обновления текстдрава с бензином:
 

new maxI = 20, str7[21] = "", maxBenz = 50;
new nowBenz = Fuel[GetPlayerVehicleID(playerid)];
new countI = floatround((nowBenz/maxBenz)*100/(100/maxI), floatround_round);
for(i = 0; i < countI; i++) strcat(str7, "I");
TextDrawSetString(FuelShow2[playerid],str7);

Для текстдрава, отображающий скорость можно сделать аналогичный код
По поводу траты бензина - сделайте его по времени, к примеру каждую минуту существования автомобиля + то, что двигатель этого автомобиля запущен - будет отниматься 1 л. топлива, можете и постараться - сделать по пройденному расстоянию, но я посоветовал самый простой способ
Что касается отображения названия автомобиля - проверьте массив

Отредактировано пользователем Sleash

Поделиться сообщением


Ссылка на сообщение
  • 0

@Sleash Здравстауйте, спасибо большое написал код, по поводу названмя транспорта я еще вчера заметил что в моем массиве ошибка просто решил полностью по полочкам переделать этот спидометр. А вот что касается системы спека(я про прошлую тему которую я еще даже не решил и не закрыл там я отвечу позже). А так еще раз спасибо что помогли!)

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • OdinDvaTri
      От OdinDvaTri
      ImperiaL-RPG - тот самый легендарный проект, который снова открыт и уже ждёт своих игроков.
      Многофункциональный сервер, в котором вы не будете нуждаться в отыгровке Role Play режима.
      Мод не банально сплагиачен, а написан с 0 нашими Администраторами.
      На сервере есть свое радио, есть возможность стать rDj сервера.
      Также проходят различные мероприятия и конкурсы от администрации.
      Присоединяйся к нам и окунись в увлекательный мир прямо сейчас! Наш сервер ждет именно тебя. Будь лучшим в нашей игровой вселенной!
      IP: play.imperial-rpg.ru:7777
      Форум: https://forum.imperial-rpg.ru/
      TG: https://t.me/imperialrpg
    • INewBRO
      От INewBRO
      Перепроверял код много раз. В компиляторе 4 ошибки. Код с компилятором прикрепил. Помогите
      case DLG_REGAGE:         {             if(!strlen(inputtext))             {                 SPD(playerid, DLG_REGAGE, DIALOG_STYLE_INPUT, "{0797FF}Регистрация{FFFFFF} • Выберите возраст персонажа",//415 строка                     "{FFFFFF}Выберите возраст вашего персонажа:\n\                     {ff6a00}\t• Возраст должен быть от 18 до 60-и\n\",                 "Готово", "");//418 строка                 return SCM(playerid, COLOR_RED, "-Ошибка- {FFFFFF} Введите ваш возраст в поле ниже");             }  
    • Pomogitemne
      От Pomogitemne
      Здравствуйте, не нашёл подходящий раздел поэтому пишу здесь. Скачал я GTA Criminal Russia закинул туда мультиплеер добавляю свой сервер и хочу к нему подключится... Вот что пишет "ошибка в файлах и показывает этот путь  C:\user\OneDrive\Документы\GTA San Andres User Files\CR-MP 0.3.7\reports\mp.txt" удалял и переустанавливал 4 раза не помогает. Что делать?