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

Люкан:скилл Howl скрипт

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

Оффлайн FlutterButter

  • 6
  • Мощь: 0
Люкан:скилл Howl скрипт
« : 24-08-2017, 22:08:20 »
Здравствуйте,помогите пожалуйста написать скрипт скилла люкана howl(смотрел в SpellLibrary,там слишком старый скрипт,мне не подходит(нет увеличения здоровья героя и юнитов)) :-X Можно также скинуть сайт с примером скилла howl(Лично я не нашел,может плохо искал) P.s. Если для скрипта нужен будет луа,буду признателен и за него.

Оффлайн 00zveroboi

  • 50
  • Мощь: 0
Re: Люкан:скилл Howl скрипт
« Ответ #1 : 25-08-2017, 05:09:49 »
Здравствуйте,помогите пожалуйста написать скрипт скилла люкана howl(смотрел в SpellLibrary,там слишком старый скрипт,мне не подходит(нет увеличения здоровья героя и юнитов)) :-X Можно также скинуть сайт с примером скилла howl(Лично я не нашел,может плохо искал) P.s. Если для скрипта нужен будет луа,буду признателен и за него.
Я могу написать его, но как тебе нужно, как новый или как старый хауль, ну в плане последней обновы, когда он уже не хилит

Оффлайн I_GRIN_I

  • Продвинутый
  • 636
  • Мощь: 11
  • Научиться бы скриптить...
Re: Люкан:скилл Howl скрипт
« Ответ #2 : 25-08-2017, 07:26:59 »
FlutterButter, лол, это очень легкий спелл, напиши его сам себе. Пишется на луа за пару десятков минут. Просто ищешь на всей карте юнитов и добавляешь им хп через модификатор.

Оффлайн FlutterButter

  • 6
  • Мощь: 0
Re: Люкан:скилл Howl скрипт
« Ответ #3 : 25-08-2017, 08:23:47 »
Я могу написать его, но как тебе нужно, как новый или как старый хауль, ну в плане последней обновы, когда он уже не хилит
Мне нужен именно новый,который на данный момент в доте используется

Оффлайн 00zveroboi

  • 50
  • Мощь: 0
Re: Люкан:скилл Howl скрипт
« Ответ #4 : 25-08-2017, 08:52:21 »
Мне нужен именно новый,который на данный момент в доте используется
Короче, я хз что вальвы намутили, но в пол части кода читает время суток в пол части напрочь не хочет, а если делать по другому, то урон не увеличивается ночью
Спойлер
Код
script_lycan_howl = class({})
LinkLuaModifier( "modifier_script_lycan_howl", "abilities/script_lycan_howl", LUA_MODIFIER_MOTION_NONE )

function script_lycan_howl:OnSpellStart()
local allies = FindUnitsInRadius( self:GetCaster():GetTeamNumber(), self:GetCaster():GetOrigin(), self:GetCaster(), FIND_UNITS_EVERYWHERE, DOTA_UNIT_TARGET_TEAM_FRIENDLY, DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC, DOTA_UNIT_TARGET_FLAG_PLAYER_CONTROLLED, 0, false )
if #allies > 0 then
for _,ally in pairs(allies) do
ally:AddNewModifier( self:GetCaster(), self, "modifier_script_lycan_howl", { duration = self:GetSpecialValueFor(  "howl_duration" ) } )
end
end
EmitSoundOnLocationForAllies( self:GetCaster():GetOrigin(), "Hero_Lycan.Howl.Team", self:GetCaster() )
EmitSoundOn( "Hero_Lycan.Howl", self:GetCaster() )
local fx = ParticleManager:CreateParticle( "particles/units/heroes/hero_lycan/lycan_howl_cast.vpcf", PATTACH_ABSORIGIN, self:GetCaster() )
ParticleManager:SetParticleControl( fx, 0 , self:GetCaster():GetAbsOrigin() )
ParticleManager:SetParticleControl( fx, 1 , self:GetCaster():GetAbsOrigin() )
ParticleManager:SetParticleControl( fx, 2 , self:GetCaster():GetAbsOrigin() )
end

modifier_script_lycan_howl = class({})

function modifier_script_lycan_howl:IsHidden()
return false
end

function modifier_script_lycan_howl:IsPurgable()
return true
end

function modifier_script_lycan_howl:GetEffectName()
return "particles/units/heroes/hero_lycan/lycan_howl_buff.vpcf"
end

function modifier_script_lycan_howl:GetEffectAttachType()
return PATTACH_ABSORIGIN_FOLLOW
end

function modifier_script_lycan_howl:OnCreated( kv )
if self:GetParent():IsRealHero() then
self.hp = self:GetAbility():GetSpecialValueFor( "hero_bonus_hp" )
self.dmg = self:GetAbility():GetSpecialValueFor( "hero_bonus_damage" )
elseif self:GetParent():IsControllableByAnyPlayer() then
self.hp = self:GetAbility():GetSpecialValueFor( "unit_bonus_hp" )
self.dmg = self:GetAbility():GetSpecialValueFor( "unit_bonus_damage" )
end
if IsServer() then
if GameRules:IsDaytime() == false then
self.hp = self.hp * 2
self.dmg = self.dmg * 2
end
end
end

function modifier_script_lycan_howl:OnRefresh( kv )
if self:GetParent():IsRealHero() then
self.hp = self:GetAbility():GetSpecialValueFor( "hero_bonus_hp" )
self.dmg = self:GetAbility():GetSpecialValueFor( "hero_bonus_damage" )
elseif self:GetParent():IsControllableByAnyPlayer() then
self.hp = self:GetAbility():GetSpecialValueFor( "unit_bonus_hp" )
self.dmg = self:GetAbility():GetSpecialValueFor( "unit_bonus_damage" )
end
if IsServer() then
if GameRules:IsDaytime() == false then
self.hp = self.hp * 2
self.dmg = self.dmg * 2
end
end
end

function modifier_script_lycan_howl:DeclareFunctions()
local funcs = {
MODIFIER_PROPERTY_HEALTH_BONUS,
MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE,
}
return funcs
end

function modifier_script_lycan_howl:GetModifierHealthBonus()
return self.hp
end

function modifier_script_lycan_howl:GetModifierPreAttack_BonusDamage()
return self.dmg
end
[свернуть]
Спойлер
Код
"script_lycan_howl"
{
"BaseClass" "ability_lua"
"AbilityTextureName" "lycan_howl"
"ScriptFile" "abilities/script_lycan_howl"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING"
"LevelsBetweenUpgrades" "2"
"RequiredLevel" "1"
"MaxLevel" "4"
"AbilityCastPoint" "0.3"
"AbilityCooldown" "60 55 50 45"
"AbilityDuration" "13"
"AbilityManaCost" "40"
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_FLOAT"
"howl_duration" "13.0"
}
"02"
{
"var_type" "FIELD_INTEGER"
"hero_bonus_damage" "10 15 20 25"
}
"03"
{
"var_type" "FIELD_INTEGER"
"unit_bonus_damage" "4 6 8 10"
}
"04"
{
"var_type" "FIELD_INTEGER"
"hero_bonus_hp" "50 100 150 200"
}
"05"
{
"var_type" "FIELD_INTEGER"
"unit_bonus_hp" "25 50 75 100"
}
}
}
[свернуть]
« Последнее редактирование: 25-08-2017, 09:18:35 от 00zveroboi »

Оффлайн FlutterButter

  • 6
  • Мощь: 0
Re: Люкан:скилл Howl скрипт
« Ответ #5 : 25-08-2017, 09:56:42 »
Короче, я хз что вальвы намутили, но в пол части кода читает время суток в пол части напрочь не хочет, а если делать по другому, то урон не увеличивается ночью
Спойлер
Код
script_lycan_howl = class({})
LinkLuaModifier( "modifier_script_lycan_howl", "abilities/script_lycan_howl", LUA_MODIFIER_MOTION_NONE )

function script_lycan_howl:OnSpellStart()
local allies = FindUnitsInRadius( self:GetCaster():GetTeamNumber(), self:GetCaster():GetOrigin(), self:GetCaster(), FIND_UNITS_EVERYWHERE, DOTA_UNIT_TARGET_TEAM_FRIENDLY, DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC, DOTA_UNIT_TARGET_FLAG_PLAYER_CONTROLLED, 0, false )
if #allies > 0 then
for _,ally in pairs(allies) do
ally:AddNewModifier( self:GetCaster(), self, "modifier_script_lycan_howl", { duration = self:GetSpecialValueFor(  "howl_duration" ) } )
end
end
EmitSoundOnLocationForAllies( self:GetCaster():GetOrigin(), "Hero_Lycan.Howl.Team", self:GetCaster() )
EmitSoundOn( "Hero_Lycan.Howl", self:GetCaster() )
local fx = ParticleManager:CreateParticle( "particles/units/heroes/hero_lycan/lycan_howl_cast.vpcf", PATTACH_ABSORIGIN, self:GetCaster() )
ParticleManager:SetParticleControl( fx, 0 , self:GetCaster():GetAbsOrigin() )
ParticleManager:SetParticleControl( fx, 1 , self:GetCaster():GetAbsOrigin() )
ParticleManager:SetParticleControl( fx, 2 , self:GetCaster():GetAbsOrigin() )
end

modifier_script_lycan_howl = class({})

function modifier_script_lycan_howl:IsHidden()
return false
end

function modifier_script_lycan_howl:IsPurgable()
return true
end

function modifier_script_lycan_howl:GetEffectName()
return "particles/units/heroes/hero_lycan/lycan_howl_buff.vpcf"
end

function modifier_script_lycan_howl:GetEffectAttachType()
return PATTACH_ABSORIGIN_FOLLOW
end

function modifier_script_lycan_howl:OnCreated( kv )
if self:GetParent():IsRealHero() then
self.hp = self:GetAbility():GetSpecialValueFor( "hero_bonus_hp" )
self.dmg = self:GetAbility():GetSpecialValueFor( "hero_bonus_damage" )
elseif self:GetParent():IsControllableByAnyPlayer() then
self.hp = self:GetAbility():GetSpecialValueFor( "unit_bonus_hp" )
self.dmg = self:GetAbility():GetSpecialValueFor( "unit_bonus_damage" )
end
if IsServer() then
if GameRules:IsDaytime() == false then
self.hp = self.hp * 2
self.dmg = self.dmg * 2
end
end
end

function modifier_script_lycan_howl:OnRefresh( kv )
if self:GetParent():IsRealHero() then
self.hp = self:GetAbility():GetSpecialValueFor( "hero_bonus_hp" )
self.dmg = self:GetAbility():GetSpecialValueFor( "hero_bonus_damage" )
elseif self:GetParent():IsControllableByAnyPlayer() then
self.hp = self:GetAbility():GetSpecialValueFor( "unit_bonus_hp" )
self.dmg = self:GetAbility():GetSpecialValueFor( "unit_bonus_damage" )
end
if IsServer() then
if GameRules:IsDaytime() == false then
self.hp = self.hp * 2
self.dmg = self.dmg * 2
end
end
end

function modifier_script_lycan_howl:DeclareFunctions()
local funcs = {
MODIFIER_PROPERTY_HEALTH_BONUS,
MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE,
}
return funcs
end

function modifier_script_lycan_howl:GetModifierHealthBonus()
return self.hp
end

function modifier_script_lycan_howl:GetModifierPreAttack_BonusDamage()
return self.dmg
end
[свернуть]
Спойлер
Код
"script_lycan_howl"
{
"BaseClass" "ability_lua"
"AbilityTextureName" "lycan_howl"
"ScriptFile" "abilities/script_lycan_howl"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING"
"LevelsBetweenUpgrades" "2"
"RequiredLevel" "1"
"MaxLevel" "4"
"AbilityCastPoint" "0.3"
"AbilityCooldown" "60 55 50 45"
"AbilityDuration" "13"
"AbilityManaCost" "40"
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_FLOAT"
"howl_duration" "13.0"
}
"02"
{
"var_type" "FIELD_INTEGER"
"hero_bonus_damage" "10 15 20 25"
}
"03"
{
"var_type" "FIELD_INTEGER"
"unit_bonus_damage" "4 6 8 10"
}
"04"
{
"var_type" "FIELD_INTEGER"
"hero_bonus_hp" "50 100 150 200"
}
"05"
{
"var_type" "FIELD_INTEGER"
"unit_bonus_hp" "25 50 75 100"
}
}
}
[свернуть]
Огромное спасибо,уже так намучился с этим скиллом

Оффлайн FlutterButter

  • 6
  • Мощь: 0
Re: Люкан:скилл Howl скрипт
« Ответ #6 : 25-08-2017, 11:05:08 »
Оу :'( В итоге проверил:урон добавляется и юнитам и герою,а вот хп только герою,у юнитов остается прежним

Оффлайн den4iccc

  • Продвинутый
  • 400
  • Мощь: 7
Re: Люкан:скилл Howl скрипт
« Ответ #7 : 26-08-2017, 14:31:41 »
Оу :'( В итоге проверил:урон добавляется и юнитам и герою,а вот хп только герою,у юнитов остается прежним
Проверку сделай в lua
« Последнее редактирование: 26-08-2017, 14:33:12 от den4iccc »