возможно ли через BJDebugMsg передать разный текст разным игрокам?
например номер игрока: игроку 0 передать "0" , игроку 1 передать "1" итд
например call BJDebugMsg(txt)
а переменная txt - это каким-то образом формируемая переменная, разная для разного игрока

или такого нельзя сделать и такое можно сделать только "банально" через call DisplayTimedTextToPlayer(Player(a[i]),0,0,5,a[i]) , где a[i] - это массив, который хранит все значения для всех игроков одновременно, просто выдаёт каждому игроку своё значение через проверку if GetLocalPlayer()==a[i] ?

Нельзя.
вообще-то можно
вот код
function test takes nothing returns nothing
local integer i=0
loop
exitwhen i>bj_MAX_PLAYERS
if GetLocalPlayer()==Player(i) then
call BJDebugMsg(I2S(GetPlayerId(GetLocalPlayer())))
endif
set i=i+1
endloop
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
10
function BJDebugMsg takes string msg returns nothing
  local integer i = 0
  loop
    call DisplayTimedTextToPlayer(Player(i),0,0,60,msg)
    set i = i + 1
    exitwhen i == bj_MAX_PLAYERS
  endloop
endfunction
Нельзя.
23
Через BJDebug нельзя, там текст всем сразу стартовый отправляется. Во втором случае нужно значения конвертировать в строки через I2S, например, итд.
10
DisplayTimedTextToPlayer (GetLocalPlayer(),0,0,10,I2S(GetPlayerId(GetLocalPlayer())))
Выведет каждому игроку его номер
23
Poma,
по хорошему, проще 1 раз вывести get local player в глобалку при инициализации карты, и юзать её где нужно)
10
EugeAl, можно заполнить массив player array PlayerArr[0:15] = Player(0:15) при инициализации и использовать его вместо функции
23
Poma, можно, но я писал именно про local player. Чтобы без вызовов обойтись
10
EugeAl, Player(i) точно такой же вызов, он даже тяжелее, так как передается один аргумент.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.