Исходник [RakSamp Lite] Connect Accepted Fix

Ulong

Диванный критик
Автор темы
Проверенный
61
350
Т.к. фикс публично появился в бета версии клиента в тг канале разработчика, нет смысла держать способ и фикс в пыльной папке
Фикс актуален если вы используете релиз версию за 04.02.23 или более раннюю дату

Суть скрипта: исправление краша клиента при невалидном айди в пакете CONNECTION_REQUEST_ACCEPTED путем перезаписи этого пакета

C++:
#define FILTERSCRIPT

#include <a_samp>
#include <Pawn.RakNet>

const CONN_REQUEST_ACCEPTED = 34;
const INVALID_INDEX = 65535;

OInternalPacket:CONN_REQUEST_ACCEPTED(playerid, BitStream:bs) {
    new binary_address, port, player_index, server_challenge;
    BS_IgnoreBits(bs, 8);
    BS_ReadValue(bs, PR_UINT32, binary_address, PR_UINT16, port, PR_UINT16, player_index, PR_UINT32, server_challenge);
    BS_SetWriteOffset(bs, 8);
    BS_WriteValue(bs, PR_UINT32, binary_address, PR_UINT16, port, PR_UINT16, INVALID_INDEX, PR_UINT32, server_challenge);
    return 1;
}
 

Вложения

  • connect_accept_fix.lua
    515 байт · Просмотры: 78

BaronKelon

Активный
172
133
ладно, убедил поправить код
Не благодари


C++:
#define FILTERSCRIPT

#include <a_samp>
#include <Pawn.RakNet>

const CONN_REQUEST_ACCEPTED = 34;
const INVALID_INDEX = 65534;

OInternalPacket:CONN_REQUEST_ACCEPTED(playerid, BitStream:bs) {
    new binary_address, port, player_index, server_challenge;
    BS_IgnoreBits(bs, 8);
    BS_ReadValue(bs, PR_UINT32, binary_address, PR_UINT16, port, PR_UINT16, player_index, PR_UINT32, server_challenge);
    BS_SetWriteOffset(bs, 8);
    BS_WriteValue(bs, PR_UINT32, binary_address, PR_UINT16, port, PR_UINT16, INVALID_INDEX, PR_UINT32, server_challenge);
    return 1;
}
 
  • Эм
Реакции: Mintha

_razor

t.me/sssecretway | ТГК: t.me/razor_code
Модератор
1,920
3,134
таких мест дохуища в раксампе если хорошенько потыкать