Добавлен Netherstorm
Приветствую.
Я использую JNGP и хотел создать двумерный массив для типа ability.
Указал глобальные переменные
Я использую JNGP и хотел создать двумерный массив для типа ability.
Указал глобальные переменные
globals
ability SpellName[11][6]
integer SpellCount[11]
endglobals
Первый массив - это номер игрока. Второй массив - это максимальное кол-во значений, которое мне надо.
Затем, захотел задать способность.
set SpellCount[PlayerX] = (SpellCount[PlayerX] + 1)
set SpellName[PlayerX][SpellCount[PlayerX]] = 'A0U5'
//PlayerX - это локальная целочисленная переменная которая равна GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit())). А SpellCount, это ещё одна целочисленная переменная массива PlayerX с указанным выше по коду значением.
В итоге, вылезает ошибка. Что нельзя конвертировать integer в ability. Хотя 'A0U5' не относится к целому числу, а к ability. И JassHelper выдает такую ошибку:
set s__SpellName[(PlayerX)*(6)+s__SpellCount[PlayerX]] = 'A0U5'
Line 20655: Cannot convert integer to ability.
Что пошло не так?
Принятый ответ
ability - хэндл, описывающий конкретный экземпляр способности
'A0U5' - целое число integer, описывает идентификатор типа способности. Её айди.
'A0U5' - целое число integer, описывает идентификатор типа способности. Её айди.
тип ability почти не используется в ванильном варкрафте и вероятно не нужен для вашей задачи.
Почти всегда при работе со способностями нужно работать с типом, а не с конкретным экземпляром.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. goodlyhero
'A0U5' - целое число integer, описывает идентификатор типа способности. Её айди.
Ред. Netherstorm
Спасибо goodlyhero =)
Вопрос закрыт.