Добавлен Centyrion
Всем привет.
написал небольшой Мултиборд но столкнулся с проблемой
написал небольшой Мултиборд но столкнулся с проблемой
call MultiboardSetRowCount(udg_MB, i+2)
кол-во строк в мултиборде неправильно работает
local integer i = 0
loop
exitwhen i >= 10
if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING and GetPlayerSlotState(Player(i)) != PLAYER_SLOT_STATE_EMPTY then
call MultiboardSetRowCount(udg_MB, i + 2)
endif
set i = i + 1
endloop
функция простая, сканирует всех игроков в цикле
и проверяет кто играет и у кого пустой слот
по какой-то причине MultiboardSetRowCount игнорирует PLAYER_SLOT_STATE_EMPTY
например у меня в 1. 2. 3. 4 слоте стоит компьютер
я нахожусь в 5 слоте
и если кто-то решил поменять слот например на 7, 8 любой другой то MultiboardSetRowCount добавляет последующих игроков в мултиборд
игнорируя PLAYER_SLOT_STATE_EMPTY
и проверяет кто играет и у кого пустой слот
по какой-то причине MultiboardSetRowCount игнорирует PLAYER_SLOT_STATE_EMPTY
например у меня в 1. 2. 3. 4 слоте стоит компьютер
я нахожусь в 5 слоте
и если кто-то решил поменять слот например на 7, 8 любой другой то MultiboardSetRowCount добавляет последующих игроков в мултиборд
игнорируя PLAYER_SLOT_STATE_EMPTY
native MultiboardSetRowCount takes multiboard lb, integer count returns nothing
в ней нет ничего такого чтобы она не проверяла PLAYER_SLOT_STATE_EMPTY
но почему-то она игнорирует.
но почему-то она игнорирует.
Принятый ответ
Возможно ошибка в коде, попробуй
local integer l = 0
local integer i = 0
loop
exitwhen i >= 10
if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING and GetPlayerSlotState(Player(i)) != PLAYER_SLOT_STATE_EMPTY then
call MultiboardSetRowCount(udg_MB, l + 2)
set l = l + 1
endif
set i = i + 1
endloop
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Centyrion
только присвоить переменную которая проверит кто играет и кто нет и установить кол-во строк
Отредактирован Borodach
пробовал и так, нивкакую не хочет
проблема была и в этом и в другом
чтобы было все понятно
постоянно забываю про порядок выполнения кода
если не соблюдать порядок строк оно и не заработает
Отредактирован Centyrion
попробую по другому
простым языком цикл будет выполнятся до тех пор пока не сработает условие выхода из цикла а условие не сработает так как она добавит только лишнее