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

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

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

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

Задать флаг

, подсобите немножко
Статус пользователя pr0.JeR
сообщение 12.5.2015, 11:33
Сообщение #1
Стаж: 15 лет

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

Добрый день. Хочу привязать плагин к флагу.
Код:

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

new P_Cvars[31]
public plugin_init()
{
register_plugin("Damage Control", "1.01", "Fxfighter")

RegisterHam(Ham_TakeDamage, "player", "hook_TakeDamage")

P_Cvars[0] = register_cvar("amx_dmg","1")
P_Cvars[1] = register_cvar("amx_dmg_p228","1.0")
P_Cvars[3] = register_cvar("amx_dmg_scout","1.0")
P_Cvars[4] = register_cvar("amx_dmg_grenade","1.0")
P_Cvars[5] = register_cvar("amx_dmg_xm1014","1.0")
P_Cvars[7] = register_cvar("amx_dmg_mac10","1.0")
P_Cvars[8] = register_cvar("amx_dmg_aug","1.0")
P_Cvars[10] = register_cvar("amx_dmg_elite","1.0")
P_Cvars[11] = register_cvar("amx_dmg_fiveseven","1.0")
P_Cvars[12] = register_cvar("amx_dmg_ump45","1.0")
P_Cvars[13] = register_cvar("amx_dmg_sg550","1.0")
P_Cvars[14] = register_cvar("amx_dmg_galil","1.0")
P_Cvars[15] = register_cvar("amx_dmg_famas","1.0")
P_Cvars[16] = register_cvar("amx_dmg_usp","1.0")
P_Cvars[17] = register_cvar("amx_dmg_glock18","1.0")
P_Cvars[18] = register_cvar("amx_dmg_awp","1.0")
P_Cvars[19] = register_cvar("amx_dmg_mp5navy","1.0")
P_Cvars[20] = register_cvar("amx_dmg_m249","1.0")
P_Cvars[21] = register_cvar("amx_dmg_m3","1.0")
P_Cvars[22] = register_cvar("amx_dmg_m4a1","1.0")
P_Cvars[23] = register_cvar("amx_dmg_tmp","1.0")
P_Cvars[24] = register_cvar("amx_dmg_g3sg1","1.0")
P_Cvars[26] = register_cvar("amx_dmg_deagle","1.0")
P_Cvars[27] = register_cvar("amx_dmg_sg552","1.0")
P_Cvars[28] = register_cvar("amx_dmg_ak47","1.0")
P_Cvars[29] = register_cvar("amx_dmg_knife","1.0")
P_Cvars[30] = register_cvar("amx_dmg_p90","1.0")

}
public hook_TakeDamage(Victim, Useless, Attacker, Float:damage, damagebits)
{
new Gun
if(Useless <= 30 && Useless != 0)
{
new dummy
Gun = get_user_weapon(Attacker,dummy,dummy)
}
else
{
new classname[32]
pev(Useless,pev_classname,classname,31)
if(equal(classname,"grenade"))
Gun = 4
}

new Float:Dmg = get_pcvar_float(P_Cvars[Gun])

if(get_pcvar_num(P_Cvars[0]) == 0 || Dmg == 1.0)
return HAM_IGNORED

SetHamParamFloat(4, damage*Dmg)
return HAM_HANDLED
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Dimka8
сообщение 26.5.2015, 21:01
Сообщение #2


Стаж: 12 лет

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

if(!(get_user_flags(id) & ADMIN_LEVEL_A) )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя pr0.JeR
сообщение 27.5.2015, 11:56
Сообщение #3
Стаж: 15 лет

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

Цитата(Dimka8 @ 26.5.2015, 22:01) *
if(!(get_user_flags(id) & ADMIN_LEVEL_A) )

Можете наглядно показать куда вставить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя giorgi_miami
сообщение 29.5.2015, 14:15
Сообщение #4
Стаж: 14 лет

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

pr0.JeR,
Код:
public hook_TakeDamage(Victim, Useless, Attacker, Float:damage, damagebits)
{
if (!(get_user_flags(id) & ADMIN_LEVEL_A))
return PLUGIN_HANDLED

new Gun
if(Useless <= 30 && Useless != 0)
{
new dummy
Gun = get_user_weapon(Attacker,dummy,dummy)
}
else
{
new classname[32]
pev(Useless,pev_classname,classname,31)
if(equal(classname,"grenade"))
Gun = 4
}

new Float:Dmg = get_pcvar_float(P_Cvars[Gun])

if(get_pcvar_num(P_Cvars[0]) == 0 || Dmg == 1.0)
return HAM_IGNORED

SetHamParamFloat(4, damage*Dmg)
return HAM_HANDLED
}

Пробуй.

Отредактировал: giorgi_miami, - 29.5.2015, 14:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 30.5.2015, 13:20
Сообщение #5


Стаж: 16 лет

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

pr0.JeR, правильный вариант

Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define is_valid_player(%1) (1 <= %1 <= g_iMaxPlayers)

new P_Cvars[31]
new g_iMaxPlayers

public plugin_init()
{
register_plugin("Damage Control", "1.01", "Fxfighter")

RegisterHam(Ham_TakeDamage, "player", "hook_TakeDamage")

P_Cvars[0] = register_cvar("amx_dmg","1")
P_Cvars[1] = register_cvar("amx_dmg_p228","1.0")
P_Cvars[3] = register_cvar("amx_dmg_scout","1.0")
P_Cvars[4] = register_cvar("amx_dmg_grenade","1.0")
P_Cvars[5] = register_cvar("amx_dmg_xm1014","1.0")
P_Cvars[7] = register_cvar("amx_dmg_mac10","1.0")
P_Cvars[8] = register_cvar("amx_dmg_aug","1.0")
P_Cvars[10] = register_cvar("amx_dmg_elite","1.0")
P_Cvars[11] = register_cvar("amx_dmg_fiveseven","1.0")
P_Cvars[12] = register_cvar("amx_dmg_ump45","1.0")
P_Cvars[13] = register_cvar("amx_dmg_sg550","1.0")
P_Cvars[14] = register_cvar("amx_dmg_galil","1.0")
P_Cvars[15] = register_cvar("amx_dmg_famas","1.0")
P_Cvars[16] = register_cvar("amx_dmg_usp","1.0")
P_Cvars[17] = register_cvar("amx_dmg_glock18","1.0")
P_Cvars[18] = register_cvar("amx_dmg_awp","1.0")
P_Cvars[19] = register_cvar("amx_dmg_mp5navy","1.0")
P_Cvars[20] = register_cvar("amx_dmg_m249","1.0")
P_Cvars[21] = register_cvar("amx_dmg_m3","1.0")
P_Cvars[22] = register_cvar("amx_dmg_m4a1","1.0")
P_Cvars[23] = register_cvar("amx_dmg_tmp","1.0")
P_Cvars[24] = register_cvar("amx_dmg_g3sg1","1.0")
P_Cvars[26] = register_cvar("amx_dmg_deagle","1.0")
P_Cvars[27] = register_cvar("amx_dmg_sg552","1.0")
P_Cvars[28] = register_cvar("amx_dmg_ak47","1.0")
P_Cvars[29] = register_cvar("amx_dmg_knife","1.0")
P_Cvars[30] = register_cvar("amx_dmg_p90","1.0")

g_iMaxPlayers = get_maxplayers()
}

public hook_TakeDamage(Victim, Useless, Attacker, Float:damage, damagebits)
{
if(!is_valid_player(Attacker) || Attacker != Useless
|| !(get_user_flags(Attacker) & ADMIN_LEVEL_A))
return HAM_IGNORED

new Gun
if(Useless <= 30 && Useless != 0)
{
new dummy
Gun = get_user_weapon(Attacker,dummy,dummy)
}
else
{
new classname[32]
pev(Useless,pev_classname,classname,31)
if(equal(classname,"grenade"))
Gun = 4
}

new Float:Dmg = get_pcvar_float(P_Cvars[Gun])

if(get_pcvar_num(P_Cvars[0]) == 0 || Dmg == 1.0)
return HAM_IGNORED

SetHamParamFloat(4, damage*Dmg)
return HAM_HANDLED
}


Отредактировал: Fintok, - 30.5.2015, 16:40
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя pr0.JeR
сообщение 2.6.2015, 13:39
Сообщение #6
Стаж: 15 лет

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

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