Сейчас 14:24:20 Воскресенье, 25 января, 2026 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: PUVer, SirNikolas, Ty3uK  
[АРХИВ] Помощь по триггерам - 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)

При использовании этого триггера начинаются такие глюки шо ппц!Комп кароче зависает полностью.... :D Что здесь не так?

Добавлено (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
Блокировки:
Quote (MTT)
Разблокируй

немогу!!!!!
 

MTTДата: Понедельник, 28 Декабря 2009, 01:45:58 | Сообщение # 3688
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки:
Quote (MTT)
что это????

Буквы :D

Добавлено (28-12-2009, 01:45)
---------------------------------------------

Quote (Denialsan)
немогу!!!!!

А ты постарайся :D
 

DenialsanДата: Понедельник, 28 Декабря 2009, 01:47:49 | Сообщение # 3689
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
Quote (MTT)
Буквы

та ты не смейся,я чесно немогу разблокировать триггеры.....Блин столько времени впустую :(

Добавлено (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)
 

Поиск:

Copyright © 2006 - 2026 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz