Не могу разобраться в чем дело и снова обращаюсь к этому сайту (эх сколько раз вы меня выручили). Я использовал template MUI спеллов Bribe'a и его Indexer чтобы сделать MUI спеллы, однако у меня проблема, вроде бы спеллы и работают, но не долго. Почему-то после какого-то количества использований они просто исчезают на старте, сам понять в чем я дело не могу, я прикреплю карту с триггерами, может кто посмотреть и сказать где я ошибся и насколько сильно? Буду благодарен за любую помощь или подсказки.
П.с. оба спелла не работают, т.к. сделаны на одном и том же триггере.
П.с.с на Hookshot категорию не надо обращать внимания.

Mate, ну очивидно ошибка реализации, ибо используются одни и те же массивы, в которых происходит коллизия, одни и те же ячейки используют раные способности. Вовсе я бы не советовал так замарачиватся с гуи, а прочитать статьи на jass и забить на все это дело, юзая хештаблицы.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

ответ
  1. а) Создай 2 переменные-массива по типу "боевая единица" (массив - чтобы для каждого игрока, мы ведь за мультиплеер трем, прально?), назови типа MyChampion и MyChampionDummy.
    б) подготовь невидимого героя-пустышку с нужной тебе иконкой, убери ману, если у чемпиона ее нет. Убери ему радиус обзора, убери галочки типа "отмечать на мини-карте" - остальные - опционально.
    В дальнейшем мы будем синхронизировать пустышку и реального чемпиона, создавая видимость одной боевой единицы.
    Итак, наш первый триггер:
в) Отследи первое появление чемпиона, когда это случится - создай для игрока героя-пустышку. Соответственно сделай MyChampion [number of (Owner of trained unit)]= last trained unit, следующей строчкой создай того самого героя-пустышку для (owner of trained unit) и сделай MyChampionDummy = last created unit. Теперь мы прочно связали этих чуваков. Этот же триггер запускает остальные.
г) Отслеживание здоровья. Сделай изначально выключенный цикличный триггер, там, каждые 0.3 секунды. Триггер запускается пунктом в). Каждые 0.3 секунды меняй здоровье героя (чья икона висит, надо чтобы она соответствовала, прально?) в % на здоровье самого чемпиона.
д) пропищи событие, мол, если выбирает игрок своего героя (кликая на иконку) выбирается чемпион
е) убивай героя вместе с чемпионом
ж) отключай триггеры с проверкой и выбором, пока чемпион мертв
з) не забывай обновлять переменную чемпиона с каждым новым чемпионом.
ответ
Держи. Чтобы проверить нажми ESC в игре.
раскрыть
потребовалось полторы минуты
ответ
старый запрос
ответ
Проблема решилась, после соединения с администратором карта заработала и сохранилась. И на следующей карте соединения уже нет. Спасибо.
ответ
Попробуй конвертировать через war3 image extracror, а в фш сохрани картинку как 32 битную. Ну и разумеется разрешение 512х512
Когда будешь вставлять в карту, закинь картинку в мапу , а еще тебе понадобится LoadScreen.mds. В свойствах карты на загрузочный экран установишь LoadScreen.mdx, ну это я так, на всякий случай. Саму картинку нужно назвать FullScreen.blp

32
Я так понял это просто копипаст с чужих наработок, и вы не разбираетесь как они работают? Это гуи спелл, но его переменные и обьекты не могут использовать другие спеллы, такая сложность и замороченность - это ГУИ, на гуи сложно делать сложные способности, а так же реализовать бы универсальный движок для различных однотипных способностей, вроде волны силы. Либо копируйте готовое как есть и не меняете, либо разрабатывайте спелл с нуля учитывая все "но" и "если".
7
quq_CCCP:
Я так понял это просто копипаст с чужих наработок, и вы не разбираетесь как они работают? Это гуи спелл, но его переменные и обьекты не могут использовать другие спеллы, такая сложность и замороченность - это ГУИ, на гуи сложно делать сложные способности, а так же реализовать бы универсальный движок для различных однотипных способностей, вроде волны силы. Либо копируйте готовое как есть и не меняете, либо разрабатывайте спелл с нуля учитывая все "но" и "если".
Ну как не разбираюсь, я конечно лошок в этом я отрицать не буду, но тут я переделал почти все использовав наработку как шаблон на который опирался. Indexer и Damage систему позаимствовал с хайва, ибо зачем изобретать велосипед когда уже есть идеальная его версия. Сейчас попробую нормально объяснится. Я скопировал Template ака шаблон, то есть карту из туториала Bribe'a по которой он учит как создавать MUI спеллы на GUI используя его системку(ну это как я понимаю).
Я понимаю, что ту вопрос скорее к нему чем сюда, но сомневаюсь, что там мне кто-то ответит.
Я то знаю как работают эти два спелла, я просто не вижу где я допустил ошибку и почему спелл после нескольких использований перестает работать, я лишь вижу, что у меня юнит начинает удалятся после нескольких использований, а вот почему он удаляется я не вижу.
UPD. Я возможно уже даже разобрался в чем дело, сейчас еще несколько раз проверю и напишу если исправил.
32
Mate, ну очивидно ошибка реализации, ибо используются одни и те же массивы, в которых происходит коллизия, одни и те же ячейки используют раные способности. Вовсе я бы не советовал так замарачиватся с гуи, а прочитать статьи на jass и забить на все это дело, юзая хештаблицы.
Принятый ответ
7
quq_CCCP:
Mate, ну очивидно ошибка реализации, ибо используются одни и те же массивы, в которых происходит коллизия, одни и те же ячейки используют раные способности. Вовсе я бы не советовал так замарачиватся с гуи, а прочитать статьи на jass и забить на все это дело, юзая хештаблицы.
Можно немного подробнее. Я не специалист в этом. Я так понял моя ошибка заключается в том, что я использую один и тот же массив везде?
32
Mate, ну тебе нужно хранить где то данные о том кто кастанул спелл и куда, ты их сохраняешь в массив, там стоит счетчик который выдает новые ячейки если кто то еще этот самый спелл применит, так тут реализована мультиприменяемость, а ты варочтно не учитваешь этого и из за этого все ломается. Смотрел код бегло, хз как там сделать получше.
На вид что то вроде волны которая кастует увечье и наносит урон всем на своем пути, карту даже не запускал.
7
quq_CCCP:
Mate, ну тебе нужно хранить где то данные о том кто кастанул спелл и куда, ты их сохраняешь в массив, там стоит счетчик который выдает новые ячейки если кто то еще этот самый спелл применит, так тут реализована мультиприменяемость, а ты варочтно не учитваешь этого и из за этого все ломается. Смотрел код бегло, хз как там сделать получше.
На вид что то вроде волны которая кастует увечье и наносит урон всем на своем пути, карту даже не запускал.
Не суть, там не на что смотреть кроме двух скиллов. Я не могу понять почему я не могу вызвать этот баг с момента как поменял пару значений.
9
Учить GUI в 2018 - себя не уважать.
Столько хороших статей написано чтобы JASS начать учить!
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.