Другое SAMPFUNCS | API C++

Woofing Giraffe

Активный
402
49
а случаем нету примера хука?
У меня есть пример, но он хукает только ID и текст.
C++:
if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowTextDraw)
{
    WORD TID, TLen;
    char Text[128];
    params->bitStream->Read(TID);
    params->bitStream->IgnoreBits(504); // struct
    params->bitStream->Read(TLen);
    params->bitStream->Read(Text, TLen);
    params->bitStream->ResetReadPointer();
    Text[TLen] = '\0';
    SF->getSAMP()->getChat()->AddChatMessage(-1, "%i || %s", TID, Text);
}
 
Последнее редактирование:

QGate

Новичок
78
0
А еще вопросик, он срабатывает только тогда, когда появляется текстдрав или постоянно?
 

Woofing Giraffe

Активный
402
49
А еще вопросик, он срабатывает только тогда, когда появляется текстдрав или постоянно?
Только когда появляется тексдрав. Есть еще RPC изменения текстдрава и скрытия, которые тоже можно хукнуть. Структура здесь: https://docs.google.com/spreadsheets/d/1iIxEk7yR8r7ZLGiSAL4ndtz_N1k0p3Wt7TE5bei6ztU/edit#gid=1
 

tropical5466

Известный
28
19
У меня есть пример, но он хукает только ID и текст.
C++:
if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowTextDraw)
{
    WORD TID, TLen;
    char Text[128];
    params->bitStream->Read(TID);
    params->bitStream->IgnoreBits(504); // struct
    params->bitStream->Read(TLen);
    params->bitStream->Read(Text, TLen);
    params->bitStream->ResetReadPointer();
    Text[TLen] = '\0';
    SF->getSAMP()->getChat()->AddChatMessage(-1, "%i || %s", TID, Text);
}
Можно же сделать так

C++:
if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowTextDraw)
{
    WORD TID, TLen;
    char Text[128];
    params->bitStream->Read(TID);
    params->bitStream->IgnoreBits(504); // struct
    params->bitStream->Read(TLen);
    params->bitStream->Read(Text, TLen);
    params->bitStream->ResetReadPointer();
    Text[TLen] = '\0';
    SF->getSAMP()->getChat()->AddChatMessage(-1, "%i || %s", TID, Text);
    return false;
}
 

Woofing Giraffe

Активный
402
49
Можно же сделать так

C++:
if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowTextDraw)
{
    WORD TID, TLen;
    char Text[128];
    params->bitStream->Read(TID);
    params->bitStream->IgnoreBits(504); // struct
    params->bitStream->Read(TLen);
    params->bitStream->Read(Text, TLen);
    params->bitStream->ResetReadPointer();
    Text[TLen] = '\0';
    SF->getSAMP()->getChat()->AddChatMessage(-1, "%i || %s", TID, Text);
    return false;
}
Тогда ты показ всех текстдравов запретишь