Давно не занимался модингом для Warcraft 3 - но, вот, решил тряхнуть стариной и допилить старые проекты - но с толкнулся с тем, что не отрабатывают расширения редактора карт (new gen) для vJass и для cJass (включал по отдельности в соответствующих меню редактора) - код попросту не обрабатывается. Не могу понять почему.
Пробовал на старых проектах и даже новый пустой создавал - не работает нигде.
Ошибки могут быть сгоношено разные - это, наверное не принципиально, раз код не обрабатывается. Может и вообще не быть ошибок - а карта просто не запуститься. Но ошибки выдаются в окне Jasshelper по процессу pjass - не помню как правильно должно быть, помоему этот не тот препроцессор, хотя может он должен стартовать после работы основного препроцессора vJass/cJass.
Пробовал как на старом jassnewgenpack5c под которым разрабатывал ранее
Так и под новым Jass New Gen Pack 5d Exp2
Нигде не работает.
Банально для vJass не компилируется даже просто пример библиотеки
library NAME initializer Init
	globals
		public real X
		
	endglobals
	
	
	private function Init takes nothing returns nohing
		
	endfunction

endlibrary

//===========================================================================
function InitTrig_Library takes nothing returns nothing
 
endfunction
При запуске карты из редактора (c vJass)
выдаёт кучу ошибок
начиная от syntax error в 910 строке на
library NAME initializer Init
и дальше ворохом statement outside of a function
потом снова syntax error
private function Init takes nothing returns nohing
там же далее missing libebreake before function declaration
Undefined type nothing
Missing return
и т.д.
Внутри war3map.j вот такая вставка кода
/***************************************************************************
//*
//*  Triggers
//*
//***************************************************************************

//===========================================================================
// Trigger: Library
//===========================================================================
//TESH.scrollpos=0
//TESH.alwaysfold=0

library NAME initializer Init
	globals
		public real X
		// Прочие глобальные переменные...
	endglobals
	
	// Прочий код библиотеки...
	
	private function Init takes nothing returns nohing
		// Код функции инициализации...
	endfunction

endlibrary

//===========================================================================
function InitTrig_Library takes nothing returns nothing
 
endfunction

//===========================================================================
function InitCustomTriggers takes nothing returns nothing
    call InitTrig_Library(  )
endfunction
Кстати ранее function InitTrig_Library takes nothing returns nothing тоже не требовалась, а теперь требуется (без неё тоже не работает даже пустой триггер без библиотеки)!
Пробовал на Warcraft 3 .1.24e и на 1.26
Под OS Windows 11
Кто-то тут может ещё помочь разобраться с этой засадой?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
5
cLTKF~nazarpunk:
Поставь актуальную сборку JNGP, удали после установки папку AdicHelper. Ну и переустанови начисто лицензионный 1.27а.
Сделал всё что сказали - не помогло :-(
Тестирую на пустой карте. Вот такой вот триггер с именем Library
function Trig_Library_Actions takes nothing returns nothing
endfunction

//===========================================================================
function InitTrig_Library takes nothing returns nothing
    set gg_trg_Library = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Library, function Trig_Library_Actions )
endfunction

library NAME initializer Init
	globals
		public real X
		
	endglobals
	
	
	private function Init takes nothing returns nohing
		
	endfunction

endlibrary
Приводит к тому, что карта не стартует
В строке
function NAME__Init takes nothing returns nohing
ошибка: Undefined type nothing
и затем в строке ниже: Missing return
globals
//globals from NAME:
constant boolean LIBRARY_NAME=true
real NAME_X
		
//endglobals from NAME
    // Generated
trigger gg_trg_Library= null

trigger l__library_init

//JASSHelper struct globals:

endglobals


//library NAME:
	
	
 function NAME__Init takes nothing returns nohing
		
	endfunction


//library NAME ends
30
Сделал всё что сказали - не помогло :-(
Во вкладке vjass верхняя галочка включена?

Darklight, используй блоки кода.

Darklight, блок globals должен быть за пределами library. Если мне память не изменяет.
28
блок globals должен быть за пределами library. Если мне память не изменяет.
Нет
5
nazarpunk,
Конечно vJass\Enable JassHelper включён, я достаточно продвинутый, просто давно не использовал Jass New Gen Pack - раньше то активно использовал и vJass и cJass - подозреваю что проблема где-то более глобальная - может что-то с ОС WIndows - хочу сейчас попробовать на виртуалке поднять старую ОС Windows 7 и на ней попробовать (ранее то я на ней разрабатывал на JASS - хоть и было это почти 10 лет назад)
Код, тут в постах, я заключал в блоки "((код .... ))" - что нет так? Или вы про спойлеры ">> ... <<"?
Пример объявления библиотеки vJass взял с xgm тут
5
Прилагаю файлы (карта и 2 jass файла - тот что "clean" без library, и три скриншота).
Впрочем тут и "без бутылки ясно", что vJass не отработал, хотя JassHelper включён а vJass синтаксис не выключен
5
nazarpunk,
М-да, вот слепой - не увидел сам (да и никто не увидел - хотя всё в тесте сабжа так указано)- а ведь верно - всё дело было в этом долбанном nohing - в упор не увидел - а ошибка то прям в статье на xgm - поправил и заработало - итоговый jass прилагаю
сам код триггера ниже
function Trig_Library_Actions takes nothing returns nothing
endfunction

//===========================================================================
function InitTrig_Library takes nothing returns nothing
    set gg_trg_Library = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Library, function Trig_Library_Actions )
endfunction

library NAME initializer Init
	globals
		public real X
		
	endglobals
	
	
	private function Init takes nothing returns nothing
		
	endfunction

endlibrary
я так полагаю. что от function InitTrig_Library takes nothing returns nothing сейчас избавиться нельзя - ранее у меня в триггерах (что библиотеки) не было вроде таких обязаловок?
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.