CustomGames.ru - Dota 2 пользовательские игры

создание абилки на луа со стаками

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Danis

  • Продвинутый
  • 278
  • Мощь: 2
Мне нужно создать абилку со стаками которая при смерти носителя будет вызывать скрипт, у абилки должно быть 2 модификатора, пассивный и активный но я хз как сделать чтобы при смерти из пассивного вызывался модификатор который будет вызывать скрипт
из луа, ведь можно сделать чтобы был недоскрипт на луа из луа абилки? в общем если у вас есть небольшой запас нервов, побольше запас терпения и времени то можете рассказать по подробее?
« Последнее редактирование: 09-08-2016, 09:27:00 от Danis »
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн CryDeS

  • Друзья CG
  • 1212
  • Мощь: 12
Re: создание абилки на луа со стаками
« Ответ #1 : 09-08-2016, 10:31:00 »
Мне нужно создать абилку со стаками которая при смерти носителя будет вызывать скрипт, у абилки должно быть 2 модификатора, пассивный и активный но я хз как сделать чтобы при смерти из пассивного вызывался модификатор который будет вызывать скрипт
из луа, ведь можно сделать чтобы был недоскрипт на луа из луа абилки? в общем если у вас есть небольшой запас нервов, побольше запас терпения и времени то можете рассказать по подробее?
Переформулируй, а то я будто прочитал сюжет трансформеров 6.
Из DD можно юзать эвент "OnOwnerDie", и оттуда вызывать скрипт. А вот что идет дальше я вообще не понял.

Оффлайн Danis

  • Продвинутый
  • 278
  • Мощь: 2
Re: создание абилки на луа со стаками
« Ответ #2 : 09-08-2016, 10:44:19 »
CryDeS, ДД? и как вызывать скрипт? еще нужно чтобы он на атакующего вешался
щас скину пример как должно быть но только на луа а не так.
« Последнее редактирование: 09-08-2016, 10:48:30 от Danis »
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн Danis

  • Продвинутый
  • 278
  • Мощь: 2
Re: создание абилки на луа со стаками
« Ответ #3 : 09-08-2016, 10:49:30 »
Код абилки из кв
Код
"fly_vision_bonus"
{
// General
//-------------------------------------------------------------------------------------------------------------
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_HIDDEN"
"BaseClass" "ability_datadriven"
"MaxLevel" "1"

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"vision_bonus" "2"
}
}

"Modifiers"
{
"modifier_simple_creature_vision"
{
"Passive" "1"
"Attributes" "MODIFIER_ATTRIBUTE_PERMANENT"
"IsHidden" "1"
"Properties"
{
"MODIFIER_PROPERTY_BONUS_DAY_VISION" "%vision_bonus"
}

"OnDeath"
{
"RunScript"
{
"ScriptFile" "mutations_vision/uni_evo.lua"
"Function" "universal_system_1"
}
}
}

"modifier_fly_simple_mut"
{
"Passive" "0"
"IsHidden" "1"
"Attributes" "MODIFIER_ATTRIBUTE_PERMANENT"
"Properties"
{
"MODIFIER_PROPERTY_BONUS_DAY_VISION" "%vision_bonus"
}
}
}
}
[свернуть]
Код скрипта
Код
function universal_system_1(keys)
local A = keys.caster:GetUnitName()
local modifier = tostring("modifier_" .. A .. "_mut")
print(modifier)
if not keys.attacker:HasModifier(modifier) then
keys.ability:ApplyDataDrivenModifier(keys.attacker,keys.attacker,modifier,{})
end
[свернуть]
И вот мне нужно сделать так чтобы запускался этот скрипт при смерти существа
« Последнее редактирование: 09-08-2016, 10:51:06 от Danis »
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн Илья

  • Супермодератор
  • 2131
  • Мощь: 21
Re: создание абилки на луа со стаками
« Ответ #4 : 09-08-2016, 14:02:08 »
То есть ты хочешь сделать дебафф, который, к примеру, как пассивка скорпа создает взрыв на месте убитого? (это ток пример механики, чтобы уловить суть).

Используй, что тебе сказали, OnOwnerDie в модификаторе. А так вообще на lua бы сделал модификатор и не парился.

Оффлайн ZLOY

  • Супермодератор
  • 452
  • Мощь: 6
Re: создание абилки на луа со стаками
« Ответ #5 : 09-08-2016, 14:35:51 »
А сейчас скрипт не вызывается чтоли?

Оффлайн Danis

  • Продвинутый
  • 278
  • Мощь: 2
Re: создание абилки на луа со стаками
« Ответ #6 : 09-08-2016, 14:37:57 »
вы не поняли, мне нужно узнать как вызывать модификатор, как его вызвать в определенный момент??
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн ZLOY

  • Супермодератор
  • 452
  • Мощь: 6
Re: создание абилки на луа со стаками
« Ответ #7 : 09-08-2016, 14:39:11 »
Как вызывать модификатор
Вызывать это что? Создать?

Оффлайн Danis

  • Продвинутый
  • 278
  • Мощь: 2
Re: создание абилки на луа со стаками
« Ответ #8 : 09-08-2016, 14:43:17 »
Вызывать это что? Создать?
как в датадрайвене ран скрипт
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн ZLOY

  • Супермодератор
  • 452
  • Мощь: 6
Re: создание абилки на луа со стаками
« Ответ #9 : 09-08-2016, 14:46:48 »
Я все равно  не могу понять что именно тебе нужно. :-\

Оффлайн Danis

  • Продвинутый
  • 278
  • Мощь: 2
Re: создание абилки на луа со стаками
« Ответ #10 : 09-08-2016, 14:49:31 »
боже мой, как же вам объяснить.
в датадрайвене способности это выглядит так:
Код
OnDeath
{
RunScript
{
ScriptFile
Function
}
}
А как это в луа способности выглядит?
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн CryDeS

  • Друзья CG
  • 1212
  • Мощь: 12
Re: создание абилки на луа со стаками
« Ответ #11 : 09-08-2016, 14:52:42 »
боже мой, как же вам объяснить.
в датадрайвене способности это выглядит так:
Код
OnDeath
{
RunScript
{
ScriptFile
Function
}
}
А как это в луа способности выглядит?
Лев Толстой: Danis.

Заходишь такой по пути:
dota 2 beta\game\dota_addons\lua_ability_example\scripts\vscripts\modifier_pudge_flesh_heap_lua.lua
И смотришь как вызываются эвенты через луа. А еще ты бы мог чутка пораскинуть мозгами и отправиться изучать документашку.
И в луа ты можешь написать любую функцию в этом файле и вызывать ее. Или объявить класс если функция объявлена вне этого файла. Вроде:
Код
my_lovely_class = my_lovely_class or class({})

function my_lovely_class:DoSomething(unit)
end

А после вызвать где угодно через:
my_lovely_class:DoSomething(unit)
« Последнее редактирование: 09-08-2016, 14:55:55 от CryDeS »

Оффлайн ZLOY

  • Супермодератор
  • 452
  • Мощь: 6
Re: создание абилки на луа со стаками
« Ответ #12 : 09-08-2016, 15:10:35 »
Как по мне в гайдах от Valve все достаточно хорошо описано и даже с примерами.

Оффлайн Илья

  • Супермодератор
  • 2131
  • Мощь: 21
Re: создание абилки на луа со стаками
« Ответ #13 : 09-08-2016, 15:26:51 »
Поддержу ребят: если ты собираешься мудрить какие-то неимоверные для datadriven вещи, то лучше переходи на скриптинг.  Datadriven придуман вовсе не для этого, не для творчества. Его сделали затем, чтобы можно было балансить доту изменениями цифр в умениях, чтобы делать самые простые вещи. Для всего остального, для творчества - программирование.

Оффлайн I_GRIN_I

  • Продвинутый
  • 608
  • Мощь: 11
  • Научиться бы скриптить...
Re: создание абилки на луа со стаками
« Ответ #14 : 09-08-2016, 18:29:08 »
Danis, если желание есть, можешь меня в команду взять, я за бесплатно с тобой карту делать буду, я в скриптинге хоть что то да знаю, так что могу за место в "титрах" поработать
Мне просто интересен концепт этой карты, в варике очень любил в эволюцию видов катать