Сообщение от
Dark_Knight
CVector fPos = { 12.0, 13.2 , 0.0 };
GAME->Get3DMarkers()->CreateMarker(square, MARKER3D_TUBE, &fPos, 40.0, 1.0, 3, 52, 227, 255);
памаги , вылетает игра после ввода /uron id
void CALLBACK cmd_uron(std::string str)
{
if (str.empty()) return;
int i = std::stoi(str);
CVector *vect1;
stBulletData sync; // обьявляем
memset(&sync, 0, sizeof(stBulletData)); // очищаем
sync.byteType = 1; // обычная пуля
sync.byteWeaponID = 24; // ид дигла
for (byte a = 0; a GetPosition()->fX; // заполняем
sync.fOrigin[1] = PEDSELF->GetPosition()->fY; // заполняем
sync.fOrigin[2] = PEDSELF->GetPosition()->fZ; // заполняем
vect1->fX = SF->getSAMP()->getPlayers()->pRemotePlayer
->pPlayerData->fOnFootPos[1];
vect1->fX = SF->getSAMP()->getPlayers()->pRemotePlayer->pPlayerData->fOnFootPos[2]; // Получаем позицию игрока по ид
vect1->fX = SF->getSAMP()->getPlayers()->pRemotePlayer->pPlayerData->fOnFootPos[3]; // Получаем позицию игрока по ид
sync.fTarget[0] = vect1->fX; //Указываем позицию игрока по ид
sync.fTarget[1] = vect1->fY; //Указываем позицию игрока по ид
sync.fTarget[2] = vect1->fZ; //Указываем позицию игрока по ид
sync.sTargetID = i; // ид игрока
BitStream bsBulletSync; // объявляем объект класса BitStream, в котором хранятся пакетные данные.
bsBulletSync.Write((BYTE)ID_BULLET_SYNC); // записываем ID пакета.
bsBulletSync.Write((PCHAR)&sync, sizeof(stBulletData));
SF->getRakNet()->SendPacket(&bsBulletSync);
}