|
|
|
|
Изменение триггера
|
|
fixbag | Дата: Воскресенье, 02 Августа 2009, 00:54:43 | Сообщение # 1 |
3 уровень
Группа: Пользователи
Сообщений: 54
Награды: 0
Репутация: 4
Блокировки:
| Как нужно изменить триггер, чтобы он работал для всех 12 игроков, а не только для 1? Что нужно сделать я знаю, но не знаю как записать. В событии надо сделать цикл, в других функциях брать из цикла переменную и заменять ей индексы... Quote function Trig_UUU_Conditions takes nothing returns boolean if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I022') == true ) ) then return false endif if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I009') == true ) ) then return false endif if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I008') == true ) ) then return false endif if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I006') == true ) ) then return false endif return true endfunction function Trig_UUU_Func002C takes nothing returns boolean if ( not ( GetRandomReal(1.00, 100.00) <= ( 10.00 * udg_Random_P0) ) ) ) then return false endif return true endfunction function Trig_UUU_Actions takes nothing returns nothing if ( Trig_UUU_Func002C() ) then call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I022') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I009') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I008') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I006') ) call UnitAddItemByIdSwapped( 'I023', GetTriggerUnit() ) call AddSpecialEffectTargetUnitBJ( "overhead", GetTriggerUnit(), "Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl" ) set udg_Random_P0 = ( udg_Random_P0 - 1.00 ) call DisplayTimedTextToForce( bj_FORCE_PLAYER[0], 30, "TRIGSTR_1910" ) else call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I022') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I009') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I008') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I006') ) call AddSpecialEffectTargetUnitBJ( "overhead", GetTriggerUnit(), "Abilities\\Spells\\Other\\Transmute\\PileofGold.mdl" ) set udg_Random_P0 = ( udg_Random_P0 + 1.00 ) call DisplayTimedTextToForce( bj_FORCE_PLAYER[0], 30, "TRIGSTR_1909" ) endif endfunction //=========================================================================== function InitTrig_UUU takes nothing returns nothing set gg_trg_UUU = CreateTrigger( ) call TriggerRegisterPlayerUnitEventSimple( gg_trg_UUU, Player(0), EVENT_PLAYER_UNIT_PICKUP_ITEM ) call TriggerAddCondition( gg_trg_UUU, Condition( function Trig_UUU_Conditions ) ) call TriggerAddAction( gg_trg_UUU, function Trig_UUU_Actions ) endfunction
|
|
|
|
Эллесар | Дата: Воскресенье, 02 Августа 2009, 03:50:56 | Сообщение # 2 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| Quote function Trig_UUU_Conditions takes nothing returns boolean if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I022') == true ) ) then return false endif if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I009') == true ) ) then return false endif if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I008') == true ) ) then return false endif if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I006') == true ) ) then return false endif return true endfunction function Trig_UUU_Func002C takes nothing returns boolean if ( not ( GetRandomReal(1.00, 100.00) <= ( 10.00 * udg_Random_P0) ) ) ) then return false endif return true endfunction function Trig_UUU_Actions takes nothing returns nothing if ( Trig_UUU_Func002C() ) then call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I022') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I009') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I008') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I006') ) call UnitAddItemByIdSwapped( 'I023', GetTriggerUnit() ) call AddSpecialEffectTargetUnitBJ( "overhead", GetTriggerUnit(), "Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl" ) set udg_Random_P0 = ( udg_Random_P0 - 1.00 ) call DisplayTimedTextToForce( bj_FORCE_PLAYER[0], 30, "TRIGSTR_1910" ) else call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I022') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I009') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I008') ) call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I006') ) call AddSpecialEffectTargetUnitBJ( "overhead", GetTriggerUnit(), "Abilities\\Spells\\Other\\Transmute\\PileofGold.mdl" ) set udg_Random_P0 = ( udg_Random_P0 + 1.00 ) call DisplayTimedTextToPlayer ( GetOwningPlayer(GetManipulatingUnit()) , 0, 0, 20, "TRIGSTR_1909" ) endif endfunction //=========================================================================== function InitTrig_UUU takes nothing returns nothing set gg_trg_UUU = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_UUU, EVENT_PLAYER_UNIT_PICKUP_ITEM ) call TriggerAddCondition( gg_trg_UUU, Condition( function Trig_UUU_Conditions ) ) call TriggerAddAction( gg_trg_UUU, function Trig_UUU_Actions Добавлено (02-08-2009, 03:50) --------------------------------------------- А если честно, код бредовый.
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
Сообщение отредактировал Эллесар - Воскресенье, 02 Августа 2009, 03:50:11 |
|
|
|
fixbag | Дата: Понедельник, 03 Августа 2009, 07:11:49 | Сообщение # 3 |
3 уровень
Группа: Пользователи
Сообщений: 54
Награды: 0
Репутация: 4
Блокировки:
| Эллесар, это все изменения? ) Шас спрошу проще - в одной функции есть локальная переменная i, что нужно написать, чтобы её использовать в другой функции? takes ? Как записать другую переменную как Ai ? (Есть несколько глобальных переменных А0, А1, А2 и т д... , i - Локальная переменная)
|
|
|
|
Эллесар | Дата: Среда, 05 Августа 2009, 13:48:58 | Сообщение # 4 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| function MyFunc1 takes nothing returns nothing local integer i = 0 // твои действия call MyFunc2(i) endfunction function MyFunc2 takes integer ai returns nothing // твои действия с локальной переменной ai endfunction
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
|
|
|
|
|
|
|