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

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

Вопрос, как отследить ЛКМ?
Ответ:
	local TrigPressLMB = CreateTrigger()
	for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
		TriggerRegisterPlayerEvent(TrigPressLMB, Player(i), EVENT_PLAYER_MOUSE_DOWN)
	end
	TriggerAddAction(TrigPressLMB, function()
	if BlzGetTriggerPlayerMouseButton() == MOUSE_BUTTON_TYPE_RIGHT then
		print(GetPlayerName(GetTriggerPlayer(GetTriggerPlayer()))" Игрок нажал левую кнопку мыши")
	end
	end)

Понял только заголовок, на него и ответил, остальное просто набор слов
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
4 года назад
0
Похожие вопросы:

ответ
~8gabriel8:
Смотря что нужно, если ЛКМ нужно отслеживать только для выбора юнитов, указания цели способностей или установки точки сбора, то и стандартные функции 1.26 сгодятся, а если ещё и просто сам факт щёлкания в пустоту, то либо мемхак, либо новый патч.
как уже заметили выше

0
2
4 года назад
0
XGM Bot, я пользуюсь 1.31 версией точно не помню вроде она
1
24
4 года назад
1
Эм, друг, слово бот в его никнейме, в данном случае - буквальное, отвечать ему бесполезно, это не человек.
0
2
4 года назад
Отредактирован MoonLight12
0
koloff, понятно)) , пытаюсь воплоить то что написал выше , вылезла проблема , я сделал триг на то чтобы закрепить выбор на герое после сделал триг на то чтобы при выборе врага проигрывалась анимация ,захожу в игру а это балванчик машется как псих..

Еще вопрос есть как заставить юнита тригерно юзать абилку через Id приказа , в списке тригеров не видать.
0
32
4 года назад
0
Вопрос, как отследить ЛКМ?
Ответ:
	local TrigPressLMB = CreateTrigger()
	for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
		TriggerRegisterPlayerEvent(TrigPressLMB, Player(i), EVENT_PLAYER_MOUSE_DOWN)
	end
	TriggerAddAction(TrigPressLMB, function()
	if BlzGetTriggerPlayerMouseButton() == MOUSE_BUTTON_TYPE_RIGHT then
		print(GetPlayerName(GetTriggerPlayer(GetTriggerPlayer()))" Игрок нажал левую кнопку мыши")
	end
	end)

Понял только заголовок, на него и ответил, остальное просто набор слов
Принятый ответ
0
2
4 года назад
0
Bergi_Bear, спасибо получилось , но вылезла другая проблема кнопка срабатывает даже когда на иконки жмешь , это баг или можно исправить???
2
32
4 года назад
2
Можешь сделать проверку на 0.0, но это отдельный триггер, любой клик по интерфейсу вернёт нулевые координаты.. то бишь тебе надо обратное.. можно в принципе проверять только Х
0
2
4 года назад
0
Bergi_Bear, знал бы я как это сделать)
0
8
4 года назад
0
MoonLight12:
Bergi_Bear, знал бы я как это сделать)
пользуйся
Загруженные файлы
0
32
4 года назад
0
MoonLight12, ну на это отдельный триггер определение позиции курсора относительно мировых координат
GetPlayerMouseX={0,0,0,0}
GetPlayerMouseY={0,0,0,0}
function InitMouseMoveTrigger()
	local MouseMoveTrigger = CreateTrigger()
	for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
		local player = Player(i)
		if GetPlayerSlotState(player) == PLAYER_SLOT_STATE_PLAYING and GetPlayerController(player) == MAP_CONTROL_USER then
			TriggerRegisterPlayerEvent(MouseMoveTrigger, player, EVENT_PLAYER_MOUSE_MOVE)
		end
	end
		TriggerAddAction(MouseMoveTrigger, function()
			print("ismove")
			print("x="..BlzGetTriggerPlayerMouseX().." y="..BlzGetTriggerPlayerMouseY())
			local id=GetPlayerId(GetTriggerPlayer())
			GetPlayerMouseX[id]=BlzGetTriggerPlayerMouseX()
			GetPlayerMouseY[id]=BlzGetTriggerPlayerMouseY()
		end)
end
вызвать 1 раз в инициализации InitMouseMoveTrigger()
Далее в первом событии клика проверять переменную GetPlayerMouseX[id], если они равна 0, значит клик по интерфейсу

А id - разумеется айди игрока
0
2
4 года назад
0
Bergi_Bear, We крашится

Потеря endblock
0
32
4 года назад
0
MoonLight12, если что то потерялось, смотрите оригинал
Чтобы оставить комментарий, пожалуйста, войдите на сайт.