#pragma semicolon 1

#define PLUGIN_AUTHOR "null138"
#define PLUGIN_VERSION "3.00"

#include <sourcemod>

#pragma newdecls required

public Plugin myinfo = 
{
	name = "Command Exploits Fixer",
	author = PLUGIN_AUTHOR,
	description = "Fixes command exploits",
	version = PLUGIN_VERSION,
	url = "https://steamcommunity.com/id/null138/"
}

public void OnPluginStart()
{
	Address addr;
	addr = GameConfGetAddress(LoadGameConfigFile("cmdexploitsfix"), "aRptServerEnabl_ptr");
	// addr + 0xAD648 (710216) is pointer to exact line in static const char * s_clcommands[]
	if(addr) StoreToAddress(addr + view_as<Address>(0xAD648), 0x0, NumberType_Int32); 
	
	addr = GameConfGetAddress(LoadGameConfigFile("cmdexploitsfix"), "aVehiclerole_ptr");
	if(addr)
		StoreToAddress(addr, 0x0, NumberType_Int8);
		
	addr = GameConfGetAddress(LoadGameConfigFile("cmdexploitsfix"), "aPlayerperf_ptr");
	if(addr)
		StoreToAddress(addr, 0x0, NumberType_Int8);
		
	addr = GameConfGetAddress(LoadGameConfigFile("cmdexploitsfix"), "aVehicleFlushsc_ptr");
	if(addr)
		StoreToAddress(addr, 0x0, NumberType_Int8);
		
	addr = GameConfGetAddress(LoadGameConfigFile("cmdexploitsfix"), "aAiDebugNodeCon_ptr");
	if(addr)
		StoreToAddress(addr, 0x0, NumberType_Int8);
		
	addr = GameConfGetAddress(LoadGameConfigFile("cmdexploitsfix"), "aAiSetMoveHeigh_ptr");
	if(addr)
		StoreToAddress(addr, 0x0, NumberType_Int8);
}