call DisplayTextToPlayer(Player(x), 0, 0, message)?
Заметил вот что:
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() вернет тому игроку на пк которого запущена игра), десинхов не будет, но в реплее ты их не увидишь.



Просмотров: 127

» Лучшие комментарии


quq_CCCP #2 - 4 месяца назад 0

Не надо трахать мозг LocalPlayer с сообщениями, они не синхронизируются,просто выводи сообщение для нужного игрока (GetLocalPlayer() вернет тому игроку на пк которого запущена игра), десинхов не будет, но в реплее ты их не увидишь.
nvc123 #3 - 4 месяца назад (отредактировано ) 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