|
[АРХИВ] Помощь по триггерам - 1
|
|
| Denialsan | Дата: Воскресенье, 27 Декабря 2009, 19:47:56 | Сообщение # 3676 |
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки: 
| У меня фатал еррор...вот триггер: bw cast Events Unit - A unit Begins casting an ability Conditions (Ability being cast) Equal to Black whole Actions Unit - Create 1 black whole for Neutral Passive at (Target point of ability being cast) facing Default building facing (270.0) degrees Environment - Create a 7.00 second Temporary crater deformation at (Position of (Last created unit)) with radius 128.00 and depth 512.00 Animation - Play (Last created unit)'s birth animation Wait 3.45 seconds Animation - Play (Last created unit)'s stand animation Unit Group - Pick every unit in (Units within 512.00 of (Position of (Last created unit))) and do (Actions) Loop - Actions If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions (Picked unit) Not equal to (Last created unit) Then - Actions Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by 10.00 towards (Angle from (Position of (Picked unit)) to (Position of (Last created unit))) degrees) Wait 7.00 seconds Unit - Remove (Last created unit) from the game Trigger - Turn off (This trigger) Else - Actions
|
| |
|
|
| Arius | Дата: Воскресенье, 27 Декабря 2009, 20:28:42 | Сообщение # 3677 |
10 уровень
Группа: Проверенные
Сообщений: 2163
Награды: 2
Репутация: 267
Блокировки: 
| Во первых не используй last created потому что этот юнит относится не только к данному триггеру а ко всей карте, занеси в переменную. Во вторых как я понял blackwhole это черная дыра, не создавай юнита с моделью дыры, создай спецэффект в точке каста. В третьих триггер у тебя срабатывает один раз, следственно юниты попавшие в зону действия двинутся на 10 один раз и всё, надо не так, нужно выделить всех юнитов в диапазоне точки каста и занести их в переменную, потом нужно два триггера первый триггер срабатывает когда юнит кастует, здесь создаешь спецэффект и заносишь юнитов в диапазоне точки каста в переменную и ставишь действие включить триггер 2: событие: каждые 0.01 сек. Действие: pick every unit in [переменная отряда], дальше будет цикл: тут двигаешь picked unit, указываешь скорость, лучше ставь не 10 а меньше а то их слишком быстро засасывать будет, угол указываешь как отношение угла между точка каста(в первом триггере ее нужно занести в переменную) а вторая position (picked unit) далее в первом триггере ставишь действие wait(длительность действия способности) и выключить второй триггер
|
| |
|
|
| Denialsan | Дата: Воскресенье, 27 Декабря 2009, 21:50:15 | Сообщение # 3678 |
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки: 
| Quote (Arius) Действие: pick every unit in [переменная отряда] а это еще что за байда? я думал что Unit Group - Pick every unit in (Units within 512.00 of точка заклинания) and do (Actions)
Добавлено (27-12-2009, 21:42) --------------------------------------------- bw cast Events Unit - A unit Begins casting an ability Conditions (Ability being cast) Equal to Black whole Actions Set target_bw = (Picked unit) Set piont_bw = (Target point of ability being cast) Set Angle_bw = (Angle from piont_bw to (Position of (Picked unit))) Trigger - Turn on bw effect <gen> Special Effect - Create a special effect at piont_bw using war3mapImported\BlackHole.mdx Wait 7.00 seconds Special Effect - Destroy (Last created special effect) Environment - Create a 7.00 second Temporary crater deformation at piont_bw with radius 256.00 and depth 368.00 bw effect Events Time - Every 0.01 seconds of game time Conditions Actions Unit Group - Pick every unit in (Units within 512.00 of piont_bw) and do (Actions) Loop - Actions Unit - Move (Picked unit) instantly to (piont_bw offset by 0.01 towards (Angle from piont_bw to (Position of (Picked unit))) degrees) Wait 7.00 seconds Trigger - Turn off (This trigger) При использовании этого триггера начинаются такие глюки шо ппц!Комп кароче зависает полностью.... Что здесь не так? Добавлено (27-12-2009, 21:43) --------------------------------------------- И блин юниты перемещаются мгновенно.....это мне какраз ненужно....нужно чтобы перемещались медленно... Добавлено (27-12-2009, 21:50) --------------------------------------------- Вот немного переделанный триггер: bw cast Events Unit - A unit Begins casting an ability Conditions (Ability being cast) Equal to Black whole Actions Set target_bw = (Picked unit) Set piont_bw = (Target point of ability being cast) Set Angle_bw = (Angle from piont_bw to (Position of (Picked unit))) Trigger - Turn on bw effect <gen> Special Effect - Create a special effect at piont_bw using war3mapImported\BlackHole.mdx Wait 7.00 seconds Special Effect - Destroy (Last created special effect) Wait 7.00 seconds Trigger - Turn off (bw_effect) bw effect Events Time - Every 0.01 seconds of game time Conditions Actions Unit Group - Pick every unit in (Units within 512.00 of (Target point of ability being cast)) and do (Actions) Loop - Actions Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by 0.01 towards (Angle from (Position of (Picked unit)) to piont_bw) degrees) Всеравно лаги ужасные!И нифига не притягуется...
|
| |
|
|
| Arius | Дата: Воскресенье, 27 Декабря 2009, 22:39:25 | Сообщение # 3679 |
10 уровень
Группа: Проверенные
Сообщений: 2163
Награды: 2
Репутация: 267
Блокировки: 
| Denialsan, какая байда? Я тебе коротко пишу. Ставь offset by 4 towards, а не 0.01 а то у тебя вообще не передвинется. Строчка set angle bw = (angle from point_bw to (position of(picked unit)), у тебя нет действия отряд - pick every unit in... Поэтому picked unit у тебя не существует. То же самое со строчко set target_bw = picked unit.
|
| |
|
|
| MTT | Дата: Воскресенье, 27 Декабря 2009, 22:39:54 | Сообщение # 3680 |
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки: 
| Events Unit - A unit Begins casting an ability Conditions (Ability being cast) Equal to Black whole Actions Set piont_bw = (Target point of ability being cast) Trigger - Turn on bw effect <gen> Special Effect - Create a special effect at piont_bw using war3mapImported\BlackHole.mdx Set BWEffect(Переменная типа эффект) = Last created special effect Wait 7.00 seconds Special Effect - Destroy (BWEffect) Wait 7.00 seconds Trigger - Turn off (bw_effect) bw effect Events Time - Every 0.01 seconds of game time Conditions Actions Unit Group - Pick every unit in (Units within 512.00 of ( piont_bw) and do (Actions) Loop - Actions Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by 0.01(Очень мало, глазу не видно, ставь 10) towards (Angle from (Position of (Picked unit)) to piont_bw) degrees)
|
| |
|
|
| Arius | Дата: Воскресенье, 27 Декабря 2009, 22:41:25 | Сообщение # 3681 |
10 уровень
Группа: Проверенные
Сообщений: 2163
Награды: 2
Репутация: 267
Блокировки: 
| MTT, для черной дыры 10 слишком много.
|
| |
|
|
| MTT | Дата: Воскресенье, 27 Декабря 2009, 22:50:54 | Сообщение # 3682 |
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки: 
| Вот только остается проблема с пустыми отрядами, записанными в апиративе. Ужасная утечка. У меня есть подобный триггер, который пикает всех юнитов in Range, но по цыклу, у меня на карте подобных обьектов много, тоесть все через массив, к каждому пикнутому юниту, вокруг каждого юнита, кторого я обрабатываю. В итоге если таких юнитов будет более 20, игра зависает от лагов на второй минуте...
|
| |
|
|
| Denialsan | Дата: Понедельник, 28 Декабря 2009, 01:31:13 | Сообщение # 3683 |
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки: 
| Quote (MTT) Вот только остается проблема с пустыми отрядами, записанными в апиративе. Ужасная утечка. У меня есть подобный триггер, который пикает всех юнитов in Range, но по цыклу, у меня на карте подобных обьектов много, тоесть все через массив, к каждому пикнутому юниту, вокруг каждого юнита, кторого я обрабатываю. В итоге если таких юнитов будет более 20, игра зависает от лагов на второй минуте... что тогда делать?Добавлено (28-12-2009, 01:31) ---------------------------------------------
Quote (MTT) Set BWEffect(Переменная типа эффект) = Last created special effect я чёт немогу выбрать last created special effect...
|
| |
|
|
| MTT | Дата: Понедельник, 28 Декабря 2009, 01:39:53 | Сообщение # 3684 |
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки: 
| Quote (Denialsan) что тогда делать? Я бы сам с удовольствием услышал ответ на этот вопросДобавлено (28-12-2009, 01:39) ---------------------------------------------
Quote (Denialsan) я чёт немогу выбрать last created special effect Там больше нету вариантов, только это, если есть чтота другое , значит у тебя переменная другова типа...
|
| |
|
|
| Denialsan | Дата: Понедельник, 28 Декабря 2009, 01:44:14 | Сообщение # 3685 |
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки: 
| Quote (MTT) Events Unit - A unit Begins casting an ability Conditions (Ability being cast) Equal to Black whole Actions Set piont_bw = (Target point of ability being cast) Trigger - Turn on bw effect <gen> Special Effect - Create a special effect at piont_bw using war3mapImported\BlackHole.mdx Set BWEffect(Переменная типа эффект) = Last created special effect Wait 7.00 seconds Special Effect - Destroy (BWEffect) Wait 7.00 seconds Trigger - Turn off (bw_effect) bw effect Events Time - Every 0.01 seconds of game time Conditions Actions Unit Group - Pick every unit in (Units within 512.00 of ( piont_bw) and do (Actions) Loop - Actions Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by 0.01(Очень мало, глазу не видно, ставь 10) towards (Angle from (Position of (Picked unit)) to piont_bw) degrees) БЛИН!!!!Я СДЕЛАЛ ВСЁ ТАК И У МЕНЯ ЗАБЛОКИРОВАЛИСЬ АБСОЛЮТНО ВСЕ ТРИГГЕРЫ!!!!!ААААААААААААААААААААААААААА!!!!Добавлено (28-12-2009, 01:42) ---------------------------------------------
Quote (MTT) Там больше нету вариантов, только это, если есть чтота другое , значит у тебя переменная другова типа... У меня переменная типа ефект...Добавлено (28-12-2009, 01:43) --------------------------------------------- //*************************************************************************** //* //* Global Variables //* //*************************************************************************** globals // User-defined unit array udg_unit_skill unit udg_SIZE = null integer array udg_lvl_ability unit udg_unit_skill2 = null unit udg_target_blind = null real array udg_unitreal unit udg_target_health = null unit udg_fake_corpse = null unit udg_targets_mass_heal = null unit udg_dummy_unit3 = null location udg_point_meteor = null unit udg_CHUVAK = null unit udg_gertva = null unit udg_castro = null unit udg_heal_unit = null unit udg_target_bw = null location udg_piont_bw = null real udg_Angle_bw = 0 1 udg_BWEffect = null // Generated rect gg_rct_Rect_000 = null rect gg_rct_Rect_001 = null rect gg_rct_Rect_002 = null rect gg_rct_Rect_003 = null rect gg_rct_Rect_004 = null rect gg_rct_Rect_005 = null trigger gg_trg_Melee_Initialization = null trigger gg_trg_Shake_Earth = null trigger gg_trg_Great_Bash = null trigger gg_trg_razduvalka = null trigger gg_trg_meatbang = null trigger gg_trg_meatbang_die = null trigger gg_trg_FEAR = null trigger gg_trg_fear_effect = null trigger gg_trg_health_much = null trigger gg_trg_fake_death = null trigger gg_trg_death_continue = null trigger gg_trg_mass_heal = null trigger gg_trg_zov = null trigger gg_trg_use_zov = null trigger gg_trg_meteor = null trigger gg_trg_udar = null trigger gg_trg_udar_continue = null trigger gg_trg_bw_cast = null unit gg_unit_H001_0000 = null endglobals function InitGlobals takes nothing returns nothing local integer i = 0 set i = 0 loop exitwhen (i > 1) set udg_unit_skill[i] = null set i = i + 1 endloop set udg_SIZE = null set i = 0 loop exitwhen (i > 1) set udg_unitreal[i] = 0 set i = i + 1 endloop set udg_Angle_bw = 0 endfunction function Trig_bw_cast_Conditions takes nothing returns boolean if ( not ( GetSpellAbilityId() == 'A00L' ) ) then return false endif return true endfunction function Trig_bw_cast_Actions takes nothing returns nothing set udg_piont_bw = GetSpellTargetLoc() call AddSpecialEffectLocBJ( udg_piont_bw, "war3mapImported\\BlackHole.mdx" ) call TriggerSleepAction( 7.00 ) call DestroyEffectBJ( GetLastCreatedEffectBJ() ) call TriggerSleepAction( 7.00 ) endfunction //=========================================================================== function InitTrig_bw_cast takes nothing returns nothing set gg_trg_bw_cast = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_bw_cast, EVENT_PLAYER_UNIT_SPELL_CAST ) call TriggerAddCondition( gg_trg_bw_cast, Condition( function Trig_bw_cast_Conditions ) ) call TriggerAddAction( gg_trg_bw_cast, function Trig_bw_cast_Actions ) endfunction Добавлено (28-12-2009, 01:44) --------------------------------------------- что это????
|
| |
|
|
| MTT | Дата: Понедельник, 28 Декабря 2009, 01:44:37 | Сообщение # 3686 |
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки: 
| Denialsan, Разблокируй
|
| |
|
|
| Denialsan | Дата: Понедельник, 28 Декабря 2009, 01:45:03 | Сообщение # 3687 |
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки: 
| немогу!!!!!
|
| |
|
|
| MTT | Дата: Понедельник, 28 Декабря 2009, 01:45:58 | Сообщение # 3688 |
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки: 
| Буквы  Добавлено (28-12-2009, 01:45) ---------------------------------------------
Quote (Denialsan) немогу!!!!! А ты постарайся
|
| |
|
|
| Denialsan | Дата: Понедельник, 28 Декабря 2009, 01:47:49 | Сообщение # 3689 |
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки: 
| та ты не смейся,я чесно немогу разблокировать триггеры.....Блин столько времени впустую  Добавлено (28-12-2009, 01:47) --------------------------------------------- фууухххх....хорошо что я не сохранял триггеры...
|
| |
|
|
| MTT | Дата: Понедельник, 28 Декабря 2009, 01:48:26 | Сообщение # 3690 |
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки: 
| Denialsan, Как ты не можеш разблокировать? Что пишет? Ошибка и выдает текст триггера?
|
| |
|
|
| Denialsan | Дата: Понедельник, 28 Декабря 2009, 01:50:25 | Сообщение # 3691 |
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки: 
| в чём может быть проблемма?Почему тот триггер не пашет?А без переменной типа эффект никак?Ну нет там ласт креатед еффект...
|
| |
|
|
| MTT | Дата: Понедельник, 28 Декабря 2009, 01:52:48 | Сообщение # 3692 |
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки: 
| Denialsan, Если там нету этой строки, значит не тот тип переменной...Добавлено (28-12-2009, 01:52) --------------------------------------------- MTT, кинь мне свою карту, я сам все исправлю... Я наверно неумею обьяснять, прийдется все вручную штопать
|
| |
|
|
| Denialsan | Дата: Понедельник, 28 Декабря 2009, 02:00:07 | Сообщение # 3693 |
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки: 
| Quote (MTT) Как ты не можеш разблокировать? Что пишет? Ошибка и выдает текст триггера? Я те прислал весь текст...там напротив всех переменных писало nullДобавлено (28-12-2009, 02:00) ---------------------------------------------
Quote (MTT) кинь мне свою карту, я сам все исправлю... Я наверно неумею обьяснять, прийдется все вручную штопать там несколько моих наработок,тебе понравятся идеи... http://depositfiles.com/files/sqoplffhg
|
| |
|
|
| MTT | Дата: Понедельник, 28 Декабря 2009, 02:34:58 | Сообщение # 3694 |
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки: 
| Все, я сделал. Что должно быть, когда юнит залетит в дыру? Добавлено (28-12-2009, 02:34) --------------------------------------------- Кароче вот. Я сделал чтобы юниту по кругу летали, так думаю красивее. Если ненада, удали вторую строчку Добавлено (28-12-2009, 02:34) --------------------------------------------- http://slil.ru/28413824
|
| |
|
|
| Arius | Дата: Понедельник, 28 Декабря 2009, 07:09:41 | Сообщение # 3695 |
10 уровень
Группа: Проверенные
Сообщений: 2163
Награды: 2
Репутация: 267
Блокировки: 
| Deniaslan, спецэффект заносится в переменную только из-за того что его потом удалять, а то он так и будет висеть, и когда удаляешь указываешь переменную.
|
| |
|
|
| Skymen | Дата: Понедельник, 28 Декабря 2009, 12:31:10 | Сообщение # 3696 |
5 уровень
Группа: Заблокированные
Сообщений: 111
Награды: 0
Репутация: 18
Блокировки: 
| Когда я тестил мапу, у меня появлялась ратуша, скажите как сделать так чтобы она не появлялась, я стер папку инициализация в тригерах
<b>Alice</b>, из за тебя пропадает смысл в паролях, а так же постоянно будет требоваться пинать админа...(Enforcer)
|
| |
|
|
| BeLous | Дата: Понедельник, 28 Декабря 2009, 12:38:18 | Сообщение # 3697 |
8 уровень
Группа: Проверенные
Сообщений: 649
Награды: 0
Репутация: 120
Блокировки: 
| Quote (Skymen) Когда я тестил мапу, у меня появлялась ратуша, скажите как сделать так чтобы она не появлялась, я стер папку инициализация в тригерах За создания ратуши в начале игры отвечает не событие "Инициализация карты" а действия группы "Режим Сражения" но не все... (Проверь нету ли у тебя в триггерах подобных действий.)
^Y
|
| |
|
|
| Skymen | Дата: Понедельник, 28 Декабря 2009, 12:42:43 | Сообщение # 3698 |
5 уровень
Группа: Заблокированные
Сообщений: 111
Награды: 0
Репутация: 18
Блокировки: 
| Задам по другому вопрос, как задать исходные позиции игроков? Добавлено (28-12-2009, 12:42) ---------------------------------------------
Quote (BeLous) За создания ратуши в начале игры отвечает не событие "Инициализация карты" а действия группы "Режим Сражения" но не все... (Проверь нету ли у тебя в триггерах подобных действий.) Тригеры теперь пустые, и всеравно ставится ратуша
<b>Alice</b>, из за тебя пропадает смысл в паролях, а так же постоянно будет требоваться пинать админа...(Enforcer)
|
| |
|
|
| Forum_Russia | Дата: Понедельник, 28 Декабря 2009, 13:32:30 | Сообщение # 3699 |
9 уровень
Группа: Проверенные
Сообщений: 1185
Награды: 4
Репутация: 666
Блокировки: 
| Skymen, Странно проверь ещё раз...Это либо какой-то баг в карте либо ты не снёс триггеры сражения.
|
| |
|
|
| Skymen | Дата: Понедельник, 28 Декабря 2009, 13:47:56 | Сообщение # 3700 |
5 уровень
Группа: Заблокированные
Сообщений: 111
Награды: 0
Репутация: 18
Блокировки: 
| ща выложу скрин че у меня осталось в тригерах Добавлено (28-12-2009, 13:47) --------------------------------------------- Вот ссылка(сорри что так выложил, просто забыл как норм выложить) http://depositfiles.com/files/kcakqbeuc]http://depositfiles.com/files/kcakqbeuc Заодно объясни плз как норм залить изображение))
<b>Alice</b>, из за тебя пропадает смысл в паролях, а так же постоянно будет требоваться пинать админа...(Enforcer)
|
| |
|
|