В варкрафте есть такая таблица, которая появляется, если игрок даёт тебе контроль, или ливает, она отображает его ресурсы и т.д. Как можно полностью отключить её, чтобы она вообще больше никогда не появлялась в карте?
Нашёл решение проблемы: мультибоард появляется только когда в триггерах даётся полный контроль (ALLIANCE_SHARED_ADVANCED_CONTROL), надо просто сразу же после этого принудительно показать свой мультибоард - call MultiboardDisplay(multiboard, true), и всё, ненужный мультибоард скрывается!

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

  1. У меня часто настроено через "сценарии" => "кланы". Когда игрок ливает, не видно никакого мутиборда.
  2. В melee-игре, если игрок ливает. У него часто такое происходит
  3. Пробовал удалить melee-триггер. Когда ливает игрок, не видно никакого мультиборда. Выяснил, что это из-за действия
call MeleeInitVictoryDefeat(  )
там очень много настроек, находим нужное
// Set a trigger to fire whenever this player leaves
set trig = CreateTrigger()
call TriggerRegisterPlayerEvent(trig, indexPlayer, EVENT_PLAYER_LEAVE)
call TriggerAddAction(trig, function MeleeTriggerActionPlayerLeft)
смотрим
разбор
function MeleeTriggerActionPlayerLeft takes nothing returns nothing
    local player thePlayer = GetTriggerPlayer()

    // Just show game over for observers when they leave
    if (IsPlayerObserver(thePlayer)) then
        call RemovePlayerPreserveUnitsBJ(thePlayer, PLAYER_GAME_RESULT_NEUTRAL, false)
        return
    endif

    call CachePlayerHeroData(thePlayer)

    // This is the same as defeat except the player generates the message 
    // "player left the game" as opposed to "player was defeated".

    if (MeleeGetAllyCount(thePlayer) > 0) then
        // If at least one ally is still alive and kicking, share units with
        // them and proceed with death.
        call ShareEverythingWithTeam(thePlayer)
        call MeleeDoLeave(thePlayer)
    else
        // If no living allies remain, swap all units and buildings over to
        // neutral_passive and proceed with death.
        call MakeUnitsPassiveForTeam(thePlayer)
        call MeleeDoLeave(thePlayer)
    endif
    call MeleeCheckForLosersAndVictors()
endfunction
вот настройки союза
function ShareEverythingWithTeam takes player whichPlayer returns nothing
    local integer playerIndex
    local player  indexPlayer

    set playerIndex = 0
    loop
        set indexPlayer = Player(playerIndex)
        if (PlayersAreCoAllied(whichPlayer, indexPlayer) and whichPlayer != indexPlayer) then
            call SetPlayerAlliance(whichPlayer, indexPlayer, ALLIANCE_SHARED_VISION, true)
            call SetPlayerAlliance(whichPlayer, indexPlayer, ALLIANCE_SHARED_CONTROL, true)
            call SetPlayerAlliance(indexPlayer, whichPlayer, ALLIANCE_SHARED_CONTROL, true)
            call SetPlayerAlliance(whichPlayer, indexPlayer, ALLIANCE_SHARED_ADVANCED_CONTROL, true)
        endif

        set playerIndex = playerIndex + 1
        exitwhen playerIndex == bj_MAX_PLAYERS//
    endloop
endfunction
настройки
bj_ALLIANCE_UNALLIED противник
bj_ALLIANCE_UNALLIED_VISION противник с общим полем зрения
bj_ALLIANCE_NEUTRAL нейтральный
bj_ALLIANCE_NEUTRAL_VISION нейтральный с общим полем зрения
bj_ALLIANCE_ALLIED союзник
bj_ALLIANCE_ALLIED_VISION союзник с общим полем зрения
bj_ALLIANCE_ALLIED_UNITS союзник с общими полем зрения и общими войсками
bj_ALLIANCE_ALLIED_ADVUNITS союзник с общими полем зрения и общими войсками (этот параметр не очень понятен, но он то как раз и отвечает за продвинутый контроль за войсками. можете покупать и тренировать войска этого игрока, у вас будут открыты иконки юнитов (ранее в bj_ALLIANCE_ALLIED_UNITS это могло быть недоступным или невозможным, просто контроль давали и все). Также появляется мультиборд. В сценарии => кланы => "общие войска: все" - этот параметр тоже самое. Эту мульт нельзя обнаружить при тесте, если слоты союзников пусты).
ниже это аспекты союза. большая часть делает тоже самое, что и вверхняя часть
ALLIANCE_PASSIVE союз о не нападении
ALLIANCE_SHARED_VISION общее поле зрение
ALLIANCE_SHARED_VISION_FORCED ???
ALLIANCE_RESCUABLE ???
ALLIANCE_SHARED_CONTROL общие войска
ALLIANCE_SHARED_ADVANCED_CONTROL общие войска: все
ALLIANCE_SHARED_XP общий опыт
ALLIANCE_SHARED_SPELLS заклинания действуют на союзников
ALLIANCE_HELP_REQUEST просьба о помощи (пинги?)
ALLIANCE_HELP_RESPONSE оказания помощи (скорее всего финансовая помощь, передача ресурсов)
все происходит из-за этой штуки bj_ALLIANCE_ALLIED_ADVUNITS или ALLIANCE_SHARED_ADVANCED_CONTROL
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
27
5 лет назад
Отредактирован MpW
1
по-моему только спрятать. Короче у каждого игрока локально отображен 1 мультиборд, можно переключать мультиборды. После ливна игрока вам покажут эту отвратительную таблицу, а вы покажите заново нужный мульт (короче она где-то в игре будет существовать, и будет спрятана). И во-вторых, задавал один (даже не один пользователь хгм, а несколько, просто не найти темы) давно, пытался я помочь. Мне даже было интересно, мб ссылка или какая-нибудь переменная на эту таблицу. Рылся, искал в библиотеке. На хгм смотрел - ничего. Короче сшита или невозможно ссылку добыть на этот мульт, я бы нафиг удалил этот мультиборд. xgm.guru/p/wc3/164268
до такого у себя в карте не доходил. Это происходит чаще в стандартных сражениях. У вас они там? Наблюдение (возможно ошибаюсь): Но в некоторых картах, не в melee, если игрок ливает, то такой фигни не происходит. Не исключаю что в melee-функции что-то.
0
16
5 лет назад
0
в доте же его нет, значит как-то можно
0
24
5 лет назад
0
Передача контроля делается двумя разными способами. И, насколько я помню, один из них не показывает таблицу ресурсов, но дает чуть меньше возможностей.
0
23
5 лет назад
0
Все очень просто делай каждый игрок не союзник а нетральный но при это видит, игрок ливнет ни кто не получит такое окно ресурсы
7
27
5 лет назад
Отредактирован MpW
7
  1. У меня часто настроено через "сценарии" => "кланы". Когда игрок ливает, не видно никакого мутиборда.
  2. В melee-игре, если игрок ливает. У него часто такое происходит
  3. Пробовал удалить melee-триггер. Когда ливает игрок, не видно никакого мультиборда. Выяснил, что это из-за действия
call MeleeInitVictoryDefeat(  )
там очень много настроек, находим нужное
// Set a trigger to fire whenever this player leaves
set trig = CreateTrigger()
call TriggerRegisterPlayerEvent(trig, indexPlayer, EVENT_PLAYER_LEAVE)
call TriggerAddAction(trig, function MeleeTriggerActionPlayerLeft)
смотрим
разбор
function MeleeTriggerActionPlayerLeft takes nothing returns nothing
    local player thePlayer = GetTriggerPlayer()

    // Just show game over for observers when they leave
    if (IsPlayerObserver(thePlayer)) then
        call RemovePlayerPreserveUnitsBJ(thePlayer, PLAYER_GAME_RESULT_NEUTRAL, false)
        return
    endif

    call CachePlayerHeroData(thePlayer)

    // This is the same as defeat except the player generates the message 
    // "player left the game" as opposed to "player was defeated".

    if (MeleeGetAllyCount(thePlayer) > 0) then
        // If at least one ally is still alive and kicking, share units with
        // them and proceed with death.
        call ShareEverythingWithTeam(thePlayer)
        call MeleeDoLeave(thePlayer)
    else
        // If no living allies remain, swap all units and buildings over to
        // neutral_passive and proceed with death.
        call MakeUnitsPassiveForTeam(thePlayer)
        call MeleeDoLeave(thePlayer)
    endif
    call MeleeCheckForLosersAndVictors()
endfunction
вот настройки союза
function ShareEverythingWithTeam takes player whichPlayer returns nothing
    local integer playerIndex
    local player  indexPlayer

    set playerIndex = 0
    loop
        set indexPlayer = Player(playerIndex)
        if (PlayersAreCoAllied(whichPlayer, indexPlayer) and whichPlayer != indexPlayer) then
            call SetPlayerAlliance(whichPlayer, indexPlayer, ALLIANCE_SHARED_VISION, true)
            call SetPlayerAlliance(whichPlayer, indexPlayer, ALLIANCE_SHARED_CONTROL, true)
            call SetPlayerAlliance(indexPlayer, whichPlayer, ALLIANCE_SHARED_CONTROL, true)
            call SetPlayerAlliance(whichPlayer, indexPlayer, ALLIANCE_SHARED_ADVANCED_CONTROL, true)
        endif

        set playerIndex = playerIndex + 1
        exitwhen playerIndex == bj_MAX_PLAYERS//
    endloop
endfunction
настройки
bj_ALLIANCE_UNALLIED противник
bj_ALLIANCE_UNALLIED_VISION противник с общим полем зрения
bj_ALLIANCE_NEUTRAL нейтральный
bj_ALLIANCE_NEUTRAL_VISION нейтральный с общим полем зрения
bj_ALLIANCE_ALLIED союзник
bj_ALLIANCE_ALLIED_VISION союзник с общим полем зрения
bj_ALLIANCE_ALLIED_UNITS союзник с общими полем зрения и общими войсками
bj_ALLIANCE_ALLIED_ADVUNITS союзник с общими полем зрения и общими войсками (этот параметр не очень понятен, но он то как раз и отвечает за продвинутый контроль за войсками. можете покупать и тренировать войска этого игрока, у вас будут открыты иконки юнитов (ранее в bj_ALLIANCE_ALLIED_UNITS это могло быть недоступным или невозможным, просто контроль давали и все). Также появляется мультиборд. В сценарии => кланы => "общие войска: все" - этот параметр тоже самое. Эту мульт нельзя обнаружить при тесте, если слоты союзников пусты).
ниже это аспекты союза. большая часть делает тоже самое, что и вверхняя часть
ALLIANCE_PASSIVE союз о не нападении
ALLIANCE_SHARED_VISION общее поле зрение
ALLIANCE_SHARED_VISION_FORCED ???
ALLIANCE_RESCUABLE ???
ALLIANCE_SHARED_CONTROL общие войска
ALLIANCE_SHARED_ADVANCED_CONTROL общие войска: все
ALLIANCE_SHARED_XP общий опыт
ALLIANCE_SHARED_SPELLS заклинания действуют на союзников
ALLIANCE_HELP_REQUEST просьба о помощи (пинги?)
ALLIANCE_HELP_RESPONSE оказания помощи (скорее всего финансовая помощь, передача ресурсов)
все происходит из-за этой штуки bj_ALLIANCE_ALLIED_ADVUNITS или ALLIANCE_SHARED_ADVANCED_CONTROL
Принятый ответ
0
28
5 лет назад
0
ALLIANCE_RESCUABLE
Это для кампаний, игрок подходит к юниту и тот становится его.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.