Как сделать что бы играя двоем или более увеличелались создоваемые крип и процент опыта? Есть не сколько проходов примерно 4 на количество игроков, если играешь один то и проход тока один задействует так же процент опыта не меняеться! Если более соответсвенно и проходы и опыт увеличеваеться на количество игроков! Помогите решить задачу! =)
Так же реально сделать тригерно(переменые+) не менея редакторе объектов свойства крипов?
Добавлено (14 Ноября 2012, 08:47:03) --------------------------------------------- Для волн сделал каждому игроку отдельный тригер! Игрок 1 События: Время-wave_timer истекает Условия: wave_num не ровно 15 Действия: Если (все условия истины) Тогда (Запуск операции) иначе..... . Если-Условия (Игрок 1(Красный) контроллер) ровно Нет То дейсвия
Иначе действия Если (все условия истины) Тогда (Запуск операции) иначе..... . Если-Условия (Игрок 1(Красный) контроллер) ровно Человек То действия Боевая единица Создать 8 vawe_mob[wave_num] для Игрок7 (Зеленый ) в (Центр spayn mob <gen>) .... . Иначе-действия Нечего не делать Установить day_night=1 Установить go=0 Установить wave_num=(wave_num+1)
Для каждого игрока ___________________________________ Тригер волн Cобытия: Время-Прошло 1 секунда Устоновить wave_mob[1]= название крипа и.т.д Устоновить wave_text[1]= название волны и.т.д
Волны крипов
_________________________________
Таймер не хочеться расписывать
Не могу понять как сделать увелечение опыта от количесва игроков, распределялся опыт от крипов: 1 игрок 80%, 2 игрока 140% и.т.д
Добавлено (14 Ноября 2012, 09:14:56) --------------------------------------------- Куча утечек как все это нафиг исправить не понятно а то норм для одного! Как исправить?
почему там утечка (Центр spayn mob <gen>) ? И еще у меня точно утечка или бред после как 15 волн проходят таймер остается!
А вот для 1 игрока сделал работает! Спасибо Romalei!!! События Боевая единица-События игрока Игрок ..... умирает Условия ((Убивающий юнит)типо Герой) = Да Действия Герой-Добавить((Уровень(умирающий юнит)х20) опыта герою (Убивающий юнит). Скрыть..... .
Добавил в фунцию для двух игроков не пашет! Помогите Может что то не так делаю..
Прочитал сделал как там написано вылетает ошибка сценарий endif Custom script: call RemoveLocation (udg_ spayn mob)-эт фигня без полезна или я лично хз как она работает не хочется разбираться в скриптах данный момент, а вообще код норм тока таймер не пропадает после 15 волны
function Trig_start_night_____________________u_Conditions takes nothing returns boolean if ( not ( udg_wave_num != 15 ) ) then return false endif return true endfunction
function Trig_start_night_____________________u_Func005C takes nothing returns boolean if ( not ( GetPlayerController(Player(0)) == MAP_CONTROL_USER ) ) then return false endif return true endfunction
function Trig_start_night_____________________u_Func006C takes nothing returns boolean if ( not ( GetPlayerController(Player(1)) == MAP_CONTROL_USER ) ) then return false endif return true endfunction
function Trig_start_night_____________________u_Actions takes nothing returns nothing // Óíè÷òîæàåì òàéìåð call DestroyTimerDialogBJ( GetLastCreatedTimerDialogBJ() ) // Ñîçäàíèå þíèòîâ if ( Trig_start_night_____________________u_Func005C() ) then call CreateNUnitsAtLoc( 8, udg_waveUnits[udg_wave_num], Player(6), GetRectCenter(gg_rct_spayn_wawe_l), bj_UNIT_FACING ) else call DoNothing( ) endif if ( Trig_start_night_____________________u_Func006C() ) then call CreateNUnitsAtLoc( 8, udg_waveUnits[udg_wave_num], Player(6), GetRectCenter(gg_rct_spayn_wawe_p), bj_UNIT_FACING ) else call DoNothing( ) endif // Óñòàíîâêà Íàñòðîåê set udg_day_night = 1 set udg_go = 0 set udg_wave_num = ( udg_wave_num + 1 ) Custom script: call RemoveLocation (udg_spayn wave l) endfunction
//=========================================================================== function InitTrig_start_night_____________________u takes nothing returns nothing set gg_trg_start_night_____________________u = CreateTrigger( ) call TriggerRegisterTimerExpireEventBJ( gg_trg_start_night_____________________u, udg_wave_timer ) call TriggerAddCondition( gg_trg_start_night_____________________u, Condition( function Trig_start_night_____________________u_Conditions ) ) call TriggerAddAction( gg_trg_start_night_____________________u, function Trig_start_night_____________________u_Actions ) endfunction
Опыт до 2 игроков
function Trig_EXP_Func001C takes nothing returns boolean if ( not ( GetPlayerController(Player(0)) == MAP_CONTROL_USER ) ) then return false endif return true endfunction
function Trig_EXP_Func002C takes nothing returns boolean if ( not ( GetPlayerController(Player(1)) == MAP_CONTROL_USER ) ) then return false endif return true endfunction
function Trig_EXP_Actions takes nothing returns nothing if ( Trig_EXP_Func001C() ) then call AddHeroXPSwapped( ( GetUnitLevel(GetDyingUnit()) * 80 ), GetKillingUnitBJ(), false ) else endif if ( Trig_EXP_Func002C() ) then call AddHeroXPSwapped( 120, GetKillingUnitBJ(), false ) else endif endfunction
//=========================================================================== function InitTrig_EXP takes nothing returns nothing set gg_trg_EXP = CreateTrigger( ) call TriggerRegisterPlayerUnitEventSimple( gg_trg_EXP, Player(6), EVENT_PLAYER_UNIT_DEATH )