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

crazyfors123

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


HTML:
function COverthrowGameMode:OnGameRulesStateChange(keys)
    local newState = GameRules:State_Get()
    
    if newState == DOTA_GAMERULES_STATE_PRE_GAME then
        Что должно быть тут?
    end
end
 

ZLOY

Администратор
27 Июн 2016
671
96
28
18
Реакции
94 0 2
#2
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
1
23
Реакции
0 0 0
#3
Код:
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
Героя мне как бы рандомит, но не спавнит его
 

ZLOY

Администратор
27 Июн 2016
671
96
28
18
Реакции
94 0 2
#4
У тебя стоит DOTA_GAMERULES_STATE_TEAM_SHOWCASE или DOTA_GAMERULES_STATE_PRE_GAME?
 
Реклама:

vulkantsk

Друзья CG
21 Июн 2017
678
84
28
18
https://steamcommunity.com/profiles/76561198307890
www.dotabuff.com
Проект
Roshan defense
Реакции
79 0 5
#6
Код:
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
Можно ли сделать исключение для персонажа , то есть может рандомно выдаться любой перс кроме ЗЕВСА ?
 

Дикий Пёс

Продвинутый
28 Июн 2017
150
48
18
Проект
Petri Reborn
Реакции
47 0 1
#7
Можно ли сделать исключение для персонажа , то есть может рандомно выдаться любой перс кроме ЗЕВСА ?
Так а если убрать его из herolist(поставить 0), или как там этот файл теперь называется
 

vulkantsk

Друзья CG
21 Июн 2017
678
84
28
18
https://steamcommunity.com/profiles/76561198307890
www.dotabuff.com
Проект
Roshan defense
Реакции
79 0 5
#8

ZLOY

Администратор
27 Июн 2016
671
96
28
18
Реакции
94 0 2
#9
Ну так если он уже есть в игре, то рандомом он таки выпасть не может
 

vulkantsk

Друзья CG
21 Июн 2017
678
84
28
18
https://steamcommunity.com/profiles/76561198307890
www.dotabuff.com
Проект
Roshan defense
Реакции
79 0 5
#10
Реклама:

ZLOY

Администратор
27 Июн 2016
671
96
28
18
Реакции
94 0 2
#11
Написать самому рандом
 

Дикий Пёс

Продвинутый
28 Июн 2017
150
48
18
Проект
Petri Reborn
Реакции
47 0 1
#13
Попробуй делать проверку, типо если из рандома выпал зевс, то рандомить заново
proxy.php?image=https%3A%2F%2Fi5.walmartimages.com%2Fasr%2Fc56d9614-01cd-4d9d-a127-0b47db96fae0_1.2b0d805673fa959d87426acfc421bd7a.jpeg%3FodnHeight%3D450%26odnWidth%3D450%26odnBg%3DFFFFFF&hash=62f22b407e6af46f1842a3c114daad29
 

vulkantsk

Друзья CG
21 Июн 2017
678
84
28
18
https://steamcommunity.com/profiles/76561198307890
www.dotabuff.com
Проект
Roshan defense
Реакции
79 0 5
#14

I_GRIN_I

Друзья CG
15 Мар 2016
1,209
110
48
20
Реакции
108 0 2
#15
Вам же сказали, свою систему рандома пусть пишет.
 
Реклама:

Дикий Пёс

Продвинутый
28 Июн 2017
150
48
18
Проект
Petri Reborn
Реакции
47 0 1
#17
Зачем как нибудь ещё? Что тебе не нравиться в этих двух вариантах?
 

vulkantsk

Друзья CG
21 Июн 2017
678
84
28
18
https://steamcommunity.com/profiles/76561198307890
www.dotabuff.com
Проект
Roshan defense
Реакции
79 0 5
#18
Почему не работает ?

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

Илья

Супермодератор
Команда форума
25 Сен 2015
2,348
41
48
27
Реакции
41 0 0
#19
Ну а консоль что пишет?
 

IntelTwix

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