Помогите пожалуйста со стадией пика

crazyfors123

Новичок
24 Фев 2018
6
0
Привет всем. Видел на форуме много тем по этому поводу, но так и не нашёл достойный ответ. Как сделать так чтобы игроку не имеющему героя рандомило его как в ALLPICK. Вот, что я нашёл, а как дальше рандомить человеку героя?


HTML:
function COverthrowGameMode:OnGameRulesStateChange(keys)
    local newState = GameRules:State_Get()
    
    if newState == DOTA_GAMERULES_STATE_PRE_GAME then
        Что должно быть тут?
    end
end
 
Lua:
if GameRules:State_Get() == DOTA_GAMERULES_STATE_TEAM_SHOWCASE then
        for i = 0, DOTA_MAX_PLAYERS-1 do
            local hPlayer = PlayerResource:GetPlayer(i)
            if PlayerResource:IsValidPlayerID(i) and hPlayer and not PlayerResource:HasSelectedHero(i) then
                hPlayer:MakeRandomHeroSelection()
            end
        end
    end
 
Последнее редактирование модератором:
Код:
if GameRules:State_Get() == DOTA_GAMERULES_STATE_TEAM_SHOWCASE then
        for i = 0, DOTA_MAX_PLAYERS-1 do
            local hPlayer = PlayerResource:GetPlayer(i)
            if PlayerResource:IsValidPlayerID(i) and hPlayer and not PlayerResource:HasSelectedHero(i) then
                hPlayer:MakeRandomHeroSelection()
            end
        end
    end
Героя мне как бы рандомит, но не спавнит его
Screenshot_1.png
 
Код:
if GameRules:State_Get() == DOTA_GAMERULES_STATE_TEAM_SHOWCASE then
        for i = 0, DOTA_MAX_PLAYERS-1 do
            local hPlayer = PlayerResource:GetPlayer(i)
            if PlayerResource:IsValidPlayerID(i) and hPlayer and not PlayerResource:HasSelectedHero(i) then
                hPlayer:MakeRandomHeroSelection()
            end
        end
    end
Можно ли сделать исключение для персонажа , то есть может рандомно выдаться любой перс кроме ЗЕВСА ?
 
Можно ли сделать исключение для персонажа , то есть может рандомно выдаться любой перс кроме ЗЕВСА ?
Так а если убрать его из herolist(поставить 0), или как там этот файл теперь называется
 
Ну так если он уже есть в игре, то рандомом он таки выпасть не может
 
Написать самому рандом
 
А можно как-нибудь убрать героя , типа забанить героя ?
 
Попробуй делать проверку, типо если из рандома выпал зевс, то рандомить заново
c56d9614-01cd-4d9d-a127-0b47db96fae0_1.2b0d805673fa959d87426acfc421bd7a.jpeg
 
Вам же сказали, свою систему рандома пусть пишет.
 
Зачем как нибудь ещё? Что тебе не нравиться в этих двух вариантах?
 
Почему не работает ?

Код:
            for i = 0, DOTA_MAX_PLAYERS-1 do
                local hPlayer = PlayerResource:GetPlayer(i)
                --GameRules:GetGameModeEntity():SetCustomGameForceHero("npc_dota_hero_pudge")
                if PlayerResource:IsValidPlayerID(i) and hPlayer and not PlayerResource:HasSelectedHero(i) then
                    hPlayer:MakeRandomHeroSelection()
                    local newHero = PlayerResource:ReplaceHeroWith(i,"npc_dota_hero_nevermore",0,0)            --ReplaceHeroWith()

--                    name = PlayerResource:GetSelectedHeroEntity(i):GetUnitName()
                end
            end
 
Подскажите api. Надо сделать юнита подконтрольным только для одной команды. Именно для Badguys.
 
Реклама: