#11
Отправлено 11 января 2021 — 23:40
-
- Пользователь
-

Ты меняешь цвет только для одного элемента текстдрава (судя по массиву, их у тебя несколько). Также, перепроверь, нет ли у тебя больше нигде присвоения дефолтного цвета этому текстдраву, кроме как при создании?
Кроме как при создании, цвет нигде и никогда не менял.
То есть, мне нужно сразу всё менять ? [0]..[6] ? судя по массиву
Как это сразу сделать ? одним кодом ?
Сразу поменять все цвета текстдравов.
Сообщение отредактировал muv4ansky: 11 января 2021 — 23:41
#12
Отправлено 11 января 2021 — 23:43
-
- Местный
-
Если ты хочешь поменять цвет всего текстдрава, то используй цикл.
for(new i; i < 6; i++)
{
PlayerTextDrawColor(playerid, LEVEL[i][playerid], цвет);
}
0
#13
Отправлено 11 января 2021 — 23:45
-
- Пользователь
-

Если ты хочешь поменять цвет всего текстдрава, то используй цикл.
for(new i; i < 6; i++)
{
PlayerTextDrawColor(playerid, LEVEL[i][playerid], цвет);
}
Ты подметил правильно, у меня массив из 5 текстдравов состоит, и они разные все по цвету и не меняются цвета… ХЗ почему
#14
Отправлено 11 января 2021 — 23:46
-
- Местный
-
Покажи-ка, как ты создаёшь текстдрав..
0
#15
Отправлено 11 января 2021 — 23:47
-
- Пользователь
-

Покажи-ка, как ты создаёшь текстдрав..
У меня их 5.
LEVEL[0][playerid] = CreatePlayerTextDraw(playerid,615.000000, 105.000000, "1"); PlayerTextDrawAlignment(playerid, LEVEL[0][playerid], 3); PlayerTextDrawBackgroundColor(playerid, LEVEL[0][playerid], 0); PlayerTextDrawFont(playerid, LEVEL[0][playerid], 2); PlayerTextDrawLetterSize(playerid, LEVEL[0][playerid], 0.250000, 1.299999); PlayerTextDrawColor(playerid, LEVEL[0][playerid], -156); PlayerTextDrawSetOutline(playerid, LEVEL[0][playerid], 0); PlayerTextDrawSetProportional(playerid, LEVEL[0][playerid], 1); PlayerTextDrawSetShadow(playerid, LEVEL[0][playerid], 1); PlayerTextDrawSetSelectable(playerid, LEVEL[0][playerid], 0); LEVEL[1][playerid] = CreatePlayerTextDraw(playerid,615.000000, 119.000000, "0 / 2100"); PlayerTextDrawAlignment(playerid, LEVEL[1][playerid], 3); PlayerTextDrawBackgroundColor(playerid, LEVEL[1][playerid], 0); PlayerTextDrawFont(playerid, LEVEL[1][playerid], 2); PlayerTextDrawLetterSize(playerid, LEVEL[1][playerid], 0.250000, 1.299999); PlayerTextDrawColor(playerid, LEVEL[1][playerid], -156); PlayerTextDrawSetOutline(playerid, LEVEL[1][playerid], 0); PlayerTextDrawSetProportional(playerid, LEVEL[1][playerid], 1); PlayerTextDrawSetShadow(playerid, LEVEL[1][playerid], 1); PlayerTextDrawSetSelectable(playerid, LEVEL[1][playerid], 0); LEVEL[2][playerid] = CreatePlayerTextDraw(playerid,476.000000, 100.000000, "i"); PlayerTextDrawBackgroundColor(playerid, LEVEL[2][playerid], 0); PlayerTextDrawFont(playerid, LEVEL[2][playerid], 2); PlayerTextDrawLetterSize(playerid, LEVEL[2][playerid], 25.800073, 2.600000); PlayerTextDrawColor(playerid, LEVEL[2][playerid], 80); PlayerTextDrawSetOutline(playerid, LEVEL[2][playerid], 0); PlayerTextDrawSetProportional(playerid, LEVEL[2][playerid], 1); PlayerTextDrawSetShadow(playerid, LEVEL[2][playerid], 1); PlayerTextDrawSetSelectable(playerid, LEVEL[2][playerid], 0); LEVEL[3][playerid] = CreatePlayerTextDraw(playerid,476.000000, 114.000000, "i"); PlayerTextDrawBackgroundColor(playerid, LEVEL[3][playerid], 0); PlayerTextDrawFont(playerid, LEVEL[3][playerid], 2); PlayerTextDrawLetterSize(playerid, LEVEL[3][playerid], 25.800073, 2.600000); PlayerTextDrawColor(playerid, LEVEL[3][playerid], 80); PlayerTextDrawSetOutline(playerid, LEVEL[3][playerid], 0); PlayerTextDrawSetProportional(playerid, LEVEL[3][playerid], 1); PlayerTextDrawSetShadow(playerid, LEVEL[3][playerid], 1); PlayerTextDrawSetSelectable(playerid, LEVEL[3][playerid], 0); LEVEL[4][playerid] = CreatePlayerTextDraw(playerid,531.000000, 109.000000, "level~n~~n~score"); PlayerTextDrawAlignment(playerid, LEVEL[4][playerid], 3); PlayerTextDrawBackgroundColor(playerid, LEVEL[4][playerid], 0); PlayerTextDrawFont(playerid, LEVEL[4][playerid], 2); PlayerTextDrawLetterSize(playerid, LEVEL[4][playerid], 0.210000, 0.799999); PlayerTextDrawColor(playerid, LEVEL[4][playerid], -186); PlayerTextDrawSetOutline(playerid, LEVEL[4][playerid], 0); PlayerTextDrawSetProportional(playerid, LEVEL[4][playerid], 1); PlayerTextDrawSetShadow(playerid, LEVEL[4][playerid], 1); PlayerTextDrawSetSelectable(playerid, LEVEL[4][playerid], 0);
Сообщение отредактировал muv4ansky: 11 января 2021 — 23:47
#16
Отправлено 11 января 2021 — 23:49
-
- Местный
-
Тебе нужно заменить цвет фона? Я просто не видел, как выглядит твой текстдрав..
0
#17
Отправлено 11 января 2021 — 23:50
-
- Пользователь
-

Тебе нужно заменить цвет фона? Я просто не видел, как выглядит твой текстдрав..
На данный момент текстдрав выглядит серого цвета(прозрачного), мне нужно чтобы поменялся цвет level и score и сами боксы
Сообщение отредактировал muv4ansky: 11 января 2021 — 23:50
#18
Отправлено 11 января 2021 — 23:51
-
- Местный
-
Попробуй так:
for(new i; i < 6; i++)
{
PlayerTextDrawColor(playerid, LEVEL[i][playerid], цвет);
PlayerTextDrawHide(playerid, LEVEL[i][playerid]);
PlayerTextDrawShow(playerid, LEVEL[i][playerid]);
}
0
#19
Отправлено 11 января 2021 — 23:53
-
- Пользователь
-

Нажмите сюда, чтобы прочитать это сообщение. [
Показать
]
формат цвет можно вводить 0xFF00FFff ?
Да, спасибо, сменилось. Огромное спасибо братуха!! РЕСПЕКТУЮ
#20
Отправлено 11 января 2021 — 23:53
-
- Местный
-
Да, цвет должен быть в шестнадцатеричном формате.
1
Ну, это мой первый мануал, постараюсь все изложить как можно понятнее и проще.
Начнем с самого просто.
TextDraw’ы бывают двух видов:
1.Глобальный!
2.Индивидуальный, для каждого игрока!
Допустим.
Первый вид: Глобальный вот как выглядит.
TextDraw = TextDrawCreate(Float:x, Float:y, text[])
Второй вид:Индивидуальный, для каждого игрока выглядит так.
new PlayerText:PlayerTextDraw[MAX_PLAYERS];
PlayerTextDraw[playerid] = CreatePlayerTextDraw(playerid, Float:x, Float:y, text[])
В чем же разница? В потребление памяти и требование в использование.
Допустим, если мы создали глобальный TextDraw, который показывать будем всем игрокам одну и туже информацию(Будь то текст, картинка и т.д), то стоит использовать глобальный TextDraw, а если нужно допустим создать систему инвентаря, то стоит использовать уже для каждого игрока индивидуальный TextDraw, который будет отображать каждому игроку индивидуально текст, картинки и прочее.
Теперь, когда мы знаем когда и что использовать, то перейдём к самим функциям:
Функции, которые относятся к глобальному TextDraw’y:
TextDrawDestroy(Text:text) - удаляет определённый TextDraw.
TextDrawColor(Text:text, color) - устанавливает определённый цвет TextDraw'y.
TextDrawBoxColor(Text:text, color) - устанавливает определённый цвет коробки TextDraw'a.
TextDrawBackgroundColor(Text:text, color) - устанавливает определённый цвет фона TextDraw'a.
TextDrawAlignment(Text: text, alignment) - выравнивает текст по левому краю, центру и правому краю(1 - лево, 2 - центр 3 - право).
TextDrawFont(Text: text, font) - устанавливает тексту TextDraw'а указанный шрифт(Шрифты).
TextDrawLetterSize(Text: text, Float:x, Float:y) - изменяет размер букв, цифр у указанного TextDraw'a.
TextDrawTextSize(Text:text, Float:x, Float:y) - изменяет размер самого TextDraw'a.
TextDrawSetOutline(Text:text, size) - добавляет обводку TextDraw'y.
TextDrawSetShadow(Text:text, size) - добавляет тень TextDraw'y.
TextDrawSetProportional(Text:text, set) - изменяет пропорции TextDraw'a.
TextDrawUseBox(Text: text, use) - добавляет коробку TextDraw'y(1 - добавить, 0 - убрать).
TextDrawSetString(Text: text, string[]) - изменяет текст TextDraw'a(Для отображения нового текста, нужно скрыть и показать TextDraw).
TextDrawShowForPlayer(playerid, Text: text) - показывает определённому игроку TextDraw.
TextDrawHideForPlayer(playerid, Text: text) - скрывает TextDraw для определённого игрока.
TextDrawShowForAll(Text: text) - показывает TextDraw для всех игроков.
TextDrawHideForAll(Text: text) - скрывает TextDraw для всех игроков.
TextDrawSetPreviewModel(Text: text, model) — изменяет модель объекта на TextDraw’e.
(Обязательно: TextDrawUseBox должен быть включен и TextDrawFont должен быть равен «5» и в случае смены модели объекта на какую-либо другую — скрывайте и показывайте TextDraw).
PlayerTextDrawSetPreviewRot(Text:text, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fZoom) — изменяет ротацию модели у TextDraw’a(Для обновления старой ротации на новую — скрывайте и показывайте TextDraw).
TextDrawSetPreviewVehCol(Text:text, color1, color2) — изменяет цвет автомобиля на TextDraw’e(Для обновления старого цвета на новый — скрывайте и показывайте TextDraw).
Функции, которые относятся к индивидуальным TextDraw’ам:
PlayerTextDrawDestroy(playerid, PlayerText:text) - удаляет определённый TextDraw, для указанного игрока.
PlayerTextDrawColor(playerid, PlayerText:text, color) - устанавливает определённый цвет TextDraw'y, для указанного игрока.
PlayerTextDrawBoxColor(playerid, PlayerText:text, color) - устанавливает определённый цвет коробки TextDraw'a, для указанного игрока.
PlayerTextDrawBackgroundColor(playerid, PlayerText:text, color) - устанавливает определённый цвет фона TextDraw'a, для указанного игрока.
PlayerTextDrawAlignment(playerid, PlayerText: text, alignment) - выравнивает текст по левому краю, центру и правому краю(1 - лево, 2 - центр 3 - право), для указанного игрока.
PlayerTextDrawFont(playerid, PlayerText: text, font) - устанавливает тексту TextDraw'а указанный шрифт, для указанного игрока(Шрифты).
PlayerTextDrawLetterSize(playerid, PlayerText: text, Float:x, Float:y) - изменяет размер букв, цифр у указанного TextDraw'a, для указанного игрока.
PlayerTextDrawTextSize(playerid, PlayerText:text, Float:x, Float:y) - изменяет размер самого TextDraw'a, для указанного игрока.
PlayerTextDrawSetOutline(playerid, PlayerText:text, size) - добавляет обводку TextDraw'y, для указанного игрока.
PlayerTextDrawSetShadow(playerid, PlayerText:text, size) - добавляет тень TextDraw'y, для указанного игрока.
PlayerTextDrawSetProportional(playerid, PlayerText:text, set) - изменяет пропорции TextDraw'a, для указанного игрока.
PlayerTextDrawUseBox(playerid, PlayerText: text, use) - добавляет коробку TextDraw'y, для указанного игрока(1 - добавить, 0 - убрать).
PlayerTextDrawSetString(playerid, PlayerText: text, string[]) - изменяет текст TextDraw'a, для указанного игрока(Для отображения нового текста нужно скрыть и показать TextDraw).
PlayerTextDrawShow(playerid, PlayerText: text) - показывает TextDraw определённому игроку.
PlayerTextDrawHide(playerid, PlayerText: text) - скрывает TextDraw для определённого игрока.
PlayerTextDrawSetPreviewModel(playerid, PlayerText: text, model) — изменяет модель объекта на TextDraw’e, для указанного игрока.
(Обязательно: PlayerTextDrawUseBox должен быть включен и PlayerTextDrawFont должен быть равен «5» и в случае смены модели объекта на какую-либо другую — скрывайте и показывайте TextDraw).
PlayerPlayerTextDrawSetPreviewRot(playerid, PlayerText:text, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fZoom) — изменяет ротацию модели у TextDraw’a, для указанного игрока(Для обновления старой ротации на новую — скрывайте и показывайте TextDraw).
PlayerTextDrawSetPreviewVehCol(playerid, PlayerText:text, color1, color2) — изменяет цвет автомобиля на TextDraw’e, для указанного игрока(Для обновления старого цвета на новый — скрывайте и показывайте TextDraw).
Автор:YellowFace1
CПАСИБО ЗА ВНИМАНИЕ!
От
Maks_Fabions
//=================================== Переменная ============================
new AllRules[] = «{FFFFFF}1. {F5DB6C}Запрещено использование читов. К читам можно отнести любые программы, увеличивающие возможности персонажа.n
Наказание — {FFFFFF}бан. {F5DB6C}Срок определяется модератором в зависимости от уровня игрока и типа нарушения.n»,
AllRules1[] = «{FFFFFF}2. {F5DB6C}Запрещена реклама стороних ресурсов и серверов.n
Наказание — {FFFFFF}бан.n»,
AllRules2[] = «{FFFFFF}3. {F5DB6C}Запрещены любые оскорбления игроков.n
Наказание выбирает модератор в зависимости от ситуации. Оскорбление родных карается {FFFFFF}баном.n»,
AllRules3[] = «{FFFFFF}4. {F5DB6C}Запрещена беспорядочная стрельба по игрокам и транспортным средствам (DM), за исключением разборок между бандами.n
Наказание — {FFFFFF}ФДМ.n»,
AllRules4[] = «{FFFFFF}5. {F5DB6C}Запрещён обман игроков, а также любые махинации, связанные с игровым имуществом и валютой.n
Наказание выбирает модератор в зависимости от ситуации.n»,
AllRules5[] = «{FFFFFF}6. {F5DB6C}Запрещена продажа (передача) игрового аккаунта другому игроку.n
Наказание — {FFFFFF}блокировка аккаунта.n»,
AllRules6[] = «{F5DB6C}Не поленись посетить наш сайт — {FFFFFF}www.gtasrv.ru. {F5DB6C}Там ты найдешь ответы практически на все вопросы, связанные с игровым процессом.n
Также интересующие тебя вопросы можно задавать нашим хелперам. Используй команду {FFFFFF}/n <Вопрос>{F5DB6C}.»;
//=================================== Паблики ==================================
public OnGameModeInit() // Событие, когда загрузится скрипт
{
AllRules[sizeof(AllRules)-1] = ‘n’;
AllRules1[sizeof(AllRules1)-1] = ‘n’;
AllRules2[sizeof(AllRules2)-1] = ‘n’;
AllRules3[sizeof(AllRules3)-1] = ‘n’;
AllRules4[sizeof(AllRules4)-1] = ‘n’;
AllRules5[sizeof(AllRules5)-1] = ‘n’;
AllRules6[sizeof(AllRules6)-1] = »;
…
Есть ли разница в совмещении длинного текста в диалоге? Между ВЫВОДОМ информации через переменную и выводом информации через функцию strcat
stock ShowAllRules(playerid)
{
new dialog[1203]; // Размер строки с пробелами
strcat(dialog, «{FFFFFF}1. {F5DB6C}Запрещено использование читов. К читам можно отнести любые программы, увеличивающие возможности персонажа.n
Наказание — {FFFFFF}бан. {F5DB6C}Срок определяется модератором в зависимости от уровня игрока и типа нарушения.nn», sizeof(dialog));
strcat(dialog, «{FFFFFF}2. {F5DB6C}Запрещена реклама стороних ресурсов и серверов.n
Наказание — {FFFFFF}бан.nn», sizeof(dialog));
strcat(dialog, «{FFFFFF}3. {F5DB6C}Запрещены любые оскорбления игроков.n
Наказание выбирает модератор в зависимости от ситуации. Оскорбление родных карается {FFFFFF}баном.nn», sizeof(dialog));
strcat(dialog, «{FFFFFF}4. {F5DB6C}Запрещена беспорядочная стрельба по игрокам и транспортным средствам (DM), за исключением разборок между бандами.n
Наказание — {FFFFFF}ФДМ.nn», sizeof(dialog));
strcat(dialog, «{FFFFFF}5. {F5DB6C}Запрещён обман игроков, а также любые махинации, связанные с игровым имуществом и валютой.n
Наказание выбирает модератор в зависимости от ситуации.nn», sizeof(dialog));
strcat(dialog, «{FFFFFF}6. {F5DB6C}Запрещена продажа (передача) игрового аккаунта другому игроку.n
Наказание — {FFFFFF}блокировка аккаунта.nn», sizeof(dialog));
strcat(dialog, «{F5DB6C}Не поленись посетить наш сайт — {FFFFFF}www.gtasrv.ru. {F5DB6C}Там ты найдешь ответы практически на все вопросы, связанные с игровым процессом.n
Также интересующие тебя вопросы можно задавать нашим хелперам. Используй команду {FFFFFF}/n <Вопрос>{F5DB6C}.», sizeof(dialog));
SPD(playerid, DLG_ALLRULES, DIALOG_STYLE_MSGBOX, «{FFFFFF}Общие правила», dialog, «Игра», «»);
}
-
#1
Строчка на смену цвета вот
format(str, sizeof str, «%a»,
!Lights[GetPlayerVehicleID(playerid)] ? («~r~~h~~h~~h~») : («~g~~h~~h~~h~»));
PlayerTextDrawSetString(playerid,SPEED_Text[playerid][5],str);
Всё делаю правильно но захожу в игру и теряется круг который должен отвечать за красный и зёленый индикатор показа
Последнее редактирование модератором: 27.05.2020
-
#2
С каких пор, PlayerTextDrawSetString (изменение текста TD для игрока), изменяет цвет TD? Используй
Код:
PlayerTextDrawColor(playerid, текстдрав, 0xHTML_ЦВЕТFF);
Последнее редактирование модератором: 27.05.2020
-
#3
Так мне же нужно чтобы по кнопке которая отвечает за фары или двигатель меняли цвет, и куда мне вообще эту строчку вставлять ??
-
#4
format(str, sizeof str, «%s»,
!Engine[GetPlayerVehicleID(playerid)]);
PlayerTextDrawColor(playerid, TD_SPEED_PTD[playerid][4], 0xFF0000_008000);
Или мне так делать ?????
-
#5
@vetals200210 вставляй в то место кода, где тебе нужно, что бы цвет менялся. Может, при нажатии на клавишу какую-то
-
#6
Ну вот допустим вот этот код на старом спидометре стоял в upladespeedometr
format(str, sizeof str, «%s»,
!Engine[GetPlayerVehicleID(playerid)]);
PlayerTextDrawColor(playerid, TD_SPEED_PTD[playerid][4], 0xFF0000_008000);
А фары у меня включаются на левую кнопку мыши, я вставил вот этот код PlayerTextDrawColor(playerid, TD_SPEED_PTD[playerid][4], 0xFF0000_008000); но при нажатии ничего не происходит!!!!
как мне вообще сделать чтобы когда выключено красное а когда включено зеленое ?
вот код на включение фар
if(PRESSED(KEY_FIRE))
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
new cars = 0, vehicleid = GetPlayerVehicleID(playerid);
for(new i; i != sizeof(BE_Bad_Vehs); i++)
{
if(GetVehicleModel(vehicleid) == BE_Bad_Vehs) cars++;
}
if(cars > 0) return 1;
if(IsAVel(vehicleid) || IsABoat(vehicleid)) return 1;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,(Lights[vehicleid])?(false)true),alarm,doors,bonnet,boot,objective);
Lights[vehicleid] = (Lights[vehicleid])?(false)true);
//PlayerPlaySound(playerid, 4604, 0.0, 0.0, 0.0);
return 1;
}
return 1;
}
Теперь когда сделал так то появляется не сразу а только когда с машины выходишь и садишься обратно меняется тект текстдрава
if(!IsAMoped(vehicleid) && !IsAVel(vehicleid) && !IsABoat(vehicleid))
{
STimer[playerid] = SetTimerEx(«UpdateSpeedometr», 200, true, «i», playerid);
PlayerTextDrawColor(playerid,TD_SPEED_PTD[playerid][4], Lights[vehicleid] ? 0x63BD4EFF : 0xDFD75DFF);
ShowSpeedometer(playerid);
}
КАК ТЕПЕРЬ СДЕЛАТЬ ЧТОБЫ ЭТОТ TD ОБНОВЛЯЛСЯ СИДЯ В МАШИНЕ
-
#7
@vetals200210 PlayerTextDrawColor(playerid, TD_SPEED_PTD[playerid][4], 0xFF0000_008000); что это за инородный цвет такой?
Проверяй, если глушит тачку — цвет делай красным, если заводит — зеленым
-
#8
Теперь когда сделал так то появляется не сразу а только когда с машины выходишь и садишься обратно меняется тект текстдрава
if(!IsAMoped(vehicleid) && !IsAVel(vehicleid) && !IsABoat(vehicleid))
{
STimer[playerid] = SetTimerEx(«UpdateSpeedometr», 200, true, «i», playerid);
PlayerTextDrawColor(playerid,TD_SPEED_PTD[playerid][4], Lights[vehicleid] ? 0x63BD4EFF : 0xDFD75DFF);
ShowSpeedometer(playerid);
}
КАК ТЕПЕРЬ СДЕЛАТЬ ЧТОБЫ ЭТОТ TD ОБНОВЛЯЛСЯ СИДЯ В МАШИНЕ
Последнее редактирование модератором: 28.05.2020
-
#11
@vetals200210 функцией PlayerTextDrawShow
Я тебе всё на пальцам объяснять не буду, потому что не хочу.
Последнее редактирование модератором: 28.05.2020
-
#12
так а что мне с этим делать теперь
error 017: undefined symbol «show»
-
#14
if(PRESSED(KEY_FIRE))
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
new cars = 0, vehicleid = GetPlayerVehicleID(playerid);
for(new i; i != sizeof(BE_Bad_Vehs); i++)
{
if(GetVehicleModel(vehicleid) == BE_Bad_Vehs) cars++;
}
if(cars > 0) return 1;
if(IsAVel(vehicleid) || IsABoat(vehicleid)) return 1;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,(Lights[vehicleid])?(false)true),alarm,doors,bonnet,boot,objective);
Lights[vehicleid] = (Lights[vehicleid])?(false)true);
PlayerTextDrawColor(playerid,TD_SPEED_PTD[playerid][4],Lights[vehicleid] ? 0x63BD4EFF : 0x63BD4EFF);
PlayerTextDrawShow(playerid,TD_SPEED_PTD[playerid][4]);
//PlayerPlaySound(playerid, 4604, 0.0, 0.0, 0.0);
return 1;
}
return 1;
}
-
#18
Спасибо большое, помогли, можно закрывать тему)))



