[АРХИВ] Помощь по триггерам - 1
|
|
CUBE | Дата: Понедельник, 14 Сентября 2009, 17:07:05 | Сообщение # 401 |
1 уровень
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Блокировки:
| Как сделать если бы ресурсы увеличиваются то атака, ловкость и запас маны тоже.
|
|
|
|
Kartoha | Дата: Понедельник, 14 Сентября 2009, 17:17:04 | Сообщение # 402 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| События: Найди игрок - свойство, там дерево золото тп. Дейсвтие: Герой - добавить кому нада силу/ловкость/разум
|
|
|
|
[DUОS] | Дата: Понедельник, 14 Сентября 2009, 19:36:30 | Сообщение # 403 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Quote (Kartoha) События: Найди игрок - свойство, там дерево золото тп. Дейсвтие: Герой - добавить кому нада силу/ловкость/разум Охлол если бы в событиях был пункт "Найти игрок", это было бы круто Сила отдельно, ловкость отдельно, разум отдельно.
|
|
|
|
CUBE | Дата: Понедельник, 14 Сентября 2009, 20:09:35 | Сообщение # 404 |
1 уровень
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Блокировки:
| Спс.
|
|
|
|
raso | Дата: Понедельник, 14 Сентября 2009, 21:33:51 | Сообщение # 405 |
1 уровень
Группа: Пользователи
Сообщений: 7
Награды: 0
Репутация: 0
Блокировки:
| Люди можете отписать пожалуйста как открывать\закрывать ворота с помощью рычага не один раз а много...
|
|
|
|
vladyka | Дата: Вторник, 15 Сентября 2009, 09:38:06 | Сообщение # 406 |
~~
Группа: СуперМодераторы
Сообщений: 3096
Награды: 7
Репутация: 4244
Блокировки:
| Вот именно, я открыл игрок - вкл.выкл флаг - награда за убийство - вкл для _____ но там нету скоко именно золота дается! ... ??? ...
|
|
|
|
Арран | Дата: Вторник, 15 Сентября 2009, 11:03:43 | Сообщение # 407 |
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
| Quote (vladyka) но там нету скоко именно золота дается 0~о это в свойствах юнита настраивается вообщето, а триггерами только включается Quote (vladyka) не один раз а много... делаешь тоже что и с одним разом, но в конце еще добавляешь действие оживления рычага
|
|
|
|
Kartoha | Дата: Вторник, 15 Сентября 2009, 14:24:35 | Сообщение # 408 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| Quote (|DUОS|) Охлол если бы в событиях был пункт "Найти игрок", это было бы круто Специально для [DUОS], событие типа "Игрок": Добавлено (15-09-2009, 14:24) --------------------------------------------- блин извините за качество, я незнаю как нормальное делать
Сообщение отредактировал Kartoha - Вторник, 15 Сентября 2009, 14:23:35 |
|
|
|
Bekesha | Дата: Вторник, 15 Сентября 2009, 15:26:32 | Сообщение # 409 |
6 уровень
Группа: Пользователи
Сообщений: 159
Награды: 0
Репутация: 1
Блокировки:
| как сделать чтоб все нейтралы возрождались на том месте где и стояли изначально, а то где ты его убиваешь он там и возрождаеться
Когда не вочто поиграть, всегда поможет WarCraft III. . . (^_^)
|
|
|
|
Арран | Дата: Вторник, 15 Сентября 2009, 15:32:24 | Сообщение # 410 |
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
| Bekesha, очень геморойно это делать, придется создавать для каждой группы нейтралов области, и потом триггерно уже делать условия мол кто именно из этих крипов умер, и если такойто крип, то возраждается тамто, если другой то тамто, забей лучше
|
|
|
|
Kartoha | Дата: Вторник, 15 Сентября 2009, 16:25:47 | Сообщение # 411 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| Bekesha, да чтобы это нармально сделать нужно дохрена и больше времени, + незапутотся, я видел в Orcx1 за Рексара как сделанно, ойойой как геморойно и трудоёмко, если конечно у тебя карта большая, а не 64*64))
|
|
|
|
CHLSN | Дата: Вторник, 15 Сентября 2009, 16:30:00 | Сообщение # 412 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Арран, а как на счет груженого способа с массивами?
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Арран | Дата: Вторник, 15 Сентября 2009, 16:31:04 | Сообщение # 413 |
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
| CHLSN, это не менее геморойно, пожалуй даже более
|
|
|
|
CHLSN | Дата: Вторник, 15 Сентября 2009, 16:38:07 | Сообщение # 414 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Арран, я думал написать пару триггеров менее геморройно, чем для каждого юнита создавать область и сравнивать, если юнит такой-то, то создать такого-то в той области.....
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Арран | Дата: Вторник, 15 Сентября 2009, 16:39:48 | Сообщение # 415 |
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
| хе, пару тригеровто да, а вот обозначать переменной каждого из них и потом на каждого условие делать...
|
|
|
|
CHLSN | Дата: Вторник, 15 Сентября 2009, 17:24:41 | Сообщение # 416 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Инициализация: • Set v = 1 • Выбрать каждого Юнита Нейтрально-Враждебного, иии: • • Set x[v] = Picked unit • • Set y[v] = Position of Picked unit • • Set v = v + 1 Смерть: • Умер • Для © от (1) до (v), дееелать: • • if (x[c] = Dying unit) then • • • Create unit in y[c] • • • Set x[c] = LastCreatedUnit • • else • • • DoNothing P.S. код жжет xD © = (с)
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
Сообщение отредактировал CHLSN - Вторник, 15 Сентября 2009, 17:27:43 |
|
|
|
Daemonik | Дата: Вторник, 15 Сентября 2009, 18:15:28 | Сообщение # 417 |
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
| Эххх нубо-способы... Сам думал геморойно... Но вот живой пример того что это возможно. С использованием vJass'a (код не мой) Period отвечает за время воскрешения Функцией ResetUnit_UnitRemove можно удалять из игры юнитов, которые не должны воскрешаться Ну и в функцию Init, если надо, добавить строку\ки call TriggerRegisterPlayerUnitEvent(trig, Player(i), EVENT_PLAYER_UNIT_DEATH, null) вместо i номер игрока юниты которого должны воскрешаться Code library ResetUnit initializer Init
globals /// private constant boolean InitReset = true private constant real Period = 1.0 /// private resun array Allun private integer Countun = 0 private group GG = CreateGroup() endglobals struct resun private integer idx unit u private integer t private player p private real sX private real sY private real sA method Create takes nothing returns nothing set .u = CreateUnit(.p, .t, .sX, .sY, .sA) call SetUnitUserData(.u, this) endmethod method Delete takes nothing returns nothing set .u = null set Countun = Countun - 1 set Allun[.idx] = Allun[Countun] set Allun[.idx].idx = .idx call .destroy() endmethod static method New takes unit u returns nothing local resun this = resun.create() set .u = u set .t = GetUnitTypeId(u) set .p = GetOwningPlayer(u) set .sX = GetUnitX(u) set .sY = GetUnitY(u) set .sA = GetUnitFacing(u) set Allun[Countun] = this set Allun[Countun].idx = Countun set Countun = Countun + 1 call SetUnitUserData(u, this) endmethod endstruct
public function UnitAdd takes unit u returns nothing local resun un = GetUnitUserData(u) if (un.u != u) then call resun.New(u) endif endfunction
public function UnitRemove takes unit u returns nothing local resun un = GetUnitUserData(u) if (un.u == u) then call un.Delete() endif endfunction private function ResetUnit_ForAllUnit takes nothing returns boolean local player pf = GetOwningPlayer(GetFilterUnit()) if (pf == Player(10) or pf == Player(11)) then call UnitAdd(GetFilterUnit()) endif return false endfunction private function ResetUnit_Action_Timer takes nothing returns nothing local resun un = R2I(TimerGetRemaining(GetExpiredTimer())+0.5) call un.Create() call DestroyTimer(GetExpiredTimer()) endfunction
private function ResetUnit_Action takes nothing returns nothing local unit u = GetTriggerUnit() local timer t local resun un = GetUnitUserData(u) if (un.u == u) then set t = CreateTimer() call TimerStart(t, un, false, null) call PauseTimer(t) call TimerStart(t, Period, false, function ResetUnit_Action_Timer) set t = null endif set u = null endfunction private function Init takes nothing returns nothing local trigger trig = CreateTrigger() if (InitReset) then call GroupEnumUnitsInRect(GG, bj_mapInitialPlayableArea, Filter(function ResetUnit_ForAllUnit)) endif call TriggerRegisterPlayerUnitEvent(trig, Player(10), EVENT_PLAYER_UNIT_DEATH, null) call TriggerRegisterPlayerUnitEvent(trig, Player(11), EVENT_PLAYER_UNIT_DEATH, null) call TriggerAddAction(trig, function ResetUnit_Action) set trig = null endfunction endlibrary
"Оружия в этом подвале хватит что бы взорвать город размером с... С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь) "Embrace your dreams"
|
|
|
|
LT[EVP] | Дата: Вторник, 15 Сентября 2009, 18:19:41 | Сообщение # 418 |
Google Bot™
Группа: Проверенные
Сообщений: 1174
Награды: 8
Репутация: 695
Блокировки:
| Как сделать так чтобы предметы скрещивались как в Hero Duel? Пример: 1.Меч Солнца + 2.Меч Огня =меч Света
|
|
|
|
Daemonik | Дата: Вторник, 15 Сентября 2009, 18:21:18 | Сообщение # 419 |
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
| А еще забыл добавить если InitReset поставить false, то юниты воскрешаться не будут кроме тех которых добавили фун-ей ResetUnit_UnitAdd Добавлено (15-09-2009, 18:21) --------------------------------------------- Скрещивание: Событие: Боевая еденица - A unit Acquires an item Условие: ((Hero manipulating item) has (Часть 1)) Equal to True* ((Hero manipulating item) has (Часть 2)) Equal to True* Дейтсвие: Предмет - Remove (Item carried by (Hero manipulating item) of type Часть 1) Предмет - Remove (Item carried by (Hero manipulating item) of type Часть 2) Hero - Create Скрещенный предмет and give it to (Hero manipulating item) *Boolean Compastion Складывание зарядов: Событие: Боевая еденица - A unit Acquires an item Условие: Or - any (Condition) are true Условия: (Item type of(Item begin manipulated)) равно <тип предмета1>* (Item type of(Item begin manipulated)) равно <тип предмета2>* (Item type of(Item begin manipulated)) равно <тип предмета3>* Действия: Set it**=(Item type of(item begin manipulated)) For each (Integer A) from 1 to 6 do (Actions) Цикл - Действия If (All Conditions are True) then do (Then Actions) else do (Else Actions) Если - Условия (Item type of(Item carried by (Triggering unit) in slot (Integer A))) равно it (Item carried by (Triggering unit) in slot (Integer A)) не равно (Item begin manipulated) То - действия Предмет - Set charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) to ((Charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) + (Charges remaining in (Item begin manipulated))) Предмет - Remove (Item begin manipulated) Иначе - действия *Тип предмета, данный тригер универсален, и может складывать заряды всех типов предметов, указанных в условии **Переменная типа "Тип предмета"
"Оружия в этом подвале хватит что бы взорвать город размером с... С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь) "Embrace your dreams"
|
|
|
|
Madik | Дата: Вторник, 15 Сентября 2009, 18:38:31 | Сообщение # 420 |
8 уровень
Группа: Проверенные
Сообщений: 529
Награды: 0
Репутация: 20
Блокировки:
| Daemonik, можно и попроще событие-каждые 0.01сек условие- герой обладает предметом типа (меч солнца и меч оня) действие-удалить предметы меч солнца и меч онгя создать и отдать предмет герою- меч света
Делать карты -это исскуство! WE
|
|
|
|
CHLSN | Дата: Вторник, 15 Сентября 2009, 19:12:08 | Сообщение # 421 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Quote (Daemonik) Эххх нубо-способы... Все GUI`шники офигенно поняли. Daemonik, я тебя спрошу, что за тип "resun", а то не попалось моим нубским глазам ничего больше, что могло бы воскрешать юнита в исходной позиции.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Арран | Дата: Вторник, 15 Сентября 2009, 19:18:12 | Сообщение # 422 |
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
| Quote (Daemonik) Складывание зарядов: Событие: Боевая еденица - A unit Acquires an item Условие: Or - any (Condition) are true Условия: (Item type of(Item begin manipulated)) равно <тип предмета1>* (Item type of(Item begin manipulated)) равно <тип предмета2>* (Item type of(Item begin manipulated)) равно <тип предмета3>* Действия: Set it**=(Item type of(item begin manipulated)) For each (Integer A) from 1 to 6 do (Actions) Цикл - Действия If (All Conditions are True) then do (Then Actions) else do (Else Actions) Если - Условия (Item type of(Item carried by (Triggering unit) in slot (Integer A))) равно it (Item carried by (Triggering unit) in slot (Integer A)) не равно (Item begin manipulated) То - действия Предмет - Set charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) to ((Charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) + (Charges remaining in (Item begin manipulated))) Предмет - Remove (Item begin manipulated) Иначе - действия 0~о 0~о 0~о 0~о какая хрень события: Боевая единица - Unit Получает предмет условия: ((Hero manipulating item) has an item of type (Item-type of (Item being manipulated))) равно да (Item being manipulated) равно (Item carried by (Hero manipulating item) of type (Item-type of (Item being manipulated))) (Item-class of (Item being manipulated)) равно например подлежащие продаже (необязательное условие) действия: Предмет - Set charges remaining in (Item carried by (Hero manipulating item) of type (Item-type of (Item being manipulated))) to ((Charges remaining in (Item carried by (Hero manipulating item) of type (Item-type of (Item being manipulated)))) + (Charges remaining in (Item being manipulated))) Предмет - Remove (Item being manipulated)Добавлено (15-09-2009, 19:18) ---------------------------------------------
Quote (Madik) можно и попроще событие-каждые 0.01сек условие- герой обладает предметом типа (меч солнца и меч оня) действие-удалить предметы меч солнца и меч онгя создать и отдать предмет герою- меч света можно-то можно, но вот от этого может притормаживать карта
|
|
|
|
kan2009 | Дата: Вторник, 15 Сентября 2009, 19:44:44 | Сообщение # 423 |
6 уровень
Группа: Пользователи
Сообщений: 180
Награды: 0
Репутация: 3
Блокировки:
| Помогите пожалуйста как зделать что-бы при убийстве 10 боссов(чтобы легко можно было выбрать каких именно) в опредиленной областе появлялся мега босяра но уже с вещами и прокачеными скилами.
|
|
|
|
Арран | Дата: Вторник, 15 Сентября 2009, 20:00:31 | Сообщение # 424 |
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
| Quote (kan2009) Помогите пожалуйста как зделать что-бы при убийстве 10 боссов(чтобы легко можно было выбрать каких именно) в опредиленной областе появлялся мега босяра но уже с вещами и прокачеными скилами события: Боевая единица - Unit Умирает условия: Or - Any (Conditions) are true Unit-type of Dying unit равно босс 1 Unit-type of Dying unit равно босс 2 и так далее действия: Set целочисленная переменная = целочисленная переменная + 1 If (целочисленная перменная равно 10) then do (Боевая единица - Create 1 кто надо для кого надо где надо)
|
|
|
|
kan2009 | Дата: Вторник, 15 Сентября 2009, 20:26:24 | Сообщение # 425 |
6 уровень
Группа: Пользователи
Сообщений: 180
Награды: 0
Репутация: 3
Блокировки:
| Eщо раз спс Арран.Но у меня вопрос как задать боссу какие у него далжны быть вещи в рюкзаке? Добавлено (15-09-2009, 20:26) --------------------------------------------- Ааа блин ещо вопросик!Как на тригерах зделать чтобы у юнита(в моем понимание это боссы) после перерождения было характеристик больше на оприделенное число? (к примеру было 10 силы и ловкости а после убийства он тамже появился но у него уже было 20силы и ловкости и т.д ) очень жду ответа !
|
|
|
|