Уже пять лет задаю вопросы и ответы здесь, как моя личная записная книжка по редактору варика. Спасибо вам, люди)
Все постоянно ругают вейт, даже как то кто то кидал мне наработку, чтобы вейт не глючил, только наработка не работает.
Все постоянно ругают вейт, даже как то кто то кидал мне наработку, чтобы вейт не глючил, только наработка не работает.
Все твердят заменять таймером, как я понял, это то же самый таймер что только на локалках и без окна? Если вас хватит скиньте пример такого таймера, если возможно без использования хэш таблицы( я не понимаю ее смысл)
Буду заменять вейты))
Буду заменять вейты))
пройдёмся по основам и дальше сам разберёшься
давай ещё раз
вот это строчкой мы создаём таймер, тут понятно?
Вот вторая строчка
t, 2, false, function myTimer - это её параметры, или же аргументы
где
t - таймер который мы создали
2 - время в секундах через которое он отработает
false - таймер одноразовый, там может быть ещё true - это периодический, всего 2 значения, это булева
function myTimer - непосредсвенно сама функция, оно же действие, которое произойдёт, когда пройдёт 2 секунды
и в неё нельзя ничего передать на чистом джасе, для этого и использовалась глобалка, чтобы работало и используются хештаблицы, чтобы посадить на хендл таймера например юнита, и каждый юнит будет привязан к своему таймеру. Опять же на lua не надо ничего этого делать вообще там просто из коробки работает, сразу как нужно. Собственно function myTimer takes nothing returns nothing это и есть гуишная функция "таймер истекает", до бишь это действие, которое произайдёт, когда время таймера tпришло.
Я уже одно и тоже говорю, просто если не понял, читай ещё несколько раз
Отредактирован Extremator
И все. Тоесть для коротких и быстрых периодов это не годится, но раз уж вейт такой глючный!
Я могу и на локалках попробовать через custom script )))
Почему нет?!😊
То есть я пишу этот код и вейты больше не глючат?
Отредактирован Extremator
Если ты хотя бы немного понимаешь как работает Jass, то просто используй это вместо вэйта.
Хочешь записывай его в локалку, а потом ищи что и с кем делать (на это надо записать).
Хочешь записывай его в глобалку, а потом ... точно так же ищи что и с кем делать.
Отредактирован MpW
Но не хочу говорить что вэйт плохой. И прочее. Он может быть и полезным. К примеру задержку между приказами. Пример продажа всех итемов с инвентаря в магазин. Там можно замутить авто-продажу. Продажа происходит мгновенная, но чтобы выполнить все приказы нужна задержка. Можно было и на таймер, но код длиннее был бы
А вот этот код нельзя на custom script записать, а то я е пойму как мне выйти на этот таймер?
local timer t = CreateTimer()
call TimerStart(t,s,false,null)
loop
call TriggerSleepAction(s)
exitwhen TimerGetRemaining(t) == 0.
endloop
call DestroyTimer(t)
set t = null
endfunction
У меня бывают момент когда мне надо заставить триггер прождать МГНОВЕНИЕ, что бы не сбить что-то, и вот вэйт в 0.00 не помогает, т.к. срабатывает мгновенно, т.е. слишком быстро.
Мб я по памяти не совсем правильно что-то написал, надо проверить самому.