pvPrivateData - это свойство, описанное в структуре edict_s (см. HLSDK, файл edict.h). Содержит блок памяти, в котором находятся дополнительные свойства объекта, относящиеся к конкретному моду (mod-related). Доступ к нему осуществляется посредством модификации памяти - по смещению. Чтобы узнать структуру этого блока памяти, необходимы исходники мода. А так как у вас их нет и вряд ли будут (речь о CS/CZ), то информацию о типе и назначении групп ячеек памяти можно получить исследовательским методом (а-ля хакинг). Т.е. вы определяете для себя область данных, которую будете исследовать, запоминаете значения, потом выполняете действия, смотрите - изменилось ли что - и т.о. делаете вывод (если повезет) о назначении этого участка памяти. Т.к. это колоссальный и утомительный труд, то информация по ячейкам памяти бесценна. К сожалению, полученная информация не может со 100% гарантией распространяться на родственные моды (CS/CZ) и даже на различные версии одного и того же мода.
Итак, что же содержится в pvPrivateData?
Процитирую VEN'a: "Player's Money, BackPackAmmo, Defuse/Plant skill, Deaths, Weapon's Type, Ammo и многое-многое другое". Не путайте эти свойства со свойствами PEV структуры. Они друг друга дополняют.
Как работать с ними?
Для этого в fakemeta.inc есть следующие функции:
get_pdata_<type>
set_pdata_<type>
где <type> может быть int, float ,string.
Т.к. вы напрямую работаете с памятью, то делать это надо очень и очень акуратно, особенно если используете set_pdata_string/get_pdata_string.
Перечень смещений в pdata (просьба не стесняться и дополнять список):
TODO
Ссылки:
Finding armor Type, with fakemeta
Offset Stringer