Как убрать стадию пика

IntelTwix

Пользователь
25 Фев 2018
50
1
Проект
Humans vs Zombie
Ребят, подскажите пожайлуста. Надо убрать стадию пика. Есть 2 команды, одной команде что бы выдавался один герой. Другой команде другой герой.
Насколько я понял это делается через Api GameRules:GetGamemodeEntity():SetCustomGameForceHero(..)
Но что то я добавлял его и все без изменений.
 
Код:
GameRules:GetGamemodeEntity():SetCustomGameForceHero(..)
Так и добавляешь?
 
Код:
GameRules:GetGamemodeEntity():SetCustomGameForceHero(..)
Так и добавляешь?
Нет конечно)
1519582288987.png

Вот что у меня в addon_game_mode.lua (В текстовом виде, вдруг картинка не понравится)
Код:
-- Generated from template

if CAddonTemplateGameMode == nil then
    CAddonTemplateGameMode = class({})
end

function Precache( context )
    --[[
        Precache things we know we'll use.  Possible file types include (but not limited to):
            PrecacheResource( "model", "*.vmdl", context )
            PrecacheResource( "soundfile", "*.vsndevts", context )
            PrecacheResource( "particle", "*.vpcf", context )
            PrecacheResource( "particle_folder", "particles/folder", context )
    ]]
end
function GameMode:OnGameRulesStateChange(keys)
    local newState = GameRules:State_Get()
    if GameRules:State_Get() == DOTA_GAMERULES_STATE_HERO_SELECTION then
        HeroSelection:Start()
    end
GameRules:SetCustomGameTeamMaxPlayers( DOTA_TEAM_GOODGUYS, 8 )
GameRules:SetCustomGameTeamMaxPlayers( DOTA_TEAM_BADGUYS, 1 )
GameRules:GetGameModeEntity():SetCustomGameForceHero( "npc_dota_hero_sven" )
ReplaceHeroWith()
-- Create the game mode when we activate
function Activate()
    GameRules.AddonTemplate = CAddonTemplateGameMode()
    GameRules.AddonTemplate:InitGameMode()
end
function CAddonTemplateGameMode:InitGameMode()
    print( "Template addon is loaded." )
    GameRules:GetGameModeEntity():SetThink( "OnThink", self, "GlobalThink", 2 )
end

-- Evaluate the state of the game
function CAddonTemplateGameMode:OnThink()
    if GameRules:State_Get() == DOTA_GAMERULES_STATE_GAME_IN_PROGRESS then
        --print( "Template addon script is running." )
    elseif GameRules:State_Get() >= DOTA_GAMERULES_STATE_POST_GAME then
        return nil
    end
    return 1
end
 
Последнее редактирование:
Пробовал с InitGameMode запихнуть? И хз что там делает ReplaceHeroWith
 
Пол ночи просидел. Перечитал пол форума, в голове каша. Но так ничего и не сделал . . .
 
Теперь ляг поспи, информация усвоится, наутро вновь попробуй.
 
Разобрался, помог barebones. Вот только можете подсказать как для каждой команды сделать отдельного героя. А то в какой команде бы я не был, один и тот же персонаж.
 
Lua:
if team == DOTA_TEAM_GOODGUYS then
     PlayerResource:ReplaceHeroWith(int iPlayerID, string pszHeroClass, int nGold, int nXP)
end
 
  • Нравится
Реакции: IntelTwix
Нужно в функцию onheropicked и название переменных свои поставить
Ты имеешь ввиду функцию OnHeroInGame. Или же все такие как ты сказал OnHeroPicked. Если OnHeroPicked, то такой функции у меня в gamemode.lua просто нету.
 
Реклама: