30

» WarCraft 3 / Ентер Рект

Не уверен, но возможно сборщик мусора в луа удаляет триггер потому что он локальный и после выхода из функции на него больше никто нигде не ссылается, попробуй присвоить его глобальной переменной.
Потрётся только ссылка на триггер, а с триггером ничего не случится.
30

» WarCraft 3 / Геометрические функции - проекция

и зачем ты на луа вызываеш таймер на jass когда есть у луа свой таймер
А таймер lua перестанет тикать при паузе игры?
30

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

Инкрименты не очень корректно конвертируются
integer f(){
    integer i = 3
    if (i > 3){
        return i++
    } else {
        return ++i
    }
}
function f()
	local i = 3
	if i > 3 then
		return i = i + 1
	else
		return i
	end
end
Лог
[16.11.2019|23:22:59][main.cpp:277 (main)] [Info]:	Starting cJass2Lua application (version 1.02 / x64 ) 
[16.11.2019|23:22:59][main.cpp:296 (main)] [Info]:	Config loaded 
[16.11.2019|23:23:05][cjassparser2.cpp:395 (cJass::Parser2::Parse)] [Info]:	Parsing file C:\Users\nazarpunk\Downloads\cJass2Lua_v1.02_x64\test.cjass 
[16.11.2019|23:23:05][cjassparser2.cpp:1181 (cJass::Parser2::Parse)] [Info]:	Starting parse of " C:\Users\nazarpunk\Downloads\cJass2Lua_v1.02_x64\test.cjass " 
[16.11.2019|23:23:05][cjassparser2.cpp:1182 (cJass::Parser2::Parse)] [Debug]:	Parsing line 1 
[16.11.2019|23:23:05][cjassparser2.cpp:687 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Debug]:	Parsing function f 
[16.11.2019|23:23:05][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node Function 
[16.11.2019|23:23:05][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 2 
[16.11.2019|23:23:05][cjassnodes.cpp:906 (cJass::LocalDeclaration::InitData)] [Debug]:	LocalDeclaration::InitData Args: { "integer" }
[16.11.2019|23:23:05][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node LocalDeclaration 
[16.11.2019|23:23:05][cjassnodes.cpp:922 (cJass::LocalDeclaration::AddVariable)] [Debug]:	Adding local variable i 
[16.11.2019|23:23:05][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 3 
[16.11.2019|23:23:05][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(VarInitExpression) 
[16.11.2019|23:23:05][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node LocalDeclaration 
[16.11.2019|23:23:05][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Logic) 
[16.11.2019|23:23:05][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(If) 
[16.11.2019|23:23:05][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Expression) 
[16.11.2019|23:23:05][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Expression) 
[16.11.2019|23:23:05][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 4 
[16.11.2019|23:23:05][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Return) 
[16.11.2019|23:23:05][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 5 
[16.11.2019|23:23:05][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Return) 
[16.11.2019|23:23:05][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(If) 
[16.11.2019|23:23:05][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Else) 
[16.11.2019|23:23:05][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 6 
[16.11.2019|23:23:05][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Return) 
[16.11.2019|23:23:05][cjassparser2.cpp:857 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Warning]:	Unary operator not after identifier.( 6 : 19 ) 
[16.11.2019|23:23:05][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 7 
[16.11.2019|23:23:05][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Return) 
[16.11.2019|23:23:05][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Else) 
[16.11.2019|23:23:05][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 8 
[16.11.2019|23:23:05][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Logic) 
[16.11.2019|23:23:05][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node Function 
[16.11.2019|23:23:05][cjassparser2.cpp:1162 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Debug]:	End parsing function 
[16.11.2019|23:23:05][cjassparser2.cpp:1355 (cJass::Parser2::Parse)] [Info]:	Parsing of file  C:\Users\nazarpunk\Downloads\cJass2Lua_v1.02_x64\test.cjass  successfuly done! 8 

В cjass скобочки if необязательны.
integer f(){
    if true {
        DoNothing()
    }
}
function f()
	if  then
	end
end
Лог
[16.11.2019|23:36:19][main.cpp:277 (main)] [Info]:	Starting cJass2Lua application (version 1.02 / x64 ) 
[16.11.2019|23:36:19][main.cpp:296 (main)] [Info]:	Config loaded 
[16.11.2019|23:36:22][cjassparser2.cpp:395 (cJass::Parser2::Parse)] [Info]:	Parsing file C:\Users\nazarpunk\Downloads\cJass2Lua_v1.02_x64\test.cjass 
[16.11.2019|23:36:22][cjassparser2.cpp:1181 (cJass::Parser2::Parse)] [Info]:	Starting parse of " C:\Users\nazarpunk\Downloads\cJass2Lua_v1.02_x64\test.cjass " 
[16.11.2019|23:36:22][cjassparser2.cpp:1182 (cJass::Parser2::Parse)] [Debug]:	Parsing line 1 
[16.11.2019|23:36:22][cjassparser2.cpp:687 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Debug]:	Parsing function f 
[16.11.2019|23:36:22][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node Function 
[16.11.2019|23:36:22][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 2 
[16.11.2019|23:36:22][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Logic) 
[16.11.2019|23:36:22][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(If) 
[16.11.2019|23:36:22][cjassparser2.cpp:754 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Warning]:	Expected condition expression ( ( 2 : 13 ) 
[16.11.2019|23:36:22][cjassparser2.cpp:754 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Warning]:	Expected condition expression ( ( 2 : 14 ) 
[16.11.2019|23:36:22][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 3 
[16.11.2019|23:36:22][cjassparser2.cpp:754 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Warning]:	Expected condition expression ( ( 3 : 1 ) 
[16.11.2019|23:36:22][cjassparser2.cpp:754 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Warning]:	Expected condition expression ( ( 3 : 19 ) 
[16.11.2019|23:36:22][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Expression) 
[16.11.2019|23:36:22][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Expression) 
[16.11.2019|23:36:22][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 4 
[16.11.2019|23:36:22][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(If) 
[16.11.2019|23:36:22][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 5 
[16.11.2019|23:36:22][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Logic) 
[16.11.2019|23:36:22][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node Function 
[16.11.2019|23:36:22][cjassparser2.cpp:1162 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Debug]:	End parsing function 
[16.11.2019|23:36:22][cjassparser2.cpp:1355 (cJass::Parser2::Parse)] [Info]:	Parsing of file  C:\Users\nazarpunk\Downloads\cJass2Lua_v1.02_x64\test.cjass  successfuly done! 5 
30

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

nothing f(){
    integer i=5
    loop {
        exitwhen i > 5
        i++
    }
}
function f()
	local i = 5
	loop
	exitwheni > 5
	i = i + 1
end
Лог
[16.11.2019|22:40:22][main.cpp:277 (main)] [Info]:	Starting cJass2Lua application (version 1.01 / x64 ) 
[16.11.2019|22:40:22][main.cpp:296 (main)] [Info]:	Config loaded 
[16.11.2019|22:40:28][cjassparser2.cpp:395 (cJass::Parser2::Parse)] [Info]:	Parsing file C:\Users\nazarpunk\Downloads\cJass2Lua_v1.01_x64\test.cjass 
[16.11.2019|22:40:28][cjassparser2.cpp:1165 (cJass::Parser2::Parse)] [Info]:	Starting parse of " C:\Users\nazarpunk\Downloads\cJass2Lua_v1.01_x64\test.cjass " 
[16.11.2019|22:40:28][cjassparser2.cpp:1166 (cJass::Parser2::Parse)] [Debug]:	Parsing line 1 
[16.11.2019|22:40:29][cjassparser2.cpp:671 (cJass::Parser2::Parse::<lambda_970c80303602dae1ae8b808a90cd2d4b>::operator ())] [Debug]:	Parsing function f 
[16.11.2019|22:40:29][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node Function 
[16.11.2019|22:40:29][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 2 
[16.11.2019|22:40:29][cjassnodes.cpp:942 (cJass::LocalDeclaration::InitData)] [Debug]:	LocalDeclaration::InitData Args: { "integer" }
[16.11.2019|22:40:29][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node LocalDeclaration 
[16.11.2019|22:40:29][cjassnodes.cpp:958 (cJass::LocalDeclaration::AddVariable)] [Debug]:	Adding local variable i 
[16.11.2019|22:40:29][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 3 
[16.11.2019|22:40:29][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(VarInitExpression) 
[16.11.2019|22:40:29][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node LocalDeclaration 
[16.11.2019|22:40:29][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Wrapper) 
[16.11.2019|22:40:29][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 4 
[16.11.2019|22:40:29][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Wrapper) 
[16.11.2019|22:40:29][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 5 
[16.11.2019|22:40:29][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Wrapper) 
[16.11.2019|22:40:29][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Wrapper) 
[16.11.2019|22:40:29][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 6 
[16.11.2019|22:40:29][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Wrapper) 
[16.11.2019|22:40:29][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Wrapper) 
[16.11.2019|22:40:29][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 7 
[16.11.2019|22:40:29][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node Function 
[16.11.2019|22:40:29][cjassparser2.cpp:1146 (cJass::Parser2::Parse::<lambda_970c80303602dae1ae8b808a90cd2d4b>::operator ())] [Debug]:	End parsing function 
[16.11.2019|22:40:29][cjassparser2.cpp:1339 (cJass::Parser2::Parse)] [Info]:	Parsing of file  C:\Users\nazarpunk\Downloads\cJass2Lua_v1.01_x64\test.cjass  successfuly done! 7 

В плане косметики, можно ли очищать лог при начале конвертирования и добавить какуюнибудь иконку))

Конкатекация в lua происходит через ..
local string = 'Concatecate'..'String'
А конвертер оставляет +
nothing test() {
    string s = "Concatecate"+"String"
}
function test()
	local s = "Concatecate" + "String"
end
Лог
[16.11.2019|22:51:35][main.cpp:277 (main)] [Info]:	Starting cJass2Lua application (version 1.01 / x64 ) 
[16.11.2019|22:51:35][main.cpp:296 (main)] [Info]:	Config loaded 
[16.11.2019|22:51:42][cjassparser2.cpp:395 (cJass::Parser2::Parse)] [Info]:	Parsing file C:\Users\nazarpunk\Downloads\cJass2Lua_v1.01_x64\test.cjass 
[16.11.2019|22:51:42][cjassparser2.cpp:1165 (cJass::Parser2::Parse)] [Info]:	Starting parse of " C:\Users\nazarpunk\Downloads\cJass2Lua_v1.01_x64\test.cjass " 
[16.11.2019|22:51:42][cjassparser2.cpp:1166 (cJass::Parser2::Parse)] [Debug]:	Parsing line 1 
[16.11.2019|22:51:42][cjassparser2.cpp:671 (cJass::Parser2::Parse::<lambda_970c80303602dae1ae8b808a90cd2d4b>::operator ())] [Debug]:	Parsing function test 
[16.11.2019|22:51:42][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node Function 
[16.11.2019|22:51:42][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 2 
[16.11.2019|22:51:42][cjassnodes.cpp:942 (cJass::LocalDeclaration::InitData)] [Debug]:	LocalDeclaration::InitData Args: { "string" }
[16.11.2019|22:51:42][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node LocalDeclaration 
[16.11.2019|22:51:42][cjassnodes.cpp:958 (cJass::LocalDeclaration::AddVariable)] [Debug]:	Adding local variable s 
[16.11.2019|22:51:42][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 3 
[16.11.2019|22:51:42][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(VarInitExpression) 
[16.11.2019|22:51:42][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node LocalDeclaration 
[16.11.2019|22:51:42][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node Function 
[16.11.2019|22:51:42][cjassparser2.cpp:1146 (cJass::Parser2::Parse::<lambda_970c80303602dae1ae8b808a90cd2d4b>::operator ())] [Debug]:	End parsing function 
[16.11.2019|22:51:42][cjassparser2.cpp:1339 (cJass::Parser2::Parse)] [Info]:	Parsing of file  C:\Users\nazarpunk\Downloads\cJass2Lua_v1.01_x64\test.cjass  successfuly done! 3 

С циклами беда какая-то творится
nothing f(){
    integer res = 1, i = 0
    whilenot (i++ >= pow) {
        res *= num
    }
    do {
        res *= num
    } whilenot (i++ >= pow)
}
function f()
	local res, i = 1, 0
	whilenot(i = i + 1 >= pow)
	res = res * numdo
	res = res * num
end

function i(>=pow)
end
Лог
[16.11.2019|23:10:22][main.cpp:277 (main)] [Info]:	Starting cJass2Lua application (version 1.02 / x64 ) 
[16.11.2019|23:10:22][main.cpp:296 (main)] [Info]:	Config loaded 
[16.11.2019|23:10:27][cjassparser2.cpp:395 (cJass::Parser2::Parse)] [Info]:	Parsing file C:\Users\nazarpunk\Downloads\cJass2Lua_v1.02_x64\test.cjass 
[16.11.2019|23:10:27][cjassparser2.cpp:1181 (cJass::Parser2::Parse)] [Info]:	Starting parse of " C:\Users\nazarpunk\Downloads\cJass2Lua_v1.02_x64\test.cjass " 
[16.11.2019|23:10:27][cjassparser2.cpp:1182 (cJass::Parser2::Parse)] [Debug]:	Parsing line 1 
[16.11.2019|23:10:27][cjassparser2.cpp:687 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Debug]:	Parsing function f 
[16.11.2019|23:10:27][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node Function 
[16.11.2019|23:10:27][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 2 
[16.11.2019|23:10:27][cjassnodes.cpp:906 (cJass::LocalDeclaration::InitData)] [Debug]:	LocalDeclaration::InitData Args: { "integer" }
[16.11.2019|23:10:27][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node LocalDeclaration 
[16.11.2019|23:10:27][cjassnodes.cpp:922 (cJass::LocalDeclaration::AddVariable)] [Debug]:	Adding local variable res 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(VarInitExpression) 
[16.11.2019|23:10:27][cjassnodes.cpp:922 (cJass::LocalDeclaration::AddVariable)] [Debug]:	Adding local variable i 
[16.11.2019|23:10:27][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 3 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(VarInitExpression) 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node LocalDeclaration 
[16.11.2019|23:10:27][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Wrapper) 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Argument) 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Call) 
[16.11.2019|23:10:27][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 4 
[16.11.2019|23:10:27][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Wrapper) 
[16.11.2019|23:10:27][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 5 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Wrapper) 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Wrapper) 
[16.11.2019|23:10:27][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 6 
[16.11.2019|23:10:27][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 7 
[16.11.2019|23:10:27][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node OperationObject(Wrapper) 
[16.11.2019|23:10:27][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 8 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node OperationObject(Wrapper) 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node Function 
[16.11.2019|23:10:27][cjassparser2.cpp:1162 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Debug]:	End parsing function 
[16.11.2019|23:10:27][cjassparser2.cpp:687 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Debug]:	Parsing function i 
[16.11.2019|23:10:27][cjassparser2.cpp:339 (cJass::Parser2::_addNode)] [Debug]:	Pushing node Function 
[16.11.2019|23:10:27][cjassparser2.cpp:1203 (cJass::Parser2::Parse)] [Debug]:	Parsing line 9 
[16.11.2019|23:10:27][cjassparser2.cpp:323 (cJass::Parser2::_pop)] [Debug]:	Popping node Function 
[16.11.2019|23:10:27][cjassparser2.cpp:1162 (cJass::Parser2::Parse::<lambda_1487e515c1170e8de97051d05f17d0de>::operator ())] [Debug]:	End parsing function 
[16.11.2019|23:10:27][cjassparser2.cpp:1355 (cJass::Parser2::Parse)] [Info]:	Parsing of file  C:\Users\nazarpunk\Downloads\cJass2Lua_v1.02_x64\test.cjass  successfuly done! 9 
Загруженные файлы
30

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

Конкатекация не работает
define {
    EXAMPLE_STRING = "Concatecate"+"String"
}
EXAMPLE_STRING = "Concatecate"
Лог
[16.11.2019|22:24:05][main.cpp:277 (main)] [Info]:	Starting cJass2Lua application (version 1.01 / x64 ) 
[16.11.2019|22:24:05][main.cpp:296 (main)] [Info]:	Config loaded 
[16.11.2019|22:24:11][cjassparser2.cpp:395 (cJass::Parser2::Parse)] [Info]:	Parsing file C:\Users\nazarpunk\Downloads\cJass2Lua_v1.01_x64\test.cjass 
[16.11.2019|22:24:11][cjassparser2.cpp:1165 (cJass::Parser2::Parse)] [Info]:	Starting parse of " C:\Users\nazarpunk\Downloads\cJass2Lua_v1.01_x64\test.cjass " 
[16.11.2019|22:24:11][cjassparser2.cpp:1166 (cJass::Parser2::Parse)] [Debug]:	Parsing line 1 
[16.11.2019|22:24:11][cjassparser2.cpp:694 (cJass::Parser2::Parse::<lambda_970c80303602dae1ae8b808a90cd2d4b>::operator ())] [Debug]:	Parsing defines 
[16.11.2019|22:24:11][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 2 
[16.11.2019|22:24:11][cjassparser2.cpp:1187 (cJass::Parser2::Parse)] [Debug]:	Parsing line 3 
[16.11.2019|22:24:11][cjassparser2.cpp:648 (cJass::Parser2::Parse::<lambda_970c80303602dae1ae8b808a90cd2d4b>::operator ())] [Debug]:	End parsing defines 
[16.11.2019|22:24:11][cjassparser2.cpp:1339 (cJass::Parser2::Parse)] [Info]:	Parsing of file  C:\Users\nazarpunk\Downloads\cJass2Lua_v1.01_x64\test.cjass  successfuly done! 3 
30

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

Drulia_san, можно запоминать последний путь? Не очень удобно каждый раз его вбивать.
Загруженные файлы
30

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

Drulia_san, в lua номерация массивов начинается с 1 в отличии от cjass. Это как-то учтено или придётся ручками все переборы править?
30

» WarCraft 3 / Color

---@param whichEffect effect
---@param r integer
---@param g integer
---@param b integer
function BlzSetSpecialEffectColor(whichEffect, r, g, b) end
30

» WarCraft 3 / Галочка изначально включен jass

я хотел подключать скрипты героев, непосредственно после их пика
Если хотите оптимизировать количество триггеров, то есть более простой способ.
30

» WarCraft 3 / Оптимизация jass кода

В чём разница между этой статьёй и этой?
Это ж одна и таже статья)
30

» WarCraft 3 / Свитч-панелька для скиллов [лучший способ в 1.31]

а запрещать для игрока, если игрок может управлять только 1 таким юнитом.
Можно и для юнита запрещать
---@param whichUnit unit
---@param abilId integer
---@param flag boolean
---@param hideUI boolean
function BlzUnitDisableAbility(whichUnit, abilId, flag, hideUI) end
30

» WarCraft 3 / Кто нибудь может скинуть ссылку на новый редактор и саму игру

Но на батле тогда не поиграешь, наверное, хз, я не тестил.
Чисто теоретически можно подобрать ключик для батлы, но у меня не получилось(
30

» WarCraft 3 / Создание неигрового персонажа для РПГ с нуля

а потом начинаешь задумываться а что если квестодатель умрет или ты убил уже цель и т.д.
Используйте мировой опыт - все важные сюжету неписи должны быть неубиваемые, квэстовые шмотки невыбрасываемые, квэсты линейные...
30

» Администрация XGM / Agren и компания

Ну и чо с этим делать?
С поддержкой режима инкогнито в доисторической ОС древней версией браузера?
30

» WarCraft 3 / [lua] Фрэймы

короче до рефорджа лучше не стоит играться с интерфейсом
Такую игрушку завезли, а вы говорите не играться?))
он какой то странный, только через костыли делается адекватно
Это же варкрафт. Что ещё так прокачает навык костылеписания?))
Та и с декорациями та же беда, вроде бы расставил все красиво, а потом уже другое будет и не так смотреться будет, да и вообще не то....
Это не значит, что ничего делать не нужно.
Щас главное запастись идеями, проработать сюжеты и концепции будущих мап, и бахать уже с приходом Рефоржа)
Я вам 100500 идей с головы подкину, только вот если их не реализовывать, то грош цена этим идеям. А ждать Рефоржа без наработки навыков можно до посинения, только если вам лень делать на "старом" варкрафте, так же лень будет и в новом, только в новом ещё и разобраться нужно будет.
30

» WarCraft 3 / Помогите с тригерами

Читаю обучалки по Jass, как я понял без него никуда.
Выбросьте jass на мороз и переходите на lua. Благо материала на сайте хватает.
30

» WarCraft 3 / BlzGetOriginFrame

то лучше привязывать как к родителю ORIGIN_FRAME_WORLD_FRAME. Если приязать к ORIGIN_FRAME_GAME_UI
Вы посмотрите на родителя ORIGIN_FRAME_WORLD_FRAME.
Если приязать к ORIGIN_FRAME_GAME_UI, то предметы будут под фреймами, ну как то так!
Видимость фрэймов имеющих одного родителя определяется порядком их создания.
30

» WarCraft 3 / [lua] Фрэймы

А как теперь показать то, что мне нужно? Например, кнопку меню. setVisible не помогает.
local InitGlobalsOrigin = InitGlobals
function InitGlobals()
	InitGlobalsOrigin()
	local GAME_UI     = BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0)
	local WORLD_FRAME = BlzGetOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0)
	
	BlzHideOriginFrames(true)
	BlzFrameSetAllPoints(WORLD_FRAME, GAME_UI)
	
	BlzFrameSetVisible(BlzGetFrameByName("UpperButtonBarFrame", 0), true)
	BlzFrameSetVisible(BlzGetFrameByName("ResourceBarFrame", 0), true)
	BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT, 0), true)
	BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_HERO_BAR, 0), true)
	BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_MINIMAP, 0), true)
	BlzFrameSetVisible(BlzFrameGetParent(BlzGetFrameByName("SimpleInfoPanelUnitDetail", 0)), true)
	BlzFrameSetParent(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_ITEM_BUTTON, 0)), BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 0)))
end
Если нужно оставить индикатор дня/ночи, иконку незанятого рабочего и цифры хп/маны под портретом, то берёте прозрачную текстуру и используете только
BlzFrameSetAllPoints(WORLD_FRAME, GAME_UI)
Всё, что мешает, в игровом интерфейсе заменяете на неё. Правда тогда ещё придётся два раза импотрировать её с путями:
  • UI\Console\Human\HumanUITile05.blp
  • UI\Console\Human\HumanUITile06.blp
Но вот когда передвигаешь, чет текст скачет по всему экрану
Если вы за текст в этих кнопках:
То фишка в том, чтоб принудительно задать им размер после передвижения.
30

» WarCraft 3 / Триггеры

И почему все пытаются всё обернуть в обёрнутую обёрткой обёртку?