Давно не занимался модингом для 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
Кто-то тут может ещё помочь разобраться с этой засадой?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
29
9 месяцев назад
0
Поставь актуальную сборку JNGP, удали после установки папку AdicHelper. Ну и переустанови начисто лицензионный 1.27а.
0
5
9 месяцев назад
0
cJass более не поддерживается?
0
28
9 месяцев назад
0
Поддерживается.
0
5
9 месяцев назад
Отредактирован Darklight
0
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
0
29
9 месяцев назад
Отредактирован nazarpunk
0
Сделал всё что сказали - не помогло :-(
Во вкладке vjass верхняя галочка включена?

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

Darklight, блок globals должен быть за пределами library. Если мне память не изменяет.
0
28
9 месяцев назад
0
блок globals должен быть за пределами library. Если мне память не изменяет.
Нет
0
5
9 месяцев назад
0
nazarpunk,
Конечно vJass\Enable JassHelper включён, я достаточно продвинутый, просто давно не использовал Jass New Gen Pack - раньше то активно использовал и vJass и cJass - подозреваю что проблема где-то более глобальная - может что-то с ОС WIndows - хочу сейчас попробовать на виртуалке поднять старую ОС Windows 7 и на ней попробовать (ранее то я на ней разрабатывал на JASS - хоть и было это почти 10 лет назад)
Код, тут в постах, я заключал в блоки "((код .... ))" - что нет так? Или вы про спойлеры ">> ... <<"?
Пример объявления библиотеки vJass взял с xgm тут
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.