И ещё раз приветствую пользователей данного ресурса.
Создается диалог со всеми игроками (исключая выбирающего) в котором собственно нужно выбрать игрока.
Появилась проблема в том что я не знаю как передать/записать выбранного игрока в переменную. Т.к. кнопка не всегда будет совпадать с номером игрока.
Создается диалог со всеми игроками (исключая выбирающего) в котором собственно нужно выбрать игрока.
Появилась проблема в том что я не знаю как передать/записать выбранного игрока в переменную. Т.к. кнопка не всегда будет совпадать с номером игрока.
И сразу хотелось бы задать сопутствующий/похожий вопрос. Т.к. выбор игрока может быть не только для эмбарго (в данном случае), но и для других резолюций. Посоветуйте как это можно оптимизировать
Принятый ответ
Первая проблема решается просто, ещё один массив PlayerIndex.
Set PlayerIndex[Buf_B] = Integer A
Set PlayerIndex[Buf_B] = Integer A
А ещё после цикла ячейка Buf_B пропускается, потому новая кнопка записывается в ячейку Buf_B + 1.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован PT153
Но ведь создастся B кнопок? А последнюю я записываю в B +1
Obelick:
Отредактирован PT153
Пусть играют игроки 1, 2, 6.
Buf_B = 0.
Игрок 1 играет? Да, создаём кнопку, записываем в массив[0] и увеличиваем Buf_B.
Buf_B = 1.
Игрок 2 играет? Да, создаём кнопку, записываем в массив[1] и увеличиваем Buf_B.
Buf_B = 2.
Игрок 3 играет? Нет, пропускаем. Аналогично с 4 и 5.
Игрок 6 играет? Да, создаём кнопку, записываем в массив[2] и увеличиваем Buf_B.
Buf_B = 3.
Игрок 7 играет? Нет, пропускаем. Аналогично с 8-11.
Создаём ещё одну кнопку и записываем её в ячейку (Buf_B + 1), то есть в массив[4]. массив[3] остаётся пустым.
Отредактирован DarKRs
Зачем дальше танцевать с бубном, если мой предложенный вариант подходит и работает?
Дальше заводим массив, в который по номеру игрока и номеру кнопки пишем привязаного к этой кнопке игрока (номер кнопки плюс оффсет умноженый на номер игрока для которого открыт диалог) при открытии диалога.
При нажатии кнопки в диалоге получаем связаного с кнопкой игрока по тому-же индексу - номер кнопки плюс оффсет умноженый на номер игрока для которого открыт диалог.
Оффсет равен максимальному кол-ву кнопок в диалоге и в данном случае это максимальное кол-во игроков минус один.
Если вар вдруг сам не дает номер нажатой кнопки (я не помню дает ли), то перебор по массиву кнопок.
При желании, эту-же систему можно использовать с любыми диалогами, не только со списками игроков, с минимальными изменениями.