Вопросы

VaDoS
Новичок

При 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

@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
hokageud
Завсегдатый

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

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


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

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

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

    • Дебилойд
      От Дебилойд
      Здравствуйте!
      Мы ищем талантливого 3D-моделлера в команду нашего CRMP-проекта!
      Что нужно будет делать:
      Моделировать и адаптировать автомобили.
      Создавать и настраивать скины (модели персонажей).
      Большим плюсом будет:
      Умение создавать качественные и оптимизированные интерьеры.
      Если вы хотите стать частью нашей команды и развивать проект вместе с нами, пишите в ЛС. Ждем ваши портфолио!
    • LORDIKUS
      От LORDIKUS
      Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!

      🔗 Спец. Связь:
      — DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
      — VK: https://vk.com/shin833
      — TG: https://t.me/s_hin833
    • Korochansky
      От Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      От KodBi
      шапка
      по одиночке работают
      нужны оба