Заметил вот что:
DisplayTextToForce( force, string ) если использовать лишь для одного игрока в стиле DisplayTextToForce( GetForceOfPlayer(p), "сообщение"), то GetForceOfPlayer() вызывает утечку, создавая группу игроков внутри себя.
Но внутри DisplayTextToForce выполняется следующий код:
if (IsPlayerInForce(GetLocalPlayer(), toForce)) then
        call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, message)
endif
Неужели, если я напишу call DisplayTextToPlayer(Player(0), 0, 0, "это или то"), то в игре произойдёт десинхронизация?
Или если сделаю так:
function m_disptexttoplr takes player who, string msg returns nothing
    if (GetLocalPlayer()==who) then
        call DisplayTextToPlayer(who, 0, 0, message)
    endif
endfunction
и далее ей воспользуюсь:
call m_disptexttoplr(Player(0),''такое то сообщение')
То тоже десинхнутся игроки?

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

Не надо трахать мозг LocalPlayer с сообщениями, они не синхронизируются,просто выводи сообщение для нужного игрока (GetLocalPlayer() вернет тому игроку на пк которого запущена игра), десинхов не будет, но в реплее ты их не увидишь.
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
30
7 лет назад
2
Не должны, лучше проверить самостоятельно
0
32
7 лет назад
0
Не надо трахать мозг LocalPlayer с сообщениями, они не синхронизируются,просто выводи сообщение для нужного игрока (GetLocalPlayer() вернет тому игроку на пк которого запущена игра), десинхов не будет, но в реплее ты их не увидишь.
Принятый ответ
3
28
7 лет назад
Отредактирован nvc123
3
вывод текста десинк не вызывает
call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, message) // выводит сообщение всем игрокам

call DisplayTextToPlayer(Player(0), 0, 0, "это или то") // выводит сообщение первому игроку
// а это долбаный костыль из говна и палок:
if (IsPlayerInForce(GetLocalPlayer(), toForce)) then
        call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, message)
endif
Чтобы оставить комментарий, пожалуйста, войдите на сайт.