Я вроде правильно сделал
Создает юнит скрытый для всех игроков, потом сравниваем игрока локальный и показываем юнит, но десихронит
function Trig_Start_Func001A takes nothing returns nothing
    local player p = GetEnumPlayer()
    local unit u
    
    if  ( GetPlayerSlotState(p) == PLAYER_SLOT_STATE_PLAYING ) then
        call SetPlayerAllianceStateBJ( Player(PLAYER_NEUTRAL_PASSIVE), p, bj_ALLIANCE_ALLIED )
        call CreateFogModifierRectBJ( true, p, FOG_OF_WAR_VISIBLE, gg_rct_City )
            
        call CreateNUnitsAtLoc(1, 'hhou', p, GetPlayerStartLocationLoc(p), bj_UNIT_FACING)
        set u = GetLastCreatedUnit()
        call ShowUnit(u, false)
        
        if ( p == GetLocalPlayer() ) then
            call ShowUnit(u, true)
            call SelectUnit(u, true)
        endif

    endif
endfunction

function Trig_Start_Actions takes nothing returns nothing
    call ForForce( GetPlayersByMapControl(MAP_CONTROL_USER), function Trig_Start_Func001A )
endfunction

Принятый ответ

Блин нельзя скрывать \ показывать локально, десинх 100%.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
26
7 лет назад
0
выбирать юнита который скрыт это конечно мощно
0
23
7 лет назад
0
Hate, о чем ты каждый локал открывает и выбирает юнит вот и десихронит тупо!
0
21
7 лет назад
0
if ( p == GetLocalPlayer() ) then
call ShowUnit(u, true)
call SelectUnit(u, true)
endif
Раньше строчки с ShowUnit не было.
Была только с SelectUnit.
В коде ошибка была только здесь или и там тоже?
0
23
7 лет назад
0
ClotPh, выложил исправленый но десихронит все равно хз вроде скрыть всех но показать для локальный своих юнитов страно что не пашет
ClotPh, даже так
local integer i = 0
    local player p
    local unit u
    
    loop
        exitwhen i >= bj_MAX_PLAYERS
        set p = Player(i)
        if  ( GetPlayerSlotState(p) == PLAYER_SLOT_STATE_PLAYING ) then
            call SetPlayerAllianceStateBJ( Player(PLAYER_NEUTRAL_PASSIVE), p, bj_ALLIANCE_ALLIED )
            call CreateFogModifierRectBJ( true, p, FOG_OF_WAR_VISIBLE, gg_rct_City )
                
            call CreateNUnitsAtLoc(1, 'hhou', p, GetPlayerStartLocationLoc(p), bj_UNIT_FACING)
            set u = GetLastCreatedUnit()
            call ShowUnit(u, false)
            
            if ( p == GetLocalPlayer() ) then
                call ShowUnit(u, true)
                call SelectUnit(u, true)
            endif
        endif
        set i = i + 1
    endloop
0
32
7 лет назад
0
Блин нельзя скрывать \ показывать локально, десинх 100%.
Принятый ответ
0
23
7 лет назад
0
quq_CCCP, да ну как тогда сделать? а можно ли менять контроль если он создан нетрал 1 юнит а контрит через локал?
quq_CCCP, А если делать так
local trigger s = CreateTrigger(  )
    local integer i = 0
    local player p
    
    call CreateNUnitsAtLoc(1, 'hhou', p, GetPlayerStartLocationLoc(p), bj_UNIT_FACING)
    
    loop
        exitwhen i >= bj_MAX_PLAYERS
        set p = Player(i)
        if  ( GetPlayerSlotState(p) == PLAYER_SLOT_STATE_PLAYING ) then
            call SetPlayerAllianceStateBJ( Player(PLAYER_NEUTRAL_PASSIVE), p, bj_ALLIANCE_ALLIED )
            call CreateFogModifierRectBJ( true, p, FOG_OF_WAR_VISIBLE, gg_rct_City )
            if ( p == GetLocalPlayer() ) then
                call SetUnitOwner( GetLastCreatedUnit(), p, true )
            endif
        endif
        set i = i + 1
    endloop
0
32
7 лет назад
0
Viktor19, Нееет, нильзя локально менять глобальные параметры, только тексты, цвета и прозрачность, никакой контроль, ты ваще думаешь?
У тебя ты контролишь юнитом, в второго игрока нейтрал? Десинх мгновенно!
Хочешь чтобы юнитов ни видели другие, юзай морф пауков - закопатся, они не видны союзникам.
0
23
7 лет назад
0
quq_CCCP, ну приложи пример кода который можно в 1 точку юнит свои каждый игрока и выбирать героя...
quq_CCCP, а то алтарь в 1 точку каждый игрок и там имеест создать героя, а если умер то свой ресает. И чтоб не было 12 домиков а 1 домик и каждая своя =)
0
32
7 лет назад
0
Нечего не пойму, что тебе надо? Создать по юниту для игрока? Ну и создавай по 1 юниту для каждого игрока + вручай им инвиз мины, таким образом игроки друг друга не увидят, что еще нужно?
Зачем алтарь для каждого игрока? Че за глупости, поставить магазин за нейтралов который продает крипов не судьба? Крип с иконкой твоего героя и описанием - "Воскресить моего героя", и ставиш лимит найма 0 когда герой жив, и 1 когда мертрв! При покупке крипа мгновенно его удаляешь и воскрешаешь героя.
Сам алтарь сделай из лагеря наёмных нейтралов.
0
23
7 лет назад
0
quq_CCCP, но они же союзники видит инвизы же=)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.