Простые вопросы #2

Статус
В этой теме нельзя размещать новые ответы.

almazist1

Продвинутый
куча вопросов от меня) Почему не работает меджик резист у хускара
Код:
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
 

Chagpoint

Пользователь
26 Сен 2018
17
2
как увеличить максимальный уровень у всех героев до 35 или 50?
 

almazist1

Продвинутый
Ребят, как сделать чтоб все выпавшие шмотки с моба были общими, можно было их передавать и они могли собираться в другие предметы если их передашь?
решил ITEM_FULLY_SHAREABLE_STACKING
 

stranger568

Активный
7 Сен 2015
113
28
bmemov.ru
Проект
Birzha Memov
2Z-t1TEiWG0.jpg
Вкусные 800 мб патча
 

shesmu

Продвинутый
22 Фев 2018
158
22
Подскажите кастомку с кастомным инвентарем
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
че за нах, вольво убило кастомку напрочь
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
может кто объяснить почему с воркшопа кастомка запускается и все норм, а в доте черный экран и все, это после обновы 7 декабря

и есть еще вот такое вроде раньше не было
Код:
CMaterial2::LoadShadersAndSetupModes(1171): Error creating shader gaussian_bloom_blur_cs.vfx for material materials/dev/gaussian_bloom_blur_cs.vmat!
 

almazist1

Продвинутый
кто знает в чем трабл, не меняет героя на пуджика у даер
Код:
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
 

.фи

Активный
21 Мар 2018
108
13
кто знает в чем трабл, не меняет героя на пуджика у даер
Код:
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.

А может дело в чём-то ещё.
Доброй ночи.
 

bobi

Активный
24 Июл 2017
99
18
кто знает в чем трабл, не меняет героя на пуджика у даер
Код:
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
 

danilkoo832832

Пользователь
5 Фев 2016
40
3
Создал абилку с модификатором на луа которые должны устанавливать реген хп на 30, но что-то пошло не так.
Код:
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
Хотел вывести таблицу params чтобы понять что принимает функция, но консоль молчит.
Как мне вывести переменные в консоль?
 
Статус
В этой теме нельзя размещать новые ответы.
Реклама: