Неактуально Гайд Как вывести CEF с ARIZONA RP на своём сервере?

cute_filatov

Активный
Автор темы
179
62
Приветствую, сегодня я расскажу о способе вывода CEF с Arizona RP на своём сервере через RakNet.
Первый кто сообщил о способе УЗНАНИЯ ПАКЕТА был chapo - click
Первый кто сделал способ ВЫВОДА был Александр Триазов -
click

upd: на создание гайда сподвигло то, что некоторые индивиды начали торговать этим способом

Для того что бы все работало корректно, используйте оригинальный лаунчер ARIZONA GAMES. Используйте ServerConnect для подключения на свой сервер. Так же подключите плагин PawnRakNet к своему серверу.

Я надеюсь что объясню все довольно понятно в этой теме, но если вам нужна помощь, можете написать мне в ВК - click


Выводить CEF мы будем через RakNet. Для того что бы узнать пакет нам нужно закинуть в moonloader скрипт ExecuteEvent.lua (прикреплен).
Как на нашем экране будет появляться CEF, нам в чат отправит пакет. Копируйте его и делайте все так, как будет написано ниже.

Демонстрация работы скрипта:


Для начала вставляем все это в мод:

14:
new format_string[128];
#define SCMF(%1,%2,%3)    format(format_string,188,%3), SendClientMessage(%1,%2,format_string)

public OnIncomingPacket(playerid, packetid, BitStream:bs)
{
    if(packetid == 220)
    {
        new custom;
        BS_IgnoreBits(bs, 8);
        BS_ReadUint8(bs, custom);

        new query[128];

        BS_ReadString32(bs, query);

        if(custom == 18)
        {
            new action_id;
            new data[100];
            sscanf(query, "P<|>s[50]i", data, action_id);
            SCMF(playerid, -1, "%s - %d", data, action_id);
        }
    }
}
stock ExecuteEvent(playerid, browserid, const event[]) //вывод
{
    new BitStream:bs = BS_New();
    new eventStrLen = strlen(event);

    BS_WriteValue(bs, PR_UINT8, 220);
    BS_WriteValue(bs, PR_UINT8, 17);

    BS_WriteValue(bs, PR_UINT32, browserid);

    BS_WriteValue(bs, PR_UINT32, eventStrLen);
    BS_WriteValue(bs, PR_STRING, event, eventStrLen);

    BS_WriteValue(bs, PR_UINT8, 255);

    BS_WriteValue(bs, PR_UINT8, 255);
    BS_WriteValue(bs, PR_UINT8, 255);
    BS_WriteValue(bs, PR_UINT8, 255);

    PR_SendPacket(bs, playerid);

}
stock UpdateTest(playerid, index, status) //обновление
{
    new BitStream:bs = BS_New();

    BS_WriteValue(bs, PR_UINT8, 220);

    // 8 hud
    BS_WriteValue(bs, PR_UINT8, index);

    BS_WriteValue(bs, PR_UINT8, status);

    PR_SendPacket(bs, playerid);
}

После вставляем наш пакет:
1:
ExecuteEvent(playerid, 1, "сюда пакет");

Если желаете, можете добавить тест команду для вывода худа, радара и т.д.:
2115:
cmd:arizona(playerid)
{

    UpdateTest(playerid, 8, 2);
    UpdateTest(playerid, 9, 2);
    ExecuteEvent(playerid, 1, "window.executeEvent('event.hud.updateHudVisible', '[true]');");
    ExecuteEvent(playerid, 1, "window.executeEvent('event.arizonahud.speedometerType', '[\"advanced\"]')");
    ExecuteEvent(playerid, 1, "window.executeEvent('event.hudSA.updateSanAndreasHudVisible', '[true]')");
    ExecuteEvent(playerid, 1, "window.executeEvent('event.arizonahud.hotkeysVisible', '[true]')");
    ExecuteEvent(playerid, 1, "window.executeEvent('event.arizonahud.setFractionRadioKey', '[\"R\"]')");
    ExecuteEvent(playerid, 1, "window.executeEvent('event.arizonahud.setPhoneKey', '[\"P\"]')");
    ExecuteEvent(playerid, 1, "window.executeEvent('event.arizonahud.setAnimationKey', '[\"U\"]')");
    ExecuteEvent(playerid, 1, "window.executeEvent('event.hudSA.updateSanAndreasHudVisible', '[true]')");
    ExecuteEvent(playerid, 1, "window.executeEvent('event.arizonahud.serverInfo', '[{\"id\":0,\"title\":\"Test\",\"project\":\"Arizona\",\"type\":\"Role play\",\"onLine\":771,\"flag\":0,\"logo\":1,\"multiplier\":0}]')");
}

Вот что у нас выходит в конце:
VqOezx3ORJE.jpg


Надеюсь гайд будет полезным для разработчиков копии мода ARIZONA. Спасибо за прочтение!
 

Вложения

  • ExecuteEvent.lua
    790 байт · Просмотры: 445
Последнее редактирование:

copypaste_scripter

Известный
1,218
223
я не хейтер, просто любопитный, для чего это? можно как то использовать чтобы не багался телефон?
 

cute_filatov

Активный
Автор темы
179
62
я не хейтер, просто любопитный, для чего это? можно как то использовать чтобы не багался телефон?
Это для тех самых людей которые "пишут" копии мода Arizona RP.
На оригинальной Аризоне это никак не поможет. Я бы тебе еще посоветал смотреть где опубликована тема, ведь эта тема опубликована в разделе "Разработка"
 
  • Нравится
Реакции: copypaste_scripter

copypaste_scripter

Известный
1,218
223
Это для тех самых людей которые "пишут" копии мода Arizona RP.
На оригинальной Аризоне это никак не поможет. Я бы тебе еще посоветал смотреть где опубликована тема, ведь эта тема опубликована в разделе "Разработка"
а блин сори, понятно теперь
 

_Dino_

Активный
135
51
можно каким-то образом получить координаты в какой точке создан этот элемент?