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

Вопрос, как отследить ЛКМ?
Ответ:
	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)

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

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

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

Еще вопрос есть как заставить юнита тригерно юзать абилку через Id приказа , в списке тригеров не видать.
33
Вопрос, как отследить ЛКМ?
Ответ:
	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)

Понял только заголовок, на него и ответил, остальное просто набор слов
Принятый ответ
2
Bergi_Bear, спасибо получилось , но вылезла другая проблема кнопка срабатывает даже когда на иконки жмешь , это баг или можно исправить???
33
Можешь сделать проверку на 0.0, но это отдельный триггер, любой клик по интерфейсу вернёт нулевые координаты.. то бишь тебе надо обратное.. можно в принципе проверять только Х
8
MoonLight12:
Bergi_Bear, знал бы я как это сделать)
пользуйся
Загруженные файлы
33
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 - разумеется айди игрока
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.