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

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

Закрытая тема
 
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Uninitialized variable - JNGP messenge
Уважаемые форумчане, помогите пожайлуста. Суть проблемы: написав следуйщий код в WE с использованием Jass New Gen Pack и запустив карту на проверку(проверка при сохранении карты прошла успешно), получаю в игре следуйщее сообщение:
Код:
Uninitialized variable "tmr" used in
Trig_firenet_Actions()

Функция, привязанная к таймеру tmr, естественно не работает. Код пересматривал, ошибку не нашел... собственно говоря вот сам код:
Код:
function Trig_firenet_Actions takes nothing returns nothing

    local unit caster 
    local unit target
    local timer tmr
    local effect seffect
    local trigger trg
    local trigger trg_die
    
    set caster = GetSpellAbilityUnit()
    set target = GetSpellTargetUnit()
    set seffect = AddSpecialEffectTargetUnitBJ("overhead", target, "Abilities\\Spells\\Orc\\Voodoo\\VoodooAuraTarget.mdl")
    set trg = CreateTrigger()
    call TriggerRegisterUnitEvent( trg, target, EVENT_UNIT_SPELL_EFFECT )
    call TriggerAddAction(trg, function FireNetSpellDamage)
    set trg_die = CreateTrigger(  )
    call TriggerRegisterUnitEvent( trg_die, target, EVENT_UNIT_DEATH )
    call TriggerAddAction( trg_die, function FireNetTargetDie )
    call TimerStart(tmr, 10, false, function FireNetExpire)
    call SetObjIntParam(tmr, "trg", H2I(tmr))
    call SetObjIntParam(tmr, "trg_die", H2I(tmr))
    call SetObjIntParam(trg, "caster", H2I(caster)) 
    call SetObjIntParam(trg, "target", H2I(target))  
    call SetObjIntParam(trg, "seffect", H2I(seffect))
    call SetObjIntParam(trg, "trg_die", H2I(trg_die))
    call SetObjIntParam(trg_die, "caster", H2I(caster)) 
    call SetObjIntParam(trg_die, "target", H2I(target))  
    call SetObjIntParam(trg_die, "seffect", H2I(seffect))
    call SetObjIntParam(trg_die, "tmr", H2I(tmr))
    set caster = null
    set target = null   
    set trg = null
    set trg_die = null
    set tmr = null
    set seffect = null
    
endfunction

Пожалуйста, укажите мне на мою идиотскую ошибку)
Старый 20.07.2008, 00:28
J
expert
offline
Опыт: 48,447
Активность:
Цитата:
Uninitialized variable "tmr" used in
Trig_firenet_Actions()

это и есть ошибка, тебе прям напрямую указали где и как
в функции Trig_firenet_Actions(), если локальная перемиеная tmr которая была обявлена, но не инициализирована перед первым ее использованием, т.е. чтобы использовать локальную переменую ей должно быть присвоено ночальное значение, такого неслучается, и потому это выдает ошибку, тебе еще повезло что пользуешся JNGP, проверка через обычный редактор выкидовала бы из игры...

Jon добавил:
корроче тебе надо эту строчку
Код:
local timer tmr
заменить на эту
Код:
local timer tmr = CreateTimer()
Старый 20.07.2008, 00:33
ScorpioT1000
Работаем
offline
Опыт: отключен
Замени local timer tmr
на local timer tmr = Create timer() тип того не помню.. вощем ты запускаешь несуществующий таймер.
з.ы. Уничтожить его в конце не забудь..
Старый 20.07.2008, 00:34
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Спасибо всем за помощь. Дело сдвинулось с мертвой точки))
Цитата:
локальная перемиеная tmr которая была обявлена, но не инициализирована перед первым ее использованием
*WALL*WALL*WALL*

Xenosapien добавил:
Наконец-то все работает. Теперь можно и поспать)
З.Ы.
JNGP супер утилита, писать стало намного легче и приятнее. Не говоря уже о куче новых фич...
Старый 20.07.2008, 01:04
Закрытая тема

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

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

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

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



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