.фи
Активный
- 21 Мар 2018
- 117
- 16
бог костылей.Через модифаер, от скилла, желательно не отображаемый, прокачанный с первого лвл-а.
if modifier_huskar_berserkers_blood_lua == nil then
modifier_huskar_berserkers_blood_lua = class({})
end
--[[Author: Bude
Date: 30.09.2015.
Grants magical resistance and attackspeed and increases model size per modifier stack
TODO: Particles and status effects need to be implemented correctly
NOTE: Model size increase is probably inaccurate and also awfully jumpy
]]--
function modifier_huskar_berserkers_blood_lua:GetAttributes()
return MODIFIER_ATTRIBUTE_PERMANENT
end
--As described: Could not get the particles to work ...
--[[
function modifier_huskar_berserkers_blood_lua:GetStatusEffectName()
return "particles/units/heroes/hero_huskar/huskar_berserker_blood_hero_effect.vpcf"
end
function modifier_huskar_berserkers_blood_lua:GetStatusEffectPriority()
return 16
end
]]--
function modifier_huskar_berserkers_blood_lua:OnCreated()
-- Variables
self.berserkers_blood_magic_resist = self:GetAbility():GetSpecialValueFor( "resistance_per_stack" )
self.berserkers_blood_attack_speed = self:GetAbility():GetSpecialValueFor( "bonus_movement_speed_per_stack" )
self.berserkers_blood_qq = self:GetAbility():GetSpecialValueFor( "status_resistance_per_stack" )
self.berserkers_blood_model_size = self:GetAbility():GetSpecialValueFor("model_size_per_stack")
self.berserkers_blood_hurt_health_ceiling = self:GetAbility():GetSpecialValueFor("hurt_health_ceiling")
self.berserkers_blood_hurt_health_floor = self:GetAbility():GetSpecialValueFor("hurt_health_floor")
self.berserkers_blood_hurt_health_step = self:GetAbility():GetSpecialValueFor("hurt_health_step")
if IsServer() then
--print("Created")
self:SetStackCount( 1 )
self:GetParent():CalculateStatBonus()
self:StartIntervalThink(0.1)
end
end
function modifier_huskar_berserkers_blood_lua:OnIntervalThink()
if IsServer() then
--print("Thinking")
-- Variables
local caster = self:GetParent()
local oldStackCount = self:GetStackCount()
local health_perc = caster:GetHealthPercent()/100
local newStackCount = 1
local model_size = self.berserkers_blood_model_size
local hurt_health_ceiling = self.berserkers_blood_hurt_health_ceiling
local hurt_health_floor = self.berserkers_blood_hurt_health_floor
local hurt_health_step = self.berserkers_blood_hurt_health_step
for current_health=hurt_health_ceiling, hurt_health_floor, -hurt_health_step do
if health_perc <= current_health then
newStackCount = newStackCount+1
else
break
end
end
local difference = newStackCount - oldStackCount
-- set stackcount
if difference ~= 0 then
caster:SetModelScale(caster:GetModelScale()+difference*model_size)
self:SetStackCount( newStackCount )
self:ForceRefresh()
end
end
end
function modifier_huskar_berserkers_blood_lua:OnRefresh()
self.berserkers_blood_magic_resist = self:GetAbility():GetSpecialValueFor( "resistance_per_stack" )
self.berserkers_blood_attack_speed = self:GetAbility():GetSpecialValueFor( "bonus_movement_speed_per_stack" )
self.berserkers_blood_qq = self:GetAbility():GetSpecialValueFor( "status_resistance_per_stack" )
local StackCount = self:GetStackCount()
local caster = self:GetParent()
if IsServer() then
self:GetParent():CalculateStatBonus()
end
end
function modifier_huskar_berserkers_blood_lua:DeclareFunctions()
local funcs = {
MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS,
MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT,
MODIFIER_PROPERTY_STATUS_RESISTANCE_STACKING
}
return funcs
end
function modifier_huskar_berserkers_blood_lua:GetModifierMagicalResistanceBonus( params )
return self:GetStackCount() * self.berserkers_blood_magic_resist
end
function modifier_huskar_berserkers_blood_lua:GetModifierMoveSpeedBonus_Constant ( params )
return self:GetStackCount() * self.berserkers_blood_attack_speed
end
function modifier_huskar_berserkers_blood_lua: GetModifierStatusResistanceStacking ( params )
return self:GetStackCount() * self.berserkers_blood_qq
end
В barebones USE_CUSTOM_HERO_LEVELS = true (если требуется) и MAX_LEVEL = 50как увеличить максимальный уровень у всех героев до 35 или 50?
https://customgames.ru/forum/threads/скрипт-на-максимальный-уровень-100.434/#post-3188как увеличить максимальный уровень у всех героев до 35 или 50?
решил ITEM_FULLY_SHAREABLE_STACKINGРебят, как сделать чтоб все выпавшие шмотки с моба были общими, можно было их передавать и они могли собираться в другие предметы если их передашь?
CMaterial2::LoadShadersAndSetupModes(1171): Error creating shader gaussian_bloom_blur_cs.vfx for material materials/dev/gaussian_bloom_blur_cs.vmat!
function GameMode:InitGameMode()
GameMode = self
DebugPrint('[BAREBONES] Starting to load Barebones gamemode...')
ListenToGameEvent("dota_player_pick_hero", OnHeroPicked, nil)
ListenToGameEvent('dota_player_pick_hero', Dynamic_Wrap(GameMode, 'OnHeroPicked'), self)
-- Commands can be registered for debugging purposes or as functions that can be called by the custom Scaleform UI
Convars:RegisterCommand( "command_example", Dynamic_Wrap(GameMode, 'ExampleConsoleCommand'), "A console command example", FCVAR_CHEAT )
DebugPrint('[BAREBONES] Done loading Barebones gamemode!\n\n')
end
function GameMode:OnHeroPicked()
local playerCnt = PlayerResource:GetPlayerCount()
for playerID = 0, playerCnt - 1 do
local player = PlayerInstanceFromIndex(playerID + 1) -- index = playerID + 1
local team = player:GetTeamNumber()
end
if team == DOTA_TEAM_BADGUYS then
PlayerResource:ReplaceHeroWith(playerID, "npc_dota_hero_pudge", 0, 0)
end
end
кто знает в чем трабл, не меняет героя на пуджика у даер
Код:function GameMode:InitGameMode() GameMode = self DebugPrint('[BAREBONES] Starting to load Barebones gamemode...') ListenToGameEvent("dota_player_pick_hero", OnHeroPicked, nil) ListenToGameEvent('dota_player_pick_hero', Dynamic_Wrap(GameMode, 'OnHeroPicked'), self) -- Commands can be registered for debugging purposes or as functions that can be called by the custom Scaleform UI Convars:RegisterCommand( "command_example", Dynamic_Wrap(GameMode, 'ExampleConsoleCommand'), "A console command example", FCVAR_CHEAT ) DebugPrint('[BAREBONES] Done loading Barebones gamemode!\n\n') end function GameMode:OnHeroPicked() local playerCnt = PlayerResource:GetPlayerCount() for playerID = 0, playerCnt - 1 do local player = PlayerInstanceFromIndex(playerID + 1) -- index = playerID + 1 local team = player:GetTeamNumber() end if team == DOTA_TEAM_BADGUYS then PlayerResource:ReplaceHeroWith(playerID, "npc_dota_hero_pudge", 0, 0) end end
нет, не кастомные. У меня утро) доброе)Помнится, у тебя кастомные команды, а не BADGUYS и GOODGUYS.
А может дело в чём-то ещё.
Доброй ночи.
кто знает в чем трабл, не меняет героя на пуджика у даер
Код:function GameMode:InitGameMode() GameMode = self DebugPrint('[BAREBONES] Starting to load Barebones gamemode...') ListenToGameEvent("dota_player_pick_hero", OnHeroPicked, nil) ListenToGameEvent('dota_player_pick_hero', Dynamic_Wrap(GameMode, 'OnHeroPicked'), self) -- Commands can be registered for debugging purposes or as functions that can be called by the custom Scaleform UI Convars:RegisterCommand( "command_example", Dynamic_Wrap(GameMode, 'ExampleConsoleCommand'), "A console command example", FCVAR_CHEAT ) DebugPrint('[BAREBONES] Done loading Barebones gamemode!\n\n') end function GameMode:OnHeroPicked() local playerCnt = PlayerResource:GetPlayerCount() for playerID = 0, playerCnt - 1 do local player = PlayerInstanceFromIndex(playerID + 1) -- index = playerID + 1 local team = player:GetTeamNumber() end if team == DOTA_TEAM_BADGUYS then PlayerResource:ReplaceHeroWith(playerID, "npc_dota_hero_pudge", 0, 0) end end
function GameMode:OnHeroPicked()
local playerCnt = PlayerResource:GetPlayerCount()
for playerID = 0, playerCnt - 1 do
local player = PlayerInstanceFromIndex(playerID + 1) -- index = playerID + 1
local team = player:GetTeamNumber()
if team == DOTA_TEAM_BADGUYS then
PlayerResource:ReplaceHeroWith(playerID, "npc_dota_hero_pudge", 0, 0)
end
end
end
dota_ability_give_regen_health = class({})
LinkLuaModifier("dota_modifier_give_regen_health","dota_ability_give_regen_health",LUA_MODIFIER_MOTION_NONE)
function dota_ability_give_regen_health:OnToggle()
local Caster = self:GetCaster()
if self:GetToggleState() then
Caster:AddNewModifier(Caster, self, "dota_modifier_give_regen_health", {})
else
Caster:RemoveModifierByName("dota_modifier_give_regen_health")
end
end
dota_modifier_give_regen_health = class({})
function dota_modifier_give_regen_health:DeclareFunction()
local funcs =
{
MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT
}
return funcs
end
function dota_modifier_give_regen_health:GetModifierConstantHealthRegen(params)
local Caster = self:GetCaster()
local supertable =
{
a = 19,
b = 12,
c =
{
a = "dwee",
b = 30,
},
}
DeepPrintTable(params)
DeepPrintTable(supertable)
print('dota_modifier_give_regen_health print')
Caster:SetBaseHealthRegen(30)
end