Top Time Awards

Top Time Awards 0.2.6

Нет прав для скачивания
Сообщения
142
Реакции
23
Помог
1 раз(а)
ну проиграл игрок да пустим 5 дней на сервере получил вип она будет уже постоянная я так пани маю почему бы его не занести в бан систему и над ним можно производить те же действия, что и с обычными (продлить привилегию, удалить, перенести на другой сервер и т. д.) и моделька и профикс будет у него
 
Сообщения
285
Реакции
251
Помог
7 раз(а)
sergei, изначально я делал плагин для себя и не было цели вносить игроков в базу, так как у меня стата обнуляется, если игрок не заходил 7 дней. Также цель была в том, чтобы игроки поддерживали свой постоянный онлайн. А так исходник доступен, можете внести необходимые правки под себя, либо заказать у скриптеров, так как я не планирую делать синхронизаций с базой.
 
Последнее редактирование:

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
346
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Возможно ли сделать не по времени, а по позиции в топе? Чтобы флаги выдавались не по времени, а тем, кто находится, допустим, в топ-3.
Видел только один такой плагин, но он выдаёт флаги на рандоме :D
 
Сообщения
285
Реакции
251
Помог
7 раз(а)
melfyk, у каждого из авторов статистики, есть такой плагин, который выдает флаги по ТОП позиции игроков.
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
346
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Jumper, У serfreeman1337 тоже по времени выдача, как и у тебя
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
melfyk, у serfreeman1337 плагин сделан как пример - чтобы переделать выдачу на другое условие - достаточно сменить 1 парамерт в нативе и все) курите инклуды его статы
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
346
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
melfyk,
Код:
enum _:
{
    CSXSQL_RANK_DEF,
    CSXSQL_RANK_K,
    CSXSQL_RANK_KHS,
    CSXSQL_RANK_SKILL,
    CSXSQL_RANK_TIME
}
Остальное не в этой теме и не в этом разделе.
 
Сообщения
285
Реакции
251
Помог
7 раз(а)
melfyk, даже не обратил внимания я, только увидел, но на самом деле у него другой принцип выдачи.
 
Сообщения
96
Реакции
84
Помог
2 раз(а)
Возможно ли сделать не по времени, а по позиции в топе? Чтобы флаги выдавались не по времени, а тем, кто находится, допустим, в топ-3.
Видел только один такой плагин, но он выдаёт флаги на рандоме :D
для статы serfreeman1337
 

Download all Attachments

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
346
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Сообщения
285
Реакции
251
Помог
7 раз(а)
Обновлен ресурс Top Time Awards новой записью:

Top Time Awards 0.1.7

  1. Поддержка Simple Online Logger by mx?!
  2. #define STATS 0 //0 - CSstatsX SQL by serfreeman1337, 1 - Simple Online Logger by mx?!, 2 - CSstats MySQL by SKAJIbnEJIb
  3. #define DELAY_CHECK 3.0 // Задержка в секундах перед проверкой игрока (только для CSstatsX SQL by serfreeman1337 и Simple Online Logger by mx?!)
  4. #define TIME 0 //Если 0 - то время в TOP_TIME указывать в днях, если 1 - то в часах
  5. Команда в чате /tta для проверки вашего онлайна до награды
Узнать больше об этом обновлении...
 
Сообщения
1,419
Реакции
2,509
Помог
59 раз(а)
Изменённая версия 0.1.7, может кому-нибудь пригодится.
Изменения:
  • Добавлен LANG файл с русским, английским и испанским языком, - "top_time_awards.txt".
  • Убрана ошибка error 038: extra characters on line при компилировании на AMX Mod X 1.8.2.
  • Улучшена читабельность кода и настроек.
Код:
#include <amxmodx>

#if AMXX_VERSION_NUM < 183
    #include <colorchat>

    const MAX_PLAYERS = 32
#endif

#define PLUGIN_NAME        "Top Time Awards"
#define PLUGIN_VERSION    "0.1.7 modified"
#define PLUGIN_AUTHOR    "Jumper"

/** ---------------------------------------------------------------------------------------- */
/** ---------------------------------------------------------------------------------------- */
/** ---------------------------------------------------------------------------------------- */

// Статистика.
// 0 - CSStatsX SQL by serfreeman1337
// 1 - Simple Online Logger by mx?!
// 2 - CSStats MySQL by SKAJIbnEJIb
// Default value: "0"
#define STATS    0

#if STATS == 0 || STATS == 1
    // Задержка в секундах перед проверкой игрока (не касается CSStats MySQL by SKAJIbnEJIb).
    // Default value: "3.0"
    #define DELAY_CHECK        3.0
#endif

// Тип времени.
// 0 - Время в TOP_TIME указывается в днях.
// 1 - Время в TOP_TIME указывается в часах.
// Default value: "0"
#define TIME    0

// Необходимое время что должен отыграть игрок чтобы получить флаг.
// Default value: "3"
#define TOP_TIME    3

// Флаг который получит игрок за онлайн.
// Default value: "ADMIN_LEVEL_H"
#define GIVE_FLAGS    ADMIN_LEVEL_H

// Флаги при которых игрок не будет проходить проверку на время онлайна.
// Default value: "(ADMIN_BAN | ADMIN_LEVEL_H)"
#define IGNORE_FLAGS    (ADMIN_BAN | ADMIN_LEVEL_H)

/** ---------------------------------------------------------------------------------------- */
/** ---------------------------------------------------------------------------------------- */
/** ---------------------------------------------------------------------------------------- */

#if STATS == 0
    #include <csstatsx_sql>
#endif
#if STATS == 1
    native sol_get_user_time(id)
#endif
#if STATS == 2
    #include <csstats_mysql>
#endif

new g_iTime[MAX_PLAYERS + 1], g_iFlags[MAX_PLAYERS + 1]

/** ---------------------------------------------------------------------------------------- */
/** ---------------------------------------------------------------------------------------- */
/** ---------------------------------------------------------------------------------------- */

public plugin_init()
{
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
    register_dictionary("top_time_awards.txt")

    register_clcmd("say /tta", "func_CmdLeftTimeToAward")
    register_clcmd("say_team /tta", "func_CmdLeftTimeToAward")
}

#if STATS == 0 || STATS == 1
public client_putinserver(id) set_task(DELAY_CHECK, "task_CheckPlayer", id)

public task_CheckPlayer(id)
{
    if(!is_user_connected(id)) return PLUGIN_HANDLED
    func_CheckPlayer(id)
    return PLUGIN_HANDLED
}
#endif

#if STATS == 2
    public csstats_putinserver(id/*, bool:exists*/) func_CheckPlayer(id)
#endif

func_CheckPlayer(id)
{
    g_iFlags[id] = get_user_flags(id)

    if(g_iFlags[id] & IGNORE_FLAGS)
        return PLUGIN_HANDLED

#if TIME == 0
    #if STATS == 0
        g_iTime[id] = ((get_user_gametime(id) / 60) / 60) / 24
    #endif
    #if STATS == 1
        g_iTime[id] = ((sol_get_user_time(id) / 60) / 60) / 24
    #endif
    #if STATS == 2
        g_iTime[id] = ((csstats_get_user_value(id, GAMETIME) / 60) / 60) / 24
    #endif
#endif

#if TIME == 1
    #if STATS == 0  
        g_iTime[id] = (get_user_gametime(id) / 60) / 60
    #endif
    #if STATS == 1
        g_iTime[id] = (sol_get_user_time(id) / 60) / 60
    #endif
    #if STATS == 2
        g_iTime[id] = (csstats_get_user_value(id, GAMETIME) / 60) / 60
    #endif
#endif

    if(g_iTime[id] >= TOP_TIME)
    {
        set_user_flags(id, g_iFlags[id] | GIVE_FLAGS)
        client_print_color(id, print_team_default, "%L", id, "TTA_AWARD")
    }

    return PLUGIN_HANDLED
}

public func_CmdLeftTimeToAward(id)
{
    if(g_iFlags[id] & GIVE_FLAGS)
    {
        client_print_color(id, print_team_default, "%L", id, "TTA_ERROR_ALREADY_VIP")
        return PLUGIN_HANDLED
    }

#if TIME == 0
    client_print_color(id, print_team_default, "%L", id, "TTA_TIME_DAYS", g_iTime[id], TOP_TIME)
#endif
#if TIME == 1
    client_print_color(id, print_team_default, "%L", id, "TTA_TIME_HOURS", g_iTime[id], TOP_TIME)
#endif
    return PLUGIN_HANDLED
}
 

Вложения

Последнее редактирование:
Сообщения
285
Реакции
251
Помог
7 раз(а)
Более нет смысла продолжать работу над плагином, все возможные статистики имеют поддержку.
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
346
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Jumper, Если добавишь ещё настройку выбора, как именно выдавать(по времени, по количеству убийств и т.д.), то цены тебе не будет)
 
Сообщения
285
Реакции
251
Помог
7 раз(а)
melfyk, вроде название плагина понятное, при чём тут убийства и прочее?
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
346
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Jumper, Ты сказал, что смысла нет продолжать работу над плагином, хотя можно много чего с ним сделать.
Одну идею я уже дал. Так что ещё нужно?
 
Сообщения
285
Реакции
251
Помог
7 раз(а)
melfyk, как мне по другому до тебя достучаться, суть плагина не в учете убийств, не в учете позиции игрока, а именно в учете времени онлайна, смысл пихать в плагин то, что к нему не относится.
 
Сообщения
9
Реакции
-1
Jumper, можешь добавить, чтобы флаги добавлялись за разное время, к примеру за n1 часов - flag(a), n2 часов - flag(b), n3 часов - flag(c). ((Достиг 100 часов выдача флага, 200 часов добавляется еще флаг, 300 часов еще флаг.)) Спасибо.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу