Как сделать юнита который будет прокачивать свой скил?

djuga228

Пользователь
6 Июл 2015
56
0
Как сделать юнита который будет прокачивать свой скил, и еще если можно, то напишите такой скил который будет спавнить того самого юнита.
 

MeowHellYeah

Пользователь
4 Июл 2015
66
0
Как сделать юнита который будет прокачивать свой скил, и еще если можно, то напишите такой скил который будет спавнить того самого юнита.
Прокачать скилл - [абилка]:SetLevel (спасибо doter.ua за переданный опыт)
Заспаунить юнит - CreateUnitByName([юнит])

Обе команды нужно писать в скрипте Lua.
 
Последнее редактирование модератором:

djuga228

Пользователь
6 Июл 2015
56
0
[quote author=MeowHellYeah link=topic=181.msg852#msg852 date=1436396014]
Прокачать скилл - [абилка]:SetLevel (спасибо doter.ua за переданный опыт)
Заспаунить юнит - CreateUnitByName([юнит])

Обе команды нужно писать в скрипте Lua.
[/quote]Похоже я неправильно объяснил , возьмем скил который спавнит юнита из доты, абсолютно любой, пусть это будет мина минера, в мине минера например хук пуджа, так вот когда прокачиваешь сам скил минера, то хук в этой мине не прокачивается он как был 1 уровня так и остался , а сам скил мина который у моего героя уже макс уровня, но хук все так же 1 уровня в этой мине.А мне нужно когда прокачиваю мину на 2 уровень то в мине сразу же и хук пуджа на 2 уровень переходит и т.д . Те кто помогут, небольшая награда в виде 50 рарок.
 

MeowHellYeah

Пользователь
4 Июл 2015
66
0
Похоже я неправильно объяснил , возьмем скил который спавнит юнита из доты, абсолютно любой, пусть это будет мина минера, в мине минера например хук пуджа, так вот когда прокачиваешь сам скил минера, то хук в этой мине не прокачивается он как был 1 уровня так и остался , а сам скил мина который у моего героя уже макс уровня, но хук все так же 1 уровня в этой мине. Те кто помогут, небольшая награда в виде 50 рарок.

Всё правильно я сказал) Ставишь обработчик на нужное событие (я так понял, это прокачивание способности - GameMode:On_dota_ability_changed в barebones). Если не установлено barebones - советую установить. При выполнении этого события делаешь то, что нужно (ещё одно прокачивание сособности?). Даже если не так тебя понял, в первом моём сообщении есть 2 функции, которые тебе нужны.
 
Последнее редактирование модератором:

MeowHellYeah

Пользователь
4 Июл 2015
66
0
А, я кажется понял. Тут проще: во время использования способности героя спаунишь юнит и награждаешь его способностью и сразу повышаешь её до нужного уровня.

Код:
OnSpellStart()
   local caster = self:GetCaster()
   local newunit1 = CreateUnitByName(имя_юнита + другие значения, загугли)
   newunit1:AddAbility(название_способности)
   newunit1:GetAbilityByIndex(номер_способности_юнита):SetLevel(newunit1:GetAbilityByIndex(номер_способности_героя):GetLevel())
end
Возможно, костыль, но я бы так сделал)
 

djuga228

Пользователь
6 Июл 2015
56
0
[quote author=MeowHellYeah link=topic=181.msg856#msg856 date=1436405907]
А, я кажется понял. Тут проще: во время использования способности героя спаунишь юнит и награждаешь его способностью и сразу повышаешь её до нужного уровня.

Код:
OnSpellStart()
   local caster = self:GetCaster()
   local newunit1 = CreateUnitByName(имя_юнита + другие значения, загугли)
   newunit1:AddAbility(название_способности)
   newunit1:GetAbilityByIndex(номер_способности_юнита):SetLevel(caster:GetAbilityByIndex(номер_способности_героя):GetLevel())
end
Возможно, костыль, но я бы так сделал)
[/quote]Значит когда я прокачаю мину то в ней автоматически прокачается скил на тот же уровень что и мина?(Имел виду не уровень самой мины ,а уровень самого скила мины)
 

MeowHellYeah

Пользователь
4 Июл 2015
66
0
Значит когда я прокачаю мину то в ней автоматически прокачается скил на тот же уровень что и мина?(Имел виду не уровень самой мины ,а уровень самого скила мины)
Он прокачается когда ты заспаунишь новую мину. В старых - нет. Чтоб прокачалось в старых, надо по-другому немного
 
Последнее редактирование модератором:

djuga228

Пользователь
6 Июл 2015
56
0
Он прокачается когда ты заспаунишь новую мину. В старых - нет. Чтоб прокачалось в старых, надо по-другому немного
В старых имел виду минах? Если да , то в старых минах мне не нужно,и еще такой глупенький вопросик не по теме , у барбонес есть фаил settings.lua, так вот как его применить у себя в моде?
 
Последнее редактирование модератором:

MeowHellYeah

Пользователь
4 Июл 2015
66
0
В старых имел виду минах? Если да , то в старых минах мне не нужно,и еще такой глупенький вопросик не по теме , у барбонес есть фаил settings.lua, так вот как его применить у себя в моде?
Читаешь строчку, переводишь, узнаёшь что она значит, пользуешься (меняешь значение на то, которое тебе нужно) ;)
 
Последнее редактирование модератором:

djuga228

Пользователь
6 Июл 2015
56
0
Читаешь строчку, переводишь, узнаёшь что она значит, пользуешься (меняешь значение на то, которое тебе нужно) ;)
ХАха я тут даже посмеялся от души, я имел виду надо прописать строчку require('settings') в addon_game_mode.lua так?Ну и сам settings закинуть в vscripts для того что бы он работал,все верно?
 
Последнее редактирование модератором:

MeowHellYeah

Пользователь
4 Июл 2015
66
0
ХАха я тут даже посмеялся от души, я имел виду надо прописать строчку require('settings') в addon_game_mode.lua так?Ну и сам settings закинуть в vscripts
Ах, это. Этот файл уже настроен и используется.
 
Последнее редактирование модератором:

djuga228

Пользователь
6 Июл 2015
56
0
Ах, это. Этот файл уже настроен и используется.
Так хочу от барбона забрать только лишь 1 фаил, у меня мод по своему настроен , но этот фаил settings слишком полезный по этому я хочу себе его как-то установить
 
Последнее редактирование модератором:

MeowHellYeah

Пользователь
4 Июл 2015
66
0
djuga228, он отдельно работать не будет. Я не знаю какие связи в том barebones, придётся брать целиком.
 

djuga228

Пользователь
6 Июл 2015
56
0
[quote author=MeowHellYeah link=topic=181.msg864#msg864 date=1436408684]
djuga228, он отдельно работать не будет. Я не знаю какие связи в том barebones, придётся брать целиком.
[/quote]Да все ок , взял целиком уже все настроил, все четко, вот тока придется потом попотеть на тем что ты написал про мину. А и еще последний вопросик куда эти строки писать?
Код:
OnSpellStart()
   local caster = self:GetCaster()
   local newunit1 = CreateUnitByName(имя_юнита + другие значения, загугли)
   newunit1:AddAbility(название_способности)
   newunit1:GetAbilityByIndex(номер_способности_юнита):SetLevel(caster:GetAbilityByIndex(номер_способности_героя):GetLevel())
end
 

MeowHellYeah

Пользователь
4 Июл 2015
66
0
[quote author=djuga228 link=topic=181.msg866#msg866 date=1436411203]
Да все ок , взял целиком уже все настроил, все четко, вот тока придется потом попотеть на тем что ты написал про мину. А и еще последний вопросик куда эти строки писать?
Код:
OnSpellStart()
   local caster = self:GetCaster()
   local newunit1 = CreateUnitByName(имя_юнита + другие значения, загугли)
   newunit1:AddAbility(название_способности)
   newunit1:GetAbilityByIndex(номер_способности_юнита):SetLevel(caster:GetAbilityByIndex(номер_способности_героя):GetLevel())
end
[/quote]
В скрипт способности героя.
 

Se7eN

Друзья CG
22 Ноя 2014
334
18
Джуга изучи основы datadriven системы и подобные вопросы отпадут сами собой.

Ведь любая способность делится на события и действия.
То есть надо просто найти нужное событие и сделать RunScript. Это можно сделать даже через Datadriven :D

Приятного картостроения)
 

djuga228

Пользователь
6 Июл 2015
56
0
Джуга изучи основы datadriven системы и подобные вопросы отпадут сами собой.

Ведь любая способность делится на события и действия.
То есть надо просто найти нужное событие и сделать RunScript. Это можно сделать даже через Datadriven :D

Приятного картостроения)
Так это я знаю, и RunScript не всегда нужен,но вот зато lua я очень боюсь.
 
Последнее редактирование модератором:

djuga228

Пользователь
6 Июл 2015
56
0
В скрипт способности героя.
Так?
Код:
	OnSpellStart()
   local caster = self:GetCaster()
   local land_mine = CreateUnitByName("npc_dota_techies_land_mine", target_point, false, nil, nil, caster:GetTeamNumber())
   land_mine:AddAbility(creature_acid_spray)
   land_mine:GetAbilityByIndex(1):SetLevel(caster:GetAbilityByIndex(2):GetLevel())
end
 
Последнее редактирование модератором:

djuga228

Пользователь
6 Июл 2015
56
0
В скрипт способности героя.
Ту не мог нормально написать код,local newunit1 = CreateUnitByName(имя_юнита + другие значения, загугли) что загуглить какие значение ты о чем, и что вместо newunit1 ставить?
 
Последнее редактирование модератором:
Реклама: