Решено Как отключить слушатель?

fabio_longo

Продвинутый
13 Июн 2021
153
19
steamcommunity.com
Проект
Chen's Training, Creep Stacking Training
Мне нужно отключить слушатель. Нейросеть мне выдала этот код
function CAddonTemplateGameMode:StopCooldownReset()
local playerUsedAbilityListener = ListenToGameEvent('dota_player_used_ability', Dynamic_Wrap(CAddonTemplateGameMode, 'on_player_used_ability'), self)
local nonPlayerUsedAbilityListener = ListenToGameEvent('dota_non_player_used_ability', Dynamic_Wrap(CAddonTemplateGameMode, 'on_non_player_used_ability'), self)

StopListeningToGameEvent(playerUsedAbilityListener)
StopListeningToGameEvent(nonPlayerUsedAbilityListener)
end

CustomGameEventManager:RegisterListener("stop_cooldown_reset", Dynamic_Wrap(CAddonTemplateGameMode, "StopCooldownReset"))
Но я получаю ошибку Parameter type mismatch. Что делать?
 
Последнее редактирование:

fabio_longo

Продвинутый
13 Июн 2021
153
19
steamcommunity.com
Проект
Chen's Training, Creep Stacking Training
Решил проблему. Слушатель был записан в CAddonTemplateGameMode:InitGameMode() без назначения на переменную. В итоге назначил слушателя на переменную, а в функции StopListeningToGameEvent ввёл эту переменную в качестве аргумента.
P.S. Оказывается, чтобы решить ошибку Parameter type mismatch, нужно было дописать строку self1 = EntIndexToHScript(self), и использовать self1 вместо self
 
Последнее редактирование:
  • Нравится
Реакции: vulkantsk
Реклама: