- 31 Июл 2024
- 5
- 0
ПРОШУ ПРОЩЕНИЯ, У ВСЕХ ТЕХ КТО ЗАКАЛЕБАЛСЯ ОТВЕЧАТЬ НА ТАКИЕ ВОПРОСЫ.
Но я листаю 3-ий день уже на данном форуме и не могу найти нужной информации(сидел проверял каждое найденное решение, где то пытался разобраться
своими мозгами, но увы, никак). Объясните мне как чайнику, как далёкому человеку от всей данной движухи, как сделать тик золота, появление курьера.
Так же хотелось бы спросить. У меня есть предмет Золотая корона(gold_crown)
Вот его код:
как мне сделать так что бы он при покупке оказался в слоте нейтралки и каждую секунду давал определённое кол-во золота?
Здесь код Золотой короны в "npc_items_custom.txt":
Но я листаю 3-ий день уже на данном форуме и не могу найти нужной информации(сидел проверял каждое найденное решение, где то пытался разобраться
своими мозгами, но увы, никак). Объясните мне как чайнику, как далёкому человеку от всей данной движухи, как сделать тик золота, появление курьера.
Так же хотелось бы спросить. У меня есть предмет Золотая корона(gold_crown)
Вот его код:
Lua:
LinkLuaModifier("modifier_gold_crown", "items/gold_item/item_gold_crown", LUA_MODIFIER_MOTION_NONE)
item_gold_crown = class({})
function item_gold_crown:GetIntrinsicModifierName()
return "modifier_gold_crown"
end
modifier_gold_crown = class({})
function modifier_gold_crown:IsPurgable()
return false
end
function modifier_gold_crown:IsDebuff()
return false
end
function modifier_gold_crown:RemoveOnDeath()
return false
end
function modifier_gold_crown:IsHidden()
return false
end
function modifier_gold_crown:OnCreated()
self.agi_bonus = self:GetAbility():GetSpecialValueFor("bonus_att_agi")
self.str_bonus = self:GetAbility():GetSpecialValueFor("bonus_att_str")
self.int_bonus = self:GetAbility():GetSpecialValueFor("bonus_att_int")
self.all_bonus = self:GetAbility():GetSpecialValueFor("bonus_att_all")
self.tick = self:GetAbility():GetSpecialValueFor("tick")
if self:GetParent():GetPrimaryAttribute() == 0 then
self.gold_per_tick = self:GetAbility():GetSpecialValueFor("gold_per_tick") * self.str_bonus
elseif self:GetParent():GetPrimaryAttribute() == 1 then
self.gold_per_tick = self:GetAbility():GetSpecialValueFor("gold_per_tick") * self.agi_bonus
elseif self:GetParent():GetPrimaryAttribute() == 2 then
self.gold_per_tick = self:GetAbility():GetSpecialValueFor("gold_per_tick") * self.int_bonus
elseif self:GetParent():GetPrimaryAttribute() == 3 then
self.gold_per_tick = self:GetAbility():GetSpecialValueFor("gold_per_tick") * self.all_bonus
end
self.all_stats = self:GetAbility():GetSpecialValueFor("all_stats")
self:StartIntervalThink(self.tick)
end
function modifier_gold_crown:OnRefresh()
self.agi_bonus = self:GetAbility():GetSpecialValueFor("bonus_att_agi")
self.str_bonus = self:GetAbility():GetSpecialValueFor("bonus_att_str")
self.int_bonus = self:GetAbility():GetSpecialValueFor("bonus_att_int")
self.all_bonus = self:GetAbility():GetSpecialValueFor("bonus_att_all")
if self:GetParent():GetPrimaryAttribute() == 0 then
self.gold_per_tick = self:GetAbility():GetSpecialValueFor("gold_per_tick") * self.str_bonus
elseif self:GetParent():GetPrimaryAttribute() == 1 then
self.gold_per_tick = self:GetAbility():GetSpecialValueFor("gold_per_tick") * self.agi_bonus
elseif self:GetParent():GetPrimaryAttribute() == 2 then
self.gold_per_tick = self:GetAbility():GetSpecialValueFor("gold_per_tick") * self.int_bonus
elseif self:GetParent():GetPrimaryAttribute() == 3 then
self.gold_per_tick = self:GetAbility():GetSpecialValueFor("gold_per_tick") * self.all_bonus
end
self.tick = self:GetAbility():GetSpecialValueFor("tick")
self.all_stats = self:GetAbility():GetSpecialValueFor("all_stats")
self:StartIntervalThink(self.tick)
end
function modifier_gold_crown:DeclareFunctions()
return {
MODIFIER_PROPERTY_STATS_STRENGTH_BONUS,
MODIFIER_PROPERTY_STATS_AGILITY_BONUS,
MODIFIER_PROPERTY_STATS_INTELLECT_BONUS
}
end
function modifier_gold_crown:GetModifierBonusStats_Strength()
return self.all_stats
end
function modifier_gold_crown:GetModifierBonusStats_Agility()
return self.all_stats
end
function modifier_gold_crown:GetModifierBonusStats_Intellect()
return self.all_stats
end
Здесь код Золотой короны в "npc_items_custom.txt":
Код:
"item_gold_crown"
{
// General
//-------------------------------------------------------------------------------------------------------------
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"BaseClass" "item_lua"
"ScriptFile" "items/gold_item/item_gold_crown"
"AbilityTextureName" "gold_crown"
// Item Info
//-------------------------------------------------------------------------------------------------------------
"ItemCost" "3000"
"ItemShopTags" "agi"
"ItemQuality" "component"
"ItemBaseLevel" "1"
"ItemIsNeutralDrop" "1"
"Modifiers"
{
"modifier_gold_crown"
{
"Passive" "1"
"IsHidden" "0"
"Properties"
{
"MODIFIER_PROPERTY_STATS_STRENGTH_BONUS" "%bonus_att_str"
"MODIFIER_PROPERTY_STATS_AGILITY_BONUS" "%bonus_att_agi"
"MODIFIER_PROPERTY_STATS_INTELLECT_BONUS" "%bonus_att_int"
}
}
}
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilityValues"
{
"all_stats" "15 40 65 80 100"
"gold_per_tick" "75 150 200 250 350"
"tick" "1.5"
"bonus_att_agi" "2.0"
"bonus_att_str" "2.5"
"bonus_att_int" "2.3"
"bonus_att_all" "2.4"
}
}