Как правильно использовать native функции из Common.ai в редакторе версии 1.26? Нужно ли что-то дополнительно установить в редактор для их использования?

Т.е. нужен JNPG в любом случае, верно?
Не обязательно. Можно каждый раз править war3map.j размещая нативки после блока globals.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
30
Т.е. нужен JNPG в любом случае, верно?
Не обязательно. Можно каждый раз править war3map.j размещая нативки после блока globals.
Принятый ответ
27
Не обязательно. Можно каждый раз править war3map.j размещая нативки после блока globals.
А можно чуть подробнее этот момент? Правка в самом клиенте или этот каким то образом нужно импортировать в саму карту?
30
Lord_Teo, если извлечь war3map.j из карты, то можно увидеть нечто подобное:
globals
	...
endlobals
native UnitAlive takes unit id returns boolean
Тобишь нативки помещаются после блока globals до вызова какого-либо кода. Ну а JNGP, тобишь встроенный vjass, просто размещает объявленные блоки globals и нативки в начало war3map.j.

Соответственно, если ты, к примеру, взломал чужую карту и редактируешь war3map.j напрямую, то тебе нужно просто найти endglobals и сразу после него разместить нужные натики.
27
nazarpunk, т.е. алгоритм такой?
  • Извлекаю War3map.j из карты.
  • Открываю его на редактирование и добавляю после блока globals нативки из common.ai;
  • Импортирую файл War3map.j обратно в карту (какой путь при этом должен быть? Произвольный?)
Все верно?
30
Все верно?
Если без JNGP то да. С ним можешь просто написать:
native UnitAlive takes unit id returns boolean
И он сам куда нужно поставит.
Вот, к примеру, можешь открыть и посмотреть.
27
nazarpunk, я понял про JPNG. Я хотел именно без него сделать. Спасибо.
30
Я хотел именно без него сделать.
Без него ты алгоритм правильно описал.
какой путь при этом должен быть? Произвольный?
По какому доставал, по такому обратно и ложи.

Только учти, что при сохранении карты в редакторе war3map.j перезаписывается и тебе придётся заново нативки добавлять.
23
Не все нативки из common ai нормально работают, проверял. Работают нормально эти, остальные вызывают фатал эррор.
native GetBuilding          takes player p                              returns unit

native GetPlayerUnitTypeCount takes player p, integer unitid            returns integer
native GetUnitBuildTime     takes integer unitid                        returns integer
native GetUnitGoldCost      takes integer unitid                        returns integer
native GetUnitWoodCost      takes integer unitid                        returns integer

native UnitAlive            takes unit id                               returns boolean
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.