From e43d77b477ab16d8029b51674b79898b6bb783f2 Mon Sep 17 00:00:00 2001
From: zaCade <zaCade@hotmail.com>
Date: Thu, 28 Mar 2019 16:01:39 +0100
Subject: [PATCH] entWatch4: Add native, and comment old code.

---
 _entWatch4/scripting/entWatch-core.sp         | 16 ++++++++++
 _entWatch4/scripting/entWatch-interface.sp    |  4 +--
 _entWatch4/scripting/entWatch-messages.sp     | 32 +++++++++----------
 .../scripting/include/entWatch_core.inc       |  2 ++
 4 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/_entWatch4/scripting/entWatch-core.sp b/_entWatch4/scripting/entWatch-core.sp
index 3ba778c3..4225a594 100644
--- a/_entWatch4/scripting/entWatch-core.sp
+++ b/_entWatch4/scripting/entWatch-core.sp
@@ -52,6 +52,7 @@ public APLRes AskPluginLoad2(Handle hMyself, bool bLate, char[] sError, int erro
 	g_bLate = bLate;
 
 	CreateNative("EW_GetItemCount", Native_GetItemCount);
+	CreateNative("EW_GetItemData",  Native_GetItemData);
 
 	RegPluginLibrary("entWatch-core");
 	return APLRes_Success;
@@ -616,4 +617,19 @@ public Action OnWeaponTouch(int client, int weapon)
 public int Native_GetItemCount(Handle hPlugin, int numParams)
 {
 	return g_hArray_Items.Length;
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public int Native_GetItemData(Handle hPlugin, int numParams)
+{
+	int index = GetNativeCell(1);
+
+	if ((index < 0) || (index > g_hArray_Items.Length))
+	{
+		return ThrowNativeError(SP_ERROR_INDEX, "Item index %d is invalid.", index);
+	}
+
+	return view_as<int>(g_hArray_Items.Get(index));
 }
\ No newline at end of file
diff --git a/_entWatch4/scripting/entWatch-interface.sp b/_entWatch4/scripting/entWatch-interface.sp
index 8f828134..a481d556 100644
--- a/_entWatch4/scripting/entWatch-interface.sp
+++ b/_entWatch4/scripting/entWatch-interface.sp
@@ -28,7 +28,7 @@ public Plugin myinfo =
 //----------------------------------------------------------------------------------------------------
 public void OnGameFrame()
 {
-	if (EW_GetItemCount())
+/*	if (EW_GetItemCount())
 	{
 		char sHUDFormat[250];
 		char sHUDBuffer[64];
@@ -114,5 +114,5 @@ public void OnGameFrame()
 		BfWriteByte(hMessage, 1);
 		BfWriteString(hMessage, sHUDFormat);
 		EndMessage();
-	}
+	}*/
 }
\ No newline at end of file
diff --git a/_entWatch4/scripting/entWatch-messages.sp b/_entWatch4/scripting/entWatch-messages.sp
index 81f9cf95..3a94f9d3 100644
--- a/_entWatch4/scripting/entWatch-messages.sp
+++ b/_entWatch4/scripting/entWatch-messages.sp
@@ -13,7 +13,7 @@
 #include <sourcemod>
 #include <entWatch_core>
 
-#define MESSAGEFORMAT "\x07%s[entWatch] \x07%s%s \x07%s(\x07%s%s\x07%s) %t \x07%s%s"
+//#define MESSAGEFORMAT "\x07%s[entWatch] \x07%s%s \x07%s(\x07%s%s\x07%s) %t \x07%s%s"
 
 //----------------------------------------------------------------------------------------------------
 // Purpose:
@@ -37,9 +37,9 @@ public void OnPluginStart()
 //----------------------------------------------------------------------------------------------------
 // Purpose:
 //----------------------------------------------------------------------------------------------------
-public void EW_OnClientItemDrop(any[] itemArray, int client, int index)
+public void EW_OnClientItemDrop(int client, int index)
 {
-	if (itemArray[item_display] & DISPLAY_CHAT)
+/*	if (itemArray[item_display] & DISPLAY_CHAT)
 	{
 		char sName[32];
 		GetClientName(client, sName, sizeof(sName));
@@ -49,15 +49,15 @@ public void EW_OnClientItemDrop(any[] itemArray, int client, int index)
 
 		CRemoveTags(sName, sizeof(sName));
 		CPrintToChatAll(MESSAGEFORMAT, "E01B5D", "EDEDED", sName, "E562BA", "B2B2B2", sAuth, "E562BA", "Item Drop", itemArray[item_color], itemArray[item_name]);
-	}
+	}*/
 }
 
 //----------------------------------------------------------------------------------------------------
 // Purpose:
 //----------------------------------------------------------------------------------------------------
-public void EW_OnClientItemDeath(any[] itemArray, int client, int index)
+public void EW_OnClientItemDeath(int client, int index)
 {
-	if (itemArray[item_display] & DISPLAY_CHAT)
+/*	if (itemArray[item_display] & DISPLAY_CHAT)
 	{
 		char sName[32];
 		GetClientName(client, sName, sizeof(sName));
@@ -67,15 +67,15 @@ public void EW_OnClientItemDeath(any[] itemArray, int client, int index)
 
 		CRemoveTags(sName, sizeof(sName));
 		CPrintToChatAll(MESSAGEFORMAT, "E01B5D", "EDEDED", sName, "F1B567", "B2B2B2", sAuth, "F1B567", "Item Death", itemArray[item_color], itemArray[item_name]);
-	}
+	}*/
 }
 
 //----------------------------------------------------------------------------------------------------
 // Purpose:
 //----------------------------------------------------------------------------------------------------
-public void EW_OnClientItemPickup(any[] itemArray, int client, int index)
+public void EW_OnClientItemPickup(int client, int index)
 {
-	if (itemArray[item_display] & DISPLAY_CHAT)
+/*	if (itemArray[item_display] & DISPLAY_CHAT)
 	{
 		char sName[32];
 		GetClientName(client, sName, sizeof(sName));
@@ -85,15 +85,15 @@ public void EW_OnClientItemPickup(any[] itemArray, int client, int index)
 
 		CRemoveTags(sName, sizeof(sName));
 		CPrintToChatAll(MESSAGEFORMAT, "E01B5D", "EDEDED", sName, "C9EF66", "B2B2B2", sAuth, "C9EF66", "Item Pickup", itemArray[item_color], itemArray[item_name]);
-	}
+	}*/
 }
 
 //----------------------------------------------------------------------------------------------------
 // Purpose:
 //----------------------------------------------------------------------------------------------------
-public void EW_OnClientItemDisconnect(any[] itemArray, int client, int index)
+public void EW_OnClientItemDisconnect(int client, int index)
 {
-	if (itemArray[item_display] & DISPLAY_CHAT)
+/*	if (itemArray[item_display] & DISPLAY_CHAT)
 	{
 		char sName[32];
 		GetClientName(client, sName, sizeof(sName));
@@ -103,15 +103,15 @@ public void EW_OnClientItemDisconnect(any[] itemArray, int client, int index)
 
 		CRemoveTags(sName, sizeof(sName));
 		CPrintToChatAll(MESSAGEFORMAT, "E01B5D", "EDEDED", sName, "F1B567", "B2B2B2", sAuth, "F1B567", "Item Disconnect", itemArray[item_color], itemArray[item_name]);
-	}
+	}*/
 }
 
 //----------------------------------------------------------------------------------------------------
 // Purpose:
 //----------------------------------------------------------------------------------------------------
-public void EW_OnClientItemActivate(any[] itemArray, int client, int index)
+public void EW_OnClientItemActivate(int client, int index)
 {
-	if (itemArray[item_display] & DISPLAY_USE)
+/*	if (itemArray[item_display] & DISPLAY_USE)
 	{
 		char sName[32];
 		GetClientName(client, sName, sizeof(sName));
@@ -121,5 +121,5 @@ public void EW_OnClientItemActivate(any[] itemArray, int client, int index)
 
 		CRemoveTags(sName, sizeof(sName));
 		CPrintToChatAll(MESSAGEFORMAT, "E01B5D", "EDEDED", sName, "67ADDF", "B2B2B2", sAuth, "67ADDF", "Item Activate", itemArray[item_color], itemArray[item_name]);
-	}
+	}*/
 }
\ No newline at end of file
diff --git a/_entWatch4/scripting/include/entWatch_core.inc b/_entWatch4/scripting/include/entWatch_core.inc
index 75d14d78..ad99cec4 100644
--- a/_entWatch4/scripting/include/entWatch_core.inc
+++ b/_entWatch4/scripting/include/entWatch_core.inc
@@ -41,6 +41,8 @@ public SharedPlugin __pl_entWatch_core =
 
 native int EW_GetItemCount();
 
+native CItem EW_GetItemData(int index);
+
 forward void EW_OnClientItemDrop(int client, int index);
 forward void EW_OnClientItemDeath(int client, int index);
 forward void EW_OnClientItemPickup(int client, int index);