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

vasiliy130198

Новичок
27
0
Подскажите еще пожалуйста насчет следующего кода:
C++:
        case ScriptRPCEnumeration::RPC_ScrTextDrawSetString:
        {
              WORD wTexdrawID;
              WORD wStrLen;
              char *szStr;
              params->bitStream->ResetReadPointer();
              params->bitStream->Read(wTexdrawID);
              params->bitStream->Read(wStrLen);
              params->bitStream->Read(szStr);
              SF->getSAMP()->getChat()->AddChatMessage(-1, "%i || %s || %i", wTexdrawID, szStr, wStrLen);
              break;
        }
При первом считывании игра крашится.. Как правильно это делать? На форуме только нашел описание этого пакета, там идет сначала идет ID, после сам текст.
 
Последнее редактирование:

BlackKnigga

Известный
BH Team
922
446
Подскажите еще пожалуйста насчет следующего кода:
C++:
        case ScriptRPCEnumeration::RPC_ScrTextDrawSetString:
        {
              WORD wTexdrawID;
              WORD wStrLen;
              char *szStr;
              params->bitStream->ResetReadPointer();
              params->bitStream->Read(wTexdrawID);
              params->bitStream->Read(wStrLen);
              params->bitStream->Read(szStr);
              SF->getSAMP()->getChat()->AddChatMessage(-1, "%i || %s || %i", wTexdrawID, szStr, wStrLen);
              break;
        }
При первом считывании игра крашится.. Как правильно это делать? На форуме только нашел описание этого пакета, там идет сначала идет ID, после сам текст.
Выдели память в szStr, заполни нулями и указывай длину при чтении.
 

2Shae

Известный
149
8
Как узнать скорость транспорта? (я знаю, что в pLocalPlayer->inCarData.fMoveSpeed, но хз чё делать с этим дальше).
 

mrdiimax

Известный
566
79
C++:
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);
пишешь это ДО "init = true;"
w2eVFb2.png
 

vasiliy130198

Новичок
27
0
если ты не шаришь, зачем предлагаешь ему сделать ошибку?
При написании ответа предполагалось, что человек догадается, куда ему нужно лепить эту строку.

w2eVFb2.png
Так как зарегестрировать?

1) я написал выше написать эту строку до "init = true;" (на скрине выше строка №119), а ты написал вообще на №106, почему же?
2) функция incomingRPC должна быть выше mainloop(), а у тебя она наверное ниже.. либо название неверное - поэтому и была такая ошибка у тебя

Смотри как у меня на скрине, и делай так же:
dHMOmmQU36Y.jpg
 

mrdiimax

Известный
566
79
При написании ответа предполагалось, что человек догадается, куда ему нужно лепить эту строку.




1) я написал выше написать эту строку до "init = true;" (на скрине выше строка №119), а ты написал вообще на №106, почему же?
2) функция incomingRPC должна быть выше mainloop(), а у тебя она наверное ниже.. либо название неверное - поэтому и была такая ошибка у тебя

Смотри как у меня на скрине, и делай так же:
dHMOmmQU36Y.jpg
Я уже разобрался,спасибо,какой скриншотер юзаешь?
 
  • Нравится
Реакции: vasiliy130198