beril
Доктор ЗЛО!!!
offline
Опыт:
3,204Активность: |
Помогите с кодом
Суть проблемы заключается, вот в чем: заместь 1 тексттага выводится сразу 3 подряд. Помогите не знаю. что делать уже вроде все правильно делаю .
Вот код ((код jass
function SFP_Work takes integer i, real a returns nothing
local texttag array n local integer d local timer t = CreateTimer()
call SFP_Reset(i) loop exitwhen udg_D_DialogHero == false проверка на диалог call TriggerSleepAction(1.00) endloop call SFP_Reset(i) set udg_L_Action[i] = true бул на раб
call DisplayTextToForce( GetPlayersAll(), "работает работать " )//debug if i <= 35 then если i больше 35, значит это персонаж женского пола call SetUnitAnimationByIndex(udg_L_Unit[i], 26 ) else endif loop exitwhen GetTimeOfDay() == 16.00
set n[1] = CreateTextTag()
set n[2] = CreateTextTag() set n[3] = CreateTextTag() set n[4] = CreateTextTag() set n[5] = CreateTextTag() set n[6] = CreateTextTag() set n[7] = CreateTextTag() set n[1] = CreateTextTag()
set n[2] = CreateTextTag() set n[3] = CreateTextTag() set n[4] = CreateTextTag() set n[5] = CreateTextTag() set n[6] = CreateTextTag() set n[7] = CreateTextTag() set d = GetRandomInt(1,7)
call TriggerSleepAction(7.00) if(d == 1) then call SetTextTagText(n[1], "Фуг устал уже", .0184) 8. * 0.23 / 10 elseif(d == 2) then call SetTextTagText(n[2], "Отдохнуть бы чуток", .0184) etc elseif(d == 3) then call SetTextTagText(n[3], "Спина уже побаливает", .0184) elseif(d == 4) then call SetTextTagText(n[4], "Яйца вспотели уже от работы", .0184) elseif(d == 5) then call SetTextTagText(n[5], "Мозоли уже натер", .0184) elseif(d == 6) then call SetTextTagText(n[6], "(Свистит)....", .0184) elseif(d == 7) then call SetTextTagText(n[7], "Фуг устал уже", .0184) else endif call SetTextTagPosUnit(n[1], udg_L_Unit[i], 0.) call SetTextTagColor(n[1], 127, 127, 255, 255) call SetTextTagPosUnit(n[2], udg_L_Unit[i], 0.) call SetTextTagColor(n[2], 127, 127, 255, 255) call SetTextTagPosUnit(n[3], udg_L_Unit[i], 0.) call SetTextTagColor(n[3], 127, 127, 255, 255) call SetTextTagPosUnit(n[4], udg_L_Unit[i], 0.) call SetTextTagColor(n[4], 127, 127, 255, 255) call SetTextTagPosUnit(n[5], udg_L_Unit[i], 0.) call SetTextTagColor(n[5], 127, 127, 255, 255) call SetTextTagPosUnit(n[6], udg_L_Unit[i], 0.) call SetTextTagColor(n[6], 127, 127, 255, 255) call SetTextTagPosUnit(n[7], udg_L_Unit[i], 0.) call SetTextTagColor(n[7], 127, 127, 255, 255) call TriggerSleepAction(3.80) Вейт 3: call DestroyTextTag(n[1]) call DestroyTextTag(n[2]) call DestroyTextTag(n[3]) call DestroyTextTag(n[4]) call DestroyTextTag(n[5]) call DestroyTextTag(n[6]) call DestroyTextTag(n[7]) call TriggerSleepAction(10.00) call TriggerSleepAction(2.00) endloop endfunction ... )) В общем не знваю что делать выводиться 2-3 тексттага подряд, полмогитен плиз Отредактировано beril, 08.12.2012 в 21:25. |
08.12.2012, 21:15 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
нет отладки - давай досвиданья.
форматирование кода тоже доставляет, китайский код на лицо, хорошо что сообщений всего 7 а не 100 |
09.12.2012, 03:20 | #2
+1/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
beril
Доктор ЗЛО!!!
offline
Опыт:
3,204Активность: |
Какая разница скоко 7 или 20, проблема в том что выводится сразу 3 тексттага |
09.12.2012, 04:05 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
beril, beril:
((код jass
if(d == 1) then call SetTextTagText(n[1], "Фуг устал уже", .0184) 8. * 0.23 / 10 elseif(d == 2) then call SetTextTagText(n[2], "Отдохнуть бы чуток", .0184) etc elseif(d == 3) then call SetTextTagText(n[3], "Спина уже побаливает", .0184) elseif(d == 4) then call SetTextTagText(n[4], "Яйца вспотели уже от работы", .0184) elseif(d == 5) then call SetTextTagText(n[5], "Мозоли уже натер", .0184) elseif(d == 6) then call SetTextTagText(n[6], "(Свистит)....", .0184) elseif(d == 7) then call SetTextTagText(n[7], "Фуг устал уже", .0184) )) вот очень интересно нафига создавать по массиву значений которые во время игры не менеются, не говоря о 7 текстагах, зачем? все делается 1 текстагом.... |
09.12.2012, 06:59 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
я уже сказал что это китайский код который тупо ниачём, если бы было 20 фраз, то автор забивал бы массив из 20 переменных точно также вручную... |
09.12.2012, 08:00 | #5
+2/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
DioD, давай наставим лодыря на путь истинный, и вобьём в его голову как делаются такие вещи... |
09.12.2012, 09:14 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
не тот случай, не наставляю тех кто хамит. |
09.12.2012, 09:41 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
а у меня нету багов =О ScorpioT1000 добавил:
DioD, у тебя еть иные варианты нежели создание бд строк? ScorpioT1000 добавил:
beril, есть функция показать тексттаг
|
09.12.2012, 16:54 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
ScorpioT1000, ну там не в 1 месте вейт в цикле, и куда стока текстагов и зачем каждый раз создавать массив... |
09.12.2012, 17:02 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
|
09.12.2012, 17:04 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
ScorpioT1000, да да и вейт длиннющий в этом цикле, и суде по его посту выполняется аж 3 раза...
Там везде куча вейтов, 2 цикла, и прочая чепуха... quq_CCCP добавил: Причём зачем юзать циклы для проверки времени суток? |
09.12.2012, 17:07 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
почему бы и нет? если бы не косячный варкрафт, не лимит операций и диапазон чисел в условии цикла, это бы вполне хорошо работало. |
09.12.2012, 17:12 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
ScorpioT1000, да да да, но только существуют события это раз, два куча ненужных действий нагружающих движок... |
09.12.2012, 17:22 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
строки да, только забивать, но всё остальное не требует ни массива ни забивания.
На время суток есть отдельное событие, время стало меньше-больше Х, при чём в ГУИ.
У текстагов есть встроенные таймеры жизни и анимации, ждать вейтом чтобы удалить изврат, когда можно поставить лайфспан и забыть, даже обнулять не надо их. |
09.12.2012, 18:02 | #14
+5/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
кстати в новогодней карте есть моя системка безлимитного числа тексттагов =) они начинают медленно плавно переливаться из прозрачного в свой цвет по 100 штук, те которые не видно удаляются, а которые должны появиться создаются заного) |
09.12.2012, 18:15 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
бесконечными они не будут всё равно, всего их 144 на карту, больше не создаются, в сингле можно перерисовывать и пропускать такты, но в мульте фокус не прокатит. |
10.12.2012, 06:55 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
DioD, это всего текстагов на карту или только видимых игроку? Если создать массив и показывать, скрывать? |
10.12.2012, 07:23 | #17
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
больше 144 на карту, текстаги асинк, можно целиком обрабатывать весь код текстага в асинке, то есть не создавать текстаги для тех игроков которые их не видят вообще. |
10.12.2012, 10:34 | #18
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
|
10.12.2012, 13:52 | #19
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
beril
Доктор ЗЛО!!!
offline
Опыт:
3,204Активность: |
ScorpioT1000:
Я уже понял изменил на Gowrk == true В общес специально сделал для проверки из 2 тексттагов, я сам не понял что за фигня но выходит так проигрывается один текстаг (все нормально), потом второй (тоже нормально) и третий раз 2 текстага одновременно и так каждый раз циклически на 3 разе несколько раз проигрывается. В общем кучу вайтов наставил, вроде более менее нормально, но иногда быстро друг за другом проигрываются |
20.12.2012, 15:29 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|