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

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
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
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
 
Последнее редактирование модератором:

crazyfors123

Новичок
24 Фев 2018
6
0
Код:
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
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
195
www.dotabuff.com
Проект
Roshan defense
Код:
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
Можно ли сделать исключение для персонажа , то есть может рандомно выдаться любой перс кроме ЗЕВСА ?
 

Дикий Пёс

Друзья CG
28 Июн 2017
411
96
Проект
Petri Reborn
Можно ли сделать исключение для персонажа , то есть может рандомно выдаться любой перс кроме ЗЕВСА ?
Так а если убрать его из herolist(поставить 0), или как там этот файл теперь называется
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
195
www.dotabuff.com
Проект
Roshan defense

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Ну так если он уже есть в игре, то рандомом он таки выпасть не может
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Написать самому рандом
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
195
www.dotabuff.com
Проект
Roshan defense
А можно как-нибудь убрать героя , типа забанить героя ?
 

Дикий Пёс

Друзья CG
28 Июн 2017
411
96
Проект
Petri Reborn
Попробуй делать проверку, типо если из рандома выпал зевс, то рандомить заново
c56d9614-01cd-4d9d-a127-0b47db96fae0_1.2b0d805673fa959d87426acfc421bd7a.jpeg
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
Вам же сказали, свою систему рандома пусть пишет.
 

Дикий Пёс

Друзья CG
28 Июн 2017
411
96
Проект
Petri Reborn
Зачем как нибудь ещё? Что тебе не нравиться в этих двух вариантах?
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
195
www.dotabuff.com
Проект
Roshan defense
Почему не работает ?

Код:
            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
 

IntelTwix

Пользователь
25 Фев 2018
50
1
Проект
Humans vs Zombie
Подскажите api. Надо сделать юнита подконтрольным только для одной команды. Именно для Badguys.
 
Реклама: