Jump to content

triggerServerEvent (проблема)


Recommended Posts

Добрый день, я делаю свой проект, не могли бы сказать как сделать чтобы при использование системы в игре выводился его тригер/код в ф8 или же если файл не работает или же в нём ошибка как сделать чтобы его тригер
или код выводился в дебаг, заранее спасибо за ответ)

Link to comment
  • Scripting Moderators

Добрый день.

On 04/10/2021 at 14:43, mrevens said:

или же если файл не работает

Нужно уточнение, дабы понимать, что вы хотите в итоге.

  • Like 1
Link to comment
25 minutes ago, Sarrum said:

Добрый день.

Нужно уточнение, дабы понимать, что вы хотите в итоге.

Вообще можно ли, на стороне клиента одного ресурса, вывести строку с названием triggerServerEvent из другого ресурса? Зная при этом название ресурса или как то по другому

Edited by mrevens
Link to comment
  • Scripting Moderators

Скорее всего вам addDebugHook нужен.

local function onPreFunction ( sourceResource, functionName, isAllowedByACL, luaFilename, luaLineNumber, eventName, ... )
	if ( sourceResource ~= getResourceFromName ( "admin" ) ) then -- название нужного ресурса (в примере: admin)
		return
	end
	
	outputDebugString ( eventName ) -- вывод в окно отладки названия события
end
addDebugHook ( "preFunction", onPreFunction, { "triggerServerEvent" } )

Когда сработает событие в нужном ресурсе, хук отследит это и отобразит в дебаге название.

  • Thanks 1
Link to comment
15 hours ago, Sarrum said:

Скорее всего вам addDebugHook нужен.

local function onPreFunction ( sourceResource, functionName, isAllowedByACL, luaFilename, luaLineNumber, eventName, ... )
	if ( sourceResource ~= getResourceFromName ( "admin" ) ) then -- название нужного ресурса (в примере: admin)
		return
	end
	
	outputDebugString ( eventName ) -- вывод в окно отладки названия события
end
addDebugHook ( "preFunction", onPreFunction, { "triggerServerEvent" } )

Когда сработает событие в нужном ресурсе, хук отследит это и отобразит в дебаге название.

А можно ли как то не просто название триггера вывести, а вместе с его аргументами?

Link to comment
  • Scripting Moderators
4 hours ago, mrevens said:

А можно ли как то не просто название триггера вывести, а вместе с его аргументами?

... - аргументы.

  • Like 1
Link to comment
  • Scripting Moderators

... - переменное количество аргументов. Почитать можно например здесь или здесь (на англ.).
Если коротко, при неопределённом количестве можно вставить в конец списка многоточие (тем самым пропустить перечисление параметров через запятую) и использовать в функции.
В данном случае можно поступить таким образом:

	local args = { ... }
	
	outputDebugString ( eventName .. ", " .. tostring ( args [ 1 ] ) .. ", " .. tostring ( args [ 2 ] ) ) -- по аналогии с triggerServerEvent: args[1] - theElement, args[2] - первый аргумент из списка аргументов (и так до бесконечности)
	-- или:
	outputDebugString ( eventName .. ", " .. inspect ( args ) ) -- альтернативный вариант, если нужны все аргументы

Либо же сразу всё через iprint(...) вывести в дебаг.

  • Thanks 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...