almazist1
Продвинутый
эм, а это в функцию или просто в onspelstart?
эм, а это в функцию или просто в onspelstart?
"nevermore_necromastery_datadriven"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"OnCastbar" "0"
"AbilityTextureName" "nevermore_necromastery"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"necromastery_damage_per_soul" "2"
}
"02"
{
"var_type" "FIELD_INTEGER"
"necromastery_max_souls" "15 22 29 36"
}
"03"
{
"var_type" "FIELD_FLOAT"
"necromastery_soul_release" "0.5"
}
"04"
{
"var_type" "FIELD_INTEGER"
"necromastery_souls_hero_bonus" "11"
}
}
"precache"
{
"particle" "particles/units/heroes/hero_nevermore/nevermore_souls.vpcf"
"particle" "particles/units/heroes/hero_nevermore/nevermore_necro_souls.vpcf"
"soundfile" "soundevents/game_sounds_heroes/game_sounds_nevermore.vsndevts"
}
"OnOwnerDied"
{
"RunScript"
{
"ScriptFile" "heroes/hero_nevermore/necromastery.lua"
"Function" "NecromasteryDeath"
"modifier" "modifier_necromastery"
}
}
"Modifiers"
{
"modifier_soul_collector"
{
"Passive" "1"
"IsHidden" "1"
"EffectName" "particle_name"
"EffectAttachType" "follow_origin"
"OnKill"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_nevermore/nevermore_necro_souls.vpcf"
"EffectAttachType" "follow_origin"
"Target" "TARGET" //DEADFLAG?
}
"RunScript"
{
"ScriptFile" "heroes/hero_nevermore/necromastery.lua"
"Function" "NecromasteryStack"
"modifier" "modifier_necromastery"
}
}
}
"modifier_necromastery"
{
"Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE | MODIFIER_ATTRIBUTE_PERMANENT"
"EffectName" "particles/units/heroes/hero_nevermore/nevermore_souls.vpcf"
"EffectAttachType" "follow_origin"
"Properties"
{
"MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE" "%necromastery_damage_per_soul"
}
}
}
}
--[[
Author: Noya
Date: April 5, 2015
Lose some of the modifier charges stored
TODO: Check if floor or ceil
]]
function NecromasteryDeath( event )
local caster = event.caster
local ability = event.ability
local modifier = event.modifier
local necromastery_soul_release = ability:GetLevelSpecialValueFor( "necromastery_soul_release", ability:GetLevel() - 1 )
local current_stack = caster:GetModifierStackCount( modifier, ability )
if current_stack then
target:SetModifierStackCount( modifierName, ability, math.ceil(current_stack * necromastery_soul_release) )
end
end
--[[
Author: Noya
Date: April 5, 2015
Adds to the modified stacks when a unit is killed, limited by a max_souls.
TODO: Confirm that SetModifierStackCount adds the damage instances without the need to apply shit
]]
function NecromasteryStack( event )
local caster = event.caster
local target = event.unit
local modifier = event.modifier
local ability = event.ability
local souls_hero_bonus = ability:GetLevelSpecialValueFor( "necromastery_souls_hero_bonus", ability:GetLevel() - 1 )
local max_souls = ability:GetLevelSpecialValueFor( "necromastery_max_souls", ability:GetLevel() - 1 )
-- Check how many stacks can be granted
local souls_gained = 1
if target:IsRealHero() then
souls_gained = souls_gained + souls_hero_bonus
end
-- Check if the hero already has the modifier
local current_stack = caster:GetModifierStackCount( modifier, ability )
if not current_stack then
ability:ApplyDataDrivenModifier(caster, caster, modifier, {})
current_stack = 0
end
-- Set the stack up to max_souls
if (current_stack + souls_gained) <= max_souls then
caster:SetModifierStackCount( modifier, ability, current_stack + souls_gained )
else
caster:SetModifierStackCount( modifier, ability, max_souls )
end
end
хочу в скилл героя встроить)в доте имбе есть , а что ты хотел ?
Что сложного прописать свой некрономикон? CreateUnitByName,а так глянь на spell libraryхочу в скилл героя встроить)
Ищи в апи Send_ServerToPlayerЛюди кто в панораме шарит, как активировать функцию в js из луа? чёт искал ничё не нащёл, видимо плохо искал.
Вот весь js, function SetMoney(quest, money) нужная функция.function AddDebugQuest()
{
var panel = $.CreatePanel('Panel',$('#Quests'),'');
panel.BLoadLayoutSnippet("Quest");
SetMoney(panel, 1)
}
function SetMoney(quest, money)
{
var GoldZ = money;
quest.FindChildTraverse('QuestDescription').text = GoldZ;
}
function debug()
{
/*$.Msg("Debug");*/
AddDebugQuest()
}
debug()
я пытался черезИщи в апи Send_ServerToPlayer
Твой эвент. Дату для эвента.я пытался через
CustomGameEventManager:Send_ServerToAllClients( "my_event_name", event_data ) не получилось, так и не понял что писать в аргументах чтобы поняло
я не умею писать абилки) слишком глуп в этом плане, и тм тем более еще как то надо сделать чтоб с повышеием уровня менялись некра)Что сложного прописать свой некрономикон? CreateUnitByName,а так глянь на spell library
через функцию прописывать?Что сложного прописать свой некрономикон? CreateUnitByName,а так глянь на spell library
Ввёл дату по такому типу local data {}ну да чтото получается в консоли выдаёт что надо , тогда ещё 1 простенький вопрос
for k,v in pairs(event_data) как доставать определённые значения? local x = v[1]? например так?
SetMaximumAttackSpeed применяется к гейммоду и устанавливает максимально возможную скорость атаки для всех существНе могу поменять игроку скорость атаки
player1 = PlayerResource:GetSelectedHeroEntity(0)
print(player1)
player1:SetMaximumAttackSpeed(2000)
player1:SetMinimumAttackSpeed(2000)
просто не могу решить и всё тутtable: 0x0314fcb8
...dota_addons\m001_iw\scripts\vscripts\addon_game_mode.lua:145: attempt to call method 'SetMaximumAttackSpeed' (a nil value)
хорошо, а можно ли существу через луа изменить скорость атаки?SetMaximumAttackSpeed применяется к гейммоду и устанавливает максимально возможную скорость атаки для всех существ