quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
Проблема со структурой...
Ну мы имеем некую структуру st и метод m, метот "м" берет целое число и возвращает булевское значение, проверяет есть ли интегер в массиве, если есть вернёт true и тд... (не в этом суть) ну можно ли вернуть из некой функции condition результат метода m?
((код jass
function Trig_Morf_Conditions takes nothing returns boolean
set StructData = GetStroredStruct( GetTriggerUnit( ) ) If StructData == 0 then return false endif return StructData.IsAbilityMorph( GetSpellAbilityId( ) ) endfunction GetStroredStruct выдаёт структуру сохранённую на юнита, если структура равна 0 то на юните нету данных, вернуть false...
StructData.IsAbilityMorph( GetSpellAbilityId( ) ) это выражение проверяет есть ли данные относитльно юнита в структуре и если есть вернуть true, но на эту строчку и гавкает компилятор (мб, я дето ошибся, но тока не пойму где) ))
» скрин ошибки
И вопрос то что я написал вобще возможно исполнить? или это моя ошибка в синтаксисе? |
10.10.2012, 18:00 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
quq_CCCP, я не вижу полный код. |
10.10.2012, 18:28 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
что за If еще ? ._. |
10.10.2012, 19:52 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
spellwerk
offline
Опыт:
4,869Активность: |
StructData скорее всего имеет тип integer, а должен иметь тип твоя_структура |
10.10.2012, 19:57 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
|
10.10.2012, 21:07 | #5
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
ScorpioT1000,
Лол. А так то способ верный. |
10.10.2012, 21:19 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
ScorpioT1000, :facepalm:
мб
И вообще тут правильно будет завести темповую глобалку, ибо быстрее будет.
Faion добавил:
А еще правильнее будет не юзать эти уг структуры, а юзать юзер дату и параллельные массивы. Faion добавил: А еще правильнее будет юзать ХТ, ибо рученки кривые, и весь прирост производительности, который даст юз структур будет потерян из за кривых с т.з. логики алгоритмов. Проще говоря, учитывая руки, куда оптимальнее писать с использованием хт. |
10.10.2012, 21:25 | #7
+0/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
|
10.10.2012, 23:50 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
Doc, он тут так нужен? полный код, тут проблема именно в этой строчке, и 1 функции, всё остальное работает норм...
spellwerk, StructData имеет тип именно структура а не интегер и является глобальной переменной, я не дибил... Faion:
Да что вы говорите? с десяток параметров по 100 вариантов и юзать ХТ, троллить мб не нужно, и про корявость поясните а не разбрасывайтесь словами, из ваших предложений я нечего дельного не увидел... quq_CCCP добавил:
ADOLF, увы ту эе самую ошибку выдаёт...
» вот метод
((код jass
method IsAbilityMorph takes integer abilityId returns boolean set nLoopAIndex = 0 loop exitwhen nLoopAIndex > bj_MaxMorphAbilityCount if this.MorpSkillId[nLoopAIndex] == abilityId then return true endif set nLoopAIndex = nLoopAIndex + 1 endloop return false endmethod )) Не знаю чем он вам поможет, ну мб что то другое предложите
там все это дело в библиотеке происходит, и еще пару методов есть но ошибка именно с этим Практически все переменные глобалки quq_CCCP добавил:
немного переписал через локалку, все работает, тока юзаю глобалку сразу ошибка, хотя я правильно объявил переменную структуры... ((код jass
globals UnitData StructData endglobals )) ну что за косяки с компилятором... Отредактировано quq_CCCP, 11.10.2012 в 06:10. |
11.10.2012, 04:42 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
quq_CCCP:
Что тут пояснять? Автор задают нубские вопросы, значит автор нуб, значит ему положено юзать хт.
Метод тому доказательство. Существенно быстрее будет сохранить все морфы в ХТ, по абилити хендлу.
Вообще отрицание ХТ, и жалкие попытки сэкономить через структуры, доказывает незнание матчасти юзером, ибо один кривой алгоритм, сводит на нет мизерное преимущество структур перед хт. |
11.10.2012, 10:54 | #10
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
quq_CCCP, нет, конечно нам не нужен полный код, давайте мы сами догадаемся как там объявлена StructData!
С глобалками это косяк векса, ничего не поделаешь. |
11.10.2012, 11:22 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
Faion, ладно тему закрывайте, будут разбиратся далее...
Постараюсь больше не давать вам тему для троллинга. quq_CCCP добавил: Faion, кстати насчёт метода, это только пока для проверки что все работает, я переделаю систему проверки наличия интегера в массиве, вместо перебаора будет рассчёт id как в хт... |
11.10.2012, 15:32 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|