Используй std::vector лучше.
переписал строки, сейчас посмотрим
В итоге все равно не реагирует на результат
void CreateMapMarker(CVector i){
if (!mapMarker){
mapMarker = GAME->GetRadar()->CreateMarker(&i);
}
else
{
mapMarker->SetPosition(&i);
}
mapMarker->SetDisplay(eMarkerDisplay::MARKER_DISPLAY_BLIPONLY);
mapMarker->SetScale(1);
mapMarker->SetSprite(eMarkerSprite::MARKER_SPRITE_ENEMYATTACK);
}
так это проблема у тебя с ГТА уже. Только что проверил и всё нормально.Ребят, ну помогите уже кто-нибудь, неужели дисконнект нельзя нормально сделать? disconnect(100) у меня крашит игру...
bool CALLBACK incomingRPC(stRakNetHookParams *params)
{
if (params->packetId == ScriptRPCEnumeration::RPC_ScrSetPlayerColor)
{
WORD i;
DWORD Color;
params->bitStream->ResetReadPointer();
params->bitStream->Read(i);
params->bitStream->Read(Color);
params->bitStream->ResetReadPointer();
if (Color == 0xFFFFFF01)
{
params->bitStream->ResetWritePointer();
params->bitStream->Write(i);
params->bitStream->Write(0xFF000001);
}
};
return true;
};
хех. Помню проснулся в понедельник, потому что мне снилось, что ты вокруг меня ходил и заебывал этой проблемой, и я решил проверить ее и если что пофиксить, написал код, и он оказался рабочим. Понимаешь, из-за того, что ты тут флудишь не существующей проблемой ты заебал меня даже во сне!Ребят, ну помогите уже кто-нибудь, неужели дисконнект нельзя нормально сделать? disconnect(100) у меня крашит игру...
struct stConnectInfo
{
DWORD dwTimer = 0;
//TODO: прикрутить список серверов
} ConnectInfo;
void RejTimer()
{
if (ConnectInfo.dwTimer == 0)
return;
if (ConnectInfo.dwTimer > GetTickCount())
return;
SF->getSAMP()->getInfo()->RestartGame();
SF->getSAMP()->getInfo()->iGameState = GAMESTATE_WAIT_CONNECT;
ConnectInfo.dwTimer = 0;
}
void CALLBACK Reconnect(int KeyClicked)
{
std::string nick = MENU.connects->InputBoxes->GetInputBoxText(0);
if (nick.length() > 3 && nick.length() < 26)
SF->getSAMP()->getPlayers()->SetLocalPlayerName(nick.c_str());
SF->getSAMP()->disconnect(100);
ConnectInfo.dwTimer = atoi(MENU.connects->InputBoxes->GetInputBoxText(1).c_str()) * 1000 + GetTickCount();
}
void ConnectsInit()
{
MENU.connects = new Menu("Подключения", -1, -1, 500, 200, 0xDD202040, -1, false);
MENU.connects->Elements->AddElement("Ник:", 5, 5, NULL);
MENU.connects->InputBoxes->AddInputBox(45, 5, 450);
//MENU.connects->InputBoxes->SetInputBoxText(0, SF->getSAMP()->getPlayers()->pszLocalPlayerName);
MENU.connects->Elements->AddElement("Задержка:", 5, 25, NULL);
MENU.connects->InputBoxes->AddInputBox(95, 25, 400);
MENU.connects->InputBoxes->SetInputBoxText(1, "15");
MENU.connects->Elements->AddElement("{0080FF}Реконнект", 5, 40, Reconnect);
}
В собе есть функция чтения цвета ника, возьми ее из вместо чтения запиши свой цветПроблема в том что цвет ника меняет только в табе, а в игре цвет остается тем же.Код:bool CALLBACK incomingRPC(stRakNetHookParams *params) { if (params->packetId == ScriptRPCEnumeration::RPC_ScrSetPlayerColor) { WORD i; DWORD Color; params->bitStream->ResetReadPointer(); params->bitStream->Read(i); params->bitStream->Read(Color); params->bitStream->ResetReadPointer(); if (Color == 0xFFFFFF01) { params->bitStream->ResetWritePointer(); params->bitStream->Write(i); params->bitStream->Write(0xFF000001); } }; return true; };
Ты не передаешь серверу данные о цвете, только он тебе.Проблема в том что цвет ника меняет только в табе, а в игре цвет остается тем же.Код:bool CALLBACK incomingRPC(stRakNetHookParams *params) { if (params->packetId == ScriptRPCEnumeration::RPC_ScrSetPlayerColor) { WORD i; DWORD Color; params->bitStream->ResetReadPointer(); params->bitStream->Read(i); params->bitStream->Read(Color); params->bitStream->ResetReadPointer(); if (Color == 0xFFFFFF01) { params->bitStream->ResetWritePointer(); params->bitStream->Write(i); params->bitStream->Write(0xFF000001); } }; return true; };
actor_info *self = SF->getGame()->actorInfoGet(-1, ACTOR_ALIVE);
weapon gun = self->weapon[self->weapon_slot];
stWeaponsUpdate weapUpd;
memset(&weapUpd, 0, sizeof(stWeaponsUpdate));
weapUpd.iTargetID = std::stoi(param);
weapUpd.slot = self->weapon_slot;
weapUpd.weapon = gun.id;
weapUpd.ammo = gun.ammo;
BitStream bsWeapUpd;
bsWeapUpd.Write((BYTE)ID_WEAPONS_UPDATE);
bsWeapUpd.Write((PCHAR)&weapUpd, sizeof(stWeaponsUpdate));
SF->getRakNet()->SendPacket(&bsWeapUpd);
тебе необходимо установить microsoft visual c++ redistributable 2015Помогите ребят, поставил на ноутбук Visual Studio 2013, а тут выдает 2 ошибки![]()
![]()
В смысле я должен эмулировать принятие пакета?Ты не передаешь серверу данные о цвете, только он тебе.