Пользователь
- Регистрация
- 19 Июл 2025
- Сообщения
- 34
- Автор темы
- #1
Доброго времени суток.
Не могли бы вы поделиться различными уроками по работе с битстримами?
Приветствуются абсолютно любые уроки, как в текстовом, так и в видео формате, как для чайников, так и для прошаренных.
Пример битстримов
Не могли бы вы поделиться различными уроками по работе с битстримами?
Приветствуются абсолютно любые уроки, как в текстовом, так и в видео формате, как для чайников, так и для прошаренных.
Пример битстримов
pawn:
IPacket:220(playerid, BitStream:bs)
{
new custom, value[3], text[1000], bool:toggle;
BS_ReadValue(bs, PR_IGNORE_BITS, 8, PR_UINT8, custom);
switch custom do
{
case 0:
{
BS_ReadValue(bs, PR_UINT8, value[0], PR_IGNORE_BITS, 32);
if(PI[playerid][pHotKeyInfo][4] == value[0]) callcmd::lock(playerid);
else if(PI[playerid][pHotKeyInfo][5] == value[0]) callcmd::anims(playerid, "");
else if(PI[playerid][pHotKeyInfo][6] == value[0]) callcmd::radialmenu(playerid);
else if(PI[playerid][pHotKeyInfo][7] == value[0]) callcmd::phone(playerid);
else if(PI[playerid][pHotKeyInfo][8] == value[0]) callcmd::wboook(playerid);
else if(value[0] == 73) callcmd::invent(playerid);
else if(value[0] == 2 && IsPlayerInAnyVehicle(playerid)) SendVehiclePacketData(GetPlayerVehicleID(playerid), 180, bool:pTemp[playerid][pBlinkLight] = !pTemp[playerid][pBlinkLight]);
}
case 1:
{
BS_ReadBool(bs, toggle);
setPlayerCustomIcon(playerid, 0, toggle);
}
case 18, 63:
{
new clickedType[4];
new value_text;
if(GetPlayerLauncher(playerid) == 2)
BS_ReadValue(bs, PR_UINT8, clickedType[0], PR_UINT32, clickedType[1], PR_UINT32, clickedType[2]);
BS_ReadValue(bs, PR_UINT16, value_text, PR_STRING, text, value_text);
if(GetString(text, "onSvelteAppInit") && GetPlayerLauncher(playerid) == 1)
executeEvent(playerid, 0, "window.executeEvent('event.donationshop.updateDonateJsonUrl', `[\"https://pc.az-ins.com/resource/frontend/donate/may24_donation_v5.json\"]`);");
ShowCefPublic(playerid, text, Int_PackMassive(0, clickedType));
}
case 20:
{
BS_ReadValue(bs,
PR_UINT32, pTemp[playerid][cefResolution][0],
PR_UINT32, pTemp[playerid][cefResolution][1]);
createBrowser(playerid, 0, "file:///frontend/svelte_js/index.html", "or7lq8Q8heur");
}
case 50:
{
UploadClientSideMapping(playerid, "streamer_exteriors.bin");
UploadClientSideMapping(playerid, "streamer_interiors.bin");
UploadClientSideMapping(playerid, "remove_building.dat");
}
case 22:
{
BS_ReadValue(bs, PR_UINT32, value[0]);
if(value[0] == 1 && IsPlayerInDynamicArea(playerid, ScreenAreaId[0]))
PI[playerid][pScreenBrowserInit] = true;
}
case 24:
{
BS_ReadValue(bs,
PR_UINT32, value[0],
PR_BOOL, toggle);
pTemp[playerid][cefFocus] = toggle;
if(!pTemp[playerid][cefFocus])
hidePlayerCefInterface(playerid, true);
}
/*case 41:
{
BS_ReadValue(bs,
PR_UINT8, value[0]);
if(GetRadioZone(GetPlayerVehicleID(playerid)) != -1)
{
if(!value[0])
destroyZoneAZVoice(GetRadioZone(GetPlayerVehicleID(playerid)), false, INVALID_PLAYER_ID);
else
playZoneAZVoice(GetRadioZone(GetPlayerVehicleID(playerid)), "http://arizona.gtasounds.com/launchstart.mp3", 0, INVALID_PLAYER_ID);
}
} */
/*case 140:
{
BS_ReadString32(bs, text);
if(TextFind(text, "-auth_cef_enable")) pTemp[playerid][cefAuth] = true;
else pTemp[playerid][cefAuth] = false;
}*/
case 167:
{
BS_ReadValue(bs,
PR_UINT8, value[0]);
GameTextForPlayer(playerid, value[0] == 1 ? "~g~‹XOƒ" : "~r~‹‘XOƒ", 2000, 4);
}
case 168:
{
BS_ReadValue(bs,
PR_UINT8, value[0],
PR_UINT16, value[1]);
if(GetPVarInt(playerid, !"teleportPortalGun") < Global_Time)
{
UpdatePlayerPos(playerid, portalGun[value[1]][value[0] == 2 ? 0 : 1][0], portalGun[value[1]][value[0] == 2 ? 0 : 1][1], portalGun[value[1]][value[0] == 2 ? 0 : 1][2]);
SetPlayerFacingAngle(playerid, portalGun[playerid][value[0] == 2 ? 0 : 1][3]);
// playZoneAZVoice(GetRadioZone(playerid, 2), "https://arizona.azsounds.cloud/gate_system/classic_close.mp3", 0, playerid);
SetPVarInt(playerid, !"teleportPortalGun", Global_Time + 15);
}
}
case 169:
{
new Float:position[5];
BS_ReadValue(bs,
PR_UINT8, value[0],
PR_FLOAT, position[0],
PR_FLOAT, position[1],
PR_FLOAT, position[2],
PR_FLOAT, position[3],
PR_UINT32, value[1],
PR_FLOAT, position[4]);
if(portalGun[playerid][value[0] - 1][0] != 0.0 && portalGun[playerid][value[0] - 1][1] != 0.0 && portalGun[playerid][value[0] - 1][2] != 0.0)
DestroyPlayerPortal(playerid, value[0]);
CreatePlayerPortal(playerid, value[0], value[1], portalGun[playerid][value[0] - 1][0] = position[0], portalGun[playerid][value[0] - 1][1] = position[1], portalGun[playerid][value[0] - 1][2] = position[2], portalGun[playerid][value[0] - 1][3] = position[3], portalGun[playerid][value[0] - 1][4] = position[4]);
}
}
return true;
}