Mental
offline
Опыт:
1,472Активность: |
Прошу помоч исправить фатал от тригера
» собственно код, выполняется очень часто
function InitTrig_exp_and_bounty_13 takes nothing returns nothing
set gg_trg_exp_and_bounty_13 = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_exp_and_bounty_13, EVENT_PLAYER_UNIT_DEATH ) call TriggerAddCondition( gg_trg_exp_and_bounty_13, Condition( function Trig_exp_and_bounty_13_Conditions ) ) call TriggerAddAction( gg_trg_exp_and_bounty_13, function Trig_exp_and_bounty_13_Actions ) endfunction function Trig_exp_and_bounty_13_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetKillingUnit(), UNIT_TYPE_STRUCTURE) == false ) ) then return false endif return true endfunction function Trig_exp_and_bounty_13_Actions takes nothing returns nothing
local integer i = 1 local integer p local unit d = GetDyingUnit() local unit k = GetKillingUnit() loop
exitwhen i > 10 if IsUnitInGroup(d, udg_UG[i]) == true then call GroupRemoveUnit(udg_UG[i],d) else endif if IsUnitInGroup(k, udg_UG[i]) == true then set p = i else endif set i = i + 1 endloop if d8() then call AdjustPlayerStateBJ( 122, ConvertedPlayer(p), PLAYER_STATE_RESOURCE_GOLD ) call AddHeroXP( udg_InitHero[p], 122 , true ) set udg_Dohod[p] = udg_Dohod[p] + 122 call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 5, ( p + 1 ), I2S(udg_Dohod[p]) ) endif set d = null set k = null endfunction function d8 takes nothing returns boolean local unit d = GetDyingUnit() if GetUnitTypeId(d) == 'h024' then return true endif if GetUnitTypeId(d) == 'h01H' then return true endif if GetUnitTypeId(d) == 'h01J' then return true endif if GetUnitTypeId(d) == 'h023' then return true endif return false endfunction p.s. почему кат не работает? Отредактировано Mental, 04.10.2010 в 18:28. |
04.10.2010, 17:57 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
|
04.10.2010, 18:08 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Mental
offline
Опыт:
1,472Активность: |
Хм, видимо значит разделом ошибся, спасибо. В академии задавал вопрос, отправили сюда..
Насчет конверт гуи.. конвертировалось лишь событие и условие, все действия написаны вручную.. где гуишные скрипты? Даже если разделом ошибся, уже не знаю куда писать, где могут помоч найти причину фатала в тригере.. Отредактировано Mental, 04.10.2010 в 18:48. |
04.10.2010, 18:10 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
» Попробуй так, и не забывай делать в белый фон, читается лучше
Отредактировано _Red, 04.10.2010 в 20:46. |
04.10.2010, 19:57 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Mental
offline
Опыт:
1,472Активность: |
Прочитал на несколько раз, но изменений не заметил.., подскажи, что изменил. |
04.10.2010, 20:33 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
Mental, функция d8 находится над функцией Trig_exp_and_bounty_13_Actions
потому что в функции Trig_exp_and_bounty_13_Actions вызывается функция d8, в для вызова функции она должна быть выше по коду (блин запутанно както получилось) _Red добавил:
еще кое что изменил, не заметил в первый раз InitTrig_exp_and_bounty_13 перенес в самый конец _Red добавил:
короче, если ты например вызываешь в функции А функцию Б, то функция Б должна быть выше функции А
» вот так
|
04.10.2010, 20:49 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Mental
offline
Опыт:
1,472Активность: |
Дада, это уже было исправлено, крит все равно прослуживается, видимо придется выложить всю карту и предложить вознаграждение нашедшему причину. Потому что уже не знаю что еще может вызывать фатал.. |
04.10.2010, 20:55 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
Mental, код точно как здесь? (xgm.ru/forum/showpost.php?p=913103&postcount=4) фатал вызывает точно этот триггер? |
04.10.2010, 21:08 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|