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

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

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

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

Помогите дописать флаг в плагин

, Нужно что бы плагин "Vampire" работал только для админов с фла
Статус пользователя napkin
сообщение 21.11.2013, 16:59
Сообщение #1
Стаж: 12 лет

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

Нужно что бы плагин "Vampire" работал только для админов с флагом Н
Много способов перепробовал , перегуглил весь гугл , не смог найти , теперь прошу помощи
CODE
#include <amxmodx>
#include <fakemeta>



enum _:MODES
{
MODE_HEALTH = 1,
MODE_ARMOR
}

enum _:CVARS
{
MIN_ADD,
MAX_ADD,
MAX_POINTS,
PLUGIN_MODE,
HS_MULTIPLE,
SHOW_BONUS
}

new g_cvars[CVARS]

#define PLUGIN "valve_vampire"
#define VERSION "0.4e"
#define AUTHOR "Turanga_Leela"

public plugin_init()
{
register_event("DeathMsg", "on_death", "a")
register_plugin(PLUGIN, VERSION, AUTHOR)

g_cvars[MIN_ADD] = register_cvar("vampire_min_add", "1")
g_cvars[MAX_ADD] = register_cvar("vampire_max_add", "5")
g_cvars[HS_MULTIPLE] = register_cvar("vampire_hs_multiple", "2")
g_cvars[MAX_POINTS] = register_cvar("vampire_max_points", "100")
g_cvars[PLUGIN_MODE] = register_cvar("vampire_mode", "3")
g_cvars[SHOW_BONUS] = register_cvar("vampire_show_bonus", "1")
}

public on_death()
{
new cvar_mode = get_pcvar_num(g_cvars[PLUGIN_MODE])

if(!cvar_mode) return

new killer = read_data(1), id = read_data(2)

if(killer == id || !is_user_alive(killer)) return

new
cvar_min = get_pcvar_num(g_cvars[MIN_ADD]),
cvar_max = get_pcvar_num(g_cvars[MAX_ADD])

if(cvar_max < cvar_min) return

new weapon, hitBox, agressor = get_user_attacker(id, weapon, hitBox),
hs_cvar = get_pcvar_num(g_cvars[HS_MULTIPLE]),
regen = random_num(cvar_min, cvar_max)

if(hitBox == HIT_HEAD && hs_cvar && agressor == killer)
regen *= hs_cvar

if(cvar_mode & MODE_HEALTH)
func_bonus(killer, regen, 0)

if(cvar_mode & MODE_ARMOR)
func_bonus(killer, regen, 1)
}

func_bonus(id, regen, mode)
{
new Float:value, sub, pev_is, Float:cvar_points = float(get_pcvar_num(g_cvars[MAX_POINTS]))
pev_is = mode ? pev_armorvalue : pev_health

pev(id, pev_is, value)

if(value + regen > cvar_points)
sub = floatround(value + regen - cvar_points)

regen -= sub
value += regen

set_pev(id, pev_is, value)

if(get_pcvar_num(g_cvars[SHOW_BONUS]) && !is_user_bot(id) && regen && !mode)
{
set_hudmessage(0, 100, 200, 0.1, 0.9, 2, 1.0, 3.0, 0.5, 0.5, 2)
show_hudmessage(id, "+%d", regen)
}
}

Прикрепленные файлы:
Прикрепленный файл  valve_vampire.sma ( 2,05 килобайт ) Кол-во скачиваний: 7
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя winzh1
сообщение 21.11.2013, 17:05
Сообщение #2


Стаж: 14 лет

Сообщений: 1414
Благодарностей: 600
Полезность: 838

Код:
#include <amxmodx>
#include <fun>

#define ADMIN_CHECK ADMIN_CFG
#define PLUGIN_VERSION "1.0"

new health_add
new health_hs_add
new health_max

new nKiller
new nKiller_hp
new nHp_add
new nHp_max

public plugin_init()
{
register_plugin("Vampire", PLUGIN_VERSION, "author")

health_add = register_cvar("amx_vampire_hp", "15")
health_hs_add = register_cvar("amx_vampire_hp_hs", "40")
health_max = register_cvar("amx_vampire_max_hp", "100")

register_event("DeathMsg", "hook_death", "a", "1>0")
}

public hook_death()
{
// Killer id
nKiller = read_data(1)

if(get_user_flags(nKiller) & ADMIN_CHECK)
{
if ( (read_data(3) == 1) && (read_data(5) == 0) )
{
nHp_add = get_pcvar_num (health_hs_add)
}
else
nHp_add = get_pcvar_num (health_add)

nHp_max = get_pcvar_num (health_max)

// Updating Killer HP
nKiller_hp = get_user_health(nKiller)
nKiller_hp += nHp_add

// Maximum HP check
if (nKiller_hp > nHp_max) nKiller_hp = nHp_max

set_user_health(nKiller, nKiller_hp)

// Hud message "Healed +15/+40 hp"
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(nKiller, "Healed +%d hp", nHp_add)

// Screen fading
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(75)
message_end()
}
}


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: