Другое С/С++ Вопрос - Ответ

san0

Известный
Друг
411
268
Еще вопрос, как игнорировать определенный входящий пакет ?
Если сф плагин
Код:
bool CALLBACK incomingRPC( stRakNetHookParams *params ) // определение callback-функции которая будет вызвана если от сервера был получен новый RPC.
{
if( params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage )
{
    // действия
    return false; // не  разрешаем RPC_ScrClientMessage
};

return true; // успешно завершаем обработку любых других RPC.
};
Статья в вики http://blasthack.net/wiki/tutorials:api_lesson_raknet
 

=]D]EA[N[=

Новичок
14
1
Если сф плагин
Код:
bool CALLBACK incomingRPC( stRakNetHookParams *params ) // определение callback-функции которая будет вызвана если от сервера был получен новый RPC.
{
if( params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage )
{
    // действия
    return false; // не  разрешаем RPC_ScrClientMessage
};

return true; // успешно завершаем обработку любых других RPC.
};
Статья в вики http://blasthack.net/wiki/tutorials:api_lesson_raknet
самп функс ? это ж вроде для клео, мне в собейте нужно заблокировать прием пары пакетов
 

Skadi

Новичок
43
12
Что за хуйня?

oTcGc9H.png
 

Oksenchuk

Новичок
4
0
Как можно сделать проверку на "Server closed the connection." и "You are banned from this server."?
С помощью RPC_ClientMessage нельзя проверить.
 

0pc0d3R

Потрачен
550
270
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Skadi

Новичок
43
12
Всё, разобрался. Не до конца вырезал.
PHP:
BYTE GetPacketID(Packet *p)
{
    if (p==0) return 255;

    if ((unsigned char)p->data[0] == ID_TIMESTAMP) {
        assert(p->length > sizeof(unsigned char) + sizeof(unsigned long));
        return (unsigned char) p->data[sizeof(unsigned char) + sizeof(unsigned long)];
    }
    else {
        return (unsigned char) p->data[0];
    }
}
Рак я.
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
Как можно сделать проверку на "Server closed the connection." и "You are banned from this server."?
С помощью RPC_ClientMessage нельзя проверить.
Входящие пакеты:
ID_CONNECTION_ATTEMPT_FAILED
ID_DISCONNECTION_NOTIFICATION
ID_CONNECTION_BANNED
 
  • Нравится
Реакции: Oksenchuk

smart1337

Новичок
7
0
Подскажите как на с++(sf api) проверить противника под прицелом? Есть готовая функция или писать надо самому?
по примеру как в клео
player 0AD2: 0@ = $PLAYER_CHAR targeted_actor
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
Подскажите как на с++(sf api) проверить противника под прицелом? Есть готовая функция или писать надо самому?
по примеру как в клео
player 0AD2: 0@ = $PLAYER_CHAR targeted_actor
0xB6F3B8 = Pointer to Target.
  • +0x79C [dword] = Targetted CPed:
    • 0 = no cped targetted
  • +0xC0 = Pointer to last object (ped, car, maybe others) you collided with

=> читай участок памяти 0xB6FB54. Если = 0, то Ped не находится под прицелом.
 
  • Нравится
Реакции: smart1337