Если способ removeEvent
идентифицирует конкретную функцию события, которую необходимо удалить, предоставив именно эту функцию, то это то, что вам нужно сделать.Таким образом, функция должна быть где-то сохранена, чтобы функция могла передать ее removeEvent
.
. Как правило, это будет выглядеть так:
local function eventFunc()
do..some..stuff
removeEvent("onQuestion", eventFunc)
end
addEvent("onQuestion", eventFunc)
Если вы хотите более общее решение, вы можете создать addSelfRemoveEvent
упаковочную функцию:
function addSelfRemoveEvent(eventName, func)
local outer function()
func()
removeEvent(eventName, outer)
end
addEvent(eventName, outer)
end