Друзья!
Всем доброго времени суток. Подскажите, кто знает, можно ли из blizzard.j вызывать кастомные скрипты без редактирования dll библиотек ?
Поясню. Для вшития в игру триггеров, требуется объявление их и перезапись в определенных моментах всего скрипта b.j, но это не совсем удобно, так как после добавления нового триггера нужно каждый раз проверять правильное место и объявление функции, в связи с чем слетает все и приходится делать по новой.
Вопрос к знатокам, может кто-то вызывал из b.j кастомный скрипт ? Как это можно сделать?
Если это делается через предлоды, то где нужно расположить этот прелод, чтобы не сбивалась последовательность.
Я хочу сделать следующее:
  1. Создать функцию, которая будет вызывать из blizzard.j другой скрипт, допустим custom_trg.j (как-то же оно вызывает common.ai и прелоды, но мне кажется, что это на уровне dll )
  2. В этом скрипте создавать триггеры в любой последовательности, чтобы при запуске движка, триггер находился по id
Возможно ли такое ?
Подскажите, пожалуйста. Заранее спасибо!
Если такой вопрос был ранее - прошу прощения, так как не нашел ничего подобного.

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
5
6 лет назад
2
quq_CCCP, это понятно.
Допустим, в MPQ - Scripts есть наш кастомный скрипт, где его нужно вызывать?
например, если некоторые триггеры вызывать до Init_blizz - они не будут работать, другие наоборот работают только там, чтобы понимать, ошибка была в самом коде или же в расположении.
Это можно как-то отследить ?
0
32
6 лет назад
0
Maolink, инит близзард j при старте функции main, так же можно запустить инициализацию через любую бж функцию, которая используется...
Я не понимаю что вам нужно в blizzard.j?
0
21
6 лет назад
Отредактирован Raised
0
Maolink, просто опиши что ты хочешь сделать.

Непонятно зачем тебе понадобилось модифицировать blizzard.j
Если хочешь подгрузить что-то до него, делай инъекцию в main и размещай свои вызовы до InitBlizzard().
Хотя накой это надо...

Ты хоть видел как выглядят прелоады в скрипте карты?
2
5
6 лет назад
2
Raised, я думал, что понятно все написал, окей, расскажу.
Мы сделали мод, отталкиваясь от идеи нирваны, а именно выбор рас из главного меню более 4-х стандартных.
Все работает на ура, но есть некоторые недочеты, например с инициализацией триггерных способностей, бОльшая часть которых обращаются к нативным функциям, сильно конфликтуют, находясь внутри b.j
Поэтому мы решили, что проще будет сделать отдельный скрипт, со всеми этими триггерными способностями и не только, чтобы просто вызывать этот скрипт из b.j (при запуске карты / кампании)
Поэтому, если знаете, как можно так сделать, подскажите, пожалуйста.
quq_CCCP, все просто, нам нужно вшить туда порядка 188 триггерных способностей, который написаны на Jass, cjass, vJass и конфликтуют с BJ функциями.
Загруженные файлы
0
21
6 лет назад
Отредактирован Raised
0
Maolink, не думал что это глобальный мод. Не могу ничего подсказать. Вряд ли это ваш кейс но:
  • Вы проверяли названия переменных?
  • Код спарсился или вы туда c/vJass код и и вставили? Или он парсится при загрузке?
0
21
6 лет назад
0
Ого, красиво! Когда выйдет?
Кто автора минусует?
0
32
6 лет назад
0
Имена бж функций есть в..blizzard.j, чтобы они не конфликтовали с вашими способностями - чекайте софтом код абилок и близард ж файл, на предмет одинаковых имен и правьте, а так еще советую тулы векса или хеави лок - они сжимают имена и небудет проблем с именами функций и переменных в скрипте.
Принятый ответ
0
5
6 лет назад
0
Raised, да, если бы это была карта, то было бы проще, согласен. Но, так как это мод, как только мы вшиваем триггеры - все крашится.
Пару ошибок смогли отловить тем, что переместили весь код чуть выше, чем InitBlizzard. Другой же - опустили ниже этой функции. Логика работы не ясна, поэтому хотели создать отдельный скрипт и там все править, чтобы он 1 раз вызывался и все. В таком случае, если будет возникать ошибка при интеграции новых способностей - мы будем искать в синтаксисе нашего скрипта, а не всего b.j
Этим хотели немного упростить работу.
  1. Да, переменные проверяли, все работает на карте, но не внутри b.j
  2. Либо вылетает фатал либо не запускается игра вообще через exe.
ScopteRectuS, спасибо! Мод находится на стадии тестирования, ранее это было картой, о проекте можно почитать здесь: Ragnarok. В целом все играбельно, но для режима Player vs Player, так как есть погрешности в работе ИИ / AI, также мы дорабатываем механику игры, хотим сделать расы «уникальными», а не просто сделать копипаст с добавлением моделей. О точной дате запуска сообщить не можем, надеюсь на Ваше понимание.
quq_CCCP, спасибо за советы, обязательно попробуем Вашу теорию. Если что я смогу обратиться к Вам за помощью ?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.