ar_duble.sma (Добавить еще один флаг)

Статус
В этой теме нельзя размещать новые ответы.

FoxStaRGoD

Новичок
Сообщения
20
Реакции
0
Доброго времени суток, возможно ли добавить еще дополнительно еще один флаг?
Думал сделать еще один флаг где буду еще больше опыта, у кого будет этот флаг, но понял что я вообще ничего не понимаю в скриптинге и копировать и вставить не годиться. Кто подскажет? и желательно даст полный код..
Хочу что-бы было 2 флага, на 1 по стандарту чтоб опыт прибавлсялся по коду, а если второй флаг у человека то в 2 раза больше. Надеюсь понятно объяснил..


Код из исходника*
*/

#include <amxmodx>
#include <amxmisc>
#include <army_ranks_ultimate>

#define VIP_ACCESS_LEVEL ADMIN_CHAT // Flag "i"

#define PLUGIN "AR Double"
#define VERSION "14.12.02"
#define AUTHOR "SKAJIbnEJIb"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg", "EventDeath", "a", "1>0")
}

public EventDeath()
{
new victim = read_data(2) // жертва
new killer = read_data(1) // убийца

// разные проверки+проверка на VIP доступ
if (killer != victim && !is_user_bot(killer) && get_user_flags(killer) & VIP_ACCESS_LEVEL && get_user_team(killer) != get_user_team(victim))
{
new headshot = read_data(3) // в голову убил или нет
if (headshot)
ar_set_user_addxp(killer, 2) // если в голову, прибавляем к убийству еще 2 опыта
else
ar_set_user_addxp(killer, 1) // если просто убил, прибавим еще 1 опыт
}
}
 

Вложения

  • ar_double.sma
    1.5 KB · Просмотры: 4
Решение
Код:
/*
    Как дать Випу дополнительный опыт за убийство? Смотрите ниже ;)
    
    P.S. такой плагин будет работать только совместно с csstats_mysql.amxx, так как
    дополнительный опыт писаться в Базу Данных MySQL.
    Без csstats_mysql.amxx, players.ini загадится игроками и сервер начнет лагать и может упасть.
*/

#include <amxmodx>
#include <amxmisc>
#include <army_ranks_ultimate>

#define VIP_ACCESS_LEVEL1 ADMIN_BAN // Flag "d"
#define VIP_ACCESS_LEVEL2 ADMIN_CHAT // Flag "i"

#define PLUGIN    "AR Double"
#define VERSION    "14.12.02"
#define AUTHOR    "SKAJIbnEJIb"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg", "EventDeath", "a", "1>0")
}

public EventDeath()
{
    new...
Код:
/*
    Как дать Випу дополнительный опыт за убийство? Смотрите ниже ;)
    
    P.S. такой плагин будет работать только совместно с csstats_mysql.amxx, так как
    дополнительный опыт писаться в Базу Данных MySQL.
    Без csstats_mysql.amxx, players.ini загадится игроками и сервер начнет лагать и может упасть.
*/

#include <amxmodx>
#include <amxmisc>
#include <army_ranks_ultimate>

#define VIP_ACCESS_LEVEL1 ADMIN_BAN // Flag "d"
#define VIP_ACCESS_LEVEL2 ADMIN_CHAT // Flag "i"

#define PLUGIN    "AR Double"
#define VERSION    "14.12.02"
#define AUTHOR    "SKAJIbnEJIb"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg", "EventDeath", "a", "1>0")
}

public EventDeath()
{
    new victim = read_data(2) // жертва
    new killer = read_data(1) // убийца

    new xp1, xp2, flags = get_user_flags(killer);
    if      (flags & VIP_ACCESS_LEVEL1) { xp1=2; xp2=4; } // если этот флаг имеет юзер, то опыта 2 и 4
    else if (flags & VIP_ACCESS_LEVEL2) { xp1=1; xp2=2; } // а если этот флаг, то опыта 1 и 2
    else                                { return; }       // не имеет нужных флагов, ничего не делаем

    if (killer == victim || is_user_bot(killer) || get_user_team(killer) == get_user_team(victim)) { return; }

    new headshot = read_data(3) // в голову убил или нет
    if (headshot)
        ar_set_user_addxp(killer, xp2) // если в голову, прибавляем к убийству еще 2 опыта
    else
        ar_set_user_addxp(killer, xp1) // если просто убил, прибавим еще 1 опыт
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху
Назад