Pawsanie
Творит печеньки
offline
Опыт:
112Активность: |
Как тригерно заставить юнита кастовать нестандартное заклинание?
Мне нужно сделать заклинание в результате, которого юнит станет невидимым и у него появится иллюзия. За основу я взял стремительность и создал абилку для другого юнита невидимки на основе Предмет: иллюзии. Проблема состоит в том, что невидимка созданный триггером не хочет использовать нестандартную способность. Никак не могу понять, как заставлять юнитов пустышек триггерно что-то на кого-то кастовать. Юзал поиск нашёл только одну тему, но функций указных там, например: (Issue Order Targetiong A Unit) в стандартном едиторе просто не нашёл а WE Unlimited всё время мне выдаёт ошибку: [code]call IssueTargetOrderBJ( udg_Clone_kaster, String2UnitOrder(GetAbilityName('A00F')), udg_Hero_Kurenai )[/code] Вот сам триггер: [cut][code]//***************************************************************************
* * Global Variables * *************************************************************************** globals
User-defined integer udg_TempInteger = 0 boolean udg_ShortMode_On = false boolean udg_UltraShortMode_On = false force udg_Players = null force udg_PlayersScourgePlaying = null force udg_PlayersSentinelPlaying = null force udg_PlayersSentinel = null force udg_PlayersScourge = null boolean udg_End_Game_If_All_Gone = false boolean udg_Mex_Razbros = false boolean udg_Mex_KillString = false integer udg_Mex_TimeRess = 0 location udg_Mex_Position_Ress_Team1 = null location udg_Mex_Position_Ress_Team2 = null unit array udg_Mex_Hero unit udg_PlaerHero = null string array udg_Mex_color group udg_Mex_Gr_2 = null group udg_Mex_Gr_1 = null integer array udg_Mex_RessTime unit udg_Hero_Kurenai = null unit udg_Dans_of_feniks_kaster = null player udg_Plaerkaster = null unit udg_Dans_of_feniks_cele = null location udg_Stebele_point = null unit udg_Clone_kaster = null Generated
trigger gg_trg_Initialization = null trigger gg_trg________________________________________________u = null trigger gg_trg_Heroes = null trigger gg_trg_Cast_dans_of_feniks_Leval_1 = null trigger gg_trg_Run = null trigger gg_trg_Stebele_lvl_1 = null trigger gg_trg_Stebele_lvl_2 = null trigger gg_trg_Stebele_lvl_3 = null trigger gg_trg_Stebele_lvl_4 = null trigger gg_trg_Peremennie = null trigger gg_trg_Free_Gold = null trigger gg_trg_Player_Leaves_Game = null trigger gg_trg_Var = null trigger gg_trg_Timer_Ress = null trigger gg_trg_Die_Hero = null endglobals function InitGlobals takes nothing returns nothing
local integer i = 0 set udg_TempInteger = 0 set udg_ShortMode_On = false set udg_UltraShortMode_On = false set udg_Players = CreateForce() set udg_PlayersScourgePlaying = CreateForce() set udg_PlayersSentinelPlaying = CreateForce() set udg_PlayersSentinel = CreateForce() set udg_PlayersScourge = CreateForce() set udg_End_Game_If_All_Gone = false set udg_Mex_Razbros = false set udg_Mex_KillString = false set udg_Mex_TimeRess = 0 set i = 0 loop exitwhen (i > 1) set udg_Mex_color[i] = "" set i = i + 1 endloop set udg_Mex_Gr_2 = CreateGroup()
set udg_Mex_Gr_1 = CreateGroup() set i = 0 loop exitwhen (i > 1) set udg_Mex_RessTime[i] = 0 set i = i + 1 endloop endfunction
function Trig_Run_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A008' ) ) then return false endif return true endfunction function Trig_Run_Actions takes nothing returns nothing
set udg_Hero_Kurenai = GetSpellAbilityUnit() set udg_Plaerkaster = GetOwningPlayer(udg_Hero_Kurenai) set udg_Stebele_point = GetRectCenter(RectFromCenterSizeBJ(GetUnitLoc(udg_Hero_Kurenai), 1.00, 1.00)) call CreateNUnitsAtLoc( 1, 'e000', udg_Plaerkaster, GetRectCenter(RectFromCenterSizeBJ(udg_Stebele_point, 1.00, 1.00)), bj_UNIT_FACING ) set udg_Clone_kaster = GetLastCreatedUnit() call IssueTargetOrderBJ( udg_Clone_kaster, String2UnitOrder(GetAbilityName('A00F')), udg_Hero_Kurenai ) endfunction =========================================================================== function InitTrig_Run takes nothing returns nothing set gg_trg_Run = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Run, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_Run, Condition( function Trig_Run_Conditions ) ) call TriggerAddAction( gg_trg_Run, function Trig_Run_Actions ) endfunction[/code][/cut] Объясните, пожалуйста, желательно с картой примером, как заставить юнита триггерно, что-то на кого-то кастовать. Отредактировано Pawsanie, 31.08.2009 в 12:17. |
31.08.2009, 12:08 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
нестандартных способностей небывает имхо)
отдать приказ юниту, соответствующий приказу способности |
31.08.2009, 12:16 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Pawsanie
Творит печеньки
offline
Опыт:
112Активность: |
Я просто никак не могу заставить юнита использовать способность созданную мной на ком-то. В стандартном едиторе есть триггер отдающий приказ юниту что-то сделать с другим, но в перечне только стандартные способности юнитов. + команды типа атаковать и ждать. А в WEU ошибка выскакивает. |
31.08.2009, 12:25 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
у тебя способность на основе стандартной создана а вобще за эти темы тоже буду давать варны скоро - их также over9000 |
31.08.2009, 12:35 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,707Активность: |
Pawsanie, ну так ты приказывай использовать то, на основе чего сделан твой спелл. |
31.08.2009, 12:36 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Pawsanie
Творит печеньки
offline
Опыт:
112Активность: |
А есле способность на основе предмета?, там таких нет. А вообше спс. |
31.08.2009, 12:38 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Stefler
MCA
offline
Опыт:
10,457Активность: |
Нельзя заставить юнита каставать способность Предмет: Иллюзия. Но выход есть, сделай Это способность как предмет и давай ее Дами, после чего заставляй Дами использовать предмет в 1 слоте (предположим) на твоего Кастера!!! х) у мя все работает сколько раз делал... |
31.08.2009, 12:39 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,707Активность: |
Pawsanie, если способность на основе предмета, то найди аналогичную не на основе предмета, если и это невозможно, то тогда конвертируй в текст, ищи свое действие (обычно что-то вроде call IssueOrder...), и там заменяй то, что в кавычках, на то, что написано в твоей способносте в строке Характеристики - Порядок строк.
Примечание: то, что написано в этой строке менять можно тольк у у способностей Канал и Книга заклинаний Ну менять-то можно, только это ничего не даст =) Hellfim добавил:
Если не желаешь видеть код, то просто копируй эту строчку в действие Custom Code: <строчка> Hellfim добавил: А старую гуи-строчку удаляй. |
31.08.2009, 12:43 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
у канал это отдельной характеристикой идет |
31.08.2009, 13:09 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
каналу можно даль id от стандартной и пускать как стандартную |
31.08.2009, 13:27 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DKbru
offline
Опыт:
1,407Активность: |
Hellfim, к сожалению не у всех способностей есть в порядке строк id приказа. Пример: Руна Защиты (ANse) имеет строку приказа "spellshieldaoe" и нашёл я это заветное слово, применяя руну-способность и выводя на экран GetUnitCurrentOrder() |
31.08.2009, 20:56 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|