Question

Хай, Всем! У меня есть вот такой замечательный спидометр который я взял у одного из проектов т.к они его заменили на новый. И у меня есть пару вопросов которые я хочу задать.
Мне нужно как-то подключить полоски бензина чтобы были отнимались каждые 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

Share this post


Link to post

2 answers to this question

  • 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 л. топлива, можете и постараться - сделать по пройденному расстоянию, но я посоветовал самый простой способ
Что касается отображения названия автомобиля - проверьте массив

Edited by Sleash

Share this post


Link to post
  • 0

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

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Vanilin
      By Vanilin
      Я установил клиент и сервер сампа 0.3.8 , поставил новые скины в папку models и сделал команду для смены скинов. Но когда захожу на сервер и изменяю скин на тот который в models мне изменяет скин на какой то другой. После вообще ломается смена скинов и практически все скины приобретают вид того скина, который я пытался установить, а нулевой скин( т е скин сиджея) меняется на другой. Я пробывал несколько раз переустанавливать и сам самп(включая устоновку более старых версий rc3, rc2) и гта в целом, но не помогает.
       
      P.S. При заходе на сервер скины подгружались нормально и в models/artconfig они пописаны
       
      *ссылка на фрапс*