Как получить айди декорации типо gg_dest_LTg1_0001 (это айди ворот) . нужно это мне чтобы вставить его в скрипт луа как открывающийся объект, с обычным gui можно было просто selectнуть юнита или декорацию так на карте и все збс , но в случае с джассом приходилось пкд создавать триггер и переводить его в код чтобы достать это айди, это можно как то по другому получить?

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

Создай гуи пустышку, без события, в которой ты обратишься к воротам (например убей их), таким образом ты получишь переменную вида gg_dest_LTg1_0001 и вот её ты можешь потом ткнуть в свою функцию ModifyGateBJ
Где я её взял? в SDK который кидал тебе твоём первом вопросе

Но лучше просто сделай это на гуи и не трогай =)
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
1
4 года назад
0
пример почему-то не рабочего кода
Загруженные файлы
0
32
4 года назад
0
выложи весь war3map.lua сюда, что не пойму за что ты говоришь, вообще вроде как gg_dest_LTg1_0001 имя глобальной переменной которая присваивается автоматически, если к декору есть больше 1 обращения на гуи...
Вообще скорее всего в какой то момент инициализации у тебя идёт код
gg_dest_LTg1_0001 = CreateDestructable( и тут куча параметров)
0
1
4 года назад
0
remero:
пример почему-то не рабочего кода
у меня такое ощущение что в луа нужно какое то другое айди вставлять или как то по другому это делать, если это так то исправьте меня плз.

Bergi_Bear:
выложи весь war3map.lua сюда, что не пойму за что ты говоришь, вообще вроде как gg_dest_LTg1_0001 имя глобальной переменной которая присваивается автоматически, если к декору есть больше 1 обращения на гуи...
Вообще скорее всего в какой то момент инициализации у тебя идёт код
gg_dest_LTg1_0001 = CreateDestructable( и тут куча параметров)
да это в принципе весь код)
Загруженные файлы
0
32
4 года назад
0
id декора содержит ИД из реадактора объектов и будет типа FourCC("Ztrv") - вот это и ID Ztrv, оно определяет тип декорации тип юнита, тип способности это по факту 256-ричное число
0
1
4 года назад
0
просто триггер который вызывает открывание ворот в определенный момент времени, 6 часов утра по вариковскому

Bergi_Bear:
id декора содержит ИД из реадактора объектов и будет типа FourCC("Ztrv") - вот это и ID Ztrv, оно определяет тип декорации тип юнита, тип способности это по факту 256-ричное число
Ворота на карте не одни, мне нужно чтобы открывались только одни определенные, вот как это выглядело на мапе на джассе
Загруженные файлы
1
32
4 года назад
1
Смотри
function ModifyGateBJ(gateOperation, d)
	if (gateOperation == bj_GATEOPERATION_CLOSE) then
		if (GetDestructableLife(d) <= 0) then
			DestructableRestoreLife(d, GetDestructableMaxLife(d), true)
		end
		SetDestructableAnimation(d, "stand")
	elseif (gateOperation == bj_GATEOPERATION_OPEN) then
		if (GetDestructableLife(d) > 0) then
			KillDestructable(d)
		end
		SetDestructableAnimation(d, "death alternate")
	elseif (gateOperation == bj_GATEOPERATION_DESTROY) then
		if (GetDestructableLife(d) > 0) then
			KillDestructable(d)
		end
		SetDestructableAnimation(d, "death")
	else
		--  Unrecognized gate state - ignore the request.
	end
end
Не очень функция по факту она убивает и воскрешает декорацию
Оставь её полностью на гуи, про сто у тебя переменная gg_dest_LTg1_0001 жива до тех пор пока жив гуи триггер её использующий как только ты его удалил и решил сделать свою у тебя потерялись связи

Скинь весь файл war3map.lua или карту
0
1
4 года назад
Отредактирован remero
0
Bergi_Bear:
Смотри
function ModifyGateBJ(gateOperation, d)
	if (gateOperation == bj_GATEOPERATION_CLOSE) then
		if (GetDestructableLife(d) <= 0) then
			DestructableRestoreLife(d, GetDestructableMaxLife(d), true)
		end
		SetDestructableAnimation(d, "stand")
	elseif (gateOperation == bj_GATEOPERATION_OPEN) then
		if (GetDestructableLife(d) > 0) then
			KillDestructable(d)
		end
		SetDestructableAnimation(d, "death alternate")
	elseif (gateOperation == bj_GATEOPERATION_DESTROY) then
		if (GetDestructableLife(d) > 0) then
			KillDestructable(d)
		end
		SetDestructableAnimation(d, "death")
	else
		--  Unrecognized gate state - ignore the request.
	end
end
Не очень функция по факту она убивает и воскрешает декорацию
Оставь её полностью на гуи, про сто у тебя переменная gg_dest_LTg1_0001 жива до тех пор пока жив гуи триггер её использующий как только ты его удалил и решил сделать свою у тебя потерялись связи

Скинь весь файл war3map.lua или карту
Где ты нашел полностью код этой функции?

Bergi_Bear:
Смотри
function ModifyGateBJ(gateOperation, d)
	if (gateOperation == bj_GATEOPERATION_CLOSE) then
		if (GetDestructableLife(d) <= 0) then
			DestructableRestoreLife(d, GetDestructableMaxLife(d), true)
		end
		SetDestructableAnimation(d, "stand")
	elseif (gateOperation == bj_GATEOPERATION_OPEN) then
		if (GetDestructableLife(d) > 0) then
			KillDestructable(d)
		end
		SetDestructableAnimation(d, "death alternate")
	elseif (gateOperation == bj_GATEOPERATION_DESTROY) then
		if (GetDestructableLife(d) > 0) then
			KillDestructable(d)
		end
		SetDestructableAnimation(d, "death")
	else
		--  Unrecognized gate state - ignore the request.
	end
end
Не очень функция по факту она убивает и воскрешает декорацию
Оставь её полностью на гуи, про сто у тебя переменная gg_dest_LTg1_0001 жива до тех пор пока жив гуи триггер её использующий как только ты его удалил и решил сделать свою у тебя потерялись связи

Скинь весь файл war3map.lua или карту
я не могу оставить её на GUI, потому-что на GUI это было на другой мапе которая у меня была на jass, тут я делаю мапу на lua и запнулся на том как реализовать на lua чтобы ворота открывались :D. по идее тут есть функция для этого, только что вставлять в второй аргумент не могу понять, по идее всё просто тут, только со вторым аргументом траблы раз это ID объекта только для jass
1
32
4 года назад
1
Создай гуи пустышку, без события, в которой ты обратишься к воротам (например убей их), таким образом ты получишь переменную вида gg_dest_LTg1_0001 и вот её ты можешь потом ткнуть в свою функцию ModifyGateBJ
Где я её взял? в SDK который кидал тебе твоём первом вопросе

Но лучше просто сделай это на гуи и не трогай =)
Принятый ответ
2
1
4 года назад
2
Bergi_Bear:
Создай гуи пустышку, без события, в которой ты обратишься к воротам (например убей их), таким образом ты получишь переменную вида gg_dest_LTg1_0001 и вот её ты можешь потом ткнуть в свою функцию ModifyGateBJ
Где я её взял? в SDK который кидал тебе твоём первом вопросе
короче я понял свою тупость в некоторых моментах, с gui конечно я знатно обосрался, в общем спасибо братан просто лучший!!!! помог и на все вопросы ответил, топчик

Но лучше просто сделай это на гуи и не трогай =)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.