Добавлен Oleg78
Хай, подскажите пожалуйста как сделать выбор сложности на карте? Я делаю триггер который изначально выключен и будет включен только если игроки выберут высокий уровень сложности но как сделать окно в начале игры где бы игроки могли проголосовать?
Принятый ответ
Похожие вопросы:
ответ
Не юзай TriggerSleepAction и будет тебе счастье. Особенно когда юзаешь глобальные переменные, вполне вероятно, что конфликт
ответ
Name Legion:
первый и второй скрины - ты создаешь юнита "Выбирайте героя" для каждого игрока, потом накидываешь игроку-владельцу выборку. Так понял? ДА ВСЕ ПРАВИЛЬНО
третий и четвертый скрины - это один триггер? ДА
при создании (входе в игровую карту) юнита ты показываешь диалог одному игроку (при входе в эту область) я показываю диалог этому игроку!!!!
пятый скрин - здесь при нажатий диалоговой кнопки ты что-то делаешь. Скорее всего проблема в пике. ДА проблема в пике
дебаг тут не нужен...я и так понимаю где он останавливается а где идет дальше..я хочу узнать как создать этого выбирайте героя, выбрать этого выбирайте героя в этой области где я его создал добавить выбирайте героя в селекции для этого игрока и чтобы эти 2 триггера правильно работали
avuremybe:куски...объясняю....первые 2 это идет создание выбирайте героя для всех игроков... 3 4 это один триггер и 5 это отдельный триггеря не пойму откуда все эти куски кода
вот так выглядит они вот так для всех остальных игроков
а так выглядит 2 триггерХотя не понятно. Где фильтр? Ты хотя бы условием отсеивал, или проверял бы. Сделал бы так, что на каждого пикнутого юнита накидывать на него выбор владельца. где дебаг?и вот как это сделать...покажи условием
решил вопрос....проблема была в том что я выбирал только что созданного юнита...за счет этого на первые 2 показано что last created unit = выбирайте героя...он думал что только что созданный юнит не герой а выбирайте героя..потому и переключался выбор
теперь в выборе уровня сложности стоит условиеспасибо
ответ
Если запускаемая сложность главы отличается от стандартной, то оставить так, как есть, а если нет - то попытаться считать то, что было записано в предыдущей главе (если не записано - сбросить к стандартной).Вообще, сама функция не запускает уровень с какой-то сложностью. Она просто задает значение глобальной переменной:Код функцииfunction SetNextLevelBJ takes string nextLevel returns nothing if (nextLevel == "") then set bj_changeLevelMapName = null else set bj_changeLevelMapName = nextLevel endif endfunction
Если копать глубже, то вся проблема здесь:Код функцийfunction CustomVictoryOkBJ takes nothing returns nothing if bj_isSinglePlayer then call PauseGame( false ) // Bump the difficulty back up to the default. call SetGameDifficulty(GetDefaultDifficulty()) endif if (bj_changeLevelMapName == null) then call EndGame( bj_changeLevelShowScores ) else call ChangeLevel( bj_changeLevelMapName, bj_changeLevelShowScores ) endif endfunction function CustomVictoryQuitBJ takes nothing returns nothing if bj_isSinglePlayer then call PauseGame( false ) // Bump the difficulty back up to the default. call SetGameDifficulty(GetDefaultDifficulty()) endif call EndGame( bj_changeLevelShowScores ) endfunction
Если интересно, откуда все это берется, то нужно посмотреть устройство функции CustomVictoryBJ и все вызовы, следующие из нее.Чтобы править проблему без создания костылей на кэше, то придется переписать близовскую функцию под себя (без сбрасывания сложности), а потом использовать ее вместо оригинальной в своей кампании (удобства ради можно использовать дефайн на cJass).
ответ
Возможно, эта статья пригодится.
`
ОЖИДАНИЕ РЕКЛАМЫ...
4
XGM Bot
5 лет назад
4
Похожие вопросы:
- Конфликт кода
ответ
alexprey:
- Выбор боевой единицы
ответ
Name Legion:
- custom campaign: Как убрать сброс сложности
ответ
Пушистый:
- "Диалог окно" и "Уровень сложности"
ответ
Maniac_91:
Поиск по всем ресурсам на сайте
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.