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

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

Закрытая тема
 
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
Ошибок JassHelper не находит, но проверку карты запустить не могу
В общем после того как boolexpr добавил, при нажатии ctrl+F9 карта не грузится, а просто открывается варик..вот код:

Код:
globals
boolexpr bx = null
endglobals

function Trig_KingRed_Conditions takes nothing returns boolean
    if ( not (GetOwningPlayer(GetTriggerUnit()) == Player(0) ) ) then
    return false
    endif
    if ( not ((GetUnitTypeId(GetTriggerUnit()) == 'Harf' ) or ( GetUnitTypeId(GetTriggerUnit()) == 'Nbbc' ) or( GetUnitTypeId(GetTriggerUnit()) == 'Eevi' ) or ( GetUnitTypeId(GetTriggerUnit()) == 'Uvar' ) ) ) then
    return false
    endif
    return true
endfunction

function IsUnitInLoc takes nothing returns boolean
return IsUnitOwnedByPlayer( GetEnumUnit(), Player(0)) or IsUnitOwnedByPlayer( GetEnumUnit(), Player(1))
endfunction

function Trig_KingRed_Actions takes nothing returns nothing
local real x
local real y
local integer i = 0
local group g = null
set udg_Target = GetTriggerUnit()
set x = (GetUnitX(GetTriggerUnit())) 
set y = (GetUnitY(GetTriggerUnit()))

    if ( not (udg_CheckMoveKingRed)) then
        if ( not (udg_CheckMoveRookRedLeft)) then
        loop
        set i = i+1
        exitwhen i > 3
        call GroupEnumUnitsInRangeOfLoc(g, Location(x-192*i, y), 100.00, bx)  
        endloop
        if IsUnitGroupEmptyBJEnum(g) then
        call CreateUnitAtLoc( GetTriggerPlayer(), 'n000', Location(x-192*2, y), 270 ) 
        endif
        endif 
    endif
   
   endif
endfunction


//===========================================================================
function InitTrig_KingRed takes nothing returns nothing
    set gg_trg_KingRed = CreateTrigger(  )
    call TriggerRegisterPlayerSelectionEventBJ( gg_trg_KingRed, Player(0), true )
    call TriggerAddCondition( gg_trg_KingRed, Condition( function Trig_KingRed_Conditions ) )
    call TriggerAddAction( gg_trg_KingRed, function Trig_KingRed_Actions )
    set bx = Condition( function IsUnitInLoc )
endfunction

Отредактировано Vampirrr, 12.01.2009 в 00:47.
Старый 12.01.2009, 00:39
RealInt

offline
Опыт: 151
Активность:
Ты передаешь группу в функцию которая не принимает параметров:
Код:
if IsUnitGroupEmptyBJEnum(g) then

Синтаксис функции:
Код:
function IsUnitGroupEmptyBJEnum takes nothing returns nothing
    set bj_isUnitGroupEmptyResult = false
endfunction


З.Ы. Ошибка была найдена при помощи JassHelper'a за 2сек.
В каждом триггере есть кнопочка [Syntax Check]. Жми ее и будет тебе счастье.

Отредактировано RealInt, 12.01.2009 в 02:49.
Старый 12.01.2009, 02:43
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
RealInt, говорю же - не находил он ошибок, кроме как незарегестрированных глобальных переменных O_o..а так спасибо)
Старый 12.01.2009, 02:54
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Что-то не пойму смысла кода?

А в коде лишний endif в конце Trig_KingRed_Actions
Старый 12.01.2009, 11:31
Toadcop

offline
Опыт: 54,313
Активность:
Цитата:
при нажатии ctrl+F9 карта не грузится
сначало надо вручную сохранять а потом.. уже так запускать карту. (покрайней мере у меня (и не тока) так)
Старый 12.01.2009, 18:59
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Цитата:
покрайней мере у меня
у всех так =) при запуске без сохранения vJass не транслируется в jass
Старый 12.01.2009, 20:20
Integro
старожило
offline
Опыт: 630
Активность:
Цитата:
Сообщение от Van Damm
при запуске без сохранения vJass не транслируется в jass

Если использовать vJass синтакс(хотябы теже объявления глобалок, неговорю уж про структуры итд), тогда надо сначала сохранять потом тестить. А если используется обычный Jass, то можно смело жать на тест, он запустит тест спокойно.
Старый 12.01.2009, 20:31
Toadcop

offline
Опыт: 54,313
Активность:
по настоящему это баг "JNGP" а может недочёт хотя сомневаюсь.
Старый 12.01.2009, 20:33
agentex

offline
Опыт: 34,834
Активность:
..а может это вообще не было предусмотрено намеренно

agentex добавил:
Vampirrr проверь включена ли галочка "Syntax checker"
Старый 12.01.2009, 20:37
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
усе, отказался от этой идеи, ибо слишком много заморочек..сделал по другому)
Старый 12.01.2009, 21:34
Jaffa

offline
Опыт: 7,282
Активность:
Прочитав F.A.Q по Jass'у из статей XGM'a, ты можешь узнать что существуют ошибки (утечки), которые тяжело увидеть редкаторам wc3 и т.п.., и там довольно таки хорошо описано как от их избавлятся, не помню где именно я это читал) но точно в статьях про джасс, почитай, и узнай прежде чем отказываться так просто))
Старый 16.01.2009, 23:11
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
Jaffa, знал бы ты сколько я уже перечитал, а порой ошибки очень тупые и хуже всего что редактор их не видит..тем более тему давно пора закрыть)
Старый 17.01.2009, 00:01
SRes
1110101000
offline
Опыт: 9,997
Активность:
Скажу насчет "невидимых" ошибок, они обычно попросту логические, это как на одном другом форуме...
Цитата:
if a == 1 then
set a = 0
endif
if a == 0 then
set a = 1
endif

Вообщем вот типо этой
Старый 17.01.2009, 12:08
Закрытая тема

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

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

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

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



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