Lua предмет, урон зависящий от силы

Zek13f1

Активный
11 Июл 2019
96
3
Знает кто что в луашку писать, хочу предмет сделать, чтоб пассивно увеличивал урон в зависимости от имеющийся силы.
 

Zek13f1

Активный
11 Июл 2019
96
3
1679261897717.png
попробовал что то такое(посмотрел что то похожее) но не робит
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,147
196
www.dotabuff.com
Проект
Roshan defense
У тебя там еще OnIntervalThink должен быть, который делает количество стаков модифаера равным количеству силы )
 

HK.Nears

Пользователь
12 Фев 2017
47
7
boosty.to
Проект
Rebellion of the Monsters, The Dungeon, Hide&Kill, Memes of Dota, Memes of Dota 2, Unreal Defense
function MODIFIER_NAME:GetModifierPreAttack_BonusDamage() local parent = self:GetParent() if parent then return parent:GetStrength() * 0.01 * сколько процентов надо взять.(тут можешь свою формулу вставлять) end return 0 end
Если нужно увеличивать не урон с атак, то просто поменяй GetModifierPreAttack_BonusDamage на что-то другое, ну и возможно там немного формулу придется поменять.
В такой реализации главное, чтобы больше нигде небыло зависимостей типа "сила от урона". Если будет, будет крашится игра из-за бесконечной рекурсии.
Это вариант когда точно знаешь, что не будет зависимостей типа "сила от урона", иначе смысла нет делать его, и лучше реально через стаки.
 

Zek13f1

Активный
11 Июл 2019
96
3
function MODIFIER_NAME:GetModifierPreAttack_BonusDamage() local parent = self:GetParent() if parent then return parent:GetStrength() * 0.01 * сколько процентов надо взять.(тут можешь свою формулу вставлять) end return 0 end
Если нужно увеличивать не урон с атак, то просто поменяй GetModifierPreAttack_BonusDamage на что-то другое, ну и возможно там немного формулу придется поменять.
В такой реализации главное, чтобы больше нигде небыло зависимостей типа "сила от урона". Если будет, будет крашится игра из-за бесконечной рекурсии.
Это вариант когда точно знаешь, что не будет зависимостей типа "сила от урона", иначе смысла нет делать его, и лучше реально через стаки.
вообще ничего не получается, куча всего перепробовал
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,147
196
www.dotabuff.com
Проект
Roshan defense
function MODIFIER_NAME:GetModifierPreAttack_BonusDamage() local parent = self:GetParent() if parent then return parent:GetStrength() * 0.01 * сколько процентов надо взять.(тут можешь свою формулу вставлять) end return 0 end
Если нужно увеличивать не урон с атак, то просто поменяй GetModifierPreAttack_BonusDamage на что-то другое, ну и возможно там немного формулу придется поменять.
В такой реализации главное, чтобы больше нигде небыло зависимостей типа "сила от урона". Если будет, будет крашится игра из-за бесконечной рекурсии.
Это вариант когда точно знаешь, что не будет зависимостей типа "сила от урона", иначе смысла нет делать его, и лучше реально через стаки.
Тк функция GetStrength находится на сервере, но не на клиенте.
То даже если всё будет работать, то в панельке не будет отображаться увеличение урона + ошибку в консоль будут сыпаться
 

Zek13f1

Активный
11 Июл 2019
96
3
Тк функция GetStrength находится на сервере, но не на клиенте.
То даже если всё будет работать, то в панельке не будет отображаться увеличение урона + ошибку в консоль будут сыпаться
То есть этот способ не особо эффективный?
 

HK.Nears

Пользователь
12 Фев 2017
47
7
boosty.to
Проект
Rebellion of the Monsters, The Dungeon, Hide&Kill, Memes of Dota, Memes of Dota 2, Unreal Defense
1679339744848.pngно он клиент-серверный...
 

Bacchus

Пользователь
25 Ноя 2021
17
1
Проект
Gods&Avatars
1. Создай конфигурацию способности в файле npc_abilities_custom
2. Создай скрипт файл способности
3. Создай модификатор способности с типом MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE
Пример создания способности
 
Реклама: