Просмотр полной версии : [Вопрос] Тернарный оператор
new stringoff[100],enginestr[50];
if(zavodis[vehicle] == false) enginestr = "~r~E";
else enginestr = "~g~E";
format(stringoff,sizeof(stringoff),"%s",enginestr);
PlayerTextDrawSetString(playerid,TDengine[playerid],stringoff);
Помогите сделать данный код через тернарный оператор
new stringoff[100];
format(stringoff, sizeof(stringoff), "~%s~E", (zavodis[vehicle] == false ? ("r") : ("g")));
PlayerTextDrawSetString(playerid,TDengine[playerid],stringoff);
Либо так, если форматирование будет ломать цвет
new stringoff[100];
format(stringoff, sizeof(stringoff), "%sE", (zavodis[vehicle] == false ? ("~r~") : ("~g~")));
PlayerTextDrawSetString(playerid,TDengine[playerid],stringoff);
Daniel_Cortez
25.02.2018, 11:46
new stringoff[100];
format(stringoff, sizeof(stringoff), "~%s~E", (zavodis[vehicle] == false ? ("r") : ("g")));
PlayerTextDrawSetString(playerid,TDengine[playerid],stringoff);
Небольшое напоминание: в format есть спецификатор "%c" для одиночных символов.
new stringoff[100];
format(stringoff, sizeof(stringoff), "~%c~E", (zavodis[vehicle] == false ? ('r') : ('g')));
PlayerTextDrawSetString(playerid,TDengine[playerid],stringoff);
new stringoff[100];
format(stringoff, sizeof(stringoff), "~%c~E", (zavodis[vehicle] == false ? ('r') : ('_')));
PlayerTextDrawSetString(playerid,TDengine[playerid],stringoff);
А если у меня используется только красный цвет (~r~) а при выкл. двиг. остаётся цвет самого TDengine[playerid], то просто оставляем поле пустым? ('_')
Небольшое напоминание: в format есть спецификатор "%c" для одиночных символов.
new stringoff[100];
format(stringoff, sizeof(stringoff), "~%c~E", (zavodis[vehicle] == false ? ('r') : ('g')));
PlayerTextDrawSetString(playerid,TDengine[playerid],stringoff);
Я думал насчёт такого варианта, но где-то в душе была надежда на то, что компилятор за меня оптимизирует всё и не станет лепить нуль-символ в конце, а просто запишет код символа.
И я тут понял, что в данном случае можно вообще от форматирования отказаться ведь :)
А если у меня используется только красный цвет (~r~) а при выкл. двиг. остаётся цвет самого TDengine[playerid], то просто оставляем поле пустым? ('_')
PlayerTextDrawSetString(playerid, TDengine[playerid], (zavodis[vehicle] == false ? ("~r~E") : ("E")));
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot