2016-06-16 22:14:36 +02:00
/**
* Do not edit this file. Any changes will be overwritten by the gamedata
* updater or by upgrading your SourceMod 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 SM's own.
*
* For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod)
*/
"Games"
{
2016-12-25 05:28:08 +01:00
"#default"
2016-06-16 22:14:36 +02:00
{
2017-08-28 16:17:12 +02:00
"Keys"
{
"PriceKey" "in game price"
}
2016-06-16 22:14:36 +02:00
"Offsets"
{
2017-08-21 16:28:59 +02:00
// Offset of szClassName in CCSWeaponData, szDefaultName is @ 140 which returns the default weapon class for the loadoutslot ignoring the users inventory.
2016-06-16 22:14:36 +02:00
"WeaponName"
{
2017-08-21 16:28:59 +02:00
"windows" "4"
"linux" "4"
2017-12-20 08:56:23 +01:00
"linux64" "8"
"mac64" "8"
2016-06-16 22:14:36 +02:00
}
2017-08-21 16:28:59 +02:00
// In HandleCommand_Buy_Internal
2018-07-13 13:47:53 +02:00
// -*(_DWORD *)(v34 + 8) in ida 7 -v34[52]
2016-06-16 22:14:36 +02:00
"WeaponPrice"
{
2018-07-13 13:47:53 +02:00
"windows" "208"
"linux" "208"
"linux64" "328"
"mac64" "328"
2016-06-16 22:14:36 +02:00
}
//Offset into CheckRestartRound
"CTTeamScoreOffset"
{
2017-05-13 18:13:30 +02:00
"windows" "98"
2016-08-06 23:30:18 +02:00
"linux" "115"
2018-07-14 01:44:40 +02:00
"linux64" "143"
2017-12-20 08:56:23 +01:00
"mac64" "148"
2016-06-16 22:14:36 +02:00
}
//Offset into CheckRestartRound
"TTeamScoreOffset"
{
2017-05-13 18:13:30 +02:00
"windows" "125"
2016-08-06 23:30:18 +02:00
"linux" "148"
2018-07-14 01:44:40 +02:00
"linux64" "174"
2017-12-20 08:56:23 +01:00
"mac64" "177"
2016-06-16 22:14:36 +02:00
}
//Offset into HandleCommand_Buy_Internal
"CCSPlayerInventoryOffset"
{
2017-08-18 16:33:41 +02:00
"windows" "60"
2017-08-18 15:06:31 +02:00
"linux" "97"
2018-07-14 01:44:40 +02:00
"linux64" "107"
2017-12-20 08:56:23 +01:00
"mac64" "73"
2016-06-16 22:14:36 +02:00
}
"GetItemInLoadout"
{
"windows" "8"
"linux" "9"
2017-12-20 08:56:23 +01:00
"linux64" "9"
"mac64" "9"
2016-06-16 22:14:36 +02:00
}
2017-08-21 16:28:59 +02:00
"GetItemDefintionByName" //_ZN15CEconItemSchema23GetItemDefinitionByNameEPKc
2016-06-16 22:14:36 +02:00
{
2017-08-21 16:28:59 +02:00
"windows" "42"
"linux" "41"
2017-12-20 08:56:23 +01:00
"linux64" "41"
"mac64" "41"
2016-06-16 22:14:36 +02:00
}
2017-08-21 16:28:59 +02:00
// Search for "%s (ID %llu) at backpack slot %d" (CCSPlayerInventory::DumpInventoryToConsole(bool))
// Jump to the vtable 2 functions above calls CCStrike15ItemDefinition::GetLoadoutSlot(CCStrike15ItemDefinition *this, int)
// This is an offset into CCStrike15ItemDefinition that contains the loadoutslot IGNORING the team param (the second param in the function)
"LoadoutSlotOffset"
2016-06-16 22:14:36 +02:00
{
2017-08-21 16:28:59 +02:00
"windows" "588"
"linux" "588"
2017-12-20 08:56:23 +01:00
"linux64" "908"
"mac64" "908"
2016-06-16 22:14:36 +02:00
}
2017-09-03 15:19:12 +02:00
// Offset into CEconItemSchema * to a hashmap of all itemdefs
// Offset can be found in... GetItemDefinitionMutable (easy to get offset on windows should be the same)
"ItemDefHashOffset"
{
"windows" "172"
"linux" "172"
2017-12-20 08:56:23 +01:00
"linux64" "232"
"mac64" "232"
2017-09-03 15:19:12 +02:00
}
2016-06-16 22:14:36 +02:00
}
"Signatures"
{
2017-08-21 16:28:59 +02:00
"GetItemSchema"
{
"library" "server"
"windows" "\xA1\x2A\x2A\x2A\x2A\x85\xC0\x75\x2A\xA1\x2A\x2A\x2A\x2A\x56\x68\x2A\x2A\x00\x00\x8B"
"linux" "\x55\x89\xE5\x83\xEC\x08\xE8\x2A\x2A\x2A\x2A\xC9\x83\xC0\x04\xC3"
2017-12-20 08:56:23 +01:00
"linux64" "\x55\x48\x89\xE5\xE8\x2A\x2A\x2A\x2A\x5D\x48\x83\xC0\x08\xC3"
"mac64" "\x55\x48\x89\xE5\x41\x56\x53\x48\x8B\x1D\x2A\x2A\x2A\x2A\x48\x85\xDB\x75"
2017-08-21 16:28:59 +02:00
}
2016-06-16 22:14:36 +02:00
"RoundRespawn"
{
"library" "server"
2017-05-24 14:41:30 +02:00
"windows" "\x55\x8B\xEC\x83\xEC\x0C\x53\x56\x8B\xF1\x8B\x0D\x2A\x2A\x2A\x2A\x57\x8B\x01"
2016-11-29 03:54:24 +01:00
"linux" "\x55\x89\xE5\x57\x56\x53\x83\xEC\x4C\xA1\x2A\x2A\x2A\x2A\x8B\x5D\x08\x89\x04\x24"
2018-07-14 01:44:40 +02:00
"linux64" "\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x89\xFB\x48\x83\xEC\x18\x4C\x8B\x25\x85\x17\xB4\x00"
"mac64" "\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x54\x53\x48\x83\xEC\x10\x49\x89\xFC\x4C\x8D\x3D\xD7\xB9\x90\x00"
2016-06-16 22:14:36 +02:00
}
"SwitchTeam"
{
"library" "server"
2017-05-24 16:42:22 +02:00
"windows" "\x55\x8B\xEC\x83\xEC\x10\x53\x56\x8B\x75\x08\x57\x8B\xF9\x85\xF6\x0F\x88\x2A\x2A\x2A\x2A\x3B\x35"
2017-12-28 23:39:30 +01:00
"linux" "\x55\x89\xE5\x83\xEC\x68\x89\x75\xF8\x8B\x75\x0C\x89\x5D\xF4\x8B\x5D\x08\x89\x7D\xFC\x89\x34\x24\xE8\x2A\x2A\x2A\x2A\x85\xC0"
2018-07-14 01:44:40 +02:00
"linux64" "\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x55\x41\x54\x49\x89\xFC\x89\xF7\x53\x89\xF3"
2017-12-20 08:56:23 +01:00
"mac64" "\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x83\xEC\x18\x89\xF3\x49\x89\xFC"
2016-06-16 22:14:36 +02:00
}
"HandleCommand_Buy_Internal"//Wildcard first 6 bytes for getting address for weapon price.
{
"library" "server"
2017-08-18 16:33:41 +02:00
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x83\xEC\x0C\x53\x56\x57\x6A\x01"
2017-08-18 15:06:31 +02:00
"linux" "\x2A\x2A\x2A\x2A\x2A\x2A\x0F\xB6\x55\x14\x89\x75\xF8\x8B\x75\x08"
2018-07-14 01:44:40 +02:00
"linux64" "\x2A\x2A\x2A\x2A\x2A\x2A\x41\x56\x41\x89\xCE\x41\x55\x49\x89\xD5\x41\x54\x41\x89\xF4"
2017-12-20 08:56:23 +01:00
"mac64" "\x2A\x2A\x2A\x2A\x2A\x2A\x41\x56\x41\x55\x41\x54\x53\x48\x83\xEC\x58\x41\x89\xCF\x49\x89\xD4"
2016-06-16 22:14:36 +02:00
}
2017-06-12 14:38:11 +02:00
"CSWeaponDropBB" //Revert back to using CSWeaponDrop(weapon, bool, bool)
{
"library" "server"
2019-05-01 17:31:26 +02:00
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x83\xE4\xF8\x83\xC4\x04\x55\x8B\x6B\x04\x89\x6C\x24\x04\x8B\xEC\x83\xEC\x34\x56"
2019-05-01 17:35:13 +02:00
"linux" "\x2A\x2A\x2A\x2A\x2A\x2A\xEC\x70\x8B\x5D\x08\x0F\xB6\x75\x10"
2018-07-14 01:44:40 +02:00
"linux64" "\x2A\x2A\x2A\x2A\x2A\x2A\x41\x89\xCE\x41\x55\x41\x89\xD5\x41\x54\x49\x89\xF4"
"mac64" "\x2A\x2A\x2A\x2A\x2A\x2A\x41\x56\x41\x54\x53\x48\x83\xEC\x30\x41\x89\xCC\x41\x89\xD7"
2017-06-12 14:38:11 +02:00
}
2016-06-16 22:14:36 +02:00
"TerminateRound"
{
2017-05-13 03:24:11 +02:00
"library" "server"
"windows" "\x55\x8B\xEC\x83\xE4\xF8\x83\xEC\x2A\x53\x8B\xD9\xF3\x0F\x2A\x2A\x2A\x2A\x56\x57\x89\x2A\x2A\x2A\x83\xBB"
2017-12-20 06:23:29 +01:00
"linux" "\x55\x89\xE5\x57\x56\x53\x81\xEC\xBC\x00\x00\x00\x8B\x7D\x08\x8B\x9F"
2018-07-14 01:44:40 +02:00
"linux64" "\x55\x48\x89\xE5\x41\x57\x41\x56\x49\x89\xFE\x41\x55\x41\x54\x53\x48\x81\xEC\x98\x00\x00\x00\x89\xB5\x68\xFF\xFF\xFF"
2017-12-20 08:56:23 +01:00
"mac64" "\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xEC\x08\x01\x00\x00\x41\x89\xF6"
2016-06-16 22:14:36 +02:00
}
//In CS:GO this is actually CCSGameRules::CheckRestartRound(void) but to keep same gamedata as cs:s.
"CheckWinLimit"
{
"library" "server"
"windows" "\x55\x8B\xEC\x83\xE4\xF8\x83\xEC\x2A\x53\x56\x57\x8B\xF9\x8B\x0D\x2A\x2A\x2A\x2A\x81\xF9"
2016-11-29 03:54:24 +01:00
"linux" "\x55\x89\xE5\x56\x53\x83\xEC\x70\xA1\x2A\x2A\x2A\x2A\x8B\x35\x2A\x2A\x2A\x2A\x8B"
2018-07-14 01:44:40 +02:00
"linux64" "\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x89\xFB\x48\x83\xEC\x58\x64\x48\x8B\x04\x25\x28\x00\x00\x00\x48\x89\x45\xC8\x31\xC0\x4C\x8B\x2D\x46\xD3\xBB\x00"
"mac64" "\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x83\xEC\x58\x49\x89\xFD\x48\x8B\x1D\x85\x76\x60\x00"
2016-06-16 22:14:36 +02:00
}
"SetModelFromClass"
{
"library" "server"
2018-12-07 00:47:44 +01:00
"windows" "\x53\x56\x57\x8B\xF9\x8B\x87\x14\x03\x00\x00"
2016-11-29 03:54:24 +01:00
"linux" "\x55\x89\xE5\x83\xEC\x28\x89\x5D\xF4\x8B\x5D\x08\x89\x75\xF8\x89\x7D\xFC\x89\x1C\x24\xE8\x2A\x2A\x2A\x2A\x83\xF8\x02"
2018-07-14 01:44:40 +02:00
"linux64" "\x55\x48\x89\xE5\x41\x55\x41\x54\x53\x48\x89\xFB\x48\x83\xEC\x18\xE8\x2A\x2A\x2A\x2A\x83\xF8\x02"
2017-12-20 08:56:23 +01:00
"mac64" "\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x54\x53\x49\x89\xFC\xE8\x2A\x2A\x2A\x2A\x83\xF8\x02"
2016-06-16 22:14:36 +02:00
}
2017-08-21 16:28:59 +02:00
//GetCCSWeaponData Found in HandleCommand_Buy_Internal
2017-08-25 16:19:19 +02:00
//Uses an econitemview
2017-08-21 16:28:59 +02:00
"GetCCSWeaponData"
{
"library" "server"
"windows" "\x85\xC9\x75\x2A\x33\xC0\xC3\xE8\x2A\x2A\x2A\x2A\x8B"
"linux" "\x55\x89\xE5\x83\xEC\x18\x8B\x45\x08\x85\xC0\x74\x2A\x89\x04\x24"
2018-07-14 01:44:40 +02:00
"linux64" "\x48\x85\xFF\x74\x2A\x55\x48\x89\xE5\xE8\x2A\x2A\x2A\x2A\x5D\x48\x89\xC7"
"mac64" "\x55\x48\x89\xE5\x41\x56\x53\x31\xC0\x48\x85\xFF\x74\x2A\xE8\x2A\x2A\x2A\x2A\x48"
2017-08-21 16:28:59 +02:00
}
2016-06-16 22:14:36 +02:00
}
}
2016-12-25 05:28:08 +01:00
"#default"
2016-06-16 22:14:36 +02:00
{
"Keys"
{
"AssistsBase" "m_iFrags"
}
"Offsets"
{
"Assists"
{
"windows" "4"
"linux" "4"
2017-12-20 08:56:23 +01:00
"linux64" "4"
"mac64" "4"
2016-06-16 22:14:36 +02:00
}
}
}
2016-12-25 05:28:08 +01:00
"#default"
2016-06-16 22:14:36 +02:00
{
"Keys"
{
"CScoreBase" "m_bIsHoldingLookAtWeapon"
}
"Offsets"
{
"CScore"
{
2018-12-07 13:24:30 +01:00
"windows" "63"
"linux" "63"
"linux64" "63"
"mac64" "63"
2016-06-16 22:14:36 +02:00
}
}
}
2016-12-25 05:28:08 +01:00
"#default"
2016-06-16 22:14:36 +02:00
{
"Keys"
{
"MVPsBase" "m_bIsHoldingLookAtWeapon"
}
"Offsets"
{
"MVPs"
{
"windows" "15"
"linux" "15"
2017-12-20 08:56:23 +01:00
"linux64" "15"
"mac64" "15"
2016-06-16 22:14:36 +02:00
}
}
}
2018-11-09 13:13:17 +01:00
// Used for SetClanTag and GetClanTag
// to find the ClanTag offset start with the string "ClanTagChanged". Inside the function there is 2 KeyValues::GetString, one for "tag", and one for "name"
// The respective function underneath each are SetClanTag and SetClanName.
// To get the offset of the base (m_flGroundAccelLinearFracLastTime) unqiue string is "------- accelspeed = %f, flGoalSpeed = %f, flStoredAccel = %f\n"
// Inside that function right above the debug message is an if with a call to CBaseEntity::NetworkStateChanged and a member set with the same offset.
// Do math.
// Note: Second offset can be skipped by simply dumping the netprops instead on each os although the distance will probably be the same on all.
"#default"
{
"Keys"
{
"ClanTagBase" "m_flGroundAccelLinearFracLastTime"
}
"Offsets"
{
"ClanTagSize"
{
"windows" "16"
"linux" "16"
"linux64" "16"
"mac64" "16"
}
"ClanTag"
{
"windows" "140"
"linux" "140"
"linux64" "140"
"mac64" "140"
}
}
}
2016-06-16 22:14:36 +02:00
}