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

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

Закрытая тема
 
ArchWorm
Матрица незалежности
offline
Опыт: 4,675
Активность:
Ошибка в коде
Я не знаю, что мне делать. Компьютер тупит со страшной силой. Я проверил функции по blizzard.j - всё правильно. Однако WE выводит ошибку "неверное число аргументов".
function ChargedBolt takes nothing returns nothing
local unit Caster = GetSpellAbilityUnit()
local unit Target = GetSpellTargetUnit()
local unit Launcher = GetLastCreatedUnit()
call CreateNUnitsAtLoc(1, udg_ChargedBoltLauncher[GetUnitAbilityLevelSwapped('A000', Caster)], 270.00)
call UnitApplyTimedLifeBJ( 2.00, 'BTLF', Launcher )
call IssueTargetOrderBJ( Launcher, "attackonce", Target)
endfunction

??? Это способность. A000 - её роукод. Charged Bolt Launcher - переменнная с массивом, характеризующая вызываемое существо.
Старый 31.05.2006, 14:38
mr DOS

offline
Опыт: 50
Активность:
нескажи
function CreateNUnitsAtLoc takes integer count, integer unitId, player whichPlayer, location loc, real face returns group
CreateNUnitsAtLoc(1, udg_ChargedBoltLauncher[GetUnitAbilityLevelSwapped('A000', Caster)], 270.00)
А где же плеер и локация
Старый 31.05.2006, 15:01
J
expert
offline
Опыт: 48,447
Активность:
Я конечно нуб в джазе, но мне показалось это оЩибкой, может я и ошибся, но...
Цитата:
Сообщение от Участок твоего кода
local unit Launcher = GetLastCreatedUnit()
call CreateNUnitsAtLoc(1, udg_ChargedBoltLauncher[GetUnitAbilityLevelSwapped('A000', Caster)], 270.00)
call UnitApplyTimedLifeBJ( 2.00, 'BTLF', Launcher )

Мне кажется надо так:
Код:
local unit Launcher
call CreateNUnitsAtLoc(1, udg_ChargedBoltLauncher[GetUnitAbilityLevelSwapped('A000', Caster)], 270.00)
set Launcher = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 2.00, 'BTLF', Launcher )
Старый 31.05.2006, 15:32
ArchWorm
Матрица незалежности
offline
Опыт: 4,675
Активность:
ЭЭЭЙ, НАРОД!!! Что-то мы отвлеклись от темы...
А между тем мне снова нужна помощь

Старый скрипт я уже пофиксал, однако с новым пришли новые напасти:
Код:
local unit U = GetTriggerUnit()
local unit U2 = GetEventDamageSource()
local real Dmg = GetHandleReal(U, "FixHP") - GetUnitStateSwap(UNIT_STATE_LIFE, U)
local integer UnitArray = GetHandleInt(U, "AttackerNum")
local integer A = 1
    loop
        exitwhen A > UnitArray
        if (GetHandleUnit(U, "DmgSrc"+I2S(A))) == null
            then
                call DoNothing()
            else
                call DoNothing()
        endif
        set A = A+1
    endloop
endfunction

И функция GetHandleUnit:
Код:
function GetHandleUnit takes handle h, string key returns unit
   return I2U(GetStoredInteger(udg_SCV_cache, I2S(H2I(h)), key))
endfunction

WE чудит жутко: при сохранении выводит, что у меня нету then и endif в функции, а ещё, что в

комментарии несоответствие типов!!!

Отредактировано TONIC, 24.06.2006 в 19:01.
Старый 24.06.2006, 14:26
DioD

offline
Опыт: 45,134
Активность:
then неправильно поставлен
Старый 24.06.2006, 14:39
ArchWorm
Матрица незалежности
offline
Опыт: 4,675
Активность:
То есть?
Старый 24.06.2006, 14:41
DioD

offline
Опыт: 45,134
Активность:
if (GetHandleUnit(U, "DmgSrc"+I2S(A))) == null
then
пишется в одну строчку.
Старый 24.06.2006, 15:00
ArchWorm
Матрица незалежности
offline
Опыт: 4,675
Активность:
Ясненько, только что от этого WE?
Старый 25.06.2006, 10:16
DioD

offline
Опыт: 45,134
Активность:
Синтаксис такой, всё должно писаться правильно.
Старый 25.06.2006, 10:52
Закрытая тема

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

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

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

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



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