Всем привет у меня прекрасно получается создавать триггеры с использованием локальных переменных, где используется только один "вейт". Но когда у меня цикл из вейтов (скажем способность "кровопускание" (физический урон каждую секунду)). То урон срабатывает только один раз. Как только не пробовал менять местами определение локальных и глобальных переменных ничего не получается, а еще карта огромная грузит по 15 минут каждый тест. Подскажите как это должно примерно выглядеть. Свою версию прикрепляю картинкой.
P.s. да я понимаю, что, возможно, это тема уже поднималась, но я не смог найти и прошу вас помочь, спасибо.

TeX13, ненадо писать на гуи и плодить триггеры, у вас забита инит функция и происходит обрыв потока.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
20
А преимущества это даёт огромные. На GUI ты ничего сложного не создашь. А если и попытаешься, то постоянно будешь сталкиваться с проблемами, которые ты будешь затыкать костылями пока твоя карта не рухнет окончательно.
17
PrincePhoenix, в теории я могу весь код карты записать в одном скрипте?
20
Занеси этого юнита в переменную и назви Grom, в чем проблема?
TeX13, да, но это неудобно, как по мне.
17
KaneThaumaturge, хорошо, скажем они в разных скриптах, но все равно друг друга видят, как функции в одном неймспейсе c#?
20
Почитай статьи по оптимизации кода, к примеру лучше не плодить кучу триггеров с событием Юнит - приводит способность в действие, а сделать 1 триггер с уловом этого события, а потом уже вызывать соответствующую функцию.
17
KaneThaumaturge, я про то, что функция записанная в отдельном скрипте, видна в другом скрипте? Мне вот пока сама иерархия видимости не понятна.
20
TeX13, они все в одном скрипте, просто разбиты на "триггеры" (я не знаю почему это называют триггерами даже). Можешь посмотреть, что происходит после компиляции кода.
TeX13, Ну если ты не укажешь ее приватной в библиотеке или она будет ниже самого вызова, то все будет видно.
К примеру, на ГУИ обычно создают для каждой способности 1 триггер, что сильно будет нагружать карту. Даже на ГУИ это можно обойти.
17
Все, спасибо, ребят! Мне нужен был пинок под зад, чтобы начать в этом разбираться ;)
20
TeX13, на ХГМ полно статей, я сам только 2 недели назад перешёл с ГУИ на джасс, я понимаю тебя, мучался с этим тоже очень долго, постоянно опускались руки.
17
KaneThaumaturge, у меня карта есть, сам концепт ее уже как более 15 лет пишу, то есть менялись герои, тематика, но идеология была одна, я даже программу с рейтингом написал на c# (отдельно от игры). Много фанатов локальных собрала, у меня есть свой комп. зал. Но одна беда она грузится больше 20 минут на некоторых устройствах, и фатальная ошибка (Handler Reg) через одну игру. Весь кайф обламывала, это и мотивирует в данный момент меня перейти на Jass
KaneThaumaturge, Здравствуйте, меня зовут Ярослав и я пишу на ГУИ ;DDD
18
TeX13, могу немного сказать насчет jass
в jass по сути нету прямого ООП, но работа с юнитами, триггерами и т.д - это абстракция того же ООП (варкрафт на C++ писали)
например
unit u = GetTriggerUnit()
SetUnitUserData(u, 123)

SetUnitUserData можно представить как u->data = 123

+ в jass переменные грубо говоря разделяются на указатели и на базовые типы
указатели это всё что работает с объектами (юниты, предметы, триггеры и т.д) переменные unit, item, trigger, timer и т.д
базовые типы это integer, real (float), boolean и т.д
локальные указатели при выходе из функции обязательно нужно обнулять
а работы с char как таковой - просто нету, в jass только один тип для работы с целочисленными - это integer со знаком 4 байта
вся работа с текстом осуществляется с помощью string, это указатель на таблицу строк (его обнулять не обязательно)
всё остальное по сути достаточно похоже на "не ООП" языки
советую сразу использовать cjass который в jngp (cjass парсер добавляет поддержку С-синтаксиса)
сразу cjass это чтобы не путаться в синтаксисе
самое главное - это не относиться к этому скрипту серьёзно, надо думать очень легко чтобы понять его, т.к упрощающая абстракция просто зашкаливает

Вообще, сама сложность будет в том - чтобы запомнить все нужные функции, в первое время надо будет пользоваться подсказками из JNGP и конвертировать гуи
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.