XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
LeXuS111555

offline
Опыт: 357
Активность:
Не создаётся юнит
первый триггер

nothing Trig_Text_Actions(nothing)
{
    player p = GetTriggerPlayer()
    integer i = GetPlayerId(p)

    if ((p == Player(0) or p == Player(1) or p == Player(2) or p == Player(3) or p == Player(4)) and plus[i] == false)
    {
        ForceAddPlayerSimple(p, playerforce[0])
        plus[i] = true
        call DisplayTextToForce(GetForceOfPlayer(p), "Вы добавлены в игру")
    }else
    {
        if(plus[i] == false)
        {
            ForceAddPlayerSimple(p, playerforce[1])  
            plus[i] = true
            call DisplayTextToForce(GetForceOfPlayer(p), "Вы добавлены в игру")
        }
    }
}

//===========================================================================
nothing InitTrig_Text(nothing)
{
    gg_trg_Text = CreateTrigger()
    
    local integer i = 0   
    loop
    {
        exitwhen (i >= 12)
        TriggerRegisterPlayerChatEvent(gg_trg_Text, Player(i), "+", true)
        i = i + 1
    }
    
    TriggerAddAction(gg_trg_Text, function Trig_Text_Actions)
}

второй триггер

globals
    boolean array plus
    force array playerforce
    integer array typeunit
    integer array abilitytype0
    integer array abilitytype1
    integer array abilitytype2
    integer array abilitytype3
    unit array hero
    integer array abilityhero0
    integer array abilityhero1
    integer array abilityhero2
    integer array abilityhero3
endglobals

//! textmacro FORCE takes NAME
nothing force_pf$NAME$(nothing)
{
    player p = GetEnumPlayer()
    integer i = GetPlayerId(p)
    real r0 = GetLocationX(GetRectCenter(gg_rct_start1))
    real r1 = GetLocationY(GetRectCenter(gg_rct_start1))
    integer rand
    
    if(plus[i] == true)
    {
        rand = GetRandomInt(0, 2)
        hero[i] = CreateUnit(p, typeunit[rand], r0, r1, 180) //не создаётся юнит
        
        rand = GetRandomInt(0, 1)
        abilityhero0[i] = abilitytype0[rand]
        
        rand = GetRandomInt(0, 1)
        abilityhero1[i] = abilitytype1[rand]
        
        rand = GetRandomInt(0, 1)
        abilityhero2[i] = abilitytype2[rand]
        
        rand = GetRandomInt(0, 1)
        abilityhero3[i] = abilitytype3[rand]
        
        call UnitAddAbility(hero[i], abilityhero0[i])
        call UnitAddAbility(hero[i], abilityhero1[i])
        call UnitAddAbility(hero[i], abilityhero2[i])
        call UnitAddAbility(hero[i], abilityhero3[i])
    }
    p = null
}
//! endtextmacro

//! runtextmacro FORCE("0")
//! runtextmacro FORCE("1")

nothing Trig_INI_Actions(nothing)
{
    local integer i = 0
    
    loop
    {
        exitwhen (i >= 12)
        plus[i] = false
        i = i + 1
    }
    
    typeunit[0] = 'H000'
    typeunit[1] = 'H001'
    typeunit[2] = 'H002'
    
    abilitytype0[0] = 'A000'
    abilitytype0[1] = 'A004'
    
    abilitytype1[0] = 'A001'
    abilitytype1[1] = 'A005'
    
    abilitytype2[0] = 'A002'
    abilitytype2[1] = 'A006'
    
    abilitytype3[0] = 'A003'
    abilitytype3[1] = 'A007'
    
    ForForce(playerforce[0], function force_pf0)
    ForForce(playerforce[1], function force_pf1)
}

//===========================================================================
nothing InitTrig_INI(nothing)
{
    gg_trg_INI = CreateTrigger()
    TriggerRegisterTimerEventSingle(gg_trg_INI, 10.00)
    TriggerAddAction(gg_trg_INI, function Trig_INI_Actions)
}
[+] замечание от Nerevar: Используйте теги форматирования кода!

Отредактировано LeXuS111555, 09.07.2012 в 02:04.
Старый 08.07.2012, 14:36
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
теги.... форматирования!!!...
первый вопрос - где дебаг?
[+] замечание от Nerevar: Взятие на себя функций модератора
Старый 08.07.2012, 14:38
LeXuS111555

offline
Опыт: 357
Активность:
Вот карта, а дебагом как пользоваться я не понял...
Прикрепленные файлы
Тип файла: w3x Test.w3x (51.0 Кбайт, 1 просмотров )
Старый 08.07.2012, 14:50
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
Hatsume_Hate добавил:
во первых - у вас не создан форс playerforce[0] и playerforce[1]
во вторых - во втором триггере вы ставите при итечении таймера plus[i] = false однако (!) вы в функции энума форса юзаете if(plus[i] == true) вследствие чего условия никогда не выполнятся
в третьих - почитайте статьи по оптимизации кода, у вас много ненужного
Старый 08.07.2012, 15:11
ScorpioT1000
Работаем
online
Опыт: отключен
Nerevar, это вполне обоснованное проявление недовольства к посту автора, здесь нету взятия на себя функций модератора.

Отредактировано ScorpioT1000, 09.07.2012 в 02:21.
Старый 08.07.2012, 20:19
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
LeXuS111555, Делай дебаги. Это не сложно вовсе.

Отредактировано Nerevar, 08.07.2012 в 23:33.
Старый 08.07.2012, 22:07
ScorpioT1000
Работаем
online
Опыт: отключен
Nerevar, это не замечание по поведению, это замечание по форматированию.
Старый 09.07.2012, 02:22
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:55.