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

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
vulkantsk, тогда да, просто добавь селф к переменным, либо в кастере переменные создавай
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,149
196
www.dotabuff.com
Проект
Roshan defense
Код:
[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
вот че выдает
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Какой self, если это не метод?
 

Adam Smith

Друзья CG
4 Окт 2014
473
2
Как тогда правильно использовать , предлагай свои идеи !
Написать полностью на луа.
self - обращение к текущему экземпляру класса.(Хоть тут и нет ООП) У тебя его нет, потому что это говнодатадрайвен. Делай как то иначе.
https://www.lua.org/pil/16.html
https://otvet.mail.ru/question/192453134
https://habrahabr.ru/post/184538/
 
Последнее редактирование модератором:
  • Нравится
Реакции: HappyFeedFriends

Илья

Друзья CG
25 Сен 2015
2,348
41
Возьми просто с data (keys) героя (или юнита) и у того создай переменную (hero.myVar или unit.myVar, смотря кто там у тебя).
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,149
196
www.dotabuff.com
Проект
Roshan defense
Возьми просто с data (keys) героя (или юнита) и у того создай переменную (hero.myVar или unit.myVar, смотря кто там у тебя).
По моему все что касается программирования не бывает просто , особенно когда бывает первый раз
Скинь пожалуйста строчки кода ключевые , чтобы понять суть.
Вот например в аддоне NewMoon - Новолуние
В каждом скрипте используются переменные self , а как их правильно использовать не понятно (
 
Последнее редактирование модератором:

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
vulkantsk, смотри, селф - это текущий класс, тоесть если ты в аддон_гейм_мод будешь писать селф, то ты будешь обращаться к своему моду, если в луа абилке, то селф будет сама эта абилка, в луа модификаторе - сам модификатор. А ты пишешь в датадрайвене, поэтому просто юзай keys.caster.centaurbuff и объявляй переменную в функции
 

Илья

Друзья CG
25 Сен 2015
2,348
41
Скинь пожалуйста строчки кода ключевые , чтобы понять суть.

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

Точно так же сделай себе где надо переменную и все. Если конечно я правильно понял, что тебе вообще надо.
 
Последнее редактирование модератором:

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,149
196
www.dotabuff.com
Проект
Roshan defense
Кароче.
Как сделать через ДД + луа я так и не понял.
Пришлось делать все через луа , пока все работает.
Хилимся -живем парни ))
 

S1nGGle

Пользователь
25 Янв 2018
41
3
Проект
Custom_game
Если способность имеет только 1 уровень , то можно добавить в ДД строчки
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE"
"MaxLevel" "0"
Герой спавнится с врожденной способностью ))
И все !

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