Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Помогите с плагином бонусов за время игры на сервере.

, time bonus
staff2517
сообщение 23.11.2014, 22:53
Сообщение #1
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Все привет, есть плагин который дает деньги за время игры на сервере.
Так вот когда меняется карта отсчет времени начинается заново.
Нужно как-то сделать чтобы отсчет времени не слетал, помогите кто-нибудь)
Скрытый текст
Код
/*===============================================================================
=
=
=                    Plugin: Time Bonus
=                    Version: 1.0
=                    Version mod: Public
=
=
=        Description:
=            - This is plugin add in game presents.
=            Presents are given every 3 min, 5 min, 10 min, 20 min, 30 min, 1 hour.
=
=        Defaults:
=            3 min - 3000 $
=            5 min - 5000 $
=            10 min - 3000 $
=            20 min - 5000 $
=            30 min - 10000 $
=            60 min - 16000 $
================================================================================
=*/

#include <amxmodx>
#include <cstrike>

/*===============================================================================
=
[Macros]
================================================================================
=*/

#define SMALL                1500
#define AVERAGE                    3000
#define LARGE                5000
#define MAX                10000
#define PRO                16000

/*===============================================================================
=
[Plugin Init]
================================================================================
=*/

public plugin_init()
{
    register_plugin("Time Bonus", "1.1", "SKOBAR1K")
}

/*===============================================================================
=
[Set Tasks]
================================================================================
=*/

public client_putinserver(id)
{
    set_task(300.0, "small_present", id)
    set_task(600.0, "average_present", id)
    set_task(1200.0, "large_present", id)
    set_task(1800.0, "max_present", id)
    set_task(3600.0, "pro_present", id)
}

/*===============================================================================
=
[Remove Task]
================================================================================
=*/

public client_disconnect(id)
{
    if(task_exists(id))
        remove_task(id)
}

/*===============================================================================
=
[Give Presents]
================================================================================
=*/

public small_present(id)
{
    cs_set_user_money(id, min(cs_get_user_money(id) + SMALL, 16000), 1)
    client_printcolor(id, "^4[Time Bonus] ^1Бонус ^4%d $^1, За ^4 5 минут ^1игры на сервере.", SMALL)
}

public average_present(id)
{
    cs_set_user_money(id, min(cs_get_user_money(id) + AVERAGE, 16000), 1)
    client_printcolor(id, "^4[Time Bonus] ^1Бонус ^4%d $^1, За ^4 10 минут ^1игры на сервере.", AVERAGE)
}

public large_present(id)
{
    cs_set_user_money(id, min(cs_get_user_money(id) + LARGE, 16000), 1)
    client_printcolor(id, "^4[Time Bonus] ^1Бонус ^4%d $^1, За ^4 20 минут ^1игры на сервере.", LARGE)
}

public max_present(id)
{
    cs_set_user_money(id, min(cs_get_user_money(id) + MAX, 16000), 1)
    client_printcolor(id, "^4[Time Bonus] ^1Бонус ^4%d $^1, За ^4 30 минут ^1игры на сервере.", MAX)
}

public pro_present(id)
{
    cs_set_user_money(id, min(cs_get_user_money(id) + PRO, 16000), 1)
    client_printcolor(id, "^4[Time Bonus] ^1Бонус ^4%d $^1, За ^4 1 час ^1игры на сервере.", PRO)
}

/*===============================================================================
=
[Stock]
================================================================================
=*/

stock client_printcolor(const id, const input[], any:...)
{
    new iCount = 1, iPlayers[32]
    static szMsg[191]

    vformat(szMsg, charsmax(szMsg), input, 3)
    replace_all(szMsg, 190, "/g", "^4")
    replace_all(szMsg, 190, "/y", "^1")
    replace_all(szMsg, 190, "/ctr", "^1")
    replace_all(szMsg, 190, "/w", "^0")

    if(id) iPlayers[0] = id
    else get_players(iPlayers, iCount, "ch")
    for (new i = 0; i < iCount; i++)
    {
        if(is_user_connected(iPlayers[i]))
        {
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, iPlayers[i])
            write_byte(iPlayers[i])
            write_string(szMsg)
            message_end()
        }
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя MiXa
сообщение 24.11.2014, 3:29
Сообщение #2


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

staff2517, пробуй через nvault сохранять при заходе игрока на сервер, а при уходе игрока удалять информацию о нем)
или сохранять данные в файл) и проверять,если есть запись такая, то не добавлять еще раз)


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: