216 lines
5.8 KiB
Plaintext
216 lines
5.8 KiB
Plaintext
/**
|
|
* 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"
|
|
{
|
|
"#default"
|
|
{
|
|
"Keys"
|
|
{
|
|
"PriceKey" "in game price"
|
|
}
|
|
"Offsets"
|
|
{
|
|
// Offset of szClassName in CCSWeaponData, szDefaultName is @ 140 which returns the default weapon class for the loadoutslot ignoring the users inventory.
|
|
"WeaponName"
|
|
{
|
|
"windows" "4"
|
|
"linux" "4"
|
|
"mac" "4"
|
|
}
|
|
// In HandleCommand_Buy_Internal
|
|
// -*(_DWORD *)(v34 + 208) in ida 7 -v34[52]
|
|
"WeaponPrice"
|
|
{
|
|
"windows" "208"
|
|
"linux" "208"
|
|
"mac" "208"
|
|
}
|
|
//Offset into CheckRestartRound
|
|
"CTTeamScoreOffset"
|
|
{
|
|
"windows" "98"
|
|
"linux" "115"
|
|
"mac" "150"
|
|
}
|
|
//Offset into CheckRestartRound
|
|
"TTeamScoreOffset"
|
|
{
|
|
"windows" "125"
|
|
"linux" "148"
|
|
"mac" "185"
|
|
}
|
|
"ClanTagOffset"
|
|
{
|
|
"windows" "12"
|
|
"linux" "29"
|
|
"mac" "22"
|
|
}
|
|
//Offset into HandleCommand_Buy_Internal
|
|
"CCSPlayerInventoryOffset"
|
|
{
|
|
"windows" "60"
|
|
"linux" "97"
|
|
"mac" "109"
|
|
}
|
|
"GetItemInLoadout"
|
|
{
|
|
"windows" "8"
|
|
"linux" "9"
|
|
"mac" "9"
|
|
}
|
|
"GetItemDefintionByName" //_ZN15CEconItemSchema23GetItemDefinitionByNameEPKc
|
|
{
|
|
"windows" "42"
|
|
"linux" "41"
|
|
"mac" "41"
|
|
}
|
|
// 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"
|
|
{
|
|
"windows" "588"
|
|
"linux" "588"
|
|
"mac" "588"
|
|
}
|
|
// 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"
|
|
"mac" "172"
|
|
}
|
|
}
|
|
"Signatures"
|
|
{
|
|
"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"
|
|
}
|
|
"RoundRespawn"
|
|
{
|
|
"library" "server"
|
|
"windows" "\x55\x8B\xEC\x83\xEC\x0C\x53\x56\x8B\xF1\x8B\x0D\x2A\x2A\x2A\x2A\x57\x8B\x01"
|
|
"linux" "\x55\x89\xE5\x57\x56\x53\x83\xEC\x4C\xA1\x2A\x2A\x2A\x2A\x8B\x5D\x08\x89\x04\x24"
|
|
}
|
|
"SwitchTeam"
|
|
{
|
|
"library" "server"
|
|
"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"
|
|
"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"
|
|
}
|
|
"HandleCommand_Buy_Internal"//Wildcard first 6 bytes for getting address for weapon price.
|
|
{
|
|
"library" "server"
|
|
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x83\xEC\x0C\x53\x56\x57\x6A\x01"
|
|
"linux" "\x2A\x2A\x2A\x2A\x2A\x2A\x0F\xB6\x55\x14\x89\x75\xF8\x8B\x75\x08"
|
|
}
|
|
"CSWeaponDropBB" //Revert back to using CSWeaponDrop(weapon, bool, bool)
|
|
{
|
|
"library" "server"
|
|
"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"
|
|
"linux" "\x2A\x2A\x2A\x2A\x2A\x2A\x83\xEC\x7C\x8B\x5D\x08\x0F\xB6\x7D\x14"
|
|
}
|
|
"TerminateRound"
|
|
{
|
|
"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"
|
|
"linux" "\x55\x89\xE5\x57\x56\x53\x81\xEC\xBC\x00\x00\x00\x8B\x7D\x08\x8B\x9F"
|
|
}
|
|
//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"
|
|
"linux" "\x55\x89\xE5\x56\x53\x83\xEC\x70\xA1\x2A\x2A\x2A\x2A\x8B\x35\x2A\x2A\x2A\x2A\x8B"
|
|
}
|
|
"SetClanTag"
|
|
{
|
|
"library" "server"
|
|
"windows" "\x55\x8B\xEC\x8B\x55\x08\x85\xD2\x74\x2A\x8D\x81\x2A\x2A\x2A\x2A\x56\x8D\x70\x0F\x3B\xC6\x73\x2A\x2B\xD0\x66\x0F\x2A\x2A\x2A\x2A\x8A\x0C\x02"
|
|
"linux" "\x55\x89\xE5\x83\xEC\x18\x8B\x45\x0C\x85\xC0\x74\x2A\x89\x44\x24\x04\x8B\x45\x08\xC7\x44\x24\x08\x10\x00\x00\x00"
|
|
}
|
|
"SetModelFromClass"
|
|
{
|
|
"library" "server"
|
|
"windows" "\x53\x56\x57\x8B\xF9\x8B\x87\x14\x03\x00\x00"
|
|
"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"
|
|
}
|
|
//GetCCSWeaponData Found in HandleCommand_Buy_Internal
|
|
//Uses an econitemview
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
|
|
"#default"
|
|
{
|
|
"Keys"
|
|
{
|
|
"AssistsBase" "m_iFrags"
|
|
}
|
|
|
|
"Offsets"
|
|
{
|
|
"Assists"
|
|
{
|
|
"windows" "4"
|
|
"linux" "4"
|
|
"mac" "4"
|
|
}
|
|
}
|
|
}
|
|
|
|
"#default"
|
|
{
|
|
"Keys"
|
|
{
|
|
"CScoreBase" "m_bIsHoldingLookAtWeapon"
|
|
}
|
|
|
|
"Offsets"
|
|
{
|
|
"CScore"
|
|
{
|
|
"windows" "63"
|
|
"linux" "63"
|
|
"mac" "63"
|
|
}
|
|
}
|
|
}
|
|
|
|
"#default"
|
|
{
|
|
"Keys"
|
|
{
|
|
"MVPsBase" "m_bIsHoldingLookAtWeapon"
|
|
}
|
|
|
|
"Offsets"
|
|
{
|
|
"MVPs"
|
|
{
|
|
"windows" "15"
|
|
"linux" "15"
|
|
"mac" "15"
|
|
}
|
|
}
|
|
}
|
|
}
|