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

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

Закрытая тема
 
MaHBe

offline
Опыт: 5,910
Активность:
Где-то ошибся
Код:
function Trig_SpawnInit_Func001 takes nothing returns nothing
    call GroupAddUnit( udg_SGroup ,GetEnumUnit() )
endfunction

function Trig_SpawnINIT_Actions takes nothing returns nothing
 local integer i
 local group g = CreateGroup()
 set udg_SGroup = CreateGroup()
 set bj_groupEnumOwningPlayer = Player(PLAYER_NEUTRAL_AGGRESSIVE)
 call GroupEnumUnitsInRect(g,bj_mapInitialPlayableArea, filterGetUnitsInRectOfPlayer)
 call ForGroup(g, function Trig_SpawnInit_Func001 )
 loop
 exitwhen i > CountUnitsInGroup(udg_SGroup)
 set udg_Monster[i] = FirstOfGroup(udg_SGroup)
 set udg_MonsterX[i] =  GetUnitX(udg_Monster[i])
 set udg_MonsterY[i] =  GetUnitY(udg_Monster[i])
 call GroupRemoveUnit( udg_SGroup, udg_Monster[i] )
 set i = i + 1
 endloop
 call DisplayTextToPlayer(Player(0), 0, 0, "RespaunComplete")
  call DestroyGroup(g)
  set g = null
  set i = 0
 endfunction

function InitTrig_SpawnINIT takes nothing returns nothing
    set gg_trg_SpawnINIT = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( gg_trg_SpawnINIT, 2.00 )
    call TriggerAddAction( gg_trg_SpawnINIT, function Trig_SpawnINIT_Actions )
endfunction



Код:
function Trig_UnitDIE_Conditions takes nothing returns boolean
    if  IsUnitOwnedByPlayer(GetDyingUnit(), Player(PLAYER_NEUTRAL_AGGRESSIVE)) == false  then
        return false
    endif
    return true
endfunction

function Trig_UnitDIE_Actions takes nothing returns nothing
    local integer UT = GetUnitTypeId(GetDyingUnit())
    local integer i = GetUnitSpawnX()    
    call TriggerSleepAction( 60 )
    call CreateUnit(Player(PLAYER_NEUTRAL_AGGRESSIVE),UT,udg_MonsterX[i],udg_MonsterY[i],bj_UNIT_FACING)
    set SpawnMonster[i] = bj_lastCreatedUnit
    set UT = 0
    set i = 0
endfunction

function InitTrig_UnitDIE takes nothing returns nothing
    set gg_trg_UnitDIE = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_UnitDIE, EVENT_PLAYER_UNIT_DEATH )
    call TriggerAddCondition( gg_trg_UnitDIE, Condition( function Trig_UnitDIE_Conditions ) )
    call TriggerAddAction( gg_trg_UnitDIE, function Trig_UnitDIE_Actions )
endfunction

Помогите пожалуйста найти ошибку в респауне крипов. Исправлять лучше без вжасса(проблема с компиляцией)сжасс тоже не стоит)

Отредактировано MaHBe, 15.07.2010 в 16:37.
Старый 15.07.2010, 15:27
silumin

offline
Опыт: 11,153
Активность:
Цитата:
Сообщение от MaHBe
Код:
function Trig_SpawnINIT_Actions takes nothing returns nothing
 local integer i = 0
 local group g = CreateGroup()

локальной переменной "i" присвой начальное значение (например равное нулю).

silumin добавил:
да, и integer, real, string обнулять в конце функции необязательно.

silumin добавил:
MaHBe, а что мешает вот эток код:
Код:
set udg_SGroup = CreateGroup()
 set bj_groupEnumOwningPlayer = Player(PLAYER_NEUTRAL_AGGRESSIVE)
 call GroupEnumUnitsInRect(g,bj_mapInitialPlayableArea, filterGetUnitsInRectOfPlayer)
 call ForGroup(g, function Trig_SpawnInit_Func001 )
переписать вот так:
Код:
set udg_SGroup = CreateGroup()
 set bj_groupEnumOwningPlayer = Player(PLAYER_NEUTRAL_AGGRESSIVE)
 call GroupEnumUnitsInRect(udg_SGroup,bj_mapInitialPlayableArea, filterGetUnitsInRectOfPlayer)
Старый 15.07.2010, 19:34
MaHBe

offline
Опыт: 5,910
Активность:
Все правил. Спасибо.
Старый 16.07.2010, 11:26
Закрытая тема

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

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

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

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



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