Вопросы

При payday далжны выдаваться кейсы все работает но вот текс почему-то не выводиться о выдаче.

Спойлер

new prizecase = RandomEx(540);
switch(prizecase)
{
    case 5..20
    {
        GiveIteam(playerid, 258110);
        GiveIteam(playerid, 259110);
        SendClientMessage(playerid, 0xCECECEFF"Вы получили +1 кейс 'Форсаж': {FF9900}он находится в инвентаре");
    }
    case 21..32:
    {
        GiveIteam(playerid, 261110);
        GiveIteam(playerid, 259110);
        SendClientMessage(playerid, 0xCECECEFF"Вы получили +1 кейс 'Форсаж': {FF9900}он находится в инвентаре");
    }
    case 33..40:
    {
        GiveIteam(playerid, 272110);
        GiveIteam(playerid, 259110);
        SendClientMessage(playerid, 0xCECECEFF"Вы получили +1 кейс 'Форсаж': {FF9900}он находится в инвентаре");
    }
}

 

 

Отредактировано пользователем VaDoS

Поделиться сообщением


Ссылка на сообщение

6 ответов на этот вопрос

  • 0
Спойлер

public: OnPayDay()
{
    new fmt_str[144];
    new level, cur_time;
    new hour, minute, second;

    cur_time = gettime();
    gettime(hour, minute, second);

    SetWorldTime(hour);

    format(fmt_str, sizeof fmt_str, "Текущее время: {3399FF}%02d:00", hour);
    SendClientMessageToAll(0xFFFFFFFF, fmt_str);

    foreach(new playerid : Player)
    {
        if(IsPlayerLogged(playerid))
        {
            SendClientMessage(playerid, 0xFFFFFFFF"   БАНКОВСКИЙ ЧЕК");
            SendClientMessage(playerid, 0xFFFFFFFF"______________________");
            SendClientMessage(playerid, 0xFFFFFFFF" ");

            level = GetPlayerLevel(playerid);
            if(!IsPlayerAFK(playerid) || GetPlayerAFKTime(playerid) < 60)
            {
                if(ConvertUnixTime(GetPlayerData(playerid, P_GAME_FOR_HOUR), CONVERT_TIME_TO_MINUTES) >= 5)
                {
                    if(GetPlayerTeamEx(playerid))
                    {
                        new team_wage;

                        if(GetPlayerTeamEx(playerid) < TEAM_OPG_ARZAMASKAYA)
                        {
                            new team_id = GetPlayerTeamEx(playerid),
                                rank = GetPlayerJob(playerid);

                            team_wage = rank_wages[ team_id - 1 ][ rank - 1 ];
                        }
                        else
                        {
                            new gang_id = GetPlayerTeamEx(playerid) - TEAM_OPG_ARZAMASKAYA;
                            team_wage = GetGangZonesCount(gang_id + 1) * 70 + 1000;
                        }
                        AddPlayerData(playerid, P_WAGE, +, team_wage);
                    }

                    AddPlayerData(playerid, P_BANK, +, GetPlayerData(playerid, P_WAGE));

                    BankLog(playerid, GetPlayerData(playerid, P_WAGE), "Зарплата");

                    format(fmt_str, sizeof fmt_str, "Зарплата: {66CC00}%d руб", GetPlayerData(playerid, P_WAGE));
                    SendClientMessage(playerid, 0xFFFFFFFF, fmt_str);

                    format(fmt_str, sizeof fmt_str, "Текущий баланс счета: {%s}%d руб", GetPlayerBankMoney(playerid) > 0 ? ("00CC00") : ("FF3300"), GetPlayerBankMoney(playerid));
                    SendClientMessage(playerid, 0xFFFFFFFF, fmt_str);

                    format(fmt_str, sizeof fmt_str, "Привет Писюн");
                    SendClientMessage(playerid, 0xFFFFFFFF, fmt_str);

                    SetPlayerData(playerid, P_WAGE, 0);
                    AddPlayerData(playerid, P_EXP, +, 1 * g_doubling[DOUBLING_EXP]);
                    UpdatePlayerDatabaseInt(playerid, "exp", GetPlayerData(playerid, P_EXP));

                    if(GetPlayerExp(playerid) >= GetExpToNextLevel(playerid))
                    {
                        SetPlayerData(playerid, P_EXP, 0);
                        new lvl = GetPlayerData(playerid, P_LEVEL);
                        new lvls = lvl += 1;
                        SetPlayerData(playerid, P_LEVEL, lvls);

                        SetPlayerLevelInit(playerid);
                        UpdatePlayerDatabaseInt(playerid, "exp", GetPlayerData(playerid, P_EXP));
                        GivePlayerMoneyEx(playerid, 4500"Повышение уровня +4.500"truetrue);
                    }
                }
                else SendClientMessage(playerid, 0xFFBB00FF"Для получения зарплаты необходимо находиться в игре минимум 5 минут");
            }
            else SendClientMessage(playerid, 0xFFBB00FF"Вы не должны находиться на паузе для получения зарплаты");

            SendClientMessage(playerid, 0xFFFFFFFF"______________________");

            new posicia = RandomEx(14);
            switch(posicia)
            {
                case 1:
                {
                    GiveIteam(playerid, 258110);
                    GiveIteam(playerid, 259110);
                    SendClientMessage(playerid, 0xCECECEFF"Вы получили +1 CASE Форсаж: {FF9900}он находится в инвентаре");
                }
                case 2:
                {
                    GiveIteam(playerid, 261110);
                    GiveIteam(playerid, 259110);
                    SendClientMessage(playerid, 0xFFBB00FF"Вы получили +1 CASE Темные дела: {FF9900}он находится в инвентаре");
                }
                case 3:
                {
                    GiveIteam(playerid, 272110);
                    GiveIteam(playerid, 259110);
                    SendClientMessage(playerid, 0xFFBB00FF"Вы получили +1 CASE Велесова ночь: {FF9900}он находится в инвентаре");
                }
            }

            if(GetPlayerLevel(playerid) > level)
            {
                SendClientMessage(playerid, 0x3399FFFF"Поздравляем! Ваш уровень повышен");
                switch(GetPlayerLevel(playerid))
                {
                    case 2:
                    {
                        SendClientMessage(playerid, 0x66CC00FF"Вы начали второй год своей жизни в нашей стране");
                        SendClientMessage(playerid, 0x66CC00FF"Доступна новая работа водителя автобуса");
                    }
                    case 5:
                    {
                        CallLocalFunction("OnGiveReferBonus""i", GetPlayerData(playerid, P_REFER));
                    }
                }
            }
            format(fmt_str, sizeof fmt_str, "UPDATE accounts SET level=%d,exp=%d,bank=%d,wage=0,last_login=%d,game_for_hour=0 WHERE id=%d LIMIT 1", GetPlayerLevel(playerid), GetPlayerExp(playerid), GetPlayerBankMoney(playerid), cur_time, GetPlayerAccountID(playerid));
            mysql_query(mysql, fmt_str, false);

            if(mysql_errno() != 0)
                SendClientMessage(playerid, 0xFF6600FF"Ошибка сохранения аккаунта {FF0000}(equ-code 100)");

            new rows,
                Cache: result;

            mysql_format(mysql, fmt_str, sizeof fmt_str, "SELECT id, paydays, code FROM promocode_activations WHERE uid=%d AND paydays > 0", GetPlayerAccountID(playerid));
            result = mysql_query(mysql, fmt_str, true);

            rows = cache_num_rows();

            if(rows)
            {
                for(new idx; idx < rows; idx ++)
                {
                    new id = cache_get_row_int(idx, 0),
                        paydays = cache_get_row_int(idx, 1),
                        code[32];

                    cache_get_row(idx, 2, code);

                    mysql_format(mysql, fmt_str, sizeof fmt_str, "UPDATE promocode_activations SET paydays='%d' WHERE id='%d'", paydays - 1, id);
                    mysql_query(mysql, fmt_str, false);

                    if(paydays == 1)
                    {
                        new Cache: p_cache;

                        mysql_format(mysql, fmt_str, sizeof fmt_str, "SELECT type, amount FROM promocode WHERE code='%s'", code);
                        p_cache = mysql_query(mysql, fmt_str, true);

                        new type = cache_get_row_int(00),
                            amount = cache_get_row_int(01);

                        cache_delete(p_cache);

                        AddPlayerData(playerid, promo_info[type][P_DATA], +, amount);
                        UpdatePlayerDatabaseInt(playerid, promo_info[type][P_SQL_NAME], GetPlayerData(playerid, promo_info[type][P_DATA]));

                        SendClientMessage(playerid, -1"");

                        format(fmt_str, sizeof fmt_str, "Получен приз за промокод \"%s.\"", code);
                        SCM(playerid, 0x66CC33FF"Для получения промокода Вам нужно перезайти");
                        SendClientMessage(playerid, 0x66CC33FF, fmt_str);
                    }
                }
            }
            cache_delete(result);
        }
        SetPlayerData(playerid, P_GAME_FOR_HOUR, 0);
    }

    AddContainers();
    
    if(hour == 5) SellDebtorsHotels();
    
    if(hour == 18) SellDebtorsProperty();

    if(hour == 6 || hour == 8 || hour == 10 || hour == 12 || hour == 14 || hour == 16 || hour == 18 || hour == 20 || hour == 22)
    {
        AddSvalka();
    }
    if(hour == 0)
    {
        foreach(new i: Player)
        {
            if(!IsPlayerConnected(i)) continue;
            else if(!IsPlayerLogged(i)) continue;

            UpdatePlayerDatabaseInt(i, "quest"0);
            SetPlayerData(i, P_SCORE, 0);
            UpdatePlayerDatabaseInt(i, "score"0);
        }
        new query[64];
        format(query, sizeof query, "UPDATE accounts SET quest=0");
        mysql_query(mysql, query, false);

        format(query, sizeof query, "UPDATE accounts SET score=0");
        mysql_query(mysql, query, false);

        format(query, sizeof query, "UPDATE igrushki SET status=1");
        mysql_query(mysql, query, false);
    }

    #if defined RAND_WEATHER
    SetTimer("SetRandomWeather", (random(60) + 60) * 1000false);
    #endif

    CallLocalFunction("UpdateRealtorHomeInfo""");
    CallLocalFunction("UpdateRealtorBizInfo""");

    g_last_pay_day_time = cur_time;
    return 1;
}

 

Может кому надо будет

Поделиться сообщением


Ссылка на сообщение
  • 0

@VaDoS дай полный код пейдея

Поделиться сообщением


Ссылка на сообщение
  • 0

@hokageud 

Спойлер

public: OnPayDay()
{
    new fmt_str[144];
    new level, cur_time;
    new hour, minute, second;

    cur_time = gettime();
    gettime(hour, minute, second);

    SetWorldTime(hour);

    format(fmt_str, sizeof fmt_str, "Текущее время: {3399FF}%02d:00", hour);
    SendClientMessageToAll(0xFFFFFFFF, fmt_str);

    foreach(new playerid : Player)
    {
        if(IsPlayerLogged(playerid))
        {
            SendClientMessage(playerid, 0xFFFFFFFF"   БАНКОВСКИЙ ЧЕК");
            SendClientMessage(playerid, 0xFFFFFFFF"______________________");
            SendClientMessage(playerid, 0xFFFFFFFF" ");

            level = GetPlayerLevel(playerid);
            if(!IsPlayerAFK(playerid) || GetPlayerAFKTime(playerid) < 60)
            {
                if(ConvertUnixTime(GetPlayerData(playerid, P_GAME_FOR_HOUR), CONVERT_TIME_TO_MINUTES) >= 5)
                {
                    if(GetPlayerTeamEx(playerid))
                    {
                        new team_wage;

                        if(GetPlayerTeamEx(playerid) < TEAM_OPG_ARZAMASKAYA)
                        {
                            new team_id = GetPlayerTeamEx(playerid),
                                rank = GetPlayerJob(playerid);

                            team_wage = rank_wages[ team_id - 1 ][ rank - 1 ];
                        }
                        else
                        {
                            new gang_id = GetPlayerTeamEx(playerid) - TEAM_OPG_ARZAMASKAYA;

                            team_wage = GetGangZonesCount(gang_id + 1) * 70 + 1000;
                        }

                        AddPlayerData(playerid, P_WAGE, +, team_wage);
                    }

                    AddPlayerData(playerid, P_BANK, +, GetPlayerData(playerid, P_WAGE));

                    BankLog(playerid, GetPlayerData(playerid, P_WAGE), "Зарплата");

                    format(fmt_str, sizeof fmt_str, "Зарплата: {66CC00}%d руб", GetPlayerData(playerid, P_WAGE));
                    SendClientMessage(playerid, 0xFFFFFFFF, fmt_str);

                    format(fmt_str, sizeof fmt_str, "Текущий баланс счета: {%s}%d руб", GetPlayerBankMoney(playerid) > 0 ? ("00CC00") : ("FF3300"), GetPlayerBankMoney(playerid));
                    SendClientMessage(playerid, 0xFFFFFFFF, fmt_str);

                    SetPlayerData(playerid, P_WAGE, 0);
                    AddPlayerData(playerid, P_EXP, +, 1 * g_doubling[DOUBLING_EXP]);
                    UpdatePlayerDatabaseInt(playerid, "exp", GetPlayerData(playerid, P_EXP));

                    if(GetPlayerExp(playerid) >= GetExpToNextLevel(playerid))
                    {
                        SetPlayerData(playerid, P_EXP, 0);
                        new lvl = GetPlayerData(playerid, P_LEVEL);
                        new lvls = lvl += 1;
                        SetPlayerData(playerid, P_LEVEL, lvls);

                        SetPlayerLevelInit(playerid);
                        UpdatePlayerDatabaseInt(playerid, "exp", GetPlayerData(playerid, P_EXP));
                        GivePlayerMoneyEx(playerid, 4500"Повышение уровня +4.500"truetrue);
                    }
                }
                else SendClientMessage(playerid, 0xFFBB00FF"Для получения зарплаты необходимо находиться в игре минимум 5 минут");
            }
            else SendClientMessage(playerid, 0xFFBB00FF"Вы не должны находиться на паузе для получения зарплаты");

            SendClientMessage(playerid, 0xFFFFFFFF"______________________");
            if(GetPlayerLevel(playerid) > level)
            {
                SendClientMessage(playerid, 0x3399FFFF"Поздравляем! Ваш уровень повышен");
                switch(GetPlayerLevel(playerid))
                {
                    case 2:
                    {
                        SendClientMessage(playerid, 0x66CC00FF"Вы начали второй год своей жизни в нашей стране");
                        SendClientMessage(playerid, 0x66CC00FF"Доступна новая работа водителя автобуса");
                    }
                    case 5:
                    {
                        CallLocalFunction("OnGiveReferBonus""i", GetPlayerData(playerid, P_REFER));
                    }
                }
            }
            new prizecase = RandomEx(540);
            switch(prizecase)
            {
                case 5..20
                {
                    GiveIteam(playerid, 258110);
                    GiveIteam(playerid, 259110);
                    SendClientMessage(playerid, 0xCECECEFF"Вы получили +1 кейс 'Форсаж': {FF9900}он находится в инвентаре");
                }
                case 21..32:
                {
                    GiveIteam(playerid, 261110);
                    GiveIteam(playerid, 259110);
                    SendClientMessage(playerid, 0xCECECEFF"Вы получили +1 кейс 'Форсаж': {FF9900}он находится в инвентаре");
                }
                case 33..40:
                {
                    GiveIteam(playerid, 272110);
                    GiveIteam(playerid, 259110);
                    SendClientMessage(playerid, 0xCECECEFF"Вы получили +1 кейс 'Форсаж': {FF9900}он находится в инвентаре");
                }
            }
            format(fmt_str, sizeof fmt_str, "UPDATE accounts SET level=%d,exp=%d,bank=%d,wage=0,last_login=%d,game_for_hour=0 WHERE id=%d LIMIT 1", GetPlayerLevel(playerid), GetPlayerExp(playerid), GetPlayerBankMoney(playerid), cur_time, GetPlayerAccountID(playerid));
            mysql_query(mysql, fmt_str, false);

            if(mysql_errno() != 0)
                SendClientMessage(playerid, 0xFF6600FF"Ошибка сохранения аккаунта {FF0000}(equ-code 100)");

            new rows,
                Cache: result;

            mysql_format(mysql, fmt_str, sizeof fmt_str, "SELECT id, paydays, code FROM promocode_activations WHERE uid=%d AND paydays > 0", GetPlayerAccountID(playerid));
            result = mysql_query(mysql, fmt_str, true);

            rows = cache_num_rows();

            if(rows)
            {
                for(new idx; idx < rows; idx ++)
                {
                    new id = cache_get_row_int(idx, 0),
                        paydays = cache_get_row_int(idx, 1),
                        code[32];

                    cache_get_row(idx, 2, code);

                    mysql_format(mysql, fmt_str, sizeof fmt_str, "UPDATE promocode_activations SET paydays='%d' WHERE id='%d'", paydays - 1, id);
                    mysql_query(mysql, fmt_str, false);

                    if(paydays == 1)
                    {
                        new Cache: p_cache;

                        mysql_format(mysql, fmt_str, sizeof fmt_str, "SELECT type, amount FROM promocode WHERE code='%s'", code);
                        p_cache = mysql_query(mysql, fmt_str, true);

                        new type = cache_get_row_int(00),
                            amount = cache_get_row_int(01);

                        cache_delete(p_cache);

                        AddPlayerData(playerid, promo_info[type][P_DATA], +, amount);
                        UpdatePlayerDatabaseInt(playerid, promo_info[type][P_SQL_NAME], GetPlayerData(playerid, promo_info[type][P_DATA]));

                        SendClientMessage(playerid, -1"");

                        format(fmt_str, sizeof fmt_str, "Получен приз за промокод \"%s.\"", code);
                        SCM(playerid, 0x66CC33FF"Для получения промокода Вам нужно перезайти");
                        SendClientMessage(playerid, 0x66CC33FF, fmt_str);
                    }
                }
            }
            cache_delete(result);
        }
        SetPlayerData(playerid, P_GAME_FOR_HOUR, 0);
    }

    AddContainers();
    
    if(hour == 5) SellDebtorsHotels();
    
    if(hour == 18) SellDebtorsProperty();

    if(hour == 6 || hour == 8 || hour == 10 || hour == 12 || hour == 14 || hour == 16 || hour == 18 || hour == 20 || hour == 22)
    {
        AddSvalka();
    }
    if(hour == 0)
    {
        foreach(new i: Player)
        {
            if(!IsPlayerConnected(i)) continue;
            else if(!IsPlayerLogged(i)) continue;

            UpdatePlayerDatabaseInt(i, "quest"0);
            SetPlayerData(i, P_SCORE, 0);
            UpdatePlayerDatabaseInt(i, "score"0);
        }
        new query[64];
        format(query, sizeof query, "UPDATE accounts SET quest=0");
        mysql_query(mysql, query, false);

        format(query, sizeof query, "UPDATE accounts SET score=0");
        mysql_query(mysql, query, false);

        format(query, sizeof query, "UPDATE igrushki SET status=1");
        mysql_query(mysql, query, false);
    }

    #if defined RAND_WEATHER
    SetTimer("SetRandomWeather", (random(60) + 60) * 1000false);
    #endif

    CallLocalFunction("UpdateRealtorHomeInfo""");
    CallLocalFunction("UpdateRealtorBizInfo""");

    g_last_pay_day_time = cur_time;
    return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

пробовал вывести выдачу из switch?

Поделиться сообщением


Ссылка на сообщение
  • 0

@hokageud Тоже самое хрень какая-то

Поделиться сообщением


Ссылка на сообщение
  • 0

@VaDoS проблема может быть как в switch так и в выдаче, жди пока какие-нибудь гений ответят

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо