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

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

Закрытая тема
 
Alonix
*null*
offline
Опыт: 26,861
Активность:
Ошибка... почему?
Всем привет. Хотел на Jass`е создать эффект "четырех стен" из молний. Написал код, но он мне выдает ошибку "Отсутсвтует название функции":
"call p[1] = OffsetLocation(Enemyloc, -100, 100)
call p[2] = OffsetLocation(Enemyloc, -100, -100)
call p[3] = OffsetLocation(Enemyloc, 100, -100)
call p[4] = OffsetLocation(Enemyloc, 100, 100)"
Почему, если у меня есть до этого:
"local unit Enemy = GetSpellTargetUnit()
local location array p
local real X = GetUnitX(Enemy)
local real Y = GetUnitY(Enemy)
local location Enemyloc = Location(X,Y)"
Объясните мне в чем тут ошибка и помогите мне, пожалуйста, исправить ее.
Старый 17.11.2010, 05:24
ScorpioT1000
Работаем
offline
Опыт: отключен
call p[1] = OffsetLocation(Enemyloc, -100, 100)
call p[1] =
call
может, set?
Старый 17.11.2010, 05:34
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Kakashi23,
call - это пишется перед вызовом функции
set - перед присваивание переменной
Старый 17.11.2010, 11:21
Alonix
*null*
offline
Опыт: 26,861
Активность:
Спасибо, помогло. Тогда другой вопрос: ниже приведен код, но почему - то эффекты после спелла не удаляются а молнии удаляются . Почему?
function Trig_Skipetr_of_Zeus_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A03K'
endfunction

function Trig_Skipetr_of_Zeus_Actions takes nothing returns nothing
local integer i = 1
local unit Enemy = GetSpellTargetUnit()
local lightning array Lig
local location array p
local real X = GetUnitX(Enemy)
local real Y = GetUnitY(Enemy) 
local location Enemyloc = Location(X,Y)
local effect array e
set p[1] = OffsetLocation(Enemyloc, -100, 100)
set p[2] = OffsetLocation(Enemyloc, -100, -100)
set p[3] = OffsetLocation(Enemyloc, 100, -100)
set p[4] = OffsetLocation(Enemyloc, 100, 100)
   loop
    exitwhen i>4
   call AddSpecialEffectLoc("Abilities\\Weapons\\FarseerMissile\\FarseerMissile.mdl", p[i])
   set e[i] = GetLastCreatedEffectBJ()
   set i = i+1
endloop
   call AddLightningLoc("CLPB",p[1],p[2])
   set Lig[1] = GetLastCreatedLightningBJ()
   call AddLightningLoc("CLPB",p[2],p[3])
   set Lig[2] = GetLastCreatedLightningBJ()
   call AddLightningLoc("CLPB",p[3],p[4])
   set Lig[3] = GetLastCreatedLightningBJ()
   call AddLightningLoc("CLPB",p[4],p[1])
   set Lig[4] = GetLastCreatedLightningBJ()
   call PolledWait (3.00)
   set i = 1
   loop
    exitwhen i>4 
    call DestroyLightning(Lig[i])
    call RemoveLocation(p[i])
    call DestroyEffect(e[i])
    set e[i] = null
    set Lig[i] = null
    set i = i+1
endloop
call RemoveLocation (Enemyloc)
set i = 0
set Enemy = null
set X = 0
set Y = 0
endfunction

//===========================================================================
function InitTrig_Skipetr_of_Zeus takes nothing returns nothing
    set gg_trg_Skipetr_of_Zeus = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Skipetr_of_Zeus, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_Skipetr_of_Zeus, Condition( function Trig_Skipetr_of_Zeus_Conditions ) )
    call TriggerAddAction( gg_trg_Skipetr_of_Zeus, function Trig_Skipetr_of_Zeus_Actions )
    call Preload("Abilities\\Weapons\\FarseerMissile\\FarseerMissile.mdl")
endfunction
Старый 17.11.2010, 18:37
Nekit1234007

offline
Опыт: 11,916
Активность:
Потому что AddSpecialEffectLoc не даёт LastCreatedEffect.
Старый 17.11.2010, 18:41
Alonix
*null*
offline
Опыт: 26,861
Активность:
Nekit1234007, а что же он дает, чтобы я потом мог отследить эффект и удалить?
Старый 17.11.2010, 18:43
Nekit1234007

offline
Опыт: 11,916
Активность:
Делай также как с локациями.
Старый 17.11.2010, 18:44
Alonix
*null*
offline
Опыт: 26,861
Активность:
Nekit1234007, можешь объяснить, я не совсем понял у меня уже башка не варит ?
Старый 17.11.2010, 18:52
Rewenger
The culprit will not die
offline
Опыт: 35,873
Активность:
set e[i] = AddSpecialEffectLoc("Abilities\\Weapons\\FarseerMissile\\FarseerMissile.mdl", p[i])
Старый 17.11.2010, 18:56
Alonix
*null*
offline
Опыт: 26,861
Активность:
Все получилось, спасибо, тему можно закрывать.
Старый 17.11.2010, 19:09
Закрытая тема

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

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

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

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



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