ClientCheckType

Материал из Pawno Info Wikipedia

Всего клиент может обработать 6 типов запросов.

Запросы SendClientCheck
Тип Описание Актуальная версия клиента
2 или 0x2 Данный тип возвращает 32 флага из структуры CPhysicalSA. Если игрок в транспорте, то возвращает информацию транспорта, а если пешком - то информацию о самом игроке. Это такие флаги как стоит ли игрок на земле, находится ли он в воде, касается ли воды, уязвим ли к различным типам урона <= 0.3z или >= 0.3.7 R2, 0.3.7 R3, 0.3DL-R1
5 или 0x5 Он составляет контрольную сумму размером в байтах из адреса arg + offset (память GTA) и возвращает ее в аргумент ответа. Допустимые адреса: 0x400000 - 0x856E00. Допустимые смещения: от 0 до 255. Один из самых интересных и полезных типов. Вы можете проверить, запакована ли память каким-нибудь читом / хаком. < 0.3z или >= 0.3.7 R2, 0.3.7 R3, 0.3DL-R1
69 или 0x45 Он составляет контрольную сумму размером в байтах из адреса arg + offset (память SAMP) и возвращает ее в аргумент ответа. Допустимые адреса: 0x0 - 0xC3500. Допустимые смещения: 0 - 255. Также может использоваться для поиска установленных читов / хаков. >= 0.3.7 R2, 0.3.7 R3, 0.3DL-R1
70 или 0x46 Этот тип читает данные структуры CBaseModelInfoSA указанной модели и возвращает однобайтовую чек-сумму. Можно указать, с какого оффсета начать чтение и сколько байт прочитать. Например, запрос SendClientCheck(playerid, 0x46, 1598, 0, 28) вернёт чек-сумму первых 28 байт структуры модели 1598. <=0.3z или >= 0.3.7 R2, 0.3.7 R3, 0.3DL-R1
71 или 0x47 Этот тип читает данные структуры CColModelSA указанной модели (указатель на которую лежит по оффсету 20 в структуре CBaseModelInfoSA), в частности чек-сумму коллизии. <=0.3z или >= 0.3.7 R2, 0.3.7 R3, 0.3DL-R1
72 или 0x48 Данный запрос не нуждается ни в каких дополнительных аргументах. Он возвращает количество секунд с момента запуска компьютера в arg. <=0.3z или >= 0.3.7 R2, 0.3.7 R3, 0.3DL-R1

Wiki tip.png

Подсказка

Чек-сумма считается по простому алгоритму:
for(new i = startaddress; i < endaddress; i++) result ^= ReadMemory(i) & 0xCC;