Addons Furien 2013 [Linux]
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- CsN^ ;x
- Membru eXtream
- Posts: 3560
- Joined: 02 Apr 2012, 16:58
- Detinator Steam: Nu
- CS Status: Retras din domeniul Counter-Strike
- Reputatie: Fost moderator
- Location: Bucuresti
- Has thanked: 797 times
- Been thanked: 607 times
kraid arma water gun o rezolvare la ea sau cum sa o pot scoate macar..
Addons HNS level,gravity,xp DOWNLOAD ( e țeapă)
https://5filme.com/ - un simplu site de filme pentru timpul liber
https://5filme.com/ - un simplu site de filme pentru timpul liber
- CsN^ ;x
- Membru eXtream
- Posts: 3560
- Joined: 02 Apr 2012, 16:58
- Detinator Steam: Nu
- CS Status: Retras din domeniul Counter-Strike
- Reputatie: Fost moderator
- Location: Bucuresti
- Has thanked: 797 times
- Been thanked: 607 times
SnK_Laur wrote:Cum editez mesajele "Pentru Donatii Y!M [email protected]" si "Server [By.KrAiD]"?
- data/lang/furien.txt | Afiseaza codul
Addons HNS level,gravity,xp DOWNLOAD ( e țeapă)
https://5filme.com/ - un simplu site de filme pentru timpul liber
https://5filme.com/ - un simplu site de filme pentru timpul liber
-
- Membru, skill 0
- Posts: 4
- Joined: 11 Jan 2014, 14:22
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Contact:
Frate am o problema cu un plugin vreau sa imi dea 2 he 2 flash 2 smoke . Problema este ca mi le da dar de prea multe ori
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
//#include <biohazard>
#define PLUGIN "Nade Giver"
#define VERSION "4.8"
#define AUTHOR "OT"
#define MAX_PLAYERS 32
#define SOUND_AMMO_PICKUP "items/9mmclip1.wav"
#define SOUND_COMMAND_ENABLE "beep.wav"
enum CvarCall
{
PCV_TIME = 0,
PCV_LIMIT,
PCV_FRAGS_CT,
PCV_FRAGS_T,
PCV_QUANT_CT,
PCV_QUANT_T,
PCV_RESPAWN
}
enum NadeType
{
NADE_HEGRENADE = 0,
NADE_FLASHBANG,
NADE_SMOKEGREN,
}
new const g_nademodel[NadeType][] =
{
"hegrenade.mdl",
"flashbang.mdl",
"smokegrenade.mdl"
}
new const g_nadename[NadeType][] =
{
"weapon_hegrenade",
"weapon_flashbang",
"weapon_smokegrenade"
}
new const g_nadetaskid[NadeType] =
{
3000,
2000,
1000
}
new const g_nadeammomsg[NadeType] =
{
12,
11,
13
}
new const g_nadewpnid[NadeType] =
{
4,
25,
9
}
new const g_nadeteaminfo[NadeType][] =
{
"TERRORIST",
"SPECTATOR",
"NONE"
}
new const g_nadecolorbefore[NadeType][] =
{
"^x03",
"^x03",
"^x04"
}
new const g_nademultilang_tag[NadeType][] =
{
"NAME_HEGRENADE",
"NAME_FLASHBANG",
"NAME_SMOKEGREN"
}
new const g_nademultilang_tag_plural[NadeType][] =
{
"NAME_HEGRENADES",
"NAME_FLASHBANGS",
"NAME_SMOKEGRENS"
}
new const g_seconds_remaning_array[] =
{
1, 2, 3, 5, 10, 15, 20, 30, 40, 50, 60
}
// Message constants
new g_msg_ammo
new g_msg_teaminfo
new g_msg_saytext
// Pcvars & settings
new pcv_enable_plug
new pcv_commands
new pcv_chat
new pcv_chat_count
new pcv_sounds
new pcv_resettime
new pcv_resetfrags
new pcv_data[CvarCall][NadeType]
// Player variables
new pl_remsecons[MAX_PLAYERS+1][NadeType]
new pl_frags[MAX_PLAYERS+1][NadeType]
new bool:pl_alive[MAX_PLAYERS+1] = {false, ...}
new bool:pl_command_enable[MAX_PLAYERS+1][NadeType]
new bool:pl_zombie[MAX_PLAYERS + 1] = {false, ...}
public plugin_precache()
{
precache_sound(SOUND_AMMO_PICKUP)
precache_sound(SOUND_COMMAND_ENABLE)
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("nade_giver_version",VERSION, (FCVAR_SERVER | FCVAR_SPONLY))
pcv_enable_plug = register_cvar("ndg_enable", "1")
pcv_commands = register_cvar("ndg_use_cmd_system","0")
pcv_chat = register_cvar("ndg_chatannounce", "1")
pcv_chat_count = register_cvar("ndg_chatcount", "0")
pcv_sounds = register_cvar("ndg_sounds", "1")
pcv_resettime = register_cvar("ndg_resettime", "1")
pcv_resetfrags = register_cvar("ndg_resetfragsondeath", "1")
pcv_data[PCV_TIME][NADE_HEGRENADE] = register_cvar("ndg_he_time","2.0")
pcv_data[PCV_TIME][NADE_FLASHBANG] = register_cvar("ndg_fl_time", "2.0")
pcv_data[PCV_TIME][NADE_SMOKEGREN] = register_cvar("ndg_sm_time", "2.0")
pcv_data[PCV_LIMIT][NADE_HEGRENADE] = register_cvar("ndg_he_limit", "2")
pcv_data[PCV_LIMIT][NADE_FLASHBANG] = register_cvar("ndg_fl_limit", "2")
pcv_data[PCV_LIMIT][NADE_SMOKEGREN] = register_cvar("ndg_sm_limit", "2")
pcv_data[PCV_FRAGS_CT][NADE_HEGRENADE] = register_cvar("ndg_he_ct_frags", "10")
pcv_data[PCV_FRAGS_CT][NADE_FLASHBANG] = register_cvar("ndg_fl_ct_frags", "8")
pcv_data[PCV_FRAGS_CT][NADE_SMOKEGREN] = register_cvar("ndg_sm_ct_frags", "12")
pcv_data[PCV_FRAGS_T][NADE_HEGRENADE] = register_cvar("ndg_he_t_frags", "10")
pcv_data[PCV_FRAGS_T][NADE_FLASHBANG] = register_cvar("ndg_fl_t_frags", "8")
pcv_data[PCV_FRAGS_T][NADE_SMOKEGREN] = register_cvar("ndg_sm_t_frags", "12")
pcv_data[PCV_QUANT_CT][NADE_HEGRENADE] = register_cvar("ndg_he_ct_quantity", "1")
pcv_data[PCV_QUANT_CT][NADE_FLASHBANG] = register_cvar("ndg_fl_ct_quantity", "1")
pcv_data[PCV_QUANT_CT][NADE_SMOKEGREN] = register_cvar("ndg_sm_ct_quantity", "1")
pcv_data[PCV_QUANT_T][NADE_HEGRENADE] = register_cvar("ndg_he_t_quantity", "1")
pcv_data[PCV_QUANT_T][NADE_FLASHBANG] = register_cvar("ndg_fl_t_quantity", "1")
pcv_data[PCV_QUANT_T][NADE_SMOKEGREN] = register_cvar("ndg_sm_t_quantity", "1")
pcv_data[PCV_RESPAWN][NADE_HEGRENADE] = register_cvar("ndg_he_respawn_give", "0")
pcv_data[PCV_RESPAWN][NADE_FLASHBANG] = register_cvar("ndg_fl_respawn_give", "0")
pcv_data[PCV_RESPAWN][NADE_SMOKEGREN] = register_cvar("ndg_sm_respawn_give", "0")
register_clcmd("say /he","clcmd_he", ADMIN_ADMIN," Gives a he grenade")
register_clcmd("say /flash","clcmd_flash", ADMIN_ADMIN," Gives a flashbang")
register_clcmd("say /smoke","clcmd_smoke", ADMIN_ADMIN," Gives a smoke grenade")
register_clcmd("say_team /he","clcmd_he",ADMIN_ADMIN," Gives a he grenade")
register_clcmd("say_team /flash","clcmd_flash",ADMIN_ADMIN," Gives a flashbang")
register_clcmd("say_team /smoke","clcmd_smoke",ADMIN_ADMIN," Gives a smoke grenade")
register_clcmd("ndg_he","cclcmd_he", ADMIN_ADMIN," Gives a he grenade")
register_clcmd("ndg_flash","cclcmd_flash", ADMIN_ADMIN," Gives a flashbang")
register_clcmd("ndg_smoke","cclcmd_smoke", ADMIN_ADMIN," Gives a smoke grenade")
register_forward(FM_SetModel,"fw_setmodel",1)
register_event("ResetHUD", "event_resethud", "b")
register_event("DeathMsg", "event_death", "a")
g_msg_ammo = get_user_msgid("AmmoPickup")
g_msg_teaminfo = get_user_msgid("TeamInfo")
g_msg_saytext = get_user_msgid("SayText")
register_dictionary("nade_giver.txt")
set_task(0.1,"plugin_init_delay")
}
public plugin_init_delay()
{
register_event("CurWeapon", "event_curweapon", "b")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
}
// Client Commands
public clcmd_he(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (!pl_command_enable[id][NADE_HEGRENADE])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] %s%L", g_nadecolorbefore[NADE_HEGRENADE], id, "COMMAND_REENAB")
msg_changeteaminfo(id, g_nadeteaminfo[NADE_HEGRENADE])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
pl_command_enable[id][NADE_HEGRENADE] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == -1)
{
return PLUGIN_CONTINUE
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0)
{
pl_command_enable[id][NADE_HEGRENADE] = true
}
else
{
pl_remsecons[id][NADE_HEGRENADE] = get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_HEGRENADE])
}
if (give_nade(id, NADE_HEGRENADE, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_HEGRENADE]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "NOT_MORE_ALLOW", g_nadecolorbefore[NADE_HEGRENADE], id, g_nademultilang_tag_plural[NADE_HEGRENADE])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_HEGRENADE])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
give_nade(id, NADE_HEGRENADE)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "COMMAND_ENABLE", g_nadecolorbefore[NADE_HEGRENADE], id, g_nademultilang_tag[NADE_HEGRENADE])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_HEGRENADE])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
return PLUGIN_CONTINUE
}
public clcmd_flash(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (!pl_command_enable[id][NADE_FLASHBANG])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] %s%L", g_nadecolorbefore[NADE_FLASHBANG], id, "COMMAND_REENAB")
msg_changeteaminfo(id, g_nadeteaminfo[NADE_FLASHBANG])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
pl_command_enable[id][NADE_FLASHBANG] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == -1)
{
return PLUGIN_CONTINUE
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0)
{
pl_command_enable[id][NADE_FLASHBANG] = true
}
else
{
pl_remsecons[id][NADE_FLASHBANG] = get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_FLASHBANG])
}
if (give_nade(id, NADE_FLASHBANG, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_FLASHBANG]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "NOT_MORE_ALLOW", g_nadecolorbefore[NADE_FLASHBANG], id, g_nademultilang_tag_plural[NADE_FLASHBANG])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_FLASHBANG])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
give_nade(id, NADE_FLASHBANG)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "COMMAND_ENABLE", g_nadecolorbefore[NADE_FLASHBANG], id, g_nademultilang_tag[NADE_FLASHBANG])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_FLASHBANG])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
return PLUGIN_CONTINUE
}
public clcmd_smoke(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (!pl_command_enable[id][NADE_SMOKEGREN])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] %s%L", g_nadecolorbefore[NADE_SMOKEGREN], id, "COMMAND_REENAB")
msg_changeteaminfo(id, g_nadeteaminfo[NADE_SMOKEGREN])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
pl_command_enable[id][NADE_SMOKEGREN] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == -1)
{
return PLUGIN_CONTINUE
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0)
{
pl_command_enable[id][NADE_SMOKEGREN] = true
}
else
{
pl_remsecons[id][NADE_SMOKEGREN] = get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_SMOKEGREN])
}
if (give_nade(id, NADE_SMOKEGREN, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_SMOKEGREN]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "NOT_MORE_ALLOW", g_nadecolorbefore[NADE_SMOKEGREN], id, g_nademultilang_tag_plural[NADE_SMOKEGREN])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_SMOKEGREN])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
give_nade(id, NADE_SMOKEGREN)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "COMMAND_ENABLE", g_nadecolorbefore[NADE_SMOKEGREN], id, g_nademultilang_tag[NADE_SMOKEGREN])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_SMOKEGREN])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
return PLUGIN_CONTINUE
}
public cclcmd_he(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_HANDLED
if (!pl_command_enable[id][NADE_HEGRENADE])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L", id, "COMMAND_REENAB")
}
return PLUGIN_HANDLED
}
pl_command_enable[id][NADE_HEGRENADE] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == -1)
{
return PLUGIN_HANDLED
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0)
{
pl_command_enable[id][NADE_HEGRENADE] = true
}
else
{
pl_remsecons[id][NADE_HEGRENADE] = get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_HEGRENADE])
}
if (give_nade(id, NADE_HEGRENADE, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_HEGRENADE]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "NOT_MORE_ALLOW", id, g_nademultilang_tag_plural[NADE_HEGRENADE])
}
return PLUGIN_HANDLED
}
give_nade(id, NADE_HEGRENADE)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "COMMAND_ENABLE", id, g_nademultilang_tag[NADE_HEGRENADE])
}
}
return PLUGIN_HANDLED
}
public cclcmd_flash(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_HANDLED
if (!pl_command_enable[id][NADE_FLASHBANG])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L", id, "COMMAND_REENAB")
}
return PLUGIN_HANDLED
}
pl_command_enable[id][NADE_FLASHBANG] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == -1)
{
return PLUGIN_HANDLED
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0)
{
pl_command_enable[id][NADE_FLASHBANG] = true
}
else
{
pl_remsecons[id][NADE_FLASHBANG] = get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_FLASHBANG])
}
if (give_nade(id, NADE_FLASHBANG, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_FLASHBANG]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "NOT_MORE_ALLOW", id, g_nademultilang_tag_plural[NADE_FLASHBANG])
}
return PLUGIN_HANDLED
}
give_nade(id, NADE_FLASHBANG)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "COMMAND_ENABLE", id, g_nademultilang_tag[NADE_FLASHBANG])
}
}
return PLUGIN_HANDLED
}
public cclcmd_smoke(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_HANDLED
if (!pl_command_enable[id][NADE_SMOKEGREN])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L", id, "COMMAND_REENAB")
}
return PLUGIN_HANDLED
}
pl_command_enable[id][NADE_SMOKEGREN] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == -1)
{
return PLUGIN_HANDLED
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0)
{
pl_command_enable[id][NADE_SMOKEGREN] = true
}
else
{
pl_remsecons[id][NADE_SMOKEGREN] = get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_SMOKEGREN])
}
if (give_nade(id, NADE_SMOKEGREN, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_SMOKEGREN]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "NOT_MORE_ALLOW", id, g_nademultilang_tag_plural[NADE_SMOKEGREN])
}
return PLUGIN_HANDLED
}
give_nade(id, NADE_SMOKEGREN)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "COMMAND_ENABLE", id, g_nademultilang_tag[NADE_SMOKEGREN])
}
}
return PLUGIN_HANDLED
}
// Events
public event_new_round()
{
new players[32], id, num
get_players(players, num)
for (new i=0;i<num;i++)
{
id = players
pl_alive[id] = false
pl_zombie[id] = false
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0 && get_pcvar_num(pcv_enable_plug))
{
if (!get_pcvar_num(pcv_commands))
{
if (cs_get_user_bpammo(id,g_nadewpnid[NADE_HEGRENADE]) == 0)
{
give_nade(id,NADE_HEGRENADE,1)
}
}
else
{
pl_command_enable[id][NADE_HEGRENADE] = true
}
}
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0 && get_pcvar_num(pcv_enable_plug))
{
if (!get_pcvar_num(pcv_commands))
{
if (cs_get_user_bpammo(id,g_nadewpnid[NADE_FLASHBANG]) == 0)
{
give_nade(id,NADE_FLASHBANG,1)
}
}
else
{
pl_command_enable[id][NADE_FLASHBANG] = true
}
}
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0 && get_pcvar_num(pcv_enable_plug))
{
if (!get_pcvar_num(pcv_commands))
{
if (cs_get_user_bpammo(id,g_nadewpnid[NADE_SMOKEGREN]) == 0)
{
give_nade(id,NADE_SMOKEGREN,1)
}
}
else
{
pl_command_enable[id][NADE_SMOKEGREN] = true
}
}
}
}
public event_curweapon(id)
{
#if !defined _biohazard_included
if (!is_user_alive(id) || !get_pcvar_num(pcv_enable_plug) || pl_zombie[id])
return PLUGIN_CONTINUE
#else
if (!is_user_alive(id) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (!is_user_zombie(id))
{
pl_zombie[id] = false
}
else
{
pl_zombie[id] = true
return PLUGIN_CONTINUE
}
#endif
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (cs_get_user_bpammo(id,g_nadewpnid) < get_pcvar_num(pcv_data[PCV_LIMIT]) && pl_remsecons[id] == 0 && get_pcvar_num(pcv_data[PCV_TIME]) > 0)
{
pl_remsecons[id][NadeType:i] = get_pcvar_num(pcv_data[PCV_TIME]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid)
}
}
return PLUGIN_CONTINUE
}
public event_resethud(id)
{
if (!is_user_alive(id))
{
pl_alive[id] = false
return PLUGIN_CONTINUE
}
else
{
if (pl_alive[id] == false)
{
pl_alive[id] = true
if (!get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (cs_get_user_bpammo(id,g_nadewpnid) < get_pcvar_num(pcv_data[PCV_LIMIT]) && pl_remsecons[id] == 0 && get_pcvar_num(pcv_data[PCV_TIME][i]) > 0)
{
pl_remsecons[id][i] = get_pcvar_num(pcv_data[PCV_TIME][i]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[i])
}
if (get_pcvar_num(pcv_commands))
{
if (get_pcvar_num(pcv_data[PCV_TIME][i]) == 0)
{
pl_command_enable[id][i] = true
}
}
for (new j=0;j<get_pcvar_num(pcv_data[PCV_RESPAWN][i]);j++)
{
give_nade(id,i)
}
}
}
}
return PLUGIN_CONTINUE
}
public event_death()
{
new attacker = read_data(1)
new id = read_data(2)
if (id != 0)
{
pl_remsecons[id][NADE_HEGRENADE] = 0
pl_command_enable[id][NADE_HEGRENADE] = false
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
pl_command_enable[id][NADE_FLASHBANG] = false
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
pl_command_enable[id][NADE_SMOKEGREN] = false
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
pl_alive[id] = false
if (get_pcvar_num(pcv_resetfrags))
{
pl_frags[id][NADE_FLASHBANG] = 0
pl_frags[id][NADE_HEGRENADE] = 0
pl_frags[id][NADE_SMOKEGREN] = 0
}
}
if (!get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (get_pcvar_num(pcv_chat) && !is_user_bot(id) && !get_pcvar_num(pcv_commands))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L", id, "STAY_ALIVE")
msg_colored(id, message)
}
if (attacker == 0 || attacker == id)
return PLUGIN_CONTINUE
new CvarCall:team
new CvarCall:quant
switch (cs_get_user_team(attacker))
{
case CS_TEAM_T:
{
pl_frags[attacker][NADE_HEGRENADE] += 1
pl_frags[attacker][NADE_FLASHBANG] += 1
pl_frags[attacker][NADE_SMOKEGREN] += 1
team = PCV_FRAGS_T
quant = PCV_QUANT_T
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (pl_frags[attacker][i] >= get_pcvar_num(pcv_data[team][i]) && get_pcvar_num(pcv_data[team][i]) > 0)
{
new count = 0
if (task_exists(attacker + g_nadetaskid[i]) && get_pcvar_num(pcv_resettime))
remove_task(attacker + g_nadetaskid[i])
pl_frags[attacker][i] = 0
for (new j=0;j<get_pcvar_num(pcv_data[quant][i]);j++)
{
if (give_nade(attacker,i,3) >= get_pcvar_num(pcv_data[PCV_LIMIT][i]))
{
break;
}
give_nade(attacker, i, 0, true)
count++
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(attacker))
{
if (count == 1)
{
new string[11], message[100]
get_user_team(attacker, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", attacker, "HERE_IS_A_NADE", g_nadecolorbefore[i], attacker, g_nademultilang_tag[i])
msg_changeteaminfo(attacker, g_nadeteaminfo[i])
msg_colored(attacker, message)
msg_changeteaminfo(attacker, string)
}
else if (count > 1)
{
new string[11], message[100]
get_user_team(attacker, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", attacker, "HERE_ARE_NADES", count, g_nadecolorbefore[i], attacker, g_nademultilang_tag_plural[i])
msg_changeteaminfo(attacker, g_nadeteaminfo[i])
msg_colored(attacker, message)
msg_changeteaminfo(attacker, string)
}
}
if (get_pcvar_num(pcv_resettime))
pl_remsecons[attacker][i] = 0
}
}
}
case CS_TEAM_CT:
{
pl_frags[attacker][NADE_HEGRENADE] += 1
pl_frags[attacker][NADE_FLASHBANG] += 1
pl_frags[attacker][NADE_SMOKEGREN] += 1
team = PCV_FRAGS_CT
quant = PCV_QUANT_CT
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (pl_frags[attacker][i] >= get_pcvar_num(pcv_data[team][i]) && get_pcvar_num(pcv_data[team][i]) > 0)
{
new count = 0
if (task_exists(attacker + g_nadetaskid[i]) && get_pcvar_num(pcv_resettime))
remove_task(attacker + g_nadetaskid[i])
pl_frags[attacker][i] = 0
for (new j=0;j<get_pcvar_num(pcv_data[quant][i]);j++)
{
if (give_nade(attacker,i,3) >= get_pcvar_num(pcv_data[PCV_LIMIT][i]))
{
break;
}
give_nade(attacker, i, 0, true)
count++
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(attacker))
{
if (count == 1)
{
new string[11], message[100]
get_user_team(attacker, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", attacker, "HERE_IS_A_NADE", g_nadecolorbefore[i], attacker, g_nademultilang_tag[i])
msg_changeteaminfo(attacker, g_nadeteaminfo[i])
msg_colored(attacker, message)
msg_changeteaminfo(attacker, string)
}
else if (count > 1)
{
new string[11], message[100]
get_user_team(attacker, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", attacker, "HERE_ARE_NADES", count, g_nadecolorbefore[i], attacker, g_nademultilang_tag_plural[i])
msg_changeteaminfo(attacker, g_nadeteaminfo[i])
msg_colored(attacker, message)
msg_changeteaminfo(attacker, string)
}
}
if (get_pcvar_num(pcv_resettime))
pl_remsecons[attacker][i] = 0
}
}
}
}
return PLUGIN_CONTINUE
}
// Fakemeta Forwards
public fw_setmodel(ent, model[])
{
if (!pev_valid(ent) || !get_pcvar_num(pcv_enable_plug))
{
return FMRES_IGNORED
}
// Not yet thrown
if (pev_float(ent,pev_gravity) == 0.0)
{
return FMRES_IGNORED
}
new id = pev(ent,pev_owner)
if (!is_user_alive(id) || pl_zombie[id])
{
return FMRES_IGNORED
}
//client_print(id,print_chat,"setmodel: entid:%d, model:%s",ent,model)
for (new i=0;i<3;i++)
{
if (containi(model,g_nademodel[NadeType:i]) != -1)
{
if (!get_pcvar_num(pcv_commands))
{
switch (get_pcvar_num(pcv_data[PCV_TIME][NadeType:i]))
{
case -1:
{
break
}
case 0:
{
set_task(0.1,"task_give_nade",id + g_nadetaskid[NadeType:i])
break
}
}
if (pl_remsecons[id][NadeType:i] == 0)
{
pl_remsecons[id][NadeType:i] = get_pcvar_num(pcv_data[PCV_TIME][NadeType:i]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NadeType:i])
}
break
}
else
{
if (pl_command_enable[id][NadeType:i])
return FMRES_IGNORED
switch (get_pcvar_num(pcv_data[PCV_TIME][NadeType:i]))
{
case -1:
{
break
}
case 0:
{
pl_command_enable[id][NadeType:i] = true
break
}
}
if (pl_remsecons[id][NadeType:i] == 0)
{
pl_remsecons[id][NadeType:i] = get_pcvar_num(pcv_data[PCV_TIME][NadeType:i]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NadeType:i])
}
break
}
}
}
return FMRES_IGNORED
}
// Client Disconnect/Connect
public client_disconnect(id)
{
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
pl_alive[id] = false
}
public client_connect(id)
{
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
pl_alive[id] = false
}
public task_give_nade(taskid)
{
new id,NadeType:nade=NADE_HEGRENADE
for (;nade<=NADE_SMOKEGREN;NadeType:nade++)
{
if (taskid >= g_nadetaskid[nade])
{
id = taskid - g_nadetaskid[nade]
break
}
}
//client_print(id,print_chat,"[TASK] gametime:%0.2f remseconds:%d",get_gametime(),pl_remsecons[id][nade])
if (pl_zombie[id] || !get_pcvar_num(pcv_enable_plug) || !is_user_alive(id) || get_pcvar_num(pcv_data[PCV_TIME][nade]) < 0 || cs_get_user_bpammo(id,g_nadewpnid[nade]) >= get_pcvar_num(pcv_data[PCV_LIMIT][nade]))
{
pl_remsecons[id][nade] = 0
return PLUGIN_CONTINUE
}
if (get_pcvar_num(pcv_data[PCV_TIME][nade]) == 0)
{
if (!get_pcvar_num(pcv_commands))
{
if (cs_get_user_bpammo(id,g_nadewpnid[nade]) == 0)
{
give_nade(id,nade,1)
}
}
else
{
pl_command_enable[id][nade] = true
}
pl_remsecons[id][nade] = 0
return PLUGIN_CONTINUE
}
if (pl_remsecons[id][nade] > 1)
{
pl_remsecons[id][nade]--
set_task(1.0,"task_give_nade",taskid)
if (get_pcvar_num(pcv_chat) && !is_user_bot(id) && get_pcvar_num(pcv_chat_count))
{
if (pl_remsecons[id][nade] == get_pcvar_num(pcv_data[PCV_TIME][nade]) || must_be_seen(pl_remsecons[id][nade]))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%d %L %s%L!", pl_remsecons[id][nade], id, get_pcvar_num(pcv_commands) ? "SEC_REM_ENABLE" : "SEC_NADE_GIVE", g_nadecolorbefore[nade], id, g_nademultilang_tag[nade])
msg_changeteaminfo(id, g_nadeteaminfo[nade])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
return PLUGIN_CONTINUE
}
else
{
if (cs_get_user_bpammo(id,g_nadewpnid[nade]) < get_pcvar_num(pcv_data[PCV_LIMIT][nade]) && pl_remsecons[id][nade] == 1)
{
if (!get_pcvar_num(pcv_commands))
{
give_nade(id,nade)
if (cs_get_user_bpammo(id,g_nadewpnid[nade]) < get_pcvar_num(pcv_data[PCV_LIMIT][nade]))
{
pl_remsecons[id][nade] = get_pcvar_num(pcv_data[PCV_TIME][nade]) + 1
set_task(1.0,"task_give_nade",taskid)
}
else
{
pl_remsecons[id][nade]--
}
return PLUGIN_CONTINUE
}
else
{
pl_command_enable[id][nade] = true
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "COMMAND_ENABLE", g_nadecolorbefore[nade], id, g_nademultilang_tag[nade])
msg_changeteaminfo(id, g_nadeteaminfo[nade])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
}
else
{
pl_remsecons[id][nade]--
}
}
return PLUGIN_CONTINUE
}
public zp_user_infected_post(id, infector)
{
if (!get_pcvar_num(pcv_enable_plug))
return
pl_zombie[id] = true
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
return
}
public zp_user_humanized_post(id, survivor)
{
if (!get_pcvar_num(pcv_enable_plug))
return
pl_zombie[id] = false
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (cs_get_user_bpammo(id,g_nadewpnid[i]) < get_pcvar_num(pcv_data[PCV_LIMIT][i]) && pl_remsecons[id][i] == 0 && get_pcvar_num(pcv_data[PCV_TIME][i]) > 0)
{
pl_remsecons[id][i] = get_pcvar_num(pcv_data[PCV_TIME][i]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[i])
}
if (get_pcvar_num(pcv_commands))
{
if (get_pcvar_num(pcv_data[PCV_TIME][i]) == 0)
{
pl_command_enable[id][i] = true
}
}
for (new j=0;j<get_pcvar_num(pcv_data[PCV_RESPAWN][i]);j++)
{
give_nade(id,i)
}
}
return
}
public event_infect(id, attacker)
{
if (!get_pcvar_num(pcv_enable_plug))
return
pl_zombie[id] = true
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
return
}
// Stocks
// MODE = 0, check the ammo before giving a nade
// MODE = 1, give a nade through fm_give_item
// MODE = 2, give a nade through BPAMMO (caution! use this when you already have a nade!)
// MODE = 3, return just the ammo
// MODE = everything else, do nothing
give_nade(index, NadeType:nade, mode = 0, bool:silent = false)
{
switch(mode)
{
case 0:
{
new nadeammo = cs_get_user_bpammo(index,g_nadewpnid[nade])
if (nadeammo == 0)
{
give_item(index,g_nadename[nade])
}
else
{
cs_set_user_bpammo(index,g_nadewpnid[nade],nadeammo+1)
if (!is_user_bot(index))
{
msg_ammo_pickup(index,nade)
}
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(index) && !silent)
{
new string[11], message[100]
get_user_team(index, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", index, "HERE_IS_A_NADE", g_nadecolorbefore[nade], index,g_nademultilang_tag[nade])
msg_changeteaminfo(index, g_nadeteaminfo[nade])
msg_colored(index, message)
msg_changeteaminfo(index, string)
}
}
case 1:
{
give_item(index,g_nadename[nade])
if (get_pcvar_num(pcv_chat) && !is_user_bot(index) && !silent)
{
new string[11], message[100]
get_user_team(index, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", index, "HERE_IS_A_NADE", g_nadecolorbefore[nade], index,g_nademultilang_tag[nade])
msg_changeteaminfo(index, g_nadeteaminfo[nade])
msg_colored(index, message)
msg_changeteaminfo(index, string)
}
}
case 2:
{
cs_set_user_bpammo(index,g_nadewpnid[nade],cs_get_user_bpammo(index,g_nadewpnid[nade])+1)
if (!is_user_bot(index))
{
msg_ammo_pickup(index,nade)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(index) && !silent)
{
new string[11], message[100]
get_user_team(index, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", index, "HERE_IS_A_NADE", g_nadecolorbefore[nade], index,g_nademultilang_tag[nade])
msg_changeteaminfo(index, g_nadeteaminfo[nade])
msg_colored(index, message)
msg_changeteaminfo(index, string)
}
}
case 3:
{
return cs_get_user_bpammo(index,g_nadewpnid[nade])
}
default:
{
return 0
}
}
return cs_get_user_bpammo(index,g_nadewpnid[nade])
}
msg_ammo_pickup(id, NadeType:nade)
{
message_begin(MSG_ONE, g_msg_ammo, {0,0,0}, id)
write_byte(g_nadeammomsg[nade])
write_byte(1)
message_end()
if (get_pcvar_num(pcv_sounds))
emit_sound(id, CHAN_ITEM, SOUND_AMMO_PICKUP , 1.0, 0.8, 0, 100)
}
msg_changeteaminfo(player, team[])
{
message_begin(MSG_ONE, g_msg_teaminfo, {0,0,0}, player) // Tells to to modify teamInfo (Which is responsable for which time player is)
write_byte(player) // Write byte needed
write_string(team) // Changes player's team
message_end() // Also Needed
}
msg_colored(id, msg[])
{
message_begin(MSG_ONE, g_msg_saytext, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
bool:must_be_seen(value)
{
new bool:ok=false
for (new i=0;i<sizeof(g_seconds_remaning_array);i++)
{
if (value == g_seconds_remaning_array[i])
{
ok = true
break
}
}
return ok
}
Float:pev_float(index,type)
{
new Float:nr
pev(index,type,nr)
return nr
}
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
//#include <biohazard>
#define PLUGIN "Nade Giver"
#define VERSION "4.8"
#define AUTHOR "OT"
#define MAX_PLAYERS 32
#define SOUND_AMMO_PICKUP "items/9mmclip1.wav"
#define SOUND_COMMAND_ENABLE "beep.wav"
enum CvarCall
{
PCV_TIME = 0,
PCV_LIMIT,
PCV_FRAGS_CT,
PCV_FRAGS_T,
PCV_QUANT_CT,
PCV_QUANT_T,
PCV_RESPAWN
}
enum NadeType
{
NADE_HEGRENADE = 0,
NADE_FLASHBANG,
NADE_SMOKEGREN,
}
new const g_nademodel[NadeType][] =
{
"hegrenade.mdl",
"flashbang.mdl",
"smokegrenade.mdl"
}
new const g_nadename[NadeType][] =
{
"weapon_hegrenade",
"weapon_flashbang",
"weapon_smokegrenade"
}
new const g_nadetaskid[NadeType] =
{
3000,
2000,
1000
}
new const g_nadeammomsg[NadeType] =
{
12,
11,
13
}
new const g_nadewpnid[NadeType] =
{
4,
25,
9
}
new const g_nadeteaminfo[NadeType][] =
{
"TERRORIST",
"SPECTATOR",
"NONE"
}
new const g_nadecolorbefore[NadeType][] =
{
"^x03",
"^x03",
"^x04"
}
new const g_nademultilang_tag[NadeType][] =
{
"NAME_HEGRENADE",
"NAME_FLASHBANG",
"NAME_SMOKEGREN"
}
new const g_nademultilang_tag_plural[NadeType][] =
{
"NAME_HEGRENADES",
"NAME_FLASHBANGS",
"NAME_SMOKEGRENS"
}
new const g_seconds_remaning_array[] =
{
1, 2, 3, 5, 10, 15, 20, 30, 40, 50, 60
}
// Message constants
new g_msg_ammo
new g_msg_teaminfo
new g_msg_saytext
// Pcvars & settings
new pcv_enable_plug
new pcv_commands
new pcv_chat
new pcv_chat_count
new pcv_sounds
new pcv_resettime
new pcv_resetfrags
new pcv_data[CvarCall][NadeType]
// Player variables
new pl_remsecons[MAX_PLAYERS+1][NadeType]
new pl_frags[MAX_PLAYERS+1][NadeType]
new bool:pl_alive[MAX_PLAYERS+1] = {false, ...}
new bool:pl_command_enable[MAX_PLAYERS+1][NadeType]
new bool:pl_zombie[MAX_PLAYERS + 1] = {false, ...}
public plugin_precache()
{
precache_sound(SOUND_AMMO_PICKUP)
precache_sound(SOUND_COMMAND_ENABLE)
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("nade_giver_version",VERSION, (FCVAR_SERVER | FCVAR_SPONLY))
pcv_enable_plug = register_cvar("ndg_enable", "1")
pcv_commands = register_cvar("ndg_use_cmd_system","0")
pcv_chat = register_cvar("ndg_chatannounce", "1")
pcv_chat_count = register_cvar("ndg_chatcount", "0")
pcv_sounds = register_cvar("ndg_sounds", "1")
pcv_resettime = register_cvar("ndg_resettime", "1")
pcv_resetfrags = register_cvar("ndg_resetfragsondeath", "1")
pcv_data[PCV_TIME][NADE_HEGRENADE] = register_cvar("ndg_he_time","2.0")
pcv_data[PCV_TIME][NADE_FLASHBANG] = register_cvar("ndg_fl_time", "2.0")
pcv_data[PCV_TIME][NADE_SMOKEGREN] = register_cvar("ndg_sm_time", "2.0")
pcv_data[PCV_LIMIT][NADE_HEGRENADE] = register_cvar("ndg_he_limit", "2")
pcv_data[PCV_LIMIT][NADE_FLASHBANG] = register_cvar("ndg_fl_limit", "2")
pcv_data[PCV_LIMIT][NADE_SMOKEGREN] = register_cvar("ndg_sm_limit", "2")
pcv_data[PCV_FRAGS_CT][NADE_HEGRENADE] = register_cvar("ndg_he_ct_frags", "10")
pcv_data[PCV_FRAGS_CT][NADE_FLASHBANG] = register_cvar("ndg_fl_ct_frags", "8")
pcv_data[PCV_FRAGS_CT][NADE_SMOKEGREN] = register_cvar("ndg_sm_ct_frags", "12")
pcv_data[PCV_FRAGS_T][NADE_HEGRENADE] = register_cvar("ndg_he_t_frags", "10")
pcv_data[PCV_FRAGS_T][NADE_FLASHBANG] = register_cvar("ndg_fl_t_frags", "8")
pcv_data[PCV_FRAGS_T][NADE_SMOKEGREN] = register_cvar("ndg_sm_t_frags", "12")
pcv_data[PCV_QUANT_CT][NADE_HEGRENADE] = register_cvar("ndg_he_ct_quantity", "1")
pcv_data[PCV_QUANT_CT][NADE_FLASHBANG] = register_cvar("ndg_fl_ct_quantity", "1")
pcv_data[PCV_QUANT_CT][NADE_SMOKEGREN] = register_cvar("ndg_sm_ct_quantity", "1")
pcv_data[PCV_QUANT_T][NADE_HEGRENADE] = register_cvar("ndg_he_t_quantity", "1")
pcv_data[PCV_QUANT_T][NADE_FLASHBANG] = register_cvar("ndg_fl_t_quantity", "1")
pcv_data[PCV_QUANT_T][NADE_SMOKEGREN] = register_cvar("ndg_sm_t_quantity", "1")
pcv_data[PCV_RESPAWN][NADE_HEGRENADE] = register_cvar("ndg_he_respawn_give", "0")
pcv_data[PCV_RESPAWN][NADE_FLASHBANG] = register_cvar("ndg_fl_respawn_give", "0")
pcv_data[PCV_RESPAWN][NADE_SMOKEGREN] = register_cvar("ndg_sm_respawn_give", "0")
register_clcmd("say /he","clcmd_he", ADMIN_ADMIN," Gives a he grenade")
register_clcmd("say /flash","clcmd_flash", ADMIN_ADMIN," Gives a flashbang")
register_clcmd("say /smoke","clcmd_smoke", ADMIN_ADMIN," Gives a smoke grenade")
register_clcmd("say_team /he","clcmd_he",ADMIN_ADMIN," Gives a he grenade")
register_clcmd("say_team /flash","clcmd_flash",ADMIN_ADMIN," Gives a flashbang")
register_clcmd("say_team /smoke","clcmd_smoke",ADMIN_ADMIN," Gives a smoke grenade")
register_clcmd("ndg_he","cclcmd_he", ADMIN_ADMIN," Gives a he grenade")
register_clcmd("ndg_flash","cclcmd_flash", ADMIN_ADMIN," Gives a flashbang")
register_clcmd("ndg_smoke","cclcmd_smoke", ADMIN_ADMIN," Gives a smoke grenade")
register_forward(FM_SetModel,"fw_setmodel",1)
register_event("ResetHUD", "event_resethud", "b")
register_event("DeathMsg", "event_death", "a")
g_msg_ammo = get_user_msgid("AmmoPickup")
g_msg_teaminfo = get_user_msgid("TeamInfo")
g_msg_saytext = get_user_msgid("SayText")
register_dictionary("nade_giver.txt")
set_task(0.1,"plugin_init_delay")
}
public plugin_init_delay()
{
register_event("CurWeapon", "event_curweapon", "b")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
}
// Client Commands
public clcmd_he(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (!pl_command_enable[id][NADE_HEGRENADE])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] %s%L", g_nadecolorbefore[NADE_HEGRENADE], id, "COMMAND_REENAB")
msg_changeteaminfo(id, g_nadeteaminfo[NADE_HEGRENADE])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
pl_command_enable[id][NADE_HEGRENADE] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == -1)
{
return PLUGIN_CONTINUE
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0)
{
pl_command_enable[id][NADE_HEGRENADE] = true
}
else
{
pl_remsecons[id][NADE_HEGRENADE] = get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_HEGRENADE])
}
if (give_nade(id, NADE_HEGRENADE, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_HEGRENADE]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "NOT_MORE_ALLOW", g_nadecolorbefore[NADE_HEGRENADE], id, g_nademultilang_tag_plural[NADE_HEGRENADE])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_HEGRENADE])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
give_nade(id, NADE_HEGRENADE)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "COMMAND_ENABLE", g_nadecolorbefore[NADE_HEGRENADE], id, g_nademultilang_tag[NADE_HEGRENADE])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_HEGRENADE])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
return PLUGIN_CONTINUE
}
public clcmd_flash(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (!pl_command_enable[id][NADE_FLASHBANG])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] %s%L", g_nadecolorbefore[NADE_FLASHBANG], id, "COMMAND_REENAB")
msg_changeteaminfo(id, g_nadeteaminfo[NADE_FLASHBANG])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
pl_command_enable[id][NADE_FLASHBANG] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == -1)
{
return PLUGIN_CONTINUE
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0)
{
pl_command_enable[id][NADE_FLASHBANG] = true
}
else
{
pl_remsecons[id][NADE_FLASHBANG] = get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_FLASHBANG])
}
if (give_nade(id, NADE_FLASHBANG, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_FLASHBANG]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "NOT_MORE_ALLOW", g_nadecolorbefore[NADE_FLASHBANG], id, g_nademultilang_tag_plural[NADE_FLASHBANG])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_FLASHBANG])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
give_nade(id, NADE_FLASHBANG)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "COMMAND_ENABLE", g_nadecolorbefore[NADE_FLASHBANG], id, g_nademultilang_tag[NADE_FLASHBANG])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_FLASHBANG])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
return PLUGIN_CONTINUE
}
public clcmd_smoke(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (!pl_command_enable[id][NADE_SMOKEGREN])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] %s%L", g_nadecolorbefore[NADE_SMOKEGREN], id, "COMMAND_REENAB")
msg_changeteaminfo(id, g_nadeteaminfo[NADE_SMOKEGREN])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
pl_command_enable[id][NADE_SMOKEGREN] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == -1)
{
return PLUGIN_CONTINUE
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0)
{
pl_command_enable[id][NADE_SMOKEGREN] = true
}
else
{
pl_remsecons[id][NADE_SMOKEGREN] = get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_SMOKEGREN])
}
if (give_nade(id, NADE_SMOKEGREN, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_SMOKEGREN]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "NOT_MORE_ALLOW", g_nadecolorbefore[NADE_SMOKEGREN], id, g_nademultilang_tag_plural[NADE_SMOKEGREN])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_SMOKEGREN])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
return PLUGIN_CONTINUE
}
give_nade(id, NADE_SMOKEGREN)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "COMMAND_ENABLE", g_nadecolorbefore[NADE_SMOKEGREN], id, g_nademultilang_tag[NADE_SMOKEGREN])
msg_changeteaminfo(id, g_nadeteaminfo[NADE_SMOKEGREN])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
return PLUGIN_CONTINUE
}
public cclcmd_he(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_HANDLED
if (!pl_command_enable[id][NADE_HEGRENADE])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L", id, "COMMAND_REENAB")
}
return PLUGIN_HANDLED
}
pl_command_enable[id][NADE_HEGRENADE] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == -1)
{
return PLUGIN_HANDLED
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0)
{
pl_command_enable[id][NADE_HEGRENADE] = true
}
else
{
pl_remsecons[id][NADE_HEGRENADE] = get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_HEGRENADE])
}
if (give_nade(id, NADE_HEGRENADE, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_HEGRENADE]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "NOT_MORE_ALLOW", id, g_nademultilang_tag_plural[NADE_HEGRENADE])
}
return PLUGIN_HANDLED
}
give_nade(id, NADE_HEGRENADE)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "COMMAND_ENABLE", id, g_nademultilang_tag[NADE_HEGRENADE])
}
}
return PLUGIN_HANDLED
}
public cclcmd_flash(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_HANDLED
if (!pl_command_enable[id][NADE_FLASHBANG])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L", id, "COMMAND_REENAB")
}
return PLUGIN_HANDLED
}
pl_command_enable[id][NADE_FLASHBANG] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == -1)
{
return PLUGIN_HANDLED
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0)
{
pl_command_enable[id][NADE_FLASHBANG] = true
}
else
{
pl_remsecons[id][NADE_FLASHBANG] = get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_FLASHBANG])
}
if (give_nade(id, NADE_FLASHBANG, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_FLASHBANG]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "NOT_MORE_ALLOW", id, g_nademultilang_tag_plural[NADE_FLASHBANG])
}
return PLUGIN_HANDLED
}
give_nade(id, NADE_FLASHBANG)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "COMMAND_ENABLE", id, g_nademultilang_tag[NADE_FLASHBANG])
}
}
return PLUGIN_HANDLED
}
public cclcmd_smoke(id)
{
if (!get_pcvar_num(pcv_commands) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_HANDLED
if (!pl_command_enable[id][NADE_SMOKEGREN])
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L", id, "COMMAND_REENAB")
}
return PLUGIN_HANDLED
}
pl_command_enable[id][NADE_SMOKEGREN] = false
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == -1)
{
return PLUGIN_HANDLED
}
else if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0)
{
pl_command_enable[id][NADE_SMOKEGREN] = true
}
else
{
pl_remsecons[id][NADE_SMOKEGREN] = get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NADE_SMOKEGREN])
}
if (give_nade(id, NADE_SMOKEGREN, 3) >= get_pcvar_num(pcv_data[PCV_LIMIT][NADE_SMOKEGREN]))
{
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "NOT_MORE_ALLOW", id, g_nademultilang_tag_plural[NADE_SMOKEGREN])
}
return PLUGIN_HANDLED
}
give_nade(id, NADE_SMOKEGREN)
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0)
{
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
client_print(id, print_console, "[NDG] %L %L!", id, "COMMAND_ENABLE", id, g_nademultilang_tag[NADE_SMOKEGREN])
}
}
return PLUGIN_HANDLED
}
// Events
public event_new_round()
{
new players[32], id, num
get_players(players, num)
for (new i=0;i<num;i++)
{
id = players
pl_alive[id] = false
pl_zombie[id] = false
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_HEGRENADE]) == 0 && get_pcvar_num(pcv_enable_plug))
{
if (!get_pcvar_num(pcv_commands))
{
if (cs_get_user_bpammo(id,g_nadewpnid[NADE_HEGRENADE]) == 0)
{
give_nade(id,NADE_HEGRENADE,1)
}
}
else
{
pl_command_enable[id][NADE_HEGRENADE] = true
}
}
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_FLASHBANG]) == 0 && get_pcvar_num(pcv_enable_plug))
{
if (!get_pcvar_num(pcv_commands))
{
if (cs_get_user_bpammo(id,g_nadewpnid[NADE_FLASHBANG]) == 0)
{
give_nade(id,NADE_FLASHBANG,1)
}
}
else
{
pl_command_enable[id][NADE_FLASHBANG] = true
}
}
if (get_pcvar_num(pcv_data[PCV_TIME][NADE_SMOKEGREN]) == 0 && get_pcvar_num(pcv_enable_plug))
{
if (!get_pcvar_num(pcv_commands))
{
if (cs_get_user_bpammo(id,g_nadewpnid[NADE_SMOKEGREN]) == 0)
{
give_nade(id,NADE_SMOKEGREN,1)
}
}
else
{
pl_command_enable[id][NADE_SMOKEGREN] = true
}
}
}
}
public event_curweapon(id)
{
#if !defined _biohazard_included
if (!is_user_alive(id) || !get_pcvar_num(pcv_enable_plug) || pl_zombie[id])
return PLUGIN_CONTINUE
#else
if (!is_user_alive(id) || !get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (!is_user_zombie(id))
{
pl_zombie[id] = false
}
else
{
pl_zombie[id] = true
return PLUGIN_CONTINUE
}
#endif
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (cs_get_user_bpammo(id,g_nadewpnid) < get_pcvar_num(pcv_data[PCV_LIMIT]) && pl_remsecons[id] == 0 && get_pcvar_num(pcv_data[PCV_TIME]) > 0)
{
pl_remsecons[id][NadeType:i] = get_pcvar_num(pcv_data[PCV_TIME]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid)
}
}
return PLUGIN_CONTINUE
}
public event_resethud(id)
{
if (!is_user_alive(id))
{
pl_alive[id] = false
return PLUGIN_CONTINUE
}
else
{
if (pl_alive[id] == false)
{
pl_alive[id] = true
if (!get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (cs_get_user_bpammo(id,g_nadewpnid) < get_pcvar_num(pcv_data[PCV_LIMIT]) && pl_remsecons[id] == 0 && get_pcvar_num(pcv_data[PCV_TIME][i]) > 0)
{
pl_remsecons[id][i] = get_pcvar_num(pcv_data[PCV_TIME][i]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[i])
}
if (get_pcvar_num(pcv_commands))
{
if (get_pcvar_num(pcv_data[PCV_TIME][i]) == 0)
{
pl_command_enable[id][i] = true
}
}
for (new j=0;j<get_pcvar_num(pcv_data[PCV_RESPAWN][i]);j++)
{
give_nade(id,i)
}
}
}
}
return PLUGIN_CONTINUE
}
public event_death()
{
new attacker = read_data(1)
new id = read_data(2)
if (id != 0)
{
pl_remsecons[id][NADE_HEGRENADE] = 0
pl_command_enable[id][NADE_HEGRENADE] = false
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
pl_command_enable[id][NADE_FLASHBANG] = false
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
pl_command_enable[id][NADE_SMOKEGREN] = false
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
pl_alive[id] = false
if (get_pcvar_num(pcv_resetfrags))
{
pl_frags[id][NADE_FLASHBANG] = 0
pl_frags[id][NADE_HEGRENADE] = 0
pl_frags[id][NADE_SMOKEGREN] = 0
}
}
if (!get_pcvar_num(pcv_enable_plug))
return PLUGIN_CONTINUE
if (get_pcvar_num(pcv_chat) && !is_user_bot(id) && !get_pcvar_num(pcv_commands))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L", id, "STAY_ALIVE")
msg_colored(id, message)
}
if (attacker == 0 || attacker == id)
return PLUGIN_CONTINUE
new CvarCall:team
new CvarCall:quant
switch (cs_get_user_team(attacker))
{
case CS_TEAM_T:
{
pl_frags[attacker][NADE_HEGRENADE] += 1
pl_frags[attacker][NADE_FLASHBANG] += 1
pl_frags[attacker][NADE_SMOKEGREN] += 1
team = PCV_FRAGS_T
quant = PCV_QUANT_T
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (pl_frags[attacker][i] >= get_pcvar_num(pcv_data[team][i]) && get_pcvar_num(pcv_data[team][i]) > 0)
{
new count = 0
if (task_exists(attacker + g_nadetaskid[i]) && get_pcvar_num(pcv_resettime))
remove_task(attacker + g_nadetaskid[i])
pl_frags[attacker][i] = 0
for (new j=0;j<get_pcvar_num(pcv_data[quant][i]);j++)
{
if (give_nade(attacker,i,3) >= get_pcvar_num(pcv_data[PCV_LIMIT][i]))
{
break;
}
give_nade(attacker, i, 0, true)
count++
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(attacker))
{
if (count == 1)
{
new string[11], message[100]
get_user_team(attacker, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", attacker, "HERE_IS_A_NADE", g_nadecolorbefore[i], attacker, g_nademultilang_tag[i])
msg_changeteaminfo(attacker, g_nadeteaminfo[i])
msg_colored(attacker, message)
msg_changeteaminfo(attacker, string)
}
else if (count > 1)
{
new string[11], message[100]
get_user_team(attacker, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", attacker, "HERE_ARE_NADES", count, g_nadecolorbefore[i], attacker, g_nademultilang_tag_plural[i])
msg_changeteaminfo(attacker, g_nadeteaminfo[i])
msg_colored(attacker, message)
msg_changeteaminfo(attacker, string)
}
}
if (get_pcvar_num(pcv_resettime))
pl_remsecons[attacker][i] = 0
}
}
}
case CS_TEAM_CT:
{
pl_frags[attacker][NADE_HEGRENADE] += 1
pl_frags[attacker][NADE_FLASHBANG] += 1
pl_frags[attacker][NADE_SMOKEGREN] += 1
team = PCV_FRAGS_CT
quant = PCV_QUANT_CT
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (pl_frags[attacker][i] >= get_pcvar_num(pcv_data[team][i]) && get_pcvar_num(pcv_data[team][i]) > 0)
{
new count = 0
if (task_exists(attacker + g_nadetaskid[i]) && get_pcvar_num(pcv_resettime))
remove_task(attacker + g_nadetaskid[i])
pl_frags[attacker][i] = 0
for (new j=0;j<get_pcvar_num(pcv_data[quant][i]);j++)
{
if (give_nade(attacker,i,3) >= get_pcvar_num(pcv_data[PCV_LIMIT][i]))
{
break;
}
give_nade(attacker, i, 0, true)
count++
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(attacker))
{
if (count == 1)
{
new string[11], message[100]
get_user_team(attacker, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", attacker, "HERE_IS_A_NADE", g_nadecolorbefore[i], attacker, g_nademultilang_tag[i])
msg_changeteaminfo(attacker, g_nadeteaminfo[i])
msg_colored(attacker, message)
msg_changeteaminfo(attacker, string)
}
else if (count > 1)
{
new string[11], message[100]
get_user_team(attacker, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", attacker, "HERE_ARE_NADES", count, g_nadecolorbefore[i], attacker, g_nademultilang_tag_plural[i])
msg_changeteaminfo(attacker, g_nadeteaminfo[i])
msg_colored(attacker, message)
msg_changeteaminfo(attacker, string)
}
}
if (get_pcvar_num(pcv_resettime))
pl_remsecons[attacker][i] = 0
}
}
}
}
return PLUGIN_CONTINUE
}
// Fakemeta Forwards
public fw_setmodel(ent, model[])
{
if (!pev_valid(ent) || !get_pcvar_num(pcv_enable_plug))
{
return FMRES_IGNORED
}
// Not yet thrown
if (pev_float(ent,pev_gravity) == 0.0)
{
return FMRES_IGNORED
}
new id = pev(ent,pev_owner)
if (!is_user_alive(id) || pl_zombie[id])
{
return FMRES_IGNORED
}
//client_print(id,print_chat,"setmodel: entid:%d, model:%s",ent,model)
for (new i=0;i<3;i++)
{
if (containi(model,g_nademodel[NadeType:i]) != -1)
{
if (!get_pcvar_num(pcv_commands))
{
switch (get_pcvar_num(pcv_data[PCV_TIME][NadeType:i]))
{
case -1:
{
break
}
case 0:
{
set_task(0.1,"task_give_nade",id + g_nadetaskid[NadeType:i])
break
}
}
if (pl_remsecons[id][NadeType:i] == 0)
{
pl_remsecons[id][NadeType:i] = get_pcvar_num(pcv_data[PCV_TIME][NadeType:i]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NadeType:i])
}
break
}
else
{
if (pl_command_enable[id][NadeType:i])
return FMRES_IGNORED
switch (get_pcvar_num(pcv_data[PCV_TIME][NadeType:i]))
{
case -1:
{
break
}
case 0:
{
pl_command_enable[id][NadeType:i] = true
break
}
}
if (pl_remsecons[id][NadeType:i] == 0)
{
pl_remsecons[id][NadeType:i] = get_pcvar_num(pcv_data[PCV_TIME][NadeType:i]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[NadeType:i])
}
break
}
}
}
return FMRES_IGNORED
}
// Client Disconnect/Connect
public client_disconnect(id)
{
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
pl_alive[id] = false
}
public client_connect(id)
{
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
pl_alive[id] = false
}
public task_give_nade(taskid)
{
new id,NadeType:nade=NADE_HEGRENADE
for (;nade<=NADE_SMOKEGREN;NadeType:nade++)
{
if (taskid >= g_nadetaskid[nade])
{
id = taskid - g_nadetaskid[nade]
break
}
}
//client_print(id,print_chat,"[TASK] gametime:%0.2f remseconds:%d",get_gametime(),pl_remsecons[id][nade])
if (pl_zombie[id] || !get_pcvar_num(pcv_enable_plug) || !is_user_alive(id) || get_pcvar_num(pcv_data[PCV_TIME][nade]) < 0 || cs_get_user_bpammo(id,g_nadewpnid[nade]) >= get_pcvar_num(pcv_data[PCV_LIMIT][nade]))
{
pl_remsecons[id][nade] = 0
return PLUGIN_CONTINUE
}
if (get_pcvar_num(pcv_data[PCV_TIME][nade]) == 0)
{
if (!get_pcvar_num(pcv_commands))
{
if (cs_get_user_bpammo(id,g_nadewpnid[nade]) == 0)
{
give_nade(id,nade,1)
}
}
else
{
pl_command_enable[id][nade] = true
}
pl_remsecons[id][nade] = 0
return PLUGIN_CONTINUE
}
if (pl_remsecons[id][nade] > 1)
{
pl_remsecons[id][nade]--
set_task(1.0,"task_give_nade",taskid)
if (get_pcvar_num(pcv_chat) && !is_user_bot(id) && get_pcvar_num(pcv_chat_count))
{
if (pl_remsecons[id][nade] == get_pcvar_num(pcv_data[PCV_TIME][nade]) || must_be_seen(pl_remsecons[id][nade]))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%d %L %s%L!", pl_remsecons[id][nade], id, get_pcvar_num(pcv_commands) ? "SEC_REM_ENABLE" : "SEC_NADE_GIVE", g_nadecolorbefore[nade], id, g_nademultilang_tag[nade])
msg_changeteaminfo(id, g_nadeteaminfo[nade])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
return PLUGIN_CONTINUE
}
else
{
if (cs_get_user_bpammo(id,g_nadewpnid[nade]) < get_pcvar_num(pcv_data[PCV_LIMIT][nade]) && pl_remsecons[id][nade] == 1)
{
if (!get_pcvar_num(pcv_commands))
{
give_nade(id,nade)
if (cs_get_user_bpammo(id,g_nadewpnid[nade]) < get_pcvar_num(pcv_data[PCV_LIMIT][nade]))
{
pl_remsecons[id][nade] = get_pcvar_num(pcv_data[PCV_TIME][nade]) + 1
set_task(1.0,"task_give_nade",taskid)
}
else
{
pl_remsecons[id][nade]--
}
return PLUGIN_CONTINUE
}
else
{
pl_command_enable[id][nade] = true
if (get_pcvar_num(pcv_sounds))
{
client_cmd(id, "spk sound/%s", SOUND_COMMAND_ENABLE)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(id))
{
new string[11], message[100]
get_user_team(id, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", id, "COMMAND_ENABLE", g_nadecolorbefore[nade], id, g_nademultilang_tag[nade])
msg_changeteaminfo(id, g_nadeteaminfo[nade])
msg_colored(id, message)
msg_changeteaminfo(id, string)
}
}
}
else
{
pl_remsecons[id][nade]--
}
}
return PLUGIN_CONTINUE
}
public zp_user_infected_post(id, infector)
{
if (!get_pcvar_num(pcv_enable_plug))
return
pl_zombie[id] = true
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
return
}
public zp_user_humanized_post(id, survivor)
{
if (!get_pcvar_num(pcv_enable_plug))
return
pl_zombie[id] = false
for (new NadeType:i=NADE_HEGRENADE;i<=NADE_SMOKEGREN;i=i+NADE_FLASHBANG)
{
if (cs_get_user_bpammo(id,g_nadewpnid[i]) < get_pcvar_num(pcv_data[PCV_LIMIT][i]) && pl_remsecons[id][i] == 0 && get_pcvar_num(pcv_data[PCV_TIME][i]) > 0)
{
pl_remsecons[id][i] = get_pcvar_num(pcv_data[PCV_TIME][i]) + 1
set_task(1.0,"task_give_nade",id + g_nadetaskid[i])
}
if (get_pcvar_num(pcv_commands))
{
if (get_pcvar_num(pcv_data[PCV_TIME][i]) == 0)
{
pl_command_enable[id][i] = true
}
}
for (new j=0;j<get_pcvar_num(pcv_data[PCV_RESPAWN][i]);j++)
{
give_nade(id,i)
}
}
return
}
public event_infect(id, attacker)
{
if (!get_pcvar_num(pcv_enable_plug))
return
pl_zombie[id] = true
pl_remsecons[id][NADE_HEGRENADE] = 0
remove_task(id + g_nadetaskid[NADE_HEGRENADE])
pl_remsecons[id][NADE_FLASHBANG] = 0
remove_task(id + g_nadetaskid[NADE_FLASHBANG])
pl_remsecons[id][NADE_SMOKEGREN] = 0
remove_task(id + g_nadetaskid[NADE_SMOKEGREN])
return
}
// Stocks
// MODE = 0, check the ammo before giving a nade
// MODE = 1, give a nade through fm_give_item
// MODE = 2, give a nade through BPAMMO (caution! use this when you already have a nade!)
// MODE = 3, return just the ammo
// MODE = everything else, do nothing
give_nade(index, NadeType:nade, mode = 0, bool:silent = false)
{
switch(mode)
{
case 0:
{
new nadeammo = cs_get_user_bpammo(index,g_nadewpnid[nade])
if (nadeammo == 0)
{
give_item(index,g_nadename[nade])
}
else
{
cs_set_user_bpammo(index,g_nadewpnid[nade],nadeammo+1)
if (!is_user_bot(index))
{
msg_ammo_pickup(index,nade)
}
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(index) && !silent)
{
new string[11], message[100]
get_user_team(index, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", index, "HERE_IS_A_NADE", g_nadecolorbefore[nade], index,g_nademultilang_tag[nade])
msg_changeteaminfo(index, g_nadeteaminfo[nade])
msg_colored(index, message)
msg_changeteaminfo(index, string)
}
}
case 1:
{
give_item(index,g_nadename[nade])
if (get_pcvar_num(pcv_chat) && !is_user_bot(index) && !silent)
{
new string[11], message[100]
get_user_team(index, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", index, "HERE_IS_A_NADE", g_nadecolorbefore[nade], index,g_nademultilang_tag[nade])
msg_changeteaminfo(index, g_nadeteaminfo[nade])
msg_colored(index, message)
msg_changeteaminfo(index, string)
}
}
case 2:
{
cs_set_user_bpammo(index,g_nadewpnid[nade],cs_get_user_bpammo(index,g_nadewpnid[nade])+1)
if (!is_user_bot(index))
{
msg_ammo_pickup(index,nade)
}
if (get_pcvar_num(pcv_chat) && !is_user_bot(index) && !silent)
{
new string[11], message[100]
get_user_team(index, string, charsmax(string))
format(message, charsmax(message), "^x04[NDG] ^x01%L %s%L!", index, "HERE_IS_A_NADE", g_nadecolorbefore[nade], index,g_nademultilang_tag[nade])
msg_changeteaminfo(index, g_nadeteaminfo[nade])
msg_colored(index, message)
msg_changeteaminfo(index, string)
}
}
case 3:
{
return cs_get_user_bpammo(index,g_nadewpnid[nade])
}
default:
{
return 0
}
}
return cs_get_user_bpammo(index,g_nadewpnid[nade])
}
msg_ammo_pickup(id, NadeType:nade)
{
message_begin(MSG_ONE, g_msg_ammo, {0,0,0}, id)
write_byte(g_nadeammomsg[nade])
write_byte(1)
message_end()
if (get_pcvar_num(pcv_sounds))
emit_sound(id, CHAN_ITEM, SOUND_AMMO_PICKUP , 1.0, 0.8, 0, 100)
}
msg_changeteaminfo(player, team[])
{
message_begin(MSG_ONE, g_msg_teaminfo, {0,0,0}, player) // Tells to to modify teamInfo (Which is responsable for which time player is)
write_byte(player) // Write byte needed
write_string(team) // Changes player's team
message_end() // Also Needed
}
msg_colored(id, msg[])
{
message_begin(MSG_ONE, g_msg_saytext, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
bool:must_be_seen(value)
{
new bool:ok=false
for (new i=0;i<sizeof(g_seconds_remaning_array);i++)
{
if (value == g_seconds_remaning_array[i])
{
ok = true
break
}
}
return ok
}
Float:pev_float(index,type)
{
new Float:nr
pev(index,type,nr)
return nr
}
-
- Membru, skill 0
- Posts: 4
- Joined: 11 Jan 2014, 14:22
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Contact:
Daca gaseste cineva problema datimi si mie pluginu sa al redescarc ca aces plugin ami da prea multe he fn si smoke
- xXxAdyxXx;x
- Membru, skill +1
- Posts: 448
- Joined: 23 Aug 2012, 15:44
- Detinator Steam: Da
- CS Status: Ma joc !
- Detinator server CS: hNs.lunetisitii.ro
- SteamID: it_allen90
- Location: Suceava/Radauti
- Has thanked: 18 times
- Been thanked: 32 times
- Contact:
-
- Membru, skill 0
- Posts: 1
- Joined: 16 Jan 2014, 18:15
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Contact:
KrAiD. wrote:Descriere: Addons Furien 2013 [ Linux ]
Autor: KrAiD.
Descarcare: GirlShare! | FileShare! | ZippyShare!
Pluginuri:
team_join.amxx - Baga jucatori automat in echipe
stuck.amxx - Te deblocheaza atunci cand esti blocat
semiclip.amxx - Jucatorii trec unii prin altii
nademodes.amxx - Modele la grenazi ( Laser , Homing , etc )
amx_destroy.amxx - Distruge un jucator
multijump.amxx - Dublu salt
invasion.amxx - Invazia furien cu efecte si sunete
haha.amxx - Poti planta bomba in ultimile 60 de secunde
furien.amxx - Plugin de baza Furien
furienvipmod.amxx - Plugin de baza Furien
furien_superknife.amxx - Plugin de baza Furien
furien_parachute.amxx - Plugin de baza Furien
furien_noflash.amxx - Plugin de baza Furien
furien_health.amxx - Plugin de baza Furien
furien_weapons.amxx - Plugin de baza Furien
furien_shop.amxx - Plugin de baza Furien
furien_defusekit.amxx - Plugin de baza Furien
furien_armor.amxx - Plugin de baza Furien
frostnades.amxx - Ingheata un jucator
freewallhang.amxx - Agatare pe perete gratuita ( nu trebuie sa o cumperi din shop )
flare.amxx - Efecte cand omori pe cineva
bad_camperct.amxx - Anti-Furienii nu campeaza la 35% camp le da slap cu 5 dmg
swich.amxx - Schimba echipele
bcd_hudtimer.amxx - Bomba timp in hud
bonus_box.amxx - Cadouri
pingfaker2.amxx - Arata un lag fals
adminonline.amxx - Arata adminii online prin comanda /admin , /who
bind.amxx - bindeaza tastele c=shop p=/furienvip
amx_gag.amxx - Dai gag unui jucator prin comanda amx_gag nume minute
amx_ss.amxx - Faci poze unui jucator prin comanda amx_ss nume
players_models.amxx - Modele pentru playeri
rs.amxx- Resetezi scorul prin comanda /rs
ad_manager.amxx - Adauga mesaje pe server ( le modifici din advertisment.ini )
preturi_ranguri_motd.amxx - Benefici vip prin comanda /vip
viata.amxx - Poti cumpara viata
depozit.amxx - Plugin credite
weapons.amxx - Plugin arme Normale , Vip si pe Credite
hpmax.amxx - Hp de la inceputul rundei 135 pentru Anti-Furien
cer_instelat.amxx- Cer instelat
Poze Server:
image url
image
taking a screen shot
screenshot tools
image upload no ads
image hosting no account
green shot
windows 7 print screen
screen capture windows
image hosting software
image hosting
- xXxAdyxXx;x
- Membru, skill +1
- Posts: 448
- Joined: 23 Aug 2012, 15:44
- Detinator Steam: Da
- CS Status: Ma joc !
- Detinator server CS: hNs.lunetisitii.ro
- SteamID: it_allen90
- Location: Suceava/Radauti
- Has thanked: 18 times
- Been thanked: 32 times
- Contact:
- roberteeel
- Membru eXtream
- Posts: 4438
- Joined: 05 Sep 2012, 11:39
- Detinator Steam: Nu
- Reputatie: Nick anterior: QAZW, Robert.ultrasFarul, CT 18 ROS
Restrictie schimbare nume
Fost moderator
Fost Membru Club eXtreamCS (doua luni) - Has thanked: 313 times
- Been thanked: 357 times
Pentru ca este pentru acel plugin (credite a lu' Aragon).xXxAdyxXx;x wrote:O problema daca scot plugin-ul depozit, nu mai merge meniu de arme :|
-
- Membru, skill 0
- Posts: 1
- Joined: 29 Jan 2014, 17:37
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Contact:
am sv hostat si cand pun addons serverul se face offline ( NU INACTIVE , OFFLINE) ajutatima
-
- Membru, skill 0
- Posts: 50
- Joined: 23 Dec 2013, 22:31
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Has thanked: 18 times
- Contact:
Cum adaug vip?