/**
 * Do not edit this file.  Any changes will be overwritten by the gamedata
 * updater or by upgrading your AMX Mod X install.
 *
 * To override data in this file, create a subdirectory named "custom" and
 * place your own gamedata file(s) inside of it.  Such files will be parsed
 * after AMXX's own.
 *
 * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(AMX_Mod_X)
 */

"Games"
{
	"#default" // Build 10210
	{
		"Signatures"
		{
			"CanPlayerBuy"  // bool CBasePlayer::CanPlayerBuy(bool display)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x51\x56\x8B\xF1\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01"
				"linux"     "@_ZN11CBasePlayer12CanPlayerBuyEb"
				"mac"       "@_ZN11CBasePlayer12CanPlayerBuyEb"
			}

			"CanBuyThis"  // bool CanBuyThis(CBasePlayer *pPlayer, int weaponId)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x53\x8B\x1D\x2A\x2A\x2A\x2A\x56\x8B\x75"
				"linux"     "@_Z10CanBuyThisP11CBasePlayeri"
				"mac"       "@_Z10CanBuyThisP11CBasePlayeri"
			}

			"AddAccount"    // void CBasePlayer::AddAccount(int amount, bool bTrackChange)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x8B\x45\x2A\x56\x8B\xF1\x01\x86"
				"linux"     "@_ZN11CBasePlayer10AddAccountEib"
				"mac"       "@_ZN11CBasePlayer10AddAccountEib"
			}

			"GiveNamedItem" // void CBasePlayer::GiveNamedItem(const char *pszName)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\xA1\x2A\x2A\x2A\x2A\x8B\x55\x2A\x56"
				"linux"     "@_ZN11CBasePlayer13GiveNamedItemEPKc"
				"mac"       "@_ZN11CBasePlayer13GiveNamedItemEPKc"
			}

			"GiveDefaultItems" // void CBasePlayer::GiveDefaultItems(void)
			{
				"library"   "server"
				"windows"   "\x56\x6A\x2A\x8B\xF1\xE8\x2A\x2A\x2A\x2A\x8B\x86"
				"linux"     "@_ZN11CBasePlayer16GiveDefaultItemsEv"
				"mac"       "@_ZN11CBasePlayer16GiveDefaultItemsEv"
			}

			"GiveShield"    // void CBasePlayer::GiveShield(bool bRetire)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x56\x8B\xF1\x8B\x8E\x2A\x2A\x2A\x2A\xC6\x86"
				"linux"     "@_ZN11CBasePlayer10GiveShieldEb"
				"mac"       "@_ZN11CBasePlayer10GiveShieldEb"
			}

			"CreateNamedEntity" // edict_t* CREATE_NAMED_ENTITY(int classname)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x56\xFF\x75\x2A\xFF\x15"
				"linux"     "@_Z19CREATE_NAMED_ENTITYj"
				"mac"       "@_Z19CREATE_NAMED_ENTITYj"
			}

			"FindEntityByString" // CBaseEntity *UTIL_FindEntityByString(CBaseEntity *pStartEntity, const char *szKeyword, const char *szValue)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x51\x8B\x45\x2A\x53\x56"
				"linux"     "@_Z23UTIL_FindEntityByStringP11CBaseEntityPKcS2_"
				"mac"       "@_Z23UTIL_FindEntityByStringP11CBaseEntityPKcS2_"
			}

			"AddEntityHashValue" // void AddEntityHashValue(struct entvars_s *pev, const char *value, hash_types_e fieldType)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x51\x83\x7D"
				"linux"     "@_Z18AddEntityHashValueP9entvars_sPKc12hash_types_e"
				"mac"       "@_Z18AddEntityHashValueP9entvars_sPKc12hash_types_e"
			}

			"RemoveEntityHashValue" // void RemoveEntityHashValue(struct entvars_s *pev, const char *value, hash_types_e fieldType)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x8B\x4D\x2A\x33\xD2\x56\x57"
				"linux"     "@_Z21RemoveEntityHashValueP9entvars_sPKc12hash_types_e"
				"mac"       "@_Z21RemoveEntityHashValueP9entvars_sPKc12hash_types_e"
			}

			"GetWeaponInfo" // WeaponInfoStruct *GetWeaponInfo(int id);
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\xA1\x2A\x2A\x2A\x2A\x33\xC9\x85\x2A\x74" // Found following weaponInfo array
				"linux"     "@_Z13GetWeaponInfoi"
				"mac"       "@_Z13GetWeaponInfoi"
			}

			"GetAmmoIndex" // int CBasePlayer::GetAmmoIndex(const char *psz)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x53\x56\x57\x8B\x7D\x2A\x85\xFF\x74\x2A\x8B\x1D"
				"linux"     "@_ZN11CBasePlayer12GetAmmoIndexEPKc"
				"mac"       "@_ZN11CBasePlayer12GetAmmoIndexEPKc"
			}

			"BuyGunAmmo" // bool BuyGunAmmo(CBasePlayer *player, CBasePlayerItem *weapon, bool bBlinkMoney)
			{
				"library"   "server"
				"windows"   "\x55\x8B\xEC\x56\x57\x8B\x7D\x2A\x8B\xCF\x6A"
				"linux"     "@_Z10BuyGunAmmoR11CBasePlayerR15CBasePlayerItemb"
				"mac"       "@_Z10BuyGunAmmoR11CBasePlayerR15CBasePlayerItemb"
			}

			"UseBotArgs"    // bool UseBotArgs
			{
				"library"   "server"
				"linux"     "@UseBotArgs"
				"mac"       "@UseBotArgs"
			}

			"BotArgs"       // const char *BotArgs[4]
			{
				"library"   "server"
				"linux"     "@BotArgs"
				"mac"       "@BotArgs"
			}
		}

		"Offsets"
		{
			"UseBotArgs"    // bool UseBotArgs
			{
				"windows"   "21" // Used with pfnClientCommand base address
			}

			"BotArgs"       // const char *BotArgs[4]
			{
				"windows"   "42"
			}
		}
	}

	"#default"
	{
		"ItemInfos"
		{
			"BuyAliases"
			{
				//
				// Weapon
				//

				"p228"
				{
					"itemid"     "1"  // CSW/I_P228
					"classid"    "2"  // CS_WEAPONCLASS_PISTOL
					"altname"    "228compact"
				}
				"scout"
				{
					"itemid"     "3"  // CSW/I_SCOUT
					"classid"    "8"  // CS_WEAPONCLASS_SNIPERRIFLE
				}
				"xm1014"
				{
					"itemid"     "5"  // CSW/I_XM1014
					"classid"    "5"  // CS_WEAPONCLASS_SHOTGUN
					"altname"    "autoshotgun"
				}
				"mac10"
				{
					"itemid"     "7"  // CSW/I_MAC10
					"classid"    "4"  // CS_WEAPONCLASS_SUBMACHINEGUN
				}
				"aug"
				{
					"itemid"     "8"  // CSW/I_AUG
					"classid"    "7"  // CS_WEAPONCLASS_RIFLE
					"altname"    "bullpup"
				}
				"elites"
				{
					"itemid"     "10" // CSW/I_ELITE
					"classid"    "2"  // CS_WEAPONCLASS_PISTOL
				}
				"fn57"
				{
					"itemid"     "11" // CSW/I_FIVESEVEN
					"classid"    "2"  // CS_WEAPONCLASS_PISTOL
					"altname"    "fiveseven"
				}
				"ump45"
				{
					"itemid"     "12" // CSW/I_UMP45
					"classid"    "4"  // CS_WEAPONCLASS_SUBMACHINEGUN
				}
				"sg550"
				{
					"itemid"     "13" // CSW/I_SG550
					"classid"    "8"  // CS_WEAPONCLASS_SNIPERRIFLE
					"altname"    "krieg550"
				}
				"galil"
				{
					"itemid"     "14" // CSW/I_GALIL
					"classid"    "7"  // CS_WEAPONCLASS_RIFLE
					"altname"    "defender"
				}
				"famas"
				{
					"itemid"     "15" // CSW/I_FAMAS
					"classid"    "7"  // CS_WEAPONCLASS_RIFLE
					"altname"    "clarion"
				}
				"usp"
				{
					"itemid"     "16" // CSW/I_USP
					"classid"    "2"  // CS_WEAPONCLASS_PISTOL
					"altname"    "km45"
				}
				"glock"
				{
					"itemid"     "17" // CSW/I_GLOCK18
					"classid"    "2"  // CS_WEAPONCLASS_PISTOL
					"altname"    "9x19mm"
				}
				"awp"
				{
					"itemid"     "18" // CSW/I_AWP
					"classid"    "8"  // CS_WEAPONCLASS_SNIPERRIFLE
					"altname"    "magnum"
				}
				"mp5"
				{
					"itemid"     "19" // CSW/I_MP5NAVY
					"classid"    "4"  // CS_WEAPONCLASS_SUBMACHINEGUN
					"altname"    "smg"
				}
				"m249"
				{
					"itemid"     "20" // CSW/I_M249
					"classid"    "6"  // CS_WEAPONCLASS_MACHINEGUN
				}
				"m3"
				{
					"itemid"     "21" // CSW/I_M3
					"classid"    "5"  // CS_WEAPONCLASS_SHOTGUN
					"altname"    "12gauge"
				}
				"m4a1"
				{
					"itemid"     "22" // CSW/I_M4A1
					"classid"    "7"  // CS_WEAPONCLASS_RIFLE
				}
				"tmp"
				{
					"itemid"     "23" // CSW/I_TMP
					"classid"    "4"  // CS_WEAPONCLASS_SUBMACHINEGUN
					"altname"    "mp"
				}
				"g3sg1"
				{
					"itemid"     "24" // CSW/I_G3SG1
					"classid"    "8"  // CS_WEAPONCLASS_SNIPERRIFLE
					"altname"    "d3au1"
				}
				"deagle"
				{
					"itemid"     "26" // CSW/I_DEAGLE
					"classid"    "2"  // CS_WEAPONCLASS_PISTOL
					"altname"    "nighthawk"
				}
				"sg552"
				{
					"itemid"     "27" // CSW/I_SG552
					"classid"    "7"  // CS_WEAPONCLASS_RIFLE
					"altname"    "krieg552"
				}
				"ak47"
				{
					"itemid"     "28" // CSW/I_AK47
					"classid"    "7"  // CS_WEAPONCLASS_RIFLE
					"altname"    "cv47"
				}
				"p90"
				{
					"itemid"     "30" // CSW/I_P90
					"classid"    "4"  // CS_WEAPONCLASS_SUBMACHINEGUN
					"altname"    "c90"
				}

				//
				// Equipment
				//

				"hegren"
				{
					"itemid"     "4"  // CSW/I_HEGRENADE
					"classid"    "3"  // CS_WEAPONCLASS_GRENADE
					"price"      "300"
				}
				"sgren"
				{
					"itemid"     "9"  // CSW/I_SMOKEGRENADE
					"classid"    "3"  // CS_WEAPONCLASS_GRENADE
					"price"      "300"
				}
				"flash"
				{
					"itemid"     "25" // CSW/I_FLASHBANG
					"classid"    "3"  // CS_WEAPONCLASS_GRENADE
					"price"      "200"
				}
				"vest"
				{
					"itemid"     "31"  // CSW/I_VEST
					"classname"  "item_kevlar"
					"price"      "650"
				}
				"vesthelm"
				{
					"itemid"     "32"  // CSW/I_VESTHELM
					"classname"  "item_assaultsuit"
					"price"      "1000"
				}
				"defuser"
				{
					"itemid"     "33"  // CSI_DEFUSER
					"classname"  "item_thighpack"
					"price"      "200"
				}
				"nvgs"
				{
					"itemid"     "34"  // CSI_NVGS
					"price"      "1250"
				}
				"shield"
				{
					"itemid"     "35"  // CSI_SHIELD
					"classid"    "2"   // CS_WEAPONCLASS_PISTOL
					"classname"  "weapon_shield"
				}

				//
				// Ammunition
				//

				"primammo"
				{
					"itemid"    "36"  // CSI_PRIAMMO
					"altname"   "buyammo1"
				}
				"secammo"
				{
					"itemid"    "37"  // CSI_SECAMMO
					"altname"   "buyammo2"
				}
			}
		}
	}

	"*" // Build 8684 - Windows
	{
		"CRC"
		{
			"server"
			{
				"windows" "6BF63A24" // cstrike/dlls/mp.dll
				"windows" "BD938A62" // czero/dlls/mp.dll
			}
		}

		"Signatures"
		{
			"CanPlayerBuy"
			{
				"windows"   "\x51\x53\x55\x56\x57\x8B\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x8B\x2A\xFF"
			}

			"CanBuyThis"
			{
				"windows"   "\x53\x8B\x2A\x2A\x2A\x2A\x2A\x56\x8B\x2A\x2A\x2A\x57\x8B"
			}

			"AddAccount"
			{
				"windows"   "\x8B\x2A\x2A\x2A\x56\x8B\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x03"
			}

			"GiveNamedItem"
			{
				"windows"   "\x8B\x2A\x2A\x2A\x56\x57\x8B\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x2B"
			}

			"GiveDefaultItems"
			{
				"windows"   "\x56\x57\x6A\x2A\x8B\x2A\xE8\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\xC6"
			}

			"GiveShield"
			{
				"windows"   "\x56\x8B\x2A\x57\x33\x2A\x8B\x2A\x2A\x2A\x2A\x2A\xB0"
			}

			"CreateNamedEntity"
			{
				"windows"   "\x56\x57\x8B\x2A\x2A\x2A\x57\xFF\x2A\x2A\x2A\x2A\x2A\x8B"
			}

			"FindEntityByString"
			{
				"windows"   "\x51\x8B\x2A\x2A\x2A\x53\x55\x56\x85\x2A\x57"
			}

			"AddEntityHashValue"
			{
				"windows"   "\x8B\x2A\x2A\x2A\x83\x2A\x2A\x85\x2A\x53\x55\x56\x57\x0F"
			}

			"RemoveEntityHashValue"
			{
				"windows"   "\x8B\x2A\x2A\x2A\x53\x8B\x2A\x55\x8A\x2A\x33"
			}

			"GetWeaponInfo"
			{
				"windows"   "\x8B\x2A\x2A\x2A\x2A\x2A\x33\x2A\x85\x2A\x56\x74\x2A\x8B"
			}

			"GetAmmoIndex"
			{
				"windows"   "\x56\x57\x8B\x2A\x2A\x2A\x85\x2A\x74\x2A\xBE"
			}

			"BuyGunAmmo"
			{
				"windows"   "\x56\x57\x8B\x2A\x2A\x2A\x6A\x2A\x8B\x2A\xE8\x2A\x2A\x2A\x2A\x84\x2A\x0F"
			}
		}

		"Offsets"
		{
			"UseBotArgs"
			{
				"windows"   "2" // Used with pfnClientCommand base address
			}

			"BotArgs"
			{
				"windows"   "22"
			}
		}
	}
}

