Вы не вошли.

1

Понедельник, 26 Октябрь 2020, 16:24

Callback функции, отслеживание нажатия кнопки

Никто не знает, есть ли какая-нибудь колбэк функция для отслеживания нажатия игроком какой-либо кнопки или какого-либо действия из ActionMap? Пробовал OnAction(), но результата не дало. Возможно, я просто что-то сделал не так или даже не знаю. Я получал скрипт-таблицу игрока и сохранял её в переменную Player, затем записывал функцию

Код

1
2
3
function Player:OnAction()
some code
end

но это не дало никаких результатов.
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

2

Среда, 28 Октябрь 2020, 06:20

player.lua, 487:

Код

1
2
3
4
5
6
7
8
9
10
11
12
function Player:OnAction(action, activation, value)
	-- gamerules needs to get all player actions all times
	if (g_gameRules and g_gameRules.Client.OnActorAction) then
		if (not g_gameRules.Client.OnActorAction(g_gameRules, self, action, activation, value)) then
			return;
		end
	end

	if (action == "use" or action == "xi_use") then	
		self:UseEntity( self.OnUseEntityId, self.OnUseSlot, activation == "press");
	end
end


Вот в неё и внедряйся. А как - следовало бы уже лет 10 назад начать изучать программирование, вместо флоуграфов.
Legacy of the Yods



3

Среда, 28 Октябрь 2020, 14:55

И то верно...
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

4

Среда, 28 Октябрь 2020, 20:49

Можно распаковать и отредактировать сам скрипт. Я не знаю, какая у тебя задача. Надо узнать побольше.
Legacy of the Yods



5

Понедельник, 9 Ноябрь 2020, 23:57

Да в принципе уже неважно. В ассетах геймсдк к CEV не нашёл у скрипта игрока этой строчки, так что использовал флоу нод, через который передавал айди игрока, а дальше использовал функцию System.GetEntity(playerId).
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

6

Вторник, 10 Ноябрь 2020, 22:33

Да в принципе уже неважно. В ассетах геймсдк к CEV не нашёл у скрипта игрока этой строчки, так что использовал флоу нод, через который передавал айди игрока, а дальше использовал функцию System.GetEntity(playerId).


А это только в CE3 будет работать, да и то в ранних версиях, там где в PlayerInput.cpp вызывается эта функция. Ошибочка вышла, однако. Надо было указывать версию движка. Но в CE3 и далее уже есть флоунод для Input:Action, так что это даже и не понадобится.
Legacy of the Yods