Врожденный скилл. Специализация героя.

vulkantsk, тогда да, просто добавь селф к переменным, либо в кастере переменные создавай
 
Код:
[VScript] Script Runtime Error: ...a\game\dota_addons\roshan_def\scripts\vscripts\Spawn.lua:123: attempt to index global 'self' (a nil value)
stack traceback
вот че выдает
 
Какой self, если это не метод?
 
Как тогда правильно использовать , предлагай свои идеи !
Написать полностью на луа.
self - обращение к текущему экземпляру класса.(Хоть тут и нет ООП) У тебя его нет, потому что это говнодатадрайвен. Делай как то иначе.
https://www.lua.org/pil/16.html
https://otvet.mail.ru/question/192453134
https://habrahabr.ru/post/184538/
 
Последнее редактирование модератором:
  • Нравится
Реакции: HappyFeedFriends
Возьми просто с data (keys) героя (или юнита) и у того создай переменную (hero.myVar или unit.myVar, смотря кто там у тебя).
 
Возьми просто с data (keys) героя (или юнита) и у того создай переменную (hero.myVar или unit.myVar, смотря кто там у тебя).
По моему все что касается программирования не бывает просто , особенно когда бывает первый раз
Скинь пожалуйста строчки кода ключевые , чтобы понять суть.
Вот например в аддоне NewMoon - Новолуние
В каждом скрипте используются переменные self , а как их правильно использовать не понятно (
 
Последнее редактирование модератором:
vulkantsk, смотри, селф - это текущий класс, тоесть если ты в аддон_гейм_мод будешь писать селф, то ты будешь обращаться к своему моду, если в луа абилке, то селф будет сама эта абилка, в луа модификаторе - сам модификатор. А ты пишешь в датадрайвене, поэтому просто юзай keys.caster.centaurbuff и объявляй переменную в функции
 
Скинь пожалуйста строчки кода ключевые , чтобы понять суть.

Вот тебе пример. Не смотри на то, что там все в луа. У любого класса можно создавать собственные переменные, как здесь я сделал fullness_count.

Точно так же сделай себе где надо переменную и все. Если конечно я правильно понял, что тебе вообще надо.
 
Последнее редактирование модератором:
Кароче.
Как сделать через ДД + луа я так и не понял.
Пришлось делать все через луа , пока все работает.
Хилимся -живем парни ))
 
Если способность имеет только 1 уровень , то можно добавить в ДД строчки
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE"
"MaxLevel" "0"
Герой спавнится с врожденной способностью ))
И все !

У меня при таком способе абилка становится просто недоступной
 
  • Нравится
Реакции: vulkantsk
Реклама: