В догонку к данному вопросу
Внимание
Заранее хочу предупредить что не знаю какой информации будет достаточно, а какой нет...Поэтому отпишите если нужно что то ещё
Итак.
Я создаю диалог (скрин1) в котором можно выбрать резолюцию для отмены. Диалог динамический и поэтому в нем может быть ничего кроме отмены, а может и забит полностью всеми возможными резолюциями для отмены.
скрин1
Любые из резолюций добавляются туда после голосования (если прошли успешно). Как пример скрин2
скрин2
Переменная ResolutionOne показывает какая именно резолюция рассматривается, чтобы потом применить её свойства. Варианта получше я не придумал. (При таком варианте как я вижу, неудобно будет добавлять новые резолюции)
Обычные предложения (от 1 до 7 (имеются ввиду все кроме эмбарго на игроков)), появляются и отменяются правильно. Но вот с эмбарго проблема.
При успешном внесении эмабрго на игрока 1, кнопка с отменой исправно появляется в отменяемых резолюциях и надпись на ней правильная(отмена эмбарго для первого игрока). Но при нажатии кнопка обрабатывается неправильно, будто бы игнорируя 1 игрока и обрабатывается для 2 игрока (исходя из того что пишет [Дебаг] нажата кнопка №2, но может быть я ошибаюсь). Обработка представлена на скрин3
скрин3
(переработана из Pick all players, и на данный момент совсем не работает)
+
старая обработка, которая работала как описано выше
Вроде все как можно конкретно описал, скажите если чего-то не хватает.
Вопрос: Что же сделано неправильно? Помогите найти ошибку.

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

>>Но при нажатии кнопка обрабатывается неправильно, будто бы игнорируя 1 игрока и обрабатывается для 2 игрока (исходя из того что пишет [Дебаг] нажата кнопка №2, но может быть я ошибаюсь).
Мб где-то слетела бж функция GetConvertedPlayerID и изза этого цифорки поломались
Тык
function GetConvertedPlayerId takes player whichPlayer returns integer
    return GetPlayerId(whichPlayer) + 1
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
17
5 лет назад
2
>>Но при нажатии кнопка обрабатывается неправильно, будто бы игнорируя 1 игрока и обрабатывается для 2 игрока (исходя из того что пишет [Дебаг] нажата кнопка №2, но может быть я ошибаюсь).
Мб где-то слетела бж функция GetConvertedPlayerID и изза этого цифорки поломались
Тык
function GetConvertedPlayerId takes player whichPlayer returns integer
    return GetPlayerId(whichPlayer) + 1
endfunction
Принятый ответ
2
26
5 лет назад
2
Да-да, как и указал PyCCKuu_4eJl, нумерация происходит 0, а не 1. То есть Player(0) - Игрок 1 Красный, Player(1) - Игрок 2 Синий.
2
23
5 лет назад
2
каждый день одно и тот же кнопка что в ней так сложного?
автор тебе советую не использую бж функции =)
0
9
5 лет назад
0
Что ещё за бж функции?
pro100master:
каждый день одно и тот же кнопка что в ней так сложного?
Когда каждый день её видишь и не понимаешь в чем проблема она становится сложнее
2
26
5 лет назад
2
bj_функции - это обёртки функций jass для GUI
Если у тебя JNGP, можешь посмотреть Function list. Кнопка в любом jass-триггере
2
28
5 лет назад
2
8gabriel8:
Да-да, как и указал PyCCKuu_4eJl, нумерация происходит 0, а не 1. То есть Player(0) - Игрок 1 Красный, Player(1) - Игрок 2 Синий.
Это справедливо только для чистого JASS, GUI использует конвертацию индексов, потому Игрок 1 в GUI это Player(0).
0
26
5 лет назад
0
В GUI JNGP Player(0) - это Игрок 1.
0
28
5 лет назад
0
JNGP
Да в любои редакторе так, Blizzard.j для всех одинаковый.
0
26
5 лет назад
0
неправильно понял сначала
подумал, имеешь ввиду, что в GUI нумерация для Player начинается с единицы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.