Всем привет!
Копался в поиске но подходящего результата не нагуглил( все не то
есть у кого карта пример с тригером таймера который банально считает игровое время для всех игроков?
то есть сколько со старта игры прошло времени.
желательно на джасе (видел что гуишные создают утечки).
буду очень признателен! Надеюсь что кто-то подкинет

Я думаю тебе подойдёт.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
7
Vampir_kolik, привет, там один общий тригер.
и е если я правильно понял, то строки которые я ищу тут.
не совсем конечно разбираюсь как мне правильно с общего тригера вытащить именно мультиборд с таймером.
Загруженные файлы
13
mistwood, тут
    call TimerStart(Bv,1234,false,function QX)
    call TimerStart(t,1.,true,function JR)
    set t=null
    set Kv=true
    set vTriggerMB = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( vTriggerMB, 0.1 )
    call TriggerAddAction( vTriggerMB, function kR )
    set vTimeRound = 60 * 1
    set vTriggerMB2 = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( vTriggerMB2, 0.1 )
    call TriggerAddAction( vTriggerMB2, function qA )

QX это бесконечный таймер который прибаляет к счётчику 1234 сек
JR отображает секунды в мультибораде каждую секунду
kR создаёт мультиборад
qA создаёт таймеры следующего раунда(тебе это не надо)
fE это удобное отображение времени через двоеточие
FR устанавливает итему мультиборада значение
А лучше скачай JassCraft, а то очень неудобно читать однотонный текст jass2. Да ещё и без дебага.)
26
Принятый ответ
Я думаю тебе подойдёт.
Загруженные файлы
7
Extremator, тут отдельный тригер с таймером вижу, верно?
а что по утечкам скажешь?
есть какие минуса если запихнуть его в карту типа рпг на 6-8 игроков, где игры средние по 3 часа?
26
mistwood, если ты обратил внимание, то у меня время указывается в названии МБорда (мультиборд), а не в какой-либо его ячейке. Это сделано для того, что бы игрок мог скрыть МБорбд, но не лишался возможности видеть время (в доте время находится вместо Древесины и Еды).
Изменение названия МБорда не несёт утечек, на сколько я знаю.
На сколько я помню, была информация о том что GUI-шные действия ячейками МБорда имеющие возможность выбора сразу всего столбца/строки (т.е. циклом через указание 0 вместо конкретного числа) вызывают создание объекта multiboarditem, с которым и идёт работа, но далее он не чистится и не обнуляется. Ну как показывает практика, это не самое страшное из утечек. Главное не брать за правило делать так что бы каждую секунду (или чаще) обновлялись все данные на МБорде, а вместо этого изменять только конкретные значения в нужный момент:
  • каждую секунду писать сколько у игрока киллов? - нет
  • совешая килл увеличивать число и показывать в МБорде - да
11
В чем проблема самому сделать? Заводишь целочисленую глобалку, каждую секунду прибавляешь +1. Вот элементарно получаешь сколько секунд прошло с начала игры, из которых уже можно и минуты, и часы вычислить.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.