diff --git a/scripting/eventqueuefix.sp b/scripting/eventqueuefix.sp index 2752519..4bbd16e 100644 --- a/scripting/eventqueuefix.sp +++ b/scripting/eventqueuefix.sp @@ -366,10 +366,16 @@ public any Native_GetClientEvents(Handle plugin, int numParams) int client = GetNativeCell(1); if(client < 0 || client > MaxClients || !IsClientConnected(client) || !IsClientInGame(client) || IsClientSourceTV(client)) return false; - + + ArrayList pe = g_aPlayerEvents[client].Clone(); + ArrayList ow = g_aOutputWait[client].Clone(); + eventpack_t ep; - ep.playerEvents = g_aPlayerEvents[client].Clone(); - ep.outputWaits = g_aOutputWait[client].Clone(); + ep.playerEvents = view_as(CloneHandle(pe, plugin)); + ep.outputWaits = view_as(CloneHandle(ow, plugin)); + + delete pe; + delete ow; SetNativeArray(2, ep, sizeof(eventpack_t)); return true;