From 67d27f4f155af63ec6133cdf0df0455bf9c3c8b1 Mon Sep 17 00:00:00 2001 From: blueblur Date: Sat, 8 Mar 2025 00:23:55 +0800 Subject: [PATCH] Added forwards about caster registeration --- .../plugins/optional/caster_system.smx | Bin 14046 -> 14399 bytes addons/sourcemod/scripting/caster_system.sp | 22 ++++++++++++++++++ .../scripting/include/caster_system.inc | 18 ++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/addons/sourcemod/plugins/optional/caster_system.smx b/addons/sourcemod/plugins/optional/caster_system.smx index c1740ac3bb96944ff23f14d5500539f88dbdf5dc..4c3266ef076469ca2ee03ef1bd3d89c94ed450fe 100644 GIT binary patch literal 14399 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 literal 14046 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 diff --git a/addons/sourcemod/scripting/caster_system.sp b/addons/sourcemod/scripting/caster_system.sp index 3ea195095..4499c0039 100644 --- a/addons/sourcemod/scripting/caster_system.sp +++ b/addons/sourcemod/scripting/caster_system.sp @@ -29,11 +29,17 @@ bool forbidSelfRegister; ConVar g_hDisableAddons; +GlobalForward g_hFWD_CasterRegistered; +GlobalForward g_hFWD_CasterUnregistered; + public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) { CreateNative("IsClientCaster", Native_IsClientCaster); CreateNative("IsIDCaster", Native_IsIDCaster); + g_hFWD_CasterRegistered = new GlobalForward("OnCasterRegistered", ET_Ignore, Param_Cell); + g_hFWD_CasterUnregistered = new GlobalForward("OnCasterUnregistered", ET_Ignore, Param_Cell); + RegPluginLibrary("caster_system"); return APLRes_Success; } @@ -232,6 +238,10 @@ Action Cast_Cmd(int client, int args) casterTrie.SetValue(buffer, true); CPrintToChat(client, "%t", "SelfCast1"); CPrintToChat(client, "%t", "SelfCast2"); + + Call_StartForward(g_hFWD_CasterRegistered); + Call_PushCell(client); + Call_Finish(); } return Plugin_Handled; @@ -257,6 +267,10 @@ Action Caster_Cmd(int client, int args) ReplyToCommand(client, "\x01%t", "RegCasterReply", target); CPrintToChat(target, "%t", "RegCasterTarget", client); CPrintToChat(target, "%t", "SelfCast2"); + + Call_StartForward(g_hFWD_CasterRegistered); + Call_PushCell(target); + Call_Finish(); } else { @@ -279,6 +293,10 @@ Action NotCasting_Cmd(int client, int args) CPrintToChat(client, "%t", "Reconnect1"); CPrintToChat(client, "%t", "Reconnect2"); + Call_StartForward(g_hFWD_CasterUnregistered); + Call_PushCell(client); + Call_Finish(); + // Reconnection to disable their addons CreateTimer(3.0, Reconnect, client); } @@ -303,6 +321,10 @@ Action NotCasting_Cmd(int client, int args) { CPrintToChat(target, "%t", "UnregCasterTarget", client); NotCasting_Cmd(target, 0); + + Call_StartForward(g_hFWD_CasterUnregistered); + Call_PushCell(target); + Call_Finish(); } ReplyToCommand(client, "\x01%t", "UnregCasterSuccess", target); } diff --git a/addons/sourcemod/scripting/include/caster_system.inc b/addons/sourcemod/scripting/include/caster_system.inc index e7e982f08..6b85674f7 100644 --- a/addons/sourcemod/scripting/include/caster_system.inc +++ b/addons/sourcemod/scripting/include/caster_system.inc @@ -18,6 +18,24 @@ native bool IsClientCaster(int client); */ native bool IsIDCaster(const char[] AuthID); +/** + * Called when a client is registered as a caster + * + * @param Client index + * + * @noreturn +*/ +forward void OnCasterRegistered(int client); + +/** + * Called when a client is unregistered as a caster + * + * @param Client index + * + * @noreturn +*/ +forward void OnCasterUnregistered(int client); + public SharedPlugin __pl_caster_system = { name = "caster_system",