Помогите изменить наработку. Вот эту наработку надо изменить так чтобы она работала на большое количество пользователей. Я пробовал для каждого игрока свой тригер делать, но это тоже не помогло, так как умирающий юнит это общее действие для всех игроков, поэтом таймер не пропадает, а появляется есчё один. Короче я уже не знаю что делать.
используй локальные переменные т.к. если я правильно понял в ччем проблема, то если пока один герой "лежит", и умерает второй тогда создается два окна таймера, но в переменно записан лиш последний и удаляется лиш последний
Я могу ошибаться Но не ошибается, тот, кто ничего не делает
используй локальные переменные т.к. если я правильно понял в ччем проблема, то если пока один герой "лежит", и умерает второй тогда создается два окна таймера, но в переменно записан лиш последний и удаляется лиш последний
NOFXI, ой сори. Не так понял вопрос. Я использовал это условие, чтобы герои разных команд, ресались в разных местах. Проблему таймера это не рашает. Короче делай как тебе другие говорили выше.
новый акк: http://warcraft3ft.info/index/8-70993
Сообщение отредактировал Metanol - Пятница, 23 Июля 2010, 21:25:16
используй локальные переменные т.к. если я правильно понял в ччем проблема, то если пока один герой "лежит", и умерает второй тогда создается два окна таймера, но в переменно записан лиш последний и удаляется лиш последний
Как я понел, это заносить каждого умирающего юнита в свою переменную? Я уже пробовал это, непомагло.
Добавлено (23-07-2010, 21:26) --------------------------------------------- Metanol, Бывает, всё ровно спасибо.
используй локальные переменные т.к. если я правильно понял в ччем проблема, то если пока один герой "лежит", и умерает второй тогда создается два окна таймера, но в переменно записан лиш последний и удаляется лиш последний
Тем более проблема не в переменных, проблема в событии. Когда юнит умирает, и ждёт своего время воскрешения, умирает другой юнит и переменна меняется не последнего умершего юнита, и он сразу воскрешается.
Добавлено (24-07-2010, 20:22) --------------------------------------------- Люди вам влом помочь?
Тем более проблема не в переменных, проблема в событии. Когда юнит умирает, и ждёт своего время воскрешения, умирает другой юнит и переменна меняется не последнего умершего юнита, и он сразу воскрешается.
Локальные переменные действуют только в области одного триггера, т.е. при каждом срабатывании триггера будет создаваться новая локальная переменная.
function Ressurect takes real wait, string s, rect Region returns nothing local unit hero = GetTriggerUnit() local timer t = CreateTimer() local timerdialog window = CreateTimerDialog(t) local real polledwait call TimerStart(t, wait, false, null) call TimerDialogSetTitle(window, s) call TimerDialogDisplay(window, false) if GetLocalPlayer() == GetOwningPlayer(hero) then call TimerDialogDisplay(window, true) endif loop set polledwait = TimerGetRemaining(t) exitwhen polledwait <= .0 if (polledwait > 2.) then call TriggerSleepAction(.1 * polledwait) else call TriggerSleepAction(.1) endif endloop call ReviveHero(hero, GetRectCenterX(Region), GetRectCenterY(Region), true) call DestroyTimerDialog(window) call DestroyTimer(t) set hero = null set t = null set window = null endfunction
в нестандартный код карты, а затем создай такой триггер:
События: Боевая единица - Юнит Умирает Условия: ((Переключающий юнит) типа Герой) = Да Действия: Личный сценарий: call Ressurect((GetHeroLevel(GetTriggerUnit()) * 5), "Осталось", bj_mapInitialPlayableArea)
Тем более проблема не в переменных, проблема в событии. Когда юнит умирает, и ждёт своего время воскрешения, умирает другой юнит и переменна меняется не последнего умершего юнита, и он сразу воскрешается
ты меня не понял то что мы создаем в редакторе это глобальные переменные а локальные это переменные созданые специально для каждого случая
вот смотри http://xgm.ru/p/wc3/jass_local_vars
Я могу ошибаться Но не ошибается, тот, кто ничего не делает
Pa3apT, а кстати можно есчё Pa3apTа попросить написаное разьеснить по подробние? ато мне маленечко непонятно что к чему? В тригире имеется в виду. И кстати как вставить нестандартный код?
Сообщение отредактировал NOFXI - Понедельник, 26 Июля 2010, 01:01:33