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

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

Ответ
 
PainKonan

offline
Опыт: 227
Активность:
function takes rect returns location (нужна помощь)
Выдает ошибку на строке
call center(r,l)
Пишет, что слишком много аргументов, но их, по-моему, должно быть 2, иначе ничего не сработает. Как я понял, мы берем переменную r и возвращаем значения после действий в переменную l. Помогите разобраться(
function center takes rect returns location
    return Location(GetRectCenterX(gg_rct_Creeps1), GetRectCenterY(gg_rct_Creeps1))
endfunction

function Trig_Creeps_Actions takes nothing returns nothing
    local effect s
    local rect r
    local location l
    call center(r,l)
    call MoveLocation(l, GetLocationX(l), GetLocationY(l) + 100)
    call AddSpecialEffectLocBJ( l, "Objects\\Spawnmodels\\NightElf\\EntBirthTarget\\EntBirthTarget.mdl" )
    set s = GetLastCreatedEffectBJ()
    call DestroyEffectBJ( s )
endfunction

//===========================================================================
function InitTrig_Creeps takes nothing returns nothing
    set gg_trg_Creeps = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_Creeps, 5.00 )
    call TriggerAddAction( gg_trg_Creeps, function Trig_Creeps_Actions )
endfunction 
Старый 05.03.2014, 20:24
ScorpioT1000
Работаем
offline
Опыт: отключен
у тебя утекло всё...
Старый 05.03.2014, 20:28
PainKonan

offline
Опыт: 227
Активность:
ScorpioT1000, если что, регион задан на карте, я просто пытался значение региона поместить в переменную.
Все очень плохо?(
Старый 05.03.2014, 20:41
adic3x

offline
Опыт: 107,539
Активность:
location l = center (r)
Для начала прочтите вводный курс статей по jass:
Старый 05.03.2014, 20:44
PainKonan

offline
Опыт: 227
Активность:
ADOLF, но там таких примеров не было...
ADOLF:
location l = center (r)
Благодарю.
Старый 05.03.2014, 20:56
adic3x

offline
Опыт: 107,539
Активность:
Тьфу, отвык от этого всего ;)
local location l = center (r) // pure jass
Старый 05.03.2014, 21:00
PainKonan

offline
Опыт: 227
Активность:
ADOLF,
я упростил, но ему функция непонятна
function Trig_Creeps_Actions takes nothing returns nothing
    local effect s
    local rect r = (gg_rct_Creeps1)
    local location l = center(r)
    call MoveLocation(l, GetLocationX(l), GetLocationY(l) + 100)
    call AddSpecialEffectLocBJ( l, "Objects\\Spawnmodels\\NightElf\\EntBirthTarget\\EntBirthTarget.mdl" )
    set s = GetLastCreatedEffectBJ()
    call DestroyEffectBJ( s )
endfunction

//===========================================================================
function InitTrig_Creeps takes nothing returns nothing
    set gg_trg_Creeps = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_Creeps, 5.00 )
    call TriggerAddAction( gg_trg_Creeps, function Trig_Creeps_Actions )
endfunction
Неизвестная функция "center", может библиотека нужна дополнительная?
Старый 05.03.2014, 21:12
PainKonan

offline
Опыт: 227
Активность:
Steal_nerves, рект существовал на карте, я пытался дать отсылку на него.
Steal_nerves:
можно код укоротить
спасибо большое)
Steal_nerves:
Steal nerves добавил:
PainKonan, к тому же, я хочу тебе сказать, что ты в конце функции забыл обнулить локальные переменные. больше так не делай. тем в более в периодике
Steal nerves добавил:
PainKonan, необнуленные локалки тоже приводят к засорению памяти. а еще ты забыл удалять точку.
Это я знаю) я сначала хотел ошибку найти, а потом уже утечки убирать...
Старый 06.03.2014, 14:05
Hate
конь вакуумный
offline
Опыт: 43,127
Активность:
если уже совсем докопаться то и функция эта бесполезна и не нужна
Старый 06.03.2014, 14:14
PainKonan

offline
Опыт: 227
Активность:
Hate, да, теперь уже понял...
все гораздо легче, в одну строчку
Старый 06.03.2014, 14:29
Ответ

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

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

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

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



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