Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
5 Сен 2024
Сообщения
2
Как научится писать баттл пасс?
 
Заблокированный
Пользователь
Регистрация
2 Дек 2023
Сообщения
288
Как научится писать баттл пасс?
Привет. В некоторых бесплатных модах уже есть нормальная система на CEF-Battlepass


Pawn:
cmd:battlepass(playerid)
{
    if(battlePassOpen{playerid})
        return false;

    global_str = "", RETURN_STRING[1] = "";

    executeEvent(playerid, 0, "window.executeEvent('event.setActiveView', `[\"ArizonaPass\"]`);");

    printf("%i, %i, %i", battlePassPlayer_data[playerid][5], battlePassPlayer_data[playerid][2], Global_Time);
    if(battlePassPlayer_data[playerid][5] > Global_Time && battlePassPlayer_data[playerid][2] >= 10)
        SPDF(playerid, 0, DIALOG_STYLE_MSGBOX, !"{faac58}Ограничение на задания", "{FAAC58}-{ffffff} У Вас присутствует ограничение на выполнение всех заданий в BattlePass!\n\n{FAAC58}-{ffffff} Ваше ограничение снимется: {FAAC58}%s\n\n{cccccc}Снять ограничение можно досрочно через кнопку 'Снять лимит'", !"Закрыть", !"", UNIX_TO_DATE(battlePassPlayer_data[playerid][5]));

    for(new i; i < sizeof(battlePassQuestInfo_data); i++)
    {
        if(i < 100)
            f(global_str, sizeof(global_str), "%s[%d,%i,%i,50,100]%s", global_str, i + 1, !battlePassPrizes_data[playerid][0][i] && (battlePassPlayer_data[playerid][1] / 2 / 10) - 1 >= i ? 1 : 0, !battlePassPrizes_data[playerid][1][i] && (battlePassPlayer_data[playerid][1] / 2 / 10) - 1 >= i && battlePassPlayer_data[playerid][0] ? 1 : 0, i == 99 ? "" : ",");

        if(battlePassQuests_data[playerid][i])
            f(RETURN_STRING[1], 2048, "%s{\"id\":%i,\"currentProgress\":%i},", RETURN_STRING[1], i, battlePassQuests_data[playerid][i]);
    }

    executeEvent(playerid, 0, (str_f("window.executeEvent('event.arizonapass.initializeBattlePass', '[ {\"purchased\":1,\"premiumPurchased\":%i,\"passPrice\":2690,\"premiumPassPrice\":499,\"currentExp\":%i,\"expPerLevel\":20,\"junior\":0,\"availableToReceive\":[ %s ]} ]');", battlePassPlayer_data[playerid][0], battlePassPlayer_data[playerid][1], global_str)));
    executeEvent(playerid, 0, (str_f("window.executeEvent('event.arizonapass.initializeStats', `[{\"level\":%i,\"dailyComplete\":%i,\"totalComplete\":%i,\"fact\": \"%s\"}]`);", battlePassPlayer_data[playerid][1] / 2 / 10, battlePassPlayer_data[playerid][2], battlePassPlayer_data[playerid][3], battlePassFact_data[random(sizeof(battlePassFact_data))])));
    executeEvent(playerid, 0, (str_f("window.executeEvent('event.arizonapass.initializeDailyQuest', '[{ \"until\":%i,\"title\":\"Сделка вслепую\",\"image\":46,\"description\":\"Никогда не знаешь, что может находится в закрытом контейнере на аукционе в Сан Фиерро, возможно ты станешь богатым, а возможно твои вложения не\",\"target\":\"Купите контейнер на мероприятии Аукцион контейнеров\",\"currentExp\":%i,\"totalExp\":1,\"active\":1,\"take_rewards\": %i,\"rewards\":[ { \"name\":\"\",\"image\":5067},  { \"name\":\"\",\"image\":5068},  { \"name\":\"\",\"image\":5165} ]}]');", battlePassQuestsDay_data[0], battlePassPlayer_data[playerid][4], 0)));

    if(strlen(RETURN_STRING[1]))
        strdel(RETURN_STRING[1], strlen(RETURN_STRING[1])-1, strlen(RETURN_STRING[1])),
        executeEvent(playerid, 0, (str_f("window.executeEvent('event.arizonapass.initializeRegularQuestsExp', '[[%s]]');", RETURN_STRING[1])));

    return cursorPlayer(playerid, 0, true), battlePassOpen{playerid} = true;
}
 
Сверху