It is currently 23 Feb 2019 23:44






Reply to topic  [ 12 posts ] 
 Cerere [Modificare Plugin] 
Author Message
Membru, skill 0
Membru, skill 0

Joined: 13 Jan 2019 02:01
Posts: 33
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Salut doresc să-mi modificați și mi-e pluginu aceasta
| Afiseaza codul
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Furien Clasic"
#define VERSION "2.0"
#define AUTHOR "Aragon*/DaNNe."

#define DMG_HEGRENADE (1<<24)

#define FURIEN_GRAVITY 0.4
#define FURIEN_SPEED 750.0
#define TEAM_FURIEN 1
#define TEAM_ANTIFURIEN 2

#define TASKID_CANPLANT 10001
#define TASKID_C4COUNTDOWN 453

#define VIP_GOLD_LEVEL ADMIN_LEVEL_H
#define VIP_SILVER_LEVEL ADMIN_LEVEL_G
#define FOUNDER_LEVEL ADMIN_IMMUNITY

#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif

//Shop
new SuperKnifeModel_V[] = "models/v_superknife_new.mdl"
new bool: HaveSuperKnife[33]

//Settings
new bool:MakeVisible[33], Float:Wallorigin[33][3]

//Parachute
#define PARACHUTE_CLASS "Parachute"
new ParaENT[33];

new Menu;
new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info,
MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health, MSGID_ScreenFade,
bool:CanPlant, C4_CountDownDelay;

public plugin_cfg() {
server_cmd("amx_cvar mp_playerid 2")
server_cmd("amx_cvar sv_maxspeed 900")
server_cmd("amx_cvar sv_restart 5")
}


//===========================================================================================//
//===============================[Weapons Settings]=========================================//
//=========================================================================================//
new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];

//---|| Primary
#define M4A1_KEY 100
#define AK47_KEY 101
#define M3_KEY 102
#define AUG_KEY 103
#define FAMAS_KEY 104
#define MP5_KEY 105
#define XM1014_KEY 106

//---|| Secondary
#define USP_KEY 107
#define DEAGLE_KEY 108
#define ELITE_KEY 109
#define FIVESEVEN_KEY 110

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

cvar_gamedescription = register_cvar("furien_gamename", "Furien CS1")
antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
furienspawnhp = register_cvar("furien_spawnhp", "100")
superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0")
cvar_autojoin_team = register_cvar("furien_team", "5")
cvar_autojoin_class = register_cvar("furien_class", "5")
cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")

MSGID_SayText = get_user_msgid("SayText")
MSGID_StatusIcon = get_user_msgid("StatusIcon")
MSGID_TextMsg = get_user_msgid("TextMsg")
MSGID_SendAudio = get_user_msgid("SendAudio")
MSGID_ShowMenu = get_user_msgid("ShowMenu")
MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
MSGID_ScreenFade = get_user_msgid("ScreenFade")

register_clcmd("say shop", "CmdShopMenu")
register_clcmd("say /shop", "CmdShopMenu")
register_clcmd("say_team shop", "CmdShopMenu")
register_clcmd("say_team /shop", "CmdShopMenu")
//register_clcmd("say weapons", "CmdWeaponsMenu")
//register_clcmd("say /weapons", "CmdWeaponsMenu")
register_clcmd("jointeam", "CMD_BlockJoinTeam")
register_clcmd("jointeam 1", "CMD_BlockJoinTeam")
register_clcmd("jointeam 2", "CMD_BlockJoinTeam")
register_clcmd("jointeam 3", "CMD_BlockJoinTeam")
register_clcmd("chooseteam", "CMD_BlockChooseTeam")
register_clcmd("say /beneficii", "CmdShowMotd")
register_clcmd("say /rs", "CmdResetScore")
register_clcmd("say_team /rs", "CmdResetScore")
register_clcmd("say /resetscore", "CmdResetScore")
register_clcmd("say_team /resetscore", "CmdResetScore")

RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)
RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")
RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")
RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")
RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack");

register_forward(FM_PlayerPreThink, "Player_PreThink");
register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);
register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink");
register_forward(FM_GetGameDescription, "FWD_GameDescription")

register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")
register_event("DeathMsg", "EVENT_Death", "a");
register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");
register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");
register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")
register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")


register_message(MSGID_StatusIcon, "MSG_StatusIcon");
register_message(MSGID_TextMsg, "MSG_TextMessage");
register_message(MSGID_ShowMenu, "MSG_ShowMenu");
register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
register_message(MSGID_SendAudio, "MSG_SendAudio");
register_message(MSGID_Health, "MSG_Health")
register_message(MSGID_ScreenFade, "MSG_ScreenFade")
}


public plugin_precache() {
removebuyzone = register_cvar("furien_removebuyzone", "1")

if(get_pcvar_num(removebuyzone)) {

remove_entity_name("info_map_parameters");
remove_entity_name("func_buyzone");

new Entity = create_entity("info_map_parameters");

DispatchKeyValue(Entity, "buying", "3");
DispatchSpawn(Entity);
}
precache_model(SuperKnifeModel_V)
}

public client_connect(id) {
client_cmd(id, "cl_forwardspeed 999.0")
client_cmd(id, "cl_sidespeed 999.0")
client_cmd(id, "cl_backspeed 999.0")
}

public client_putinserver(id) {
client_cmd(id, "cl_forwardspeed 999.0")
client_cmd(id, "cl_sidespeed 999.0")
client_cmd(id, "cl_backspeed 999.0")
PrimaryWeapon[id] = 0
SecondaryWeapon[id] = 0
}


public Ham_Spawn_Post(id) {
if(is_user_connected(id) && is_user_alive(id)) {
strip_user_weapons(id)
HavePrimaryWeapon[id] = false
HaveSecondaryWeapon[id] = false
switch(get_user_team(id)) {
case TEAM_FURIEN: {
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_flashbang")
set_user_footsteps(id, 1)
fm_set_user_health(id, get_pcvar_num(furienspawnhp))
}
case TEAM_ANTIFURIEN: {
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_knife")
set_user_footsteps(id, 0)
fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))
HaveSuperKnife[id] = false;
Equipment(id)
}
}
}
}

public EVENT_NewRound() {
CanPlant = false;
new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0
set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)
remove_task(TASKID_C4COUNTDOWN)
}

public EVENT_FireINTheHole()
return PLUGIN_HANDLED

public HAM_Touch_Weapon(ent, id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))
return HAM_SUPERCEDE

return HAM_IGNORED
}

public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {
if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {
if(get_user_weapon(Attacker) == CSW_KNIFE) {
if(HaveSuperKnife[Attacker])
SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))
}
if(get_user_flags(Victim) & VIP_GOLD_LEVEL) {
if(DamageType & DMG_HEGRENADE)
return HAM_SUPERCEDE
}
}
return HAM_IGNORED
}

///////////////////////////////////////////////////////////////////////////////////////////////

public C4_PrimaryAttack(Ent) {
if(!CanPlant)
return HAM_SUPERCEDE

return HAM_IGNORED
}

public CmdResetScore(id) {
if(get_user_frags(id) == 0 && get_user_deaths(id) == 0)
ColorChat(id, "!gScorul tau este deja!t 0-0!g !")
else {
for(new i = 0; i < 2; i++) {
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);
}
ColorChat(id, "!gTi-ai resetat scorul cu succes !")
}
}

public CmdShopMenu(id) {
if(!is_user_alive(id))
return PLUGIN_HANDLED
switch(get_user_team(id)) {
case TEAM_FURIEN: CmdFurienShop(id)
case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)
}
return PLUGIN_HANDLED
}

public CmdFurienShop(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {
Menu = menu_create("\yFurien Shop", "CmdFurienHandler")

new SuperKnife[256];
formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")
menu_additem(Menu, SuperKnife, "1", 0)

new Health[256];
formatex(Health, sizeof(Health)-1, "50 HP - \y3000$")
menu_additem(Menu, Health, "2", 0)

new Armor[256];
formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
menu_additem(Menu, Armor, "3", 0)

new Grenade[256];
formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
menu_additem(Menu, Grenade, "4", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdAntiFurienShop(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")

new Defuse[256];
formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")
menu_additem(Menu, Defuse, "1", 0)

new Health[256];
formatex(Health, sizeof(Health)-1, "50 HP - \y3000$")
menu_additem(Menu, Health, "2", 0)

new Armor[256];
formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
menu_additem(Menu, Armor, "3", 0)

new Grenade[256];
formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
menu_additem(Menu, Grenade, "4", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdFurienHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
if(HaveSuperKnife[id])
client_print(id, print_center, "You already have SuperKnife!")
else {
new Money = cs_get_user_money(id) - 10000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
HaveSuperKnife[id] = true;
EVENT_CurWeapon(id)
cs_set_user_money(id, Money)
}
}
}
case 2: {
if(get_user_health(id) >= 250)
client_print(id, print_center, "You already have 250 HP!")
else {
new Money = cs_get_user_money(id) - 3000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_health(id) + 50 > 250)
fm_set_user_health(id, 250)
else
fm_set_user_health(id, get_user_health(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 3: {
if(get_user_armor(id) >= 250)
client_print(id, print_center, "You already have 250 AP!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_armor(id) + 50 > 250)
fm_set_user_armor(id, 250)
else
fm_set_user_armor(id, get_user_armor(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 4: {
if(user_has_weapon(id, CSW_HEGRENADE))
client_print(id, print_center, "You already have HE GRENADE!")
else {
new Money = cs_get_user_money(id) - 4000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
fm_give_item(id, "weapon_hegrenade")
cs_set_user_money(id, Money)
}
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public CmdAntiFurienHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
if(cs_get_user_defuse(id))
client_print(id, print_center, "You already have Defuse KIT!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
cs_set_user_defuse(id, 1)
cs_set_user_money(id, Money)
}
}
}
case 2: {
if(get_user_health(id) >= 250)
client_print(id, print_center, "You already have 250 HP!")
else {
new Money = cs_get_user_money(id) - 3000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_health(id) + 50 > 250)
fm_set_user_health(id, 250)
else
fm_set_user_health(id, get_user_health(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 3: {
if(get_user_armor(id) >= 250)
client_print(id, print_center, "You already have 250 AP!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_armor(id) + 50 > 250)
fm_set_user_armor(id, 250)
else
fm_set_user_armor(id, get_user_armor(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 4: {
if(user_has_weapon(id, CSW_HEGRENADE))
client_print(id, print_center, "You already have HE GRENADE!")
else {
new Money = cs_get_user_money(id) - 4000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
fm_give_item(id, "weapon_hegrenade")
cs_set_user_money(id, Money)
}
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

//=========================================================================//
//=======================[Weapons Settings]===============================//
//=======================================================================//

public Equipment(id) {
if(is_user_alive(id) && get_user_team(id) == 2) {
Menu = menu_create("\rWeapons Menu", "EquipmentCmd");
menu_additem(Menu, "\wNew Weapons", "1", 0);
if(PrimaryWeapon[id] && SecondaryWeapon[id])
menu_additem(Menu, "\wPrevious Setup", "2", 0);
else
menu_additem(Menu, "\dPrevious Setup", "2", 0);
menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
menu_display(id, Menu, 0);
}
}

public EquipmentCmd(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
if(!HavePrimaryWeapon[id])
Primary(id)
else if(!HaveSecondaryWeapon[id])
Secondary(id)
}
case 2: {
if(PrimaryWeapon[id] && SecondaryWeapon[id])
GiveLastWeapons(id)
else Equipment(id)
}
default: return PLUGIN_HANDLED;
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}

public Primary(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")

menu_additem(Menu, "M4A1", "1", 0)
menu_additem(Menu, "AK47", "2", 0)
menu_additem(Menu, "M3", "3", 0)
menu_additem(Menu, "Aug", "4", 0)
menu_additem(Menu, "Famas", "5", 0)
menu_additem(Menu, "MP5 Navy", "6", 0)
menu_additem(Menu, "XM1014", "7", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdWeaponsHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
fm_give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 254)
PrimaryWeapon[id] = M4A1_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 2: {
fm_give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 254)
PrimaryWeapon[id] = AK47_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 3: {
fm_give_item(id, "weapon_m3")
cs_set_user_bpammo(id, CSW_M3, 254)
PrimaryWeapon[id] = M3_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 4: {
fm_give_item(id, "weapon_aug")
cs_set_user_bpammo(id, CSW_AUG, 254)
PrimaryWeapon[id] = AUG_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 5: {
fm_give_item(id, "weapon_famas")
cs_set_user_bpammo(id, CSW_FAMAS, 254)
PrimaryWeapon[id] = FAMAS_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 6: {
fm_give_item(id, "weapon_mp5navy")
cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
PrimaryWeapon[id] = MP5_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 7: {
fm_give_item(id, "weapon_xm1014")
cs_set_user_bpammo(id, CSW_XM1014, 254)
PrimaryWeapon[id] = XM1014_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public Secondary(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")

menu_additem(Menu, "USP", "1", 0)
menu_additem(Menu, "Deagle", "2", 0)
menu_additem(Menu, "Elite", "3", 0)
menu_additem(Menu, "Five Seven", "4", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdSecondaryHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
fm_give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 256)
SecondaryWeapon[id] = USP_KEY
HaveSecondaryWeapon[id] = true;
}
case 2: {
fm_give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 256)
SecondaryWeapon[id] = DEAGLE_KEY
HaveSecondaryWeapon[id] = true;
}
case 3: {
fm_give_item(id, "weapon_elite")
cs_set_user_bpammo(id, CSW_ELITE, 256)
SecondaryWeapon[id] = ELITE_KEY
HaveSecondaryWeapon[id] = true;
}
case 4: {
fm_give_item(id, "weapon_fiveseven")
cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
SecondaryWeapon[id] = FIVESEVEN_KEY
HaveSecondaryWeapon[id] = true;
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public GiveLastWeapons(id) {
if(!HavePrimaryWeapon[id]) {
switch(PrimaryWeapon[id]) {
case M4A1_KEY: {
fm_give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 256)
HavePrimaryWeapon[id] = true;
}
case AK47_KEY: {
fm_give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 256)
HavePrimaryWeapon[id] = true;
}
case M3_KEY: {
fm_give_item(id, "weapon_m3")
cs_set_user_bpammo(id, CSW_M3, 256)
HavePrimaryWeapon[id] = true;
}
case AUG_KEY: {
fm_give_item(id, "weapon_aug")
cs_set_user_bpammo(id, CSW_AUG, 256)
HavePrimaryWeapon[id] = true;
}
case FAMAS_KEY: {
fm_give_item(id, "weapon_famas")
cs_set_user_bpammo(id, CSW_FAMAS, 256)
HavePrimaryWeapon[id] = true;
}
case MP5_KEY: {
fm_give_item(id, "weapon_mp5navy")
cs_set_user_bpammo(id, CSW_MP5NAVY, 256)
HavePrimaryWeapon[id] = true;
}
case XM1014_KEY: {
fm_give_item(id, "weapon_xm1014")
cs_set_user_bpammo(id, CSW_XM1014, 256)
HavePrimaryWeapon[id] = true;
}
}
}
if(!HaveSecondaryWeapon[id]) {
switch(SecondaryWeapon[id]) {
case USP_KEY: {
fm_give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 256)
HaveSecondaryWeapon[id] = true;
}
case DEAGLE_KEY: {
fm_give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 256)
HaveSecondaryWeapon[id] = true;
}
case ELITE_KEY: {
fm_give_item(id, "weapon_elite")
cs_set_user_bpammo(id, CSW_ELITE, 256)
HaveSecondaryWeapon[id] = true;
}
case FIVESEVEN_KEY: {
fm_give_item(id, "weapon_fiveseven")
cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
HaveSecondaryWeapon[id] = true;
}
}
}
}
public CMD_BlockJoinTeam(id) {
console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***")
return 1;
}

public CMD_BlockChooseTeam(id) {
console_print(id, "*** Nu ai voie sa foloseti ChooseTeam ! ***")
return 1;
}

public CmdShowMotd(id)
show_motd(id, "addons/amxmodx/configs/beneficii.html")

/////////////////////////////////////////////////////////////////////////

public EVENT_CurWeapon(id) {
if(is_user_connected(id)) {
if(get_user_weapon(id) == CSW_KNIFE) {
if(HaveSuperKnife[id])
set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
}
new PlayerHealth;
PlayerHealth = get_user_health(id)
if(PlayerHealth == 256)
fm_set_user_health(id, 255)
}

}

public EVENT_Death() {
static Attacker, Victim;
Attacker = read_data(1)
Victim = read_data(2)
HaveSuperKnife[Victim] = false;
if(Victim == Attacker)
return 1;

if(is_user_connected(Attacker)) {
if(get_user_flags(Attacker) & VIP_GOLD_LEVEL) {
cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 6000)
fm_set_user_health(Attacker, get_user_health(Attacker) + 60)
fm_set_user_armor(Attacker, get_user_armor(Attacker) + 60)
}
else if(get_user_flags(Attacker) & VIP_SILVER_LEVEL) {
cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 3000)
fm_set_user_health(Attacker, get_user_health(Attacker) + 30)
fm_set_user_armor(Attacker, get_user_armor(Attacker) + 30)
}
else if(get_user_flags(Attacker) & FOUNDER_LEVEL) {
cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 7000)
fm_set_user_health(Attacker, get_user_health(Attacker) + 70)
fm_set_user_armor(Attacker, get_user_armor(Attacker) + 70)
}
else {
if(get_user_team(Victim) == 2)
cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 1200)
else if(get_user_team(Victim) == 1)
cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 3000)
}
}

return 1;
}

public MSG_StatusIcon(msg_id, msg_dest, id) {
static Attrib
Attrib = get_msg_arg_int(2)

if(Attrib == (1<<1))
set_msg_arg_int(2, ARG_BYTE, 0)

new Icon[8];
get_msg_arg_string(2, Icon, 7);
if(get_pcvar_num(removebuyzone)) {
static const BuyZone[] = "buyzone";

if(equal(Icon, BuyZone)) {
set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);

return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}

public MSG_TextMessage() {
static TextMsg[22];
get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
if(equal(TextMsg, "#Terrorists_Win")) {
client_print(0, print_center, "The Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#CTs_Win")) {
client_print(0, print_center, "The Anti-Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Bomb_Defused")) {
client_print(0, print_center, "The Anti-Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Target_Bombed")) {
client_print(0, print_center, "The Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Target_Saved")) {
client_print(0, print_center, "The Anti-Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Fire_in_the_hole"))
return PLUGIN_HANDLED
else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {
if(!CanPlant)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE;
}

public MSG_ShowMenu(msgid, dest, id) {
if(!Should_AutoJoin(id))
return PLUGIN_CONTINUE

static team_select[] = "#Team_Select"
static menu_text_code[sizeof team_select]
get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)
if(!equal(menu_text_code, team_select))
return PLUGIN_CONTINUE

JoinTeam_Task(id, msgid)

return PLUGIN_HANDLED
}

public MSG_VGUIMenu(msgid, dest, id) {
if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))
return PLUGIN_CONTINUE

JoinTeam_Task(id, msgid)

return PLUGIN_HANDLED
}

public MSG_SendAudio() {
static Sound[17]
get_msg_arg_string(2, Sound, sizeof Sound - 1)

if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))
return PLUGIN_HANDLED;

return PLUGIN_CONTINUE;
}

public MSG_Health(msgid, dest, id) {
static Health;
Health = get_msg_arg_int(1)
if(Health > 255)
set_msg_arg_int(1, ARG_BYTE, 255);
else if(Health == 256)
set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)
}

public MSG_ScreenFade(msgid, dest, id) {
if(is_user_connected(id)) {
if(get_user_flags(id) & VIP_GOLD_LEVEL) {
static data[4]
data[0] = get_msg_arg_int(4)
data[1] = get_msg_arg_int(5)
data[2] = get_msg_arg_int(6)
data[3] = get_msg_arg_int(7)

if(data[0] == 255 && data[1] == 255 && data[2] == 255 && data[3] > 199)
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}

bool:Should_AutoJoin(id) {
return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))
}

JoinTeam_Task(id, menu_msgid) {
static param_menu_msgid[2]
param_menu_msgid[0] = menu_msgid

set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)
}

public Force_JoinTeam(menu_msgid[], id) {
if(get_user_team(id))
return

static team[2], class[2]
get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)
get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)
Force_Team_Join(id, menu_msgid[0], team, class)
}

stock Force_Team_Join(id, menu_msgid, team[] = "5", class[] = "0") {
static jointeam[] = "jointeam"
if(class[0] == '0') {
engclient_cmd(id, jointeam, team)
return
}

static msg_block, joinclass[] = "joinclass"
msg_block = get_msg_block(menu_msgid)
set_msg_block(menu_msgid, BLOCK_SET)
engclient_cmd(id, jointeam, team)
engclient_cmd(id, joinclass, class)
set_msg_block(menu_msgid, msg_block)
}

public bomb_planted(planter) {
C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1
TASK_C4_CountDown();
set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
show_hudmessage(0, "Furienii au plantat bomba!")
}

public EVENT_SwitchTeam() {
new Players[32], PlayersNum, id;
get_players(Players, PlayersNum)
if(PlayersNum) {
for(new i; i < PlayersNum; i++) {
id = Players[i]
BeginDelay(id)
}
}
}

public BeginDelay(id) {
if(is_user_connected(id)) {
switch(id) {
case 1..7: set_task(0.1, "BeginTeamSwap", id)
case 8..15: set_task(0.2, "BeginTeamSwap", id)
case 16..23: set_task(0.3, "BeginTeamSwap", id)
case 24..32: set_task(0.4, "BeginTeamSwap", id)
}
}
}

public BeginTeamSwap(id) {
if(is_user_connected(id)) {
switch(get_user_team(id)) {
case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)
case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)
}
}
}

///////////////////////////////////////////////////////////////////////////////////////////////

public Player_PreThink(id) {
if(is_user_connected(id)) {
if(get_user_team(id) == TEAM_FURIEN) {
if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)
set_pev(id, pev_gravity, FURIEN_GRAVITY)

if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {
set_pev(id, pev_maxspeed, FURIEN_SPEED)
set_user_footsteps(id, 1)
}
}
if(get_pcvar_num(cvar_aim_info)) {
new Target, Body;
get_user_aiming(id, Target, Body);
if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {
new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;
TargetTeam = get_user_team(Target)
PlayerTeam = get_user_team(id)
get_user_name(Target, TargetName, 31)
TargetHealth = get_user_health(Target)
TargetArmor = get_user_armor(Target)
if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
RED = 20
GREEN = 200
BLUE = 50
}
else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
RED = 200
GREEN = 20
BLUE = 20
}
else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
RED = 200
GREEN = 20
BLUE = 20
}
else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
return
set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
show_hudmessage(id, "%s", Message)
}
}
}
}

public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {
if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {
if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1
|| !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent
|| get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {
set_es(es, ES_RenderFx, kRenderFxNone);
set_es(es, ES_RenderMode, kRenderTransTexture);
set_es(es, ES_RenderAmt, 255);
}
else if(get_user_team(ent) == 1) {
set_es(es, ES_RenderFx, kRenderFxNone);
set_es(es, ES_RenderMode, kRenderTransTexture);
static Float:Origin[3]
pev(ent, pev_origin, Origin)

if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])
set_es(es, ES_RenderAmt, 0);
else
set_es(es, ES_RenderAmt, 255);
}
}
}

public FWD_ParachutePreThink(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
new Float:FallSpeed = -50.0;
new Float:Frame;

new Button = pev(id, pev_button);
new OldButton = pev(id, pev_oldbuttons);
new Flags = pev(id, pev_flags);

if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) {

if(pev(ParaENT[id],pev_sequence) != 2) {
set_pev(ParaENT[id], pev_sequence, 2);
set_pev(ParaENT[id], pev_gaitsequence, 1);
set_pev(ParaENT[id], pev_frame, 0.0);
set_pev(ParaENT[id], pev_fuser1, 0.0);
set_pev(ParaENT[id], pev_animtime, 0.0);
return;
}

pev(ParaENT[id],pev_fuser1, Frame);
Frame += 2.0;
set_pev(ParaENT[id],pev_fuser1,Frame);
set_pev(ParaENT[id],pev_frame,Frame);

if(Frame > 254.0) {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
else {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
return;
}

if(Button & IN_USE) {
new Float:Velocity[3];
pev(id, pev_velocity, Velocity);

if(Velocity[2] < 0.0) {
if(ParaENT[id] <= 0) {
ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

if(ParaENT[id] > 0) {
set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS);
set_pev(ParaENT[id], pev_aiment, id);
set_pev(ParaENT[id], pev_owner, id);
set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY);
set_pev(ParaENT[id], pev_sequence, 0);
set_pev(ParaENT[id], pev_gaitsequence, 1);
set_pev(ParaENT[id], pev_frame, 0.0);
set_pev(ParaENT[id], pev_fuser1, 0.0);
}
}
if(ParaENT[id] > 0) {
set_pev(id, pev_sequence, 3);
set_pev(id, pev_gaitsequence, 1);
set_pev(id, pev_frame, 1.0);
set_pev(id, pev_framerate, 1.0);

Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed;
set_pev(id, pev_velocity, Velocity);

if(pev(ParaENT[id],pev_sequence) == 0) {
pev(ParaENT[id],pev_fuser1, Frame);
Frame += 1.0;
set_pev(ParaENT[id],pev_fuser1,Frame);
set_pev(ParaENT[id],pev_frame,Frame);

if(Frame > 100.0) {
set_pev(ParaENT[id], pev_animtime, 0.0);
set_pev(ParaENT[id], pev_framerate, 0.4);
set_pev(ParaENT[id], pev_sequence, 1);
set_pev(ParaENT[id], pev_gaitsequence, 1);
set_pev(ParaENT[id], pev_frame, 0.0);
set_pev(ParaENT[id], pev_fuser1, 0.0);
}
}
}
}

else if(ParaENT[id] > 0) {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
}

else if((OldButton & IN_USE) && ParaENT[id] > 0) {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
}
}

public FWD_GameDescription() {
static GameName[32]
get_pcvar_string(cvar_gamedescription, GameName, 31)

forward_return(FMV_STRING, GameName)

return FMRES_SUPERCEDE
}

public TASK_CanPlant() {
CanPlant = true;
set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
show_hudmessage(0, "Furienii pot planta bomba!")
}

public TASK_C4_CountDown() {
new Red, Green, Blue
if(C4_CountDownDelay > 10)
Red = 0, Green = 255, Blue = 0;
else if(C4_CountDownDelay > 5)
Red = 255, Green = 200, Blue = 0;
else if(C4_CountDownDelay <= 5)
Red = 255, Green = 0, Blue = 0;

if(C4_CountDownDelay) {
new Message[256];
formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);

set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)
show_hudmessage(0, "%s", Message)
set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);
C4_CountDownDelay--;
}
else if(!C4_CountDownDelay)
C4_CountDownDelay = 0;
}

stock ColorChat(const id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);

replace_all(msg, 190, "!g", "^4");
replace_all(msg, 190, "!y", "^1");
replace_all(msg, 190, "!t", "^3");

if(id) players[0] = id;
else get_players(players, count, "ch"); {
for(new i = 0; i < count; i++) {
if(is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


Ce anume doresc?
1: Să-mi rezolvați task-ul la bomba să meargă numa in "ultimele" 60 secunde (e buguită)

2: să-mi scoateți beneficiile de tot

Mulțumesc frumos voi verifica zilnic topicul. !


Last edited by e931ff07 on 14 Feb 2019 20:23, edited 1 time in total.



11 Feb 2019 17:24
Profile multumesc WWW
Membru, skill 0
Membru, skill 0

Joined: 13 Jan 2019 02:01
Posts: 33
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Bump


13 Feb 2019 12:49
Profile multumesc WWW
Membru, skill 0
Membru, skill 0

Joined: 13 Jan 2019 02:01
Posts: 33
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Bump


15 Feb 2019 11:10
Profile multumesc WWW
Moderator ajutator
Moderator ajutator
User avatar

Joined: 10 May 2013 13:25
Posts: 2921
Location: Gura Humorului
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Fond eXtream: 0
| Afiseaza codul
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Furien Clasic"
#define VERSION "2.0"
#define AUTHOR "Aragon*/DaNNe."

#define DMG_HEGRENADE (1<<24)

#define FURIEN_GRAVITY 0.4
#define FURIEN_SPEED 750.0
#define TEAM_FURIEN 1
#define TEAM_ANTIFURIEN 2

#define TASKID_CANPLANT 10001
#define TASKID_C4COUNTDOWN 453

#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif

//Shop
new SuperKnifeModel_V[] = "models/v_superknife_new.mdl"
new bool: HaveSuperKnife[33]

//Settings
new bool:MakeVisible[33], Float:Wallorigin[33][3]

//Parachute
#define PARACHUTE_CLASS "Parachute"
new ParaENT[33];

new Menu;
new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info,
MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health,
bool:CanPlant, C4_CountDownDelay;

public plugin_cfg() {
server_cmd("amx_cvar mp_playerid 2")
server_cmd("amx_cvar sv_maxspeed 900")
server_cmd("amx_cvar sv_restart 5")
}


//===========================================================================================//
//===============================[Weapons Settings]=========================================//
//=========================================================================================//
new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];

//---|| Primary
#define M4A1_KEY 100
#define AK47_KEY 101
#define M3_KEY 102
#define AUG_KEY 103
#define FAMAS_KEY 104
#define MP5_KEY 105
#define XM1014_KEY 106

//---|| Secondary
#define USP_KEY 107
#define DEAGLE_KEY 108
#define ELITE_KEY 109
#define FIVESEVEN_KEY 110

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

cvar_gamedescription = register_cvar("furien_gamename", "Furien CS1")
antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
furienspawnhp = register_cvar("furien_spawnhp", "100")
superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0")
cvar_autojoin_team = register_cvar("furien_team", "5")
cvar_autojoin_class = register_cvar("furien_class", "5")
cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")

MSGID_SayText = get_user_msgid("SayText")
MSGID_StatusIcon = get_user_msgid("StatusIcon")
MSGID_TextMsg = get_user_msgid("TextMsg")
MSGID_SendAudio = get_user_msgid("SendAudio")
MSGID_ShowMenu = get_user_msgid("ShowMenu")
MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
MSGID_ScreenFade = get_user_msgid("ScreenFade")

register_clcmd("say shop", "CmdShopMenu")
register_clcmd("say /shop", "CmdShopMenu")
register_clcmd("say_team shop", "CmdShopMenu")
register_clcmd("say_team /shop", "CmdShopMenu")
//register_clcmd("say weapons", "CmdWeaponsMenu")
//register_clcmd("say /weapons", "CmdWeaponsMenu")
register_clcmd("jointeam", "CMD_BlockJoinTeam")
register_clcmd("jointeam 1", "CMD_BlockJoinTeam")
register_clcmd("jointeam 2", "CMD_BlockJoinTeam")
register_clcmd("jointeam 3", "CMD_BlockJoinTeam")
register_clcmd("chooseteam", "CMD_BlockChooseTeam")
register_clcmd("say /beneficii", "CmdShowMotd")
register_clcmd("say /rs", "CmdResetScore")
register_clcmd("say_team /rs", "CmdResetScore")
register_clcmd("say /resetscore", "CmdResetScore")
register_clcmd("say_team /resetscore", "CmdResetScore")

RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)
RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")
RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")
RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")
RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack");

register_forward(FM_PlayerPreThink, "Player_PreThink");
register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);
register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink");
register_forward(FM_GetGameDescription, "FWD_GameDescription")

register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")
register_event("DeathMsg", "EVENT_Death", "a");
register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");
register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");
register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")
register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")


register_message(MSGID_StatusIcon, "MSG_StatusIcon");
register_message(MSGID_TextMsg, "MSG_TextMessage");
register_message(MSGID_ShowMenu, "MSG_ShowMenu");
register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
register_message(MSGID_SendAudio, "MSG_SendAudio");
register_message(MSGID_Health, "MSG_Health")
}


public plugin_precache() {
removebuyzone = register_cvar("furien_removebuyzone", "1")

if(get_pcvar_num(removebuyzone)) {

remove_entity_name("info_map_parameters");
remove_entity_name("func_buyzone");

new Entity = create_entity("info_map_parameters");

DispatchKeyValue(Entity, "buying", "3");
DispatchSpawn(Entity);
}
precache_model(SuperKnifeModel_V)
}

public client_connect(id) {
client_cmd(id, "cl_forwardspeed 999.0")
client_cmd(id, "cl_sidespeed 999.0")
client_cmd(id, "cl_backspeed 999.0")
}

public client_putinserver(id) {
client_cmd(id, "cl_forwardspeed 999.0")
client_cmd(id, "cl_sidespeed 999.0")
client_cmd(id, "cl_backspeed 999.0")
PrimaryWeapon[id] = 0
SecondaryWeapon[id] = 0
}


public Ham_Spawn_Post(id) {
if(is_user_connected(id) && is_user_alive(id)) {
strip_user_weapons(id)
HavePrimaryWeapon[id] = false
HaveSecondaryWeapon[id] = false
switch(get_user_team(id)) {
case TEAM_FURIEN: {
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_flashbang")
set_user_footsteps(id, 1)
fm_set_user_health(id, get_pcvar_num(furienspawnhp))
}
case TEAM_ANTIFURIEN: {
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_knife")
set_user_footsteps(id, 0)
fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))
HaveSuperKnife[id] = false;
Equipment(id)
}
}
}
}

public EVENT_NewRound() {
CanPlant = false;
new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0
set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)
remove_task(TASKID_C4COUNTDOWN)
}

public EVENT_FireINTheHole()
return PLUGIN_HANDLED

public HAM_Touch_Weapon(ent, id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))
return HAM_SUPERCEDE

return HAM_IGNORED
}

public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {
if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {
if(get_user_weapon(Attacker) == CSW_KNIFE) {
if(HaveSuperKnife[Attacker])
SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))
}
}
return HAM_IGNORED
}

///////////////////////////////////////////////////////////////////////////////////////////////

public C4_PrimaryAttack(Ent) {
if(!CanPlant)
return HAM_SUPERCEDE

return HAM_IGNORED
}

public CmdResetScore(id) {
if(get_user_frags(id) == 0 && get_user_deaths(id) == 0)
ColorChat(id, "!gScorul tau este deja!t 0-0!g !")
else {
for(new i = 0; i < 2; i++) {
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);
}
ColorChat(id, "!gTi-ai resetat scorul cu succes !")
}
}

public CmdShopMenu(id) {
if(!is_user_alive(id))
return PLUGIN_HANDLED
switch(get_user_team(id)) {
case TEAM_FURIEN: CmdFurienShop(id)
case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)
}
return PLUGIN_HANDLED
}

public CmdFurienShop(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {
Menu = menu_create("\yFurien Shop", "CmdFurienHandler")

new SuperKnife[256];
formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")
menu_additem(Menu, SuperKnife, "1", 0)

new Health[256];
formatex(Health, sizeof(Health)-1, "50 HP - \y3000$")
menu_additem(Menu, Health, "2", 0)

new Armor[256];
formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
menu_additem(Menu, Armor, "3", 0)

new Grenade[256];
formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
menu_additem(Menu, Grenade, "4", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdAntiFurienShop(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")

new Defuse[256];
formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")
menu_additem(Menu, Defuse, "1", 0)

new Health[256];
formatex(Health, sizeof(Health)-1, "50 HP - \y3000$")
menu_additem(Menu, Health, "2", 0)

new Armor[256];
formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
menu_additem(Menu, Armor, "3", 0)

new Grenade[256];
formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
menu_additem(Menu, Grenade, "4", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdFurienHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
if(HaveSuperKnife[id])
client_print(id, print_center, "You already have SuperKnife!")
else {
new Money = cs_get_user_money(id) - 10000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
HaveSuperKnife[id] = true;
EVENT_CurWeapon(id)
cs_set_user_money(id, Money)
}
}
}
case 2: {
if(get_user_health(id) >= 250)
client_print(id, print_center, "You already have 250 HP!")
else {
new Money = cs_get_user_money(id) - 3000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_health(id) + 50 > 250)
fm_set_user_health(id, 250)
else
fm_set_user_health(id, get_user_health(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 3: {
if(get_user_armor(id) >= 250)
client_print(id, print_center, "You already have 250 AP!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_armor(id) + 50 > 250)
fm_set_user_armor(id, 250)
else
fm_set_user_armor(id, get_user_armor(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 4: {
if(user_has_weapon(id, CSW_HEGRENADE))
client_print(id, print_center, "You already have HE GRENADE!")
else {
new Money = cs_get_user_money(id) - 4000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
fm_give_item(id, "weapon_hegrenade")
cs_set_user_money(id, Money)
}
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public CmdAntiFurienHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
if(cs_get_user_defuse(id))
client_print(id, print_center, "You already have Defuse KIT!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
cs_set_user_defuse(id, 1)
cs_set_user_money(id, Money)
}
}
}
case 2: {
if(get_user_health(id) >= 250)
client_print(id, print_center, "You already have 250 HP!")
else {
new Money = cs_get_user_money(id) - 3000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_health(id) + 50 > 250)
fm_set_user_health(id, 250)
else
fm_set_user_health(id, get_user_health(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 3: {
if(get_user_armor(id) >= 250)
client_print(id, print_center, "You already have 250 AP!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_armor(id) + 50 > 250)
fm_set_user_armor(id, 250)
else
fm_set_user_armor(id, get_user_armor(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 4: {
if(user_has_weapon(id, CSW_HEGRENADE))
client_print(id, print_center, "You already have HE GRENADE!")
else {
new Money = cs_get_user_money(id) - 4000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
fm_give_item(id, "weapon_hegrenade")
cs_set_user_money(id, Money)
}
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

//=========================================================================//
//=======================[Weapons Settings]===============================//
//=======================================================================//

public Equipment(id) {
if(is_user_alive(id) && get_user_team(id) == 2) {
Menu = menu_create("\rWeapons Menu", "EquipmentCmd");
menu_additem(Menu, "\wNew Weapons", "1", 0);
if(PrimaryWeapon[id] && SecondaryWeapon[id])
menu_additem(Menu, "\wPrevious Setup", "2", 0);
else
menu_additem(Menu, "\dPrevious Setup", "2", 0);
menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
menu_display(id, Menu, 0);
}
}

public EquipmentCmd(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
if(!HavePrimaryWeapon[id])
Primary(id)
else if(!HaveSecondaryWeapon[id])
Secondary(id)
}
case 2: {
if(PrimaryWeapon[id] && SecondaryWeapon[id])
GiveLastWeapons(id)
else Equipment(id)
}
default: return PLUGIN_HANDLED;
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}

public Primary(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")

menu_additem(Menu, "M4A1", "1", 0)
menu_additem(Menu, "AK47", "2", 0)
menu_additem(Menu, "M3", "3", 0)
menu_additem(Menu, "Aug", "4", 0)
menu_additem(Menu, "Famas", "5", 0)
menu_additem(Menu, "MP5 Navy", "6", 0)
menu_additem(Menu, "XM1014", "7", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdWeaponsHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
fm_give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 254)
PrimaryWeapon[id] = M4A1_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 2: {
fm_give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 254)
PrimaryWeapon[id] = AK47_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 3: {
fm_give_item(id, "weapon_m3")
cs_set_user_bpammo(id, CSW_M3, 254)
PrimaryWeapon[id] = M3_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 4: {
fm_give_item(id, "weapon_aug")
cs_set_user_bpammo(id, CSW_AUG, 254)
PrimaryWeapon[id] = AUG_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 5: {
fm_give_item(id, "weapon_famas")
cs_set_user_bpammo(id, CSW_FAMAS, 254)
PrimaryWeapon[id] = FAMAS_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 6: {
fm_give_item(id, "weapon_mp5navy")
cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
PrimaryWeapon[id] = MP5_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 7: {
fm_give_item(id, "weapon_xm1014")
cs_set_user_bpammo(id, CSW_XM1014, 254)
PrimaryWeapon[id] = XM1014_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public Secondary(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")

menu_additem(Menu, "USP", "1", 0)
menu_additem(Menu, "Deagle", "2", 0)
menu_additem(Menu, "Elite", "3", 0)
menu_additem(Menu, "Five Seven", "4", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdSecondaryHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
fm_give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 256)
SecondaryWeapon[id] = USP_KEY
HaveSecondaryWeapon[id] = true;
}
case 2: {
fm_give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 256)
SecondaryWeapon[id] = DEAGLE_KEY
HaveSecondaryWeapon[id] = true;
}
case 3: {
fm_give_item(id, "weapon_elite")
cs_set_user_bpammo(id, CSW_ELITE, 256)
SecondaryWeapon[id] = ELITE_KEY
HaveSecondaryWeapon[id] = true;
}
case 4: {
fm_give_item(id, "weapon_fiveseven")
cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
SecondaryWeapon[id] = FIVESEVEN_KEY
HaveSecondaryWeapon[id] = true;
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public GiveLastWeapons(id) {
if(!HavePrimaryWeapon[id]) {
switch(PrimaryWeapon[id]) {
case M4A1_KEY: {
fm_give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 256)
HavePrimaryWeapon[id] = true;
}
case AK47_KEY: {
fm_give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 256)
HavePrimaryWeapon[id] = true;
}
case M3_KEY: {
fm_give_item(id, "weapon_m3")
cs_set_user_bpammo(id, CSW_M3, 256)
HavePrimaryWeapon[id] = true;
}
case AUG_KEY: {
fm_give_item(id, "weapon_aug")
cs_set_user_bpammo(id, CSW_AUG, 256)
HavePrimaryWeapon[id] = true;
}
case FAMAS_KEY: {
fm_give_item(id, "weapon_famas")
cs_set_user_bpammo(id, CSW_FAMAS, 256)
HavePrimaryWeapon[id] = true;
}
case MP5_KEY: {
fm_give_item(id, "weapon_mp5navy")
cs_set_user_bpammo(id, CSW_MP5NAVY, 256)
HavePrimaryWeapon[id] = true;
}
case XM1014_KEY: {
fm_give_item(id, "weapon_xm1014")
cs_set_user_bpammo(id, CSW_XM1014, 256)
HavePrimaryWeapon[id] = true;
}
}
}
if(!HaveSecondaryWeapon[id]) {
switch(SecondaryWeapon[id]) {
case USP_KEY: {
fm_give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 256)
HaveSecondaryWeapon[id] = true;
}
case DEAGLE_KEY: {
fm_give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 256)
HaveSecondaryWeapon[id] = true;
}
case ELITE_KEY: {
fm_give_item(id, "weapon_elite")
cs_set_user_bpammo(id, CSW_ELITE, 256)
HaveSecondaryWeapon[id] = true;
}
case FIVESEVEN_KEY: {
fm_give_item(id, "weapon_fiveseven")
cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
HaveSecondaryWeapon[id] = true;
}
}
}
}
public CMD_BlockJoinTeam(id) {
console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***")
return 1;
}

public CMD_BlockChooseTeam(id) {
console_print(id, "*** Nu ai voie sa foloseti ChooseTeam ! ***")
return 1;
}

public CmdShowMotd(id)
show_motd(id, "addons/amxmodx/configs/beneficii.html")

/////////////////////////////////////////////////////////////////////////

public EVENT_CurWeapon(id) {
if(is_user_connected(id)) {
if(get_user_weapon(id) == CSW_KNIFE) {
if(HaveSuperKnife[id])
set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
}
new PlayerHealth;
PlayerHealth = get_user_health(id)
if(PlayerHealth == 256)
fm_set_user_health(id, 255)
}

}

public EVENT_Death() {
HaveSuperKnife[read_data(2)] = false;
}

public MSG_StatusIcon(msg_id, msg_dest, id) {
static Attrib
Attrib = get_msg_arg_int(2)

if(Attrib == (1<<1))
set_msg_arg_int(2, ARG_BYTE, 0)

new Icon[8];
get_msg_arg_string(2, Icon, 7);
if(get_pcvar_num(removebuyzone)) {
static const BuyZone[] = "buyzone";

if(equal(Icon, BuyZone)) {
set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);

return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}

public MSG_TextMessage() {
static TextMsg[22];
get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
if(equal(TextMsg, "#Terrorists_Win")) {
client_print(0, print_center, "The Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#CTs_Win")) {
client_print(0, print_center, "The Anti-Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Bomb_Defused")) {
client_print(0, print_center, "The Anti-Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Target_Bombed")) {
client_print(0, print_center, "The Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Target_Saved")) {
client_print(0, print_center, "The Anti-Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Fire_in_the_hole"))
return PLUGIN_HANDLED
else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {
if(!CanPlant)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE;
}

public MSG_ShowMenu(msgid, dest, id) {
if(!Should_AutoJoin(id))
return PLUGIN_CONTINUE

static team_select[] = "#Team_Select"
static menu_text_code[sizeof team_select]
get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)
if(!equal(menu_text_code, team_select))
return PLUGIN_CONTINUE

JoinTeam_Task(id, msgid)

return PLUGIN_HANDLED
}

public MSG_VGUIMenu(msgid, dest, id) {
if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))
return PLUGIN_CONTINUE

JoinTeam_Task(id, msgid)

return PLUGIN_HANDLED
}

public MSG_SendAudio() {
static Sound[17]
get_msg_arg_string(2, Sound, sizeof Sound - 1)

if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))
return PLUGIN_HANDLED;

return PLUGIN_CONTINUE;
}

public MSG_Health(msgid, dest, id) {
static Health;
Health = get_msg_arg_int(1)
if(Health > 255)
set_msg_arg_int(1, ARG_BYTE, 255);
else if(Health == 256)
set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)
}

bool:Should_AutoJoin(id) {
return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))
}

JoinTeam_Task(id, menu_msgid) {
static param_menu_msgid[2]
param_menu_msgid[0] = menu_msgid

set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)
}

public Force_JoinTeam(menu_msgid[], id) {
if(get_user_team(id))
return

static team[2], class[2]
get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)
get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)
Force_Team_Join(id, menu_msgid[0], team, class)
}

stock Force_Team_Join(id, menu_msgid, team[] = "5", class[] = "0") {
static jointeam[] = "jointeam"
if(class[0] == '0') {
engclient_cmd(id, jointeam, team)
return
}

static msg_block, joinclass[] = "joinclass"
msg_block = get_msg_block(menu_msgid)
set_msg_block(menu_msgid, BLOCK_SET)
engclient_cmd(id, jointeam, team)
engclient_cmd(id, joinclass, class)
set_msg_block(menu_msgid, msg_block)
}

public bomb_planted(planter) {
C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1
TASK_C4_CountDown();
set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
show_hudmessage(0, "Furienii au plantat bomba!")
}

public EVENT_SwitchTeam() {
new Players[32], PlayersNum, id;
get_players(Players, PlayersNum)
if(PlayersNum) {
for(new i; i < PlayersNum; i++) {
id = Players[i]
BeginDelay(id)
}
}
}

public BeginDelay(id) {
if(is_user_connected(id)) {
switch(id) {
case 1..7: set_task(0.1, "BeginTeamSwap", id)
case 8..15: set_task(0.2, "BeginTeamSwap", id)
case 16..23: set_task(0.3, "BeginTeamSwap", id)
case 24..32: set_task(0.4, "BeginTeamSwap", id)
}
}
}

public BeginTeamSwap(id) {
if(is_user_connected(id)) {
switch(get_user_team(id)) {
case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)
case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)
}
}
}

///////////////////////////////////////////////////////////////////////////////////////////////

public Player_PreThink(id) {
if(is_user_connected(id)) {
if(get_user_team(id) == TEAM_FURIEN) {
if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)
set_pev(id, pev_gravity, FURIEN_GRAVITY)

if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {
set_pev(id, pev_maxspeed, FURIEN_SPEED)
set_user_footsteps(id, 1)
}
}
if(get_pcvar_num(cvar_aim_info)) {
new Target, Body;
get_user_aiming(id, Target, Body);
if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {
new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;
TargetTeam = get_user_team(Target)
PlayerTeam = get_user_team(id)
get_user_name(Target, TargetName, 31)
TargetHealth = get_user_health(Target)
TargetArmor = get_user_armor(Target)
if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
RED = 20
GREEN = 200
BLUE = 50
}
else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
RED = 200
GREEN = 20
BLUE = 20
}
else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
RED = 200
GREEN = 20
BLUE = 20
}
else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
return
set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
show_hudmessage(id, "%s", Message)
}
}
}
}

public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {
if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {
if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1
|| !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent
|| get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {
set_es(es, ES_RenderFx, kRenderFxNone);
set_es(es, ES_RenderMode, kRenderTransTexture);
set_es(es, ES_RenderAmt, 255);
}
else if(get_user_team(ent) == 1) {
set_es(es, ES_RenderFx, kRenderFxNone);
set_es(es, ES_RenderMode, kRenderTransTexture);
static Float:Origin[3]
pev(ent, pev_origin, Origin)

if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])
set_es(es, ES_RenderAmt, 0);
else
set_es(es, ES_RenderAmt, 255);
}
}
}

public FWD_ParachutePreThink(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
new Float:FallSpeed = -50.0;
new Float:Frame;

new Button = pev(id, pev_button);
new OldButton = pev(id, pev_oldbuttons);
new Flags = pev(id, pev_flags);

if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) {

if(pev(ParaENT[id],pev_sequence) != 2) {
set_pev(ParaENT[id], pev_sequence, 2);
set_pev(ParaENT[id], pev_gaitsequence, 1);
set_pev(ParaENT[id], pev_frame, 0.0);
set_pev(ParaENT[id], pev_fuser1, 0.0);
set_pev(ParaENT[id], pev_animtime, 0.0);
return;
}

pev(ParaENT[id],pev_fuser1, Frame);
Frame += 2.0;
set_pev(ParaENT[id],pev_fuser1,Frame);
set_pev(ParaENT[id],pev_frame,Frame);

if(Frame > 254.0) {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
else {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
return;
}

if(Button & IN_USE) {
new Float:Velocity[3];
pev(id, pev_velocity, Velocity);

if(Velocity[2] < 0.0) {
if(ParaENT[id] <= 0) {
ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

if(ParaENT[id] > 0) {
set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS);
set_pev(ParaENT[id], pev_aiment, id);
set_pev(ParaENT[id], pev_owner, id);
set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY);
set_pev(ParaENT[id], pev_sequence, 0);
set_pev(ParaENT[id], pev_gaitsequence, 1);
set_pev(ParaENT[id], pev_frame, 0.0);
set_pev(ParaENT[id], pev_fuser1, 0.0);
}
}
if(ParaENT[id] > 0) {
set_pev(id, pev_sequence, 3);
set_pev(id, pev_gaitsequence, 1);
set_pev(id, pev_frame, 1.0);
set_pev(id, pev_framerate, 1.0);

Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed;
set_pev(id, pev_velocity, Velocity);

if(pev(ParaENT[id],pev_sequence) == 0) {
pev(ParaENT[id],pev_fuser1, Frame);
Frame += 1.0;
set_pev(ParaENT[id],pev_fuser1,Frame);
set_pev(ParaENT[id],pev_frame,Frame);

if(Frame > 100.0) {
set_pev(ParaENT[id], pev_animtime, 0.0);
set_pev(ParaENT[id], pev_framerate, 0.4);
set_pev(ParaENT[id], pev_sequence, 1);
set_pev(ParaENT[id], pev_gaitsequence, 1);
set_pev(ParaENT[id], pev_frame, 0.0);
set_pev(ParaENT[id], pev_fuser1, 0.0);
}
}
}
}

else if(ParaENT[id] > 0) {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
}

else if((OldButton & IN_USE) && ParaENT[id] > 0) {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
}
}

public FWD_GameDescription() {
static GameName[32]
get_pcvar_string(cvar_gamedescription, GameName, 31)

forward_return(FMV_STRING, GameName)

return FMRES_SUPERCEDE
}

public TASK_CanPlant() {
CanPlant = true;
set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
show_hudmessage(0, "Furienii pot planta bomba!")
}

public TASK_C4_CountDown() {
new Red, Green, Blue
if(C4_CountDownDelay > 10)
Red = 0, Green = 255, Blue = 0;
else if(C4_CountDownDelay > 5)
Red = 255, Green = 200, Blue = 0;
else if(C4_CountDownDelay <= 5)
Red = 255, Green = 0, Blue = 0;

if(C4_CountDownDelay) {
new Message[256];
formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);

set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)
show_hudmessage(0, "%s", Message)
set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);
C4_CountDownDelay--;
}
else if(!C4_CountDownDelay)
C4_CountDownDelay = 0;
}

stock ColorChat(const id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);

replace_all(msg, 190, "!g", "^4");
replace_all(msg, 190, "!y", "^1");
replace_all(msg, 190, "!t", "^3");

if(id) players[0] = id;
else get_players(players, count, "ch"); {
for(new i = 0; i < count; i++) {
if(is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


bomba se poate planta abia in ultimele 60 de secunde

_________________
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș

Pluginurile mele publice | Afiseaza codul
Control HE Damage(s)
[Zombie mod] Liderul oamenilor
NO RUSH (MANUAL)
Salvatorul Craciunului
Harry Potter's Magic Wand [0.0.3]
New HE Grenade Effects
Upgrades Menu -> Health/Armor/Damage

Serverele care au achizitonat pluginurile mele: #1 #2

CONTACT: sef_yontu@yahoo.com | skype: cyp_yontu


15 Feb 2019 11:38
Profile multumesc YIM WWW
Membru, skill 0
Membru, skill 0

Joined: 13 Jan 2019 02:01
Posts: 33
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
YONTU wrote:
| Afiseaza codul
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Furien Clasic"
#define VERSION "2.0"
#define AUTHOR "Aragon*/DaNNe."

#define DMG_HEGRENADE (1<<24)

#define FURIEN_GRAVITY 0.4
#define FURIEN_SPEED 750.0
#define TEAM_FURIEN 1
#define TEAM_ANTIFURIEN 2

#define TASKID_CANPLANT 10001
#define TASKID_C4COUNTDOWN 453

#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif

//Shop
new SuperKnifeModel_V[] = "models/v_superknife_new.mdl"
new bool: HaveSuperKnife[33]

//Settings
new bool:MakeVisible[33], Float:Wallorigin[33][3]

//Parachute
#define PARACHUTE_CLASS "Parachute"
new ParaENT[33];

new Menu;
new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info,
MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health,
bool:CanPlant, C4_CountDownDelay;

public plugin_cfg() {
server_cmd("amx_cvar mp_playerid 2")
server_cmd("amx_cvar sv_maxspeed 900")
server_cmd("amx_cvar sv_restart 5")
}


//===========================================================================================//
//===============================[Weapons Settings]=========================================//
//=========================================================================================//
new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];

//---|| Primary
#define M4A1_KEY 100
#define AK47_KEY 101
#define M3_KEY 102
#define AUG_KEY 103
#define FAMAS_KEY 104
#define MP5_KEY 105
#define XM1014_KEY 106

//---|| Secondary
#define USP_KEY 107
#define DEAGLE_KEY 108
#define ELITE_KEY 109
#define FIVESEVEN_KEY 110

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

cvar_gamedescription = register_cvar("furien_gamename", "Furien CS1")
antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
furienspawnhp = register_cvar("furien_spawnhp", "100")
superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0")
cvar_autojoin_team = register_cvar("furien_team", "5")
cvar_autojoin_class = register_cvar("furien_class", "5")
cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")

MSGID_SayText = get_user_msgid("SayText")
MSGID_StatusIcon = get_user_msgid("StatusIcon")
MSGID_TextMsg = get_user_msgid("TextMsg")
MSGID_SendAudio = get_user_msgid("SendAudio")
MSGID_ShowMenu = get_user_msgid("ShowMenu")
MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
MSGID_ScreenFade = get_user_msgid("ScreenFade")

register_clcmd("say shop", "CmdShopMenu")
register_clcmd("say /shop", "CmdShopMenu")
register_clcmd("say_team shop", "CmdShopMenu")
register_clcmd("say_team /shop", "CmdShopMenu")
//register_clcmd("say weapons", "CmdWeaponsMenu")
//register_clcmd("say /weapons", "CmdWeaponsMenu")
register_clcmd("jointeam", "CMD_BlockJoinTeam")
register_clcmd("jointeam 1", "CMD_BlockJoinTeam")
register_clcmd("jointeam 2", "CMD_BlockJoinTeam")
register_clcmd("jointeam 3", "CMD_BlockJoinTeam")
register_clcmd("chooseteam", "CMD_BlockChooseTeam")
register_clcmd("say /beneficii", "CmdShowMotd")
register_clcmd("say /rs", "CmdResetScore")
register_clcmd("say_team /rs", "CmdResetScore")
register_clcmd("say /resetscore", "CmdResetScore")
register_clcmd("say_team /resetscore", "CmdResetScore")

RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)
RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")
RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")
RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")
RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack");

register_forward(FM_PlayerPreThink, "Player_PreThink");
register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);
register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink");
register_forward(FM_GetGameDescription, "FWD_GameDescription")

register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")
register_event("DeathMsg", "EVENT_Death", "a");
register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");
register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");
register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")
register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")


register_message(MSGID_StatusIcon, "MSG_StatusIcon");
register_message(MSGID_TextMsg, "MSG_TextMessage");
register_message(MSGID_ShowMenu, "MSG_ShowMenu");
register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
register_message(MSGID_SendAudio, "MSG_SendAudio");
register_message(MSGID_Health, "MSG_Health")
}


public plugin_precache() {
removebuyzone = register_cvar("furien_removebuyzone", "1")

if(get_pcvar_num(removebuyzone)) {

remove_entity_name("info_map_parameters");
remove_entity_name("func_buyzone");

new Entity = create_entity("info_map_parameters");

DispatchKeyValue(Entity, "buying", "3");
DispatchSpawn(Entity);
}
precache_model(SuperKnifeModel_V)
}

public client_connect(id) {
client_cmd(id, "cl_forwardspeed 999.0")
client_cmd(id, "cl_sidespeed 999.0")
client_cmd(id, "cl_backspeed 999.0")
}

public client_putinserver(id) {
client_cmd(id, "cl_forwardspeed 999.0")
client_cmd(id, "cl_sidespeed 999.0")
client_cmd(id, "cl_backspeed 999.0")
PrimaryWeapon[id] = 0
SecondaryWeapon[id] = 0
}


public Ham_Spawn_Post(id) {
if(is_user_connected(id) && is_user_alive(id)) {
strip_user_weapons(id)
HavePrimaryWeapon[id] = false
HaveSecondaryWeapon[id] = false
switch(get_user_team(id)) {
case TEAM_FURIEN: {
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_flashbang")
set_user_footsteps(id, 1)
fm_set_user_health(id, get_pcvar_num(furienspawnhp))
}
case TEAM_ANTIFURIEN: {
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_knife")
set_user_footsteps(id, 0)
fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))
HaveSuperKnife[id] = false;
Equipment(id)
}
}
}
}

public EVENT_NewRound() {
CanPlant = false;
new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0
set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)
remove_task(TASKID_C4COUNTDOWN)
}

public EVENT_FireINTheHole()
return PLUGIN_HANDLED

public HAM_Touch_Weapon(ent, id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))
return HAM_SUPERCEDE

return HAM_IGNORED
}

public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {
if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {
if(get_user_weapon(Attacker) == CSW_KNIFE) {
if(HaveSuperKnife[Attacker])
SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))
}
}
return HAM_IGNORED
}

///////////////////////////////////////////////////////////////////////////////////////////////

public C4_PrimaryAttack(Ent) {
if(!CanPlant)
return HAM_SUPERCEDE

return HAM_IGNORED
}

public CmdResetScore(id) {
if(get_user_frags(id) == 0 && get_user_deaths(id) == 0)
ColorChat(id, "!gScorul tau este deja!t 0-0!g !")
else {
for(new i = 0; i < 2; i++) {
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);
}
ColorChat(id, "!gTi-ai resetat scorul cu succes !")
}
}

public CmdShopMenu(id) {
if(!is_user_alive(id))
return PLUGIN_HANDLED
switch(get_user_team(id)) {
case TEAM_FURIEN: CmdFurienShop(id)
case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)
}
return PLUGIN_HANDLED
}

public CmdFurienShop(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {
Menu = menu_create("\yFurien Shop", "CmdFurienHandler")

new SuperKnife[256];
formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")
menu_additem(Menu, SuperKnife, "1", 0)

new Health[256];
formatex(Health, sizeof(Health)-1, "50 HP - \y3000$")
menu_additem(Menu, Health, "2", 0)

new Armor[256];
formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
menu_additem(Menu, Armor, "3", 0)

new Grenade[256];
formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
menu_additem(Menu, Grenade, "4", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdAntiFurienShop(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")

new Defuse[256];
formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")
menu_additem(Menu, Defuse, "1", 0)

new Health[256];
formatex(Health, sizeof(Health)-1, "50 HP - \y3000$")
menu_additem(Menu, Health, "2", 0)

new Armor[256];
formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
menu_additem(Menu, Armor, "3", 0)

new Grenade[256];
formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
menu_additem(Menu, Grenade, "4", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdFurienHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
if(HaveSuperKnife[id])
client_print(id, print_center, "You already have SuperKnife!")
else {
new Money = cs_get_user_money(id) - 10000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
HaveSuperKnife[id] = true;
EVENT_CurWeapon(id)
cs_set_user_money(id, Money)
}
}
}
case 2: {
if(get_user_health(id) >= 250)
client_print(id, print_center, "You already have 250 HP!")
else {
new Money = cs_get_user_money(id) - 3000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_health(id) + 50 > 250)
fm_set_user_health(id, 250)
else
fm_set_user_health(id, get_user_health(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 3: {
if(get_user_armor(id) >= 250)
client_print(id, print_center, "You already have 250 AP!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_armor(id) + 50 > 250)
fm_set_user_armor(id, 250)
else
fm_set_user_armor(id, get_user_armor(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 4: {
if(user_has_weapon(id, CSW_HEGRENADE))
client_print(id, print_center, "You already have HE GRENADE!")
else {
new Money = cs_get_user_money(id) - 4000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
fm_give_item(id, "weapon_hegrenade")
cs_set_user_money(id, Money)
}
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public CmdAntiFurienHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
if(cs_get_user_defuse(id))
client_print(id, print_center, "You already have Defuse KIT!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
cs_set_user_defuse(id, 1)
cs_set_user_money(id, Money)
}
}
}
case 2: {
if(get_user_health(id) >= 250)
client_print(id, print_center, "You already have 250 HP!")
else {
new Money = cs_get_user_money(id) - 3000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_health(id) + 50 > 250)
fm_set_user_health(id, 250)
else
fm_set_user_health(id, get_user_health(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 3: {
if(get_user_armor(id) >= 250)
client_print(id, print_center, "You already have 250 AP!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
if(get_user_armor(id) + 50 > 250)
fm_set_user_armor(id, 250)
else
fm_set_user_armor(id, get_user_armor(id) + 50)
cs_set_user_money(id, Money)
}
}
}
case 4: {
if(user_has_weapon(id, CSW_HEGRENADE))
client_print(id, print_center, "You already have HE GRENADE!")
else {
new Money = cs_get_user_money(id) - 4000
if(Money < 0)
client_print(id, print_center, "You have insufficient founds!")
else {
fm_give_item(id, "weapon_hegrenade")
cs_set_user_money(id, Money)
}
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

//=========================================================================//
//=======================[Weapons Settings]===============================//
//=======================================================================//

public Equipment(id) {
if(is_user_alive(id) && get_user_team(id) == 2) {
Menu = menu_create("\rWeapons Menu", "EquipmentCmd");
menu_additem(Menu, "\wNew Weapons", "1", 0);
if(PrimaryWeapon[id] && SecondaryWeapon[id])
menu_additem(Menu, "\wPrevious Setup", "2", 0);
else
menu_additem(Menu, "\dPrevious Setup", "2", 0);
menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
menu_display(id, Menu, 0);
}
}

public EquipmentCmd(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
if(!HavePrimaryWeapon[id])
Primary(id)
else if(!HaveSecondaryWeapon[id])
Secondary(id)
}
case 2: {
if(PrimaryWeapon[id] && SecondaryWeapon[id])
GiveLastWeapons(id)
else Equipment(id)
}
default: return PLUGIN_HANDLED;
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}

public Primary(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")

menu_additem(Menu, "M4A1", "1", 0)
menu_additem(Menu, "AK47", "2", 0)
menu_additem(Menu, "M3", "3", 0)
menu_additem(Menu, "Aug", "4", 0)
menu_additem(Menu, "Famas", "5", 0)
menu_additem(Menu, "MP5 Navy", "6", 0)
menu_additem(Menu, "XM1014", "7", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdWeaponsHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
fm_give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 254)
PrimaryWeapon[id] = M4A1_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 2: {
fm_give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 254)
PrimaryWeapon[id] = AK47_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 3: {
fm_give_item(id, "weapon_m3")
cs_set_user_bpammo(id, CSW_M3, 254)
PrimaryWeapon[id] = M3_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 4: {
fm_give_item(id, "weapon_aug")
cs_set_user_bpammo(id, CSW_AUG, 254)
PrimaryWeapon[id] = AUG_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 5: {
fm_give_item(id, "weapon_famas")
cs_set_user_bpammo(id, CSW_FAMAS, 254)
PrimaryWeapon[id] = FAMAS_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 6: {
fm_give_item(id, "weapon_mp5navy")
cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
PrimaryWeapon[id] = MP5_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
case 7: {
fm_give_item(id, "weapon_xm1014")
cs_set_user_bpammo(id, CSW_XM1014, 254)
PrimaryWeapon[id] = XM1014_KEY
HavePrimaryWeapon[id] = true;
Secondary(id)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public Secondary(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")

menu_additem(Menu, "USP", "1", 0)
menu_additem(Menu, "Deagle", "2", 0)
menu_additem(Menu, "Elite", "3", 0)
menu_additem(Menu, "Five Seven", "4", 0)

menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}

public CmdSecondaryHandler(id, menu, item) {
if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key) {
case 1: {
fm_give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 256)
SecondaryWeapon[id] = USP_KEY
HaveSecondaryWeapon[id] = true;
}
case 2: {
fm_give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 256)
SecondaryWeapon[id] = DEAGLE_KEY
HaveSecondaryWeapon[id] = true;
}
case 3: {
fm_give_item(id, "weapon_elite")
cs_set_user_bpammo(id, CSW_ELITE, 256)
SecondaryWeapon[id] = ELITE_KEY
HaveSecondaryWeapon[id] = true;
}
case 4: {
fm_give_item(id, "weapon_fiveseven")
cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
SecondaryWeapon[id] = FIVESEVEN_KEY
HaveSecondaryWeapon[id] = true;
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public GiveLastWeapons(id) {
if(!HavePrimaryWeapon[id]) {
switch(PrimaryWeapon[id]) {
case M4A1_KEY: {
fm_give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 256)
HavePrimaryWeapon[id] = true;
}
case AK47_KEY: {
fm_give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 256)
HavePrimaryWeapon[id] = true;
}
case M3_KEY: {
fm_give_item(id, "weapon_m3")
cs_set_user_bpammo(id, CSW_M3, 256)
HavePrimaryWeapon[id] = true;
}
case AUG_KEY: {
fm_give_item(id, "weapon_aug")
cs_set_user_bpammo(id, CSW_AUG, 256)
HavePrimaryWeapon[id] = true;
}
case FAMAS_KEY: {
fm_give_item(id, "weapon_famas")
cs_set_user_bpammo(id, CSW_FAMAS, 256)
HavePrimaryWeapon[id] = true;
}
case MP5_KEY: {
fm_give_item(id, "weapon_mp5navy")
cs_set_user_bpammo(id, CSW_MP5NAVY, 256)
HavePrimaryWeapon[id] = true;
}
case XM1014_KEY: {
fm_give_item(id, "weapon_xm1014")
cs_set_user_bpammo(id, CSW_XM1014, 256)
HavePrimaryWeapon[id] = true;
}
}
}
if(!HaveSecondaryWeapon[id]) {
switch(SecondaryWeapon[id]) {
case USP_KEY: {
fm_give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 256)
HaveSecondaryWeapon[id] = true;
}
case DEAGLE_KEY: {
fm_give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 256)
HaveSecondaryWeapon[id] = true;
}
case ELITE_KEY: {
fm_give_item(id, "weapon_elite")
cs_set_user_bpammo(id, CSW_ELITE, 256)
HaveSecondaryWeapon[id] = true;
}
case FIVESEVEN_KEY: {
fm_give_item(id, "weapon_fiveseven")
cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
HaveSecondaryWeapon[id] = true;
}
}
}
}
public CMD_BlockJoinTeam(id) {
console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***")
return 1;
}

public CMD_BlockChooseTeam(id) {
console_print(id, "*** Nu ai voie sa foloseti ChooseTeam ! ***")
return 1;
}

public CmdShowMotd(id)
show_motd(id, "addons/amxmodx/configs/beneficii.html")

/////////////////////////////////////////////////////////////////////////

public EVENT_CurWeapon(id) {
if(is_user_connected(id)) {
if(get_user_weapon(id) == CSW_KNIFE) {
if(HaveSuperKnife[id])
set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
}
new PlayerHealth;
PlayerHealth = get_user_health(id)
if(PlayerHealth == 256)
fm_set_user_health(id, 255)
}

}

public EVENT_Death() {
HaveSuperKnife[read_data(2)] = false;
}

public MSG_StatusIcon(msg_id, msg_dest, id) {
static Attrib
Attrib = get_msg_arg_int(2)

if(Attrib == (1<<1))
set_msg_arg_int(2, ARG_BYTE, 0)

new Icon[8];
get_msg_arg_string(2, Icon, 7);
if(get_pcvar_num(removebuyzone)) {
static const BuyZone[] = "buyzone";

if(equal(Icon, BuyZone)) {
set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);

return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}

public MSG_TextMessage() {
static TextMsg[22];
get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
if(equal(TextMsg, "#Terrorists_Win")) {
client_print(0, print_center, "The Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#CTs_Win")) {
client_print(0, print_center, "The Anti-Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Bomb_Defused")) {
client_print(0, print_center, "The Anti-Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Target_Bombed")) {
client_print(0, print_center, "The Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Target_Saved")) {
client_print(0, print_center, "The Anti-Furiens have won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Fire_in_the_hole"))
return PLUGIN_HANDLED
else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {
if(!CanPlant)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE;
}

public MSG_ShowMenu(msgid, dest, id) {
if(!Should_AutoJoin(id))
return PLUGIN_CONTINUE

static team_select[] = "#Team_Select"
static menu_text_code[sizeof team_select]
get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)
if(!equal(menu_text_code, team_select))
return PLUGIN_CONTINUE

JoinTeam_Task(id, msgid)

return PLUGIN_HANDLED
}

public MSG_VGUIMenu(msgid, dest, id) {
if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))
return PLUGIN_CONTINUE

JoinTeam_Task(id, msgid)

return PLUGIN_HANDLED
}

public MSG_SendAudio() {
static Sound[17]
get_msg_arg_string(2, Sound, sizeof Sound - 1)

if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))
return PLUGIN_HANDLED;

return PLUGIN_CONTINUE;
}

public MSG_Health(msgid, dest, id) {
static Health;
Health = get_msg_arg_int(1)
if(Health > 255)
set_msg_arg_int(1, ARG_BYTE, 255);
else if(Health == 256)
set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)
}

bool:Should_AutoJoin(id) {
return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))
}

JoinTeam_Task(id, menu_msgid) {
static param_menu_msgid[2]
param_menu_msgid[0] = menu_msgid

set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)
}

public Force_JoinTeam(menu_msgid[], id) {
if(get_user_team(id))
return

static team[2], class[2]
get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)
get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)
Force_Team_Join(id, menu_msgid[0], team, class)
}

stock Force_Team_Join(id, menu_msgid, team[] = "5", class[] = "0") {
static jointeam[] = "jointeam"
if(class[0] == '0') {
engclient_cmd(id, jointeam, team)
return
}

static msg_block, joinclass[] = "joinclass"
msg_block = get_msg_block(menu_msgid)
set_msg_block(menu_msgid, BLOCK_SET)
engclient_cmd(id, jointeam, team)
engclient_cmd(id, joinclass, class)
set_msg_block(menu_msgid, msg_block)
}

public bomb_planted(planter) {
C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1
TASK_C4_CountDown();
set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
show_hudmessage(0, "Furienii au plantat bomba!")
}

public EVENT_SwitchTeam() {
new Players[32], PlayersNum, id;
get_players(Players, PlayersNum)
if(PlayersNum) {
for(new i; i < PlayersNum; i++) {
id = Players[i]
BeginDelay(id)
}
}
}

public BeginDelay(id) {
if(is_user_connected(id)) {
switch(id) {
case 1..7: set_task(0.1, "BeginTeamSwap", id)
case 8..15: set_task(0.2, "BeginTeamSwap", id)
case 16..23: set_task(0.3, "BeginTeamSwap", id)
case 24..32: set_task(0.4, "BeginTeamSwap", id)
}
}
}

public BeginTeamSwap(id) {
if(is_user_connected(id)) {
switch(get_user_team(id)) {
case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)
case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)
}
}
}

///////////////////////////////////////////////////////////////////////////////////////////////

public Player_PreThink(id) {
if(is_user_connected(id)) {
if(get_user_team(id) == TEAM_FURIEN) {
if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)
set_pev(id, pev_gravity, FURIEN_GRAVITY)

if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {
set_pev(id, pev_maxspeed, FURIEN_SPEED)
set_user_footsteps(id, 1)
}
}
if(get_pcvar_num(cvar_aim_info)) {
new Target, Body;
get_user_aiming(id, Target, Body);
if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {
new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;
TargetTeam = get_user_team(Target)
PlayerTeam = get_user_team(id)
get_user_name(Target, TargetName, 31)
TargetHealth = get_user_health(Target)
TargetArmor = get_user_armor(Target)
if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
RED = 20
GREEN = 200
BLUE = 50
}
else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
RED = 200
GREEN = 20
BLUE = 20
}
else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
RED = 200
GREEN = 20
BLUE = 20
}
else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
return
set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
show_hudmessage(id, "%s", Message)
}
}
}
}

public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {
if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {
if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1
|| !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent
|| get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {
set_es(es, ES_RenderFx, kRenderFxNone);
set_es(es, ES_RenderMode, kRenderTransTexture);
set_es(es, ES_RenderAmt, 255);
}
else if(get_user_team(ent) == 1) {
set_es(es, ES_RenderFx, kRenderFxNone);
set_es(es, ES_RenderMode, kRenderTransTexture);
static Float:Origin[3]
pev(ent, pev_origin, Origin)

if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])
set_es(es, ES_RenderAmt, 0);
else
set_es(es, ES_RenderAmt, 255);
}
}
}

public FWD_ParachutePreThink(id) {
if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
new Float:FallSpeed = -50.0;
new Float:Frame;

new Button = pev(id, pev_button);
new OldButton = pev(id, pev_oldbuttons);
new Flags = pev(id, pev_flags);

if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) {

if(pev(ParaENT[id],pev_sequence) != 2) {
set_pev(ParaENT[id], pev_sequence, 2);
set_pev(ParaENT[id], pev_gaitsequence, 1);
set_pev(ParaENT[id], pev_frame, 0.0);
set_pev(ParaENT[id], pev_fuser1, 0.0);
set_pev(ParaENT[id], pev_animtime, 0.0);
return;
}

pev(ParaENT[id],pev_fuser1, Frame);
Frame += 2.0;
set_pev(ParaENT[id],pev_fuser1,Frame);
set_pev(ParaENT[id],pev_frame,Frame);

if(Frame > 254.0) {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
else {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
return;
}

if(Button & IN_USE) {
new Float:Velocity[3];
pev(id, pev_velocity, Velocity);

if(Velocity[2] < 0.0) {
if(ParaENT[id] <= 0) {
ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

if(ParaENT[id] > 0) {
set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS);
set_pev(ParaENT[id], pev_aiment, id);
set_pev(ParaENT[id], pev_owner, id);
set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY);
set_pev(ParaENT[id], pev_sequence, 0);
set_pev(ParaENT[id], pev_gaitsequence, 1);
set_pev(ParaENT[id], pev_frame, 0.0);
set_pev(ParaENT[id], pev_fuser1, 0.0);
}
}
if(ParaENT[id] > 0) {
set_pev(id, pev_sequence, 3);
set_pev(id, pev_gaitsequence, 1);
set_pev(id, pev_frame, 1.0);
set_pev(id, pev_framerate, 1.0);

Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed;
set_pev(id, pev_velocity, Velocity);

if(pev(ParaENT[id],pev_sequence) == 0) {
pev(ParaENT[id],pev_fuser1, Frame);
Frame += 1.0;
set_pev(ParaENT[id],pev_fuser1,Frame);
set_pev(ParaENT[id],pev_frame,Frame);

if(Frame > 100.0) {
set_pev(ParaENT[id], pev_animtime, 0.0);
set_pev(ParaENT[id], pev_framerate, 0.4);
set_pev(ParaENT[id], pev_sequence, 1);
set_pev(ParaENT[id], pev_gaitsequence, 1);
set_pev(ParaENT[id], pev_frame, 0.0);
set_pev(ParaENT[id], pev_fuser1, 0.0);
}
}
}
}

else if(ParaENT[id] > 0) {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
}

else if((OldButton & IN_USE) && ParaENT[id] > 0) {
engfunc(EngFunc_RemoveEntity, ParaENT[id]);
ParaENT[id] = 0;
}
}
}

public FWD_GameDescription() {
static GameName[32]
get_pcvar_string(cvar_gamedescription, GameName, 31)

forward_return(FMV_STRING, GameName)

return FMRES_SUPERCEDE
}

public TASK_CanPlant() {
CanPlant = true;
set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
show_hudmessage(0, "Furienii pot planta bomba!")
}

public TASK_C4_CountDown() {
new Red, Green, Blue
if(C4_CountDownDelay > 10)
Red = 0, Green = 255, Blue = 0;
else if(C4_CountDownDelay > 5)
Red = 255, Green = 200, Blue = 0;
else if(C4_CountDownDelay <= 5)
Red = 255, Green = 0, Blue = 0;

if(C4_CountDownDelay) {
new Message[256];
formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);

set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)
show_hudmessage(0, "%s", Message)
set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);
C4_CountDownDelay--;
}
else if(!C4_CountDownDelay)
C4_CountDownDelay = 0;
}

stock ColorChat(const id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);

replace_all(msg, 190, "!g", "^4");
replace_all(msg, 190, "!y", "^1");
replace_all(msg, 190, "!t", "^3");

if(id) players[0] = id;
else get_players(players, count, "ch"); {
for(new i = 0; i < count; i++) {
if(is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


bomba se poate planta abia in ultimele 60 de secunde
Code:
 error 017: undefined symbol "MSGID_ScreenFade 
eroare la compilat și dacă mi-ai putea scoate și parașuta din el ți-aș rămâne profund recunoscător


15 Feb 2019 23:31
Profile multumesc WWW
Scripter eXtreamCS
Scripter eXtreamCS
User avatar

Joined: 24 Aug 2011 11:24
Posts: 1964
Location: |<()|)
Detinator Steam: Da
CS Status: HLDS Builder
Detinator server CS: liber de contract
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Fond eXtream: 0
| Afiseaza codul
Code:
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Furien Clasic"
#define VERSION "2.0"
#define AUTHOR "Aragon*/DaNNe."

#define DMG_HEGRENADE (1<<24)

#define FURIEN_GRAVITY      0.4
#define FURIEN_SPEED      750.0
#define TEAM_FURIEN 1
#define TEAM_ANTIFURIEN 2

#define TASKID_CANPLANT          10001
#define TASKID_C4COUNTDOWN       453

#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif

//Shop
new SuperKnifeModel_V[] = "models/v_superknife_new.mdl"
new bool: HaveSuperKnife[33]

//Settings
new bool:MakeVisible[33], Float:Wallorigin[33][3]

new Menu;
new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info,
MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health,
bool:CanPlant, C4_CountDownDelay;

public plugin_cfg() {
   server_cmd("amx_cvar mp_playerid 2")
   server_cmd("amx_cvar sv_maxspeed 900")
   server_cmd("amx_cvar sv_restart 5")
}


//===========================================================================================//
//===============================[Weapons Settings]=========================================//
//=========================================================================================//
new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];

//---|| Primary
#define M4A1_KEY      100
#define AK47_KEY      101
#define M3_KEY         102
#define AUG_KEY         103
#define FAMAS_KEY      104
#define MP5_KEY         105
#define XM1014_KEY      106

//---|| Secondary
#define USP_KEY         107
#define DEAGLE_KEY      108
#define ELITE_KEY      109
#define FIVESEVEN_KEY   110

public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   cvar_gamedescription = register_cvar("furien_gamename", "Furien CS1")
   antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
   furienspawnhp = register_cvar("furien_spawnhp", "100")
   superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0")
   cvar_autojoin_team = register_cvar("furien_team", "5")
   cvar_autojoin_class = register_cvar("furien_class", "5")
   cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")
   
   MSGID_SayText = get_user_msgid("SayText")
   MSGID_StatusIcon = get_user_msgid("StatusIcon")
   MSGID_TextMsg = get_user_msgid("TextMsg")
   MSGID_SendAudio = get_user_msgid("SendAudio")
   MSGID_ShowMenu = get_user_msgid("ShowMenu")
   MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
   
   register_clcmd("say shop", "CmdShopMenu")
   register_clcmd("say /shop", "CmdShopMenu")
   register_clcmd("say_team shop", "CmdShopMenu")
   register_clcmd("say_team /shop", "CmdShopMenu")
   //register_clcmd("say weapons", "CmdWeaponsMenu")
   //register_clcmd("say /weapons", "CmdWeaponsMenu")
   register_clcmd("jointeam", "CMD_BlockJoinTeam")
   register_clcmd("jointeam 1", "CMD_BlockJoinTeam")
   register_clcmd("jointeam 2", "CMD_BlockJoinTeam")
   register_clcmd("jointeam 3", "CMD_BlockJoinTeam")
   register_clcmd("chooseteam", "CMD_BlockChooseTeam")
   register_clcmd("say /beneficii", "CmdShowMotd")
   register_clcmd("say /rs", "CmdResetScore")
   register_clcmd("say_team /rs", "CmdResetScore")
   register_clcmd("say /resetscore", "CmdResetScore")
   register_clcmd("say_team /resetscore", "CmdResetScore")
   
   RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)
   RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")
   RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")
   RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")
   RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")
   RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack");
   
   register_forward(FM_PlayerPreThink, "Player_PreThink");
   register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);   
   register_forward(FM_GetGameDescription, "FWD_GameDescription")   
   
   register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")
   register_event("DeathMsg", "EVENT_Death", "a");
   register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");
   register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");
   register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")
   register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")   
   
   
   register_message(MSGID_StatusIcon, "MSG_StatusIcon");
   register_message(MSGID_TextMsg, "MSG_TextMessage");
   register_message(MSGID_ShowMenu, "MSG_ShowMenu");
   register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
   register_message(MSGID_SendAudio, "MSG_SendAudio");
   register_message(MSGID_Health, "MSG_Health")
}


public plugin_precache() {
   removebuyzone = register_cvar("furien_removebuyzone", "1")
   
   if(get_pcvar_num(removebuyzone)) {
      
      remove_entity_name("info_map_parameters");
      remove_entity_name("func_buyzone");
      
      new Entity = create_entity("info_map_parameters");
      
      DispatchKeyValue(Entity, "buying", "3");
      DispatchSpawn(Entity);
   }
   precache_model(SuperKnifeModel_V)
}

public client_connect(id) {
   client_cmd(id, "cl_forwardspeed 999.0")
   client_cmd(id, "cl_sidespeed 999.0")
   client_cmd(id, "cl_backspeed 999.0")
}

public client_putinserver(id) {
   client_cmd(id, "cl_forwardspeed 999.0")
   client_cmd(id, "cl_sidespeed 999.0")
   client_cmd(id, "cl_backspeed 999.0")
   PrimaryWeapon[id] = 0
   SecondaryWeapon[id] = 0
}
   

public Ham_Spawn_Post(id) {
   if(is_user_connected(id) && is_user_alive(id)) {
      strip_user_weapons(id)
      HavePrimaryWeapon[id] = false
      HaveSecondaryWeapon[id] = false
      switch(get_user_team(id)) {
         case TEAM_FURIEN: {
            fm_give_item(id, "weapon_hegrenade")
            fm_give_item(id, "weapon_knife")
            fm_give_item(id, "weapon_flashbang")
            set_user_footsteps(id, 1)
            fm_set_user_health(id, get_pcvar_num(furienspawnhp))
         }
         case TEAM_ANTIFURIEN: {
            fm_give_item(id, "weapon_flashbang")
            fm_give_item(id, "weapon_hegrenade")
            fm_give_item(id, "weapon_knife")
            set_user_footsteps(id, 0)
            fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))
            HaveSuperKnife[id] = false;
            Equipment(id)               
         }
      }
   }
}

public EVENT_NewRound() {
   CanPlant = false;
   new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0
   set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)
   remove_task(TASKID_C4COUNTDOWN)
}

public EVENT_FireINTheHole()
   return PLUGIN_HANDLED

public HAM_Touch_Weapon(ent, id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))
      return HAM_SUPERCEDE
   
   return HAM_IGNORED
}

public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {
   if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {
      if(get_user_weapon(Attacker) == CSW_KNIFE) {
         if(HaveSuperKnife[Attacker])
            SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))
      }
   }
   return HAM_IGNORED
}

///////////////////////////////////////////////////////////////////////////////////////////////

public C4_PrimaryAttack(Ent) {
   if(!CanPlant)
      return HAM_SUPERCEDE
      
   return HAM_IGNORED
}

public CmdResetScore(id) {
   if(get_user_frags(id) == 0 && get_user_deaths(id) == 0)
      ColorChat(id, "!gScorul tau este deja!t 0-0!g !")
   else {
      for(new i = 0; i < 2; i++) {
         cs_set_user_deaths(id, 0);
         set_user_frags(id, 0);
      }
      ColorChat(id, "!gTi-ai resetat scorul cu succes !")
   }
}

public CmdShopMenu(id) {
   if(!is_user_alive(id))
      return PLUGIN_HANDLED
   switch(get_user_team(id)) {
      case TEAM_FURIEN: CmdFurienShop(id)
      case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)
   }
   return PLUGIN_HANDLED
}

public CmdFurienShop(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {
      Menu = menu_create("\yFurien Shop", "CmdFurienHandler")
      
      new SuperKnife[256];
      formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")   
      menu_additem(Menu, SuperKnife, "1", 0)
      
      new Health[256];
      formatex(Health, sizeof(Health)-1, "50 HP   - \y3000$")
      menu_additem(Menu, Health, "2", 0)
      
      new Armor[256];
      formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
      menu_additem(Menu, Armor, "3", 0)
      
      new Grenade[256];
      formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
      menu_additem(Menu, Grenade, "4", 0)
      
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdAntiFurienShop(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
      Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")   

      new Defuse[256];
      formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")
      menu_additem(Menu, Defuse, "1", 0)
      
      new Health[256];
      formatex(Health, sizeof(Health)-1, "50 HP   - \y3000$")
      menu_additem(Menu, Health, "2", 0)
      
      new Armor[256];
      formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
      menu_additem(Menu, Armor, "3", 0)
      
      new Grenade[256];
      formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
      menu_additem(Menu, Grenade, "4", 0)

      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdFurienHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         if(HaveSuperKnife[id])
            client_print(id, print_center, "You already have SuperKnife!")
         else {
            new Money = cs_get_user_money(id) - 10000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               HaveSuperKnife[id] = true;
               EVENT_CurWeapon(id)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 2: {
         if(get_user_health(id) >= 250)
            client_print(id, print_center, "You already have 250 HP!")
         else {
            new Money = cs_get_user_money(id) - 3000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_health(id) + 50 > 250)
                  fm_set_user_health(id, 250)
               else
                  fm_set_user_health(id, get_user_health(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 3: {
         if(get_user_armor(id) >= 250)
            client_print(id, print_center, "You already have 250 AP!")
         else {
            new Money = cs_get_user_money(id) - 500
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_armor(id) + 50 > 250)
                  fm_set_user_armor(id, 250)
               else
                  fm_set_user_armor(id, get_user_armor(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 4: {
         if(user_has_weapon(id, CSW_HEGRENADE))
            client_print(id, print_center, "You already have HE GRENADE!")
         else {
            new Money = cs_get_user_money(id) - 4000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {   
               fm_give_item(id, "weapon_hegrenade")
               cs_set_user_money(id, Money)
            }
         }
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public CmdAntiFurienHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         if(cs_get_user_defuse(id))
            client_print(id, print_center, "You already have Defuse KIT!")
         else {
            new Money = cs_get_user_money(id) - 500
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               cs_set_user_defuse(id, 1)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 2: {
         if(get_user_health(id) >= 250)
            client_print(id, print_center, "You already have 250 HP!")
         else {
            new Money = cs_get_user_money(id) - 3000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_health(id) + 50 > 250)
                  fm_set_user_health(id, 250)
               else
                  fm_set_user_health(id, get_user_health(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 3: {
         if(get_user_armor(id) >= 250)
            client_print(id, print_center, "You already have 250 AP!")
         else {
            new Money = cs_get_user_money(id) - 500
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_armor(id) + 50 > 250)
                  fm_set_user_armor(id, 250)
               else
                  fm_set_user_armor(id, get_user_armor(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 4: {
         if(user_has_weapon(id, CSW_HEGRENADE))
            client_print(id, print_center, "You already have HE GRENADE!")
         else {
            new Money = cs_get_user_money(id) - 4000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {   
               fm_give_item(id, "weapon_hegrenade")
               cs_set_user_money(id, Money)
            }
         }
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

//=========================================================================//
//=======================[Weapons Settings]===============================//
//=======================================================================//

public Equipment(id) {
   if(is_user_alive(id) && get_user_team(id) == 2) {
      Menu = menu_create("\rWeapons Menu", "EquipmentCmd");
      menu_additem(Menu, "\wNew Weapons", "1", 0);
      if(PrimaryWeapon[id] && SecondaryWeapon[id])
         menu_additem(Menu, "\wPrevious Setup", "2", 0);
      else
         menu_additem(Menu, "\dPrevious Setup", "2", 0);
      menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
      menu_display(id, Menu, 0);
   }
}

public EquipmentCmd(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         if(!HavePrimaryWeapon[id])
            Primary(id)
         else if(!HaveSecondaryWeapon[id])
            Secondary(id)
      }
      case 2: {
         if(PrimaryWeapon[id] && SecondaryWeapon[id])
            GiveLastWeapons(id)
         else Equipment(id)
      }
      default: return PLUGIN_HANDLED;
   }
   menu_destroy(menu);
   return PLUGIN_HANDLED;
}

public Primary(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
      Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")
      
      menu_additem(Menu, "M4A1", "1", 0)
      menu_additem(Menu, "AK47", "2", 0)
      menu_additem(Menu, "M3", "3", 0)
      menu_additem(Menu, "Aug", "4", 0)
      menu_additem(Menu, "Famas", "5", 0)
      menu_additem(Menu, "MP5 Navy", "6", 0)
      menu_additem(Menu, "XM1014", "7", 0)
      
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdWeaponsHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         fm_give_item(id, "weapon_m4a1")
         cs_set_user_bpammo(id, CSW_M4A1, 254)
         PrimaryWeapon[id] = M4A1_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 2: {
         fm_give_item(id, "weapon_ak47")
         cs_set_user_bpammo(id, CSW_AK47, 254)
         PrimaryWeapon[id] = AK47_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 3: {
         fm_give_item(id, "weapon_m3")
         cs_set_user_bpammo(id, CSW_M3, 254)
         PrimaryWeapon[id] = M3_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 4: {
         fm_give_item(id, "weapon_aug")
         cs_set_user_bpammo(id, CSW_AUG, 254)
         PrimaryWeapon[id] = AUG_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 5: {
         fm_give_item(id, "weapon_famas")
         cs_set_user_bpammo(id, CSW_FAMAS, 254)
         PrimaryWeapon[id] = FAMAS_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 6: {
         fm_give_item(id, "weapon_mp5navy")
         cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
         PrimaryWeapon[id] = MP5_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 7: {
         fm_give_item(id, "weapon_xm1014")
         cs_set_user_bpammo(id, CSW_XM1014, 254)
         PrimaryWeapon[id] = XM1014_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public Secondary(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
      Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")
      
      menu_additem(Menu, "USP", "1", 0)
      menu_additem(Menu, "Deagle", "2", 0)
      menu_additem(Menu, "Elite", "3", 0)
      menu_additem(Menu, "Five Seven", "4", 0)
      
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdSecondaryHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {      
      case 1: {
         fm_give_item(id, "weapon_usp")
         cs_set_user_bpammo(id, CSW_USP, 256)
         SecondaryWeapon[id] = USP_KEY
         HaveSecondaryWeapon[id] = true;
      }
      case 2: {
         fm_give_item(id, "weapon_deagle")
         cs_set_user_bpammo(id, CSW_DEAGLE, 256)
         SecondaryWeapon[id] = DEAGLE_KEY
         HaveSecondaryWeapon[id] = true;
      }
      case 3: {
         fm_give_item(id, "weapon_elite")
         cs_set_user_bpammo(id, CSW_ELITE, 256)
         SecondaryWeapon[id] = ELITE_KEY
         HaveSecondaryWeapon[id] = true;
      }
      case 4: {
         fm_give_item(id, "weapon_fiveseven")
         cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
         SecondaryWeapon[id] = FIVESEVEN_KEY
         HaveSecondaryWeapon[id] = true;
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public GiveLastWeapons(id) {
   if(!HavePrimaryWeapon[id]) {
      switch(PrimaryWeapon[id]) {
         case M4A1_KEY: {
            fm_give_item(id, "weapon_m4a1")
            cs_set_user_bpammo(id, CSW_M4A1, 256)
            HavePrimaryWeapon[id] = true;
         }
         case AK47_KEY: {
            fm_give_item(id, "weapon_ak47")
            cs_set_user_bpammo(id, CSW_AK47, 256)
            HavePrimaryWeapon[id] = true;
         }
         case M3_KEY: {
            fm_give_item(id, "weapon_m3")
            cs_set_user_bpammo(id, CSW_M3, 256)
            HavePrimaryWeapon[id] = true;
         }
         case AUG_KEY: {
            fm_give_item(id, "weapon_aug")
            cs_set_user_bpammo(id, CSW_AUG, 256)
            HavePrimaryWeapon[id] = true;
         }
         case FAMAS_KEY: {
            fm_give_item(id, "weapon_famas")
            cs_set_user_bpammo(id, CSW_FAMAS, 256)
            HavePrimaryWeapon[id] = true;
         }
         case MP5_KEY: {
            fm_give_item(id, "weapon_mp5navy")
            cs_set_user_bpammo(id, CSW_MP5NAVY, 256)
            HavePrimaryWeapon[id] = true;
         }
         case XM1014_KEY: {
            fm_give_item(id, "weapon_xm1014")
            cs_set_user_bpammo(id, CSW_XM1014, 256)
            HavePrimaryWeapon[id] = true;
         }
      }
   }
   if(!HaveSecondaryWeapon[id]) {
      switch(SecondaryWeapon[id]) {
         case USP_KEY: {
            fm_give_item(id, "weapon_usp")
            cs_set_user_bpammo(id, CSW_USP, 256)
            HaveSecondaryWeapon[id] = true;
         }
         case DEAGLE_KEY: {
            fm_give_item(id, "weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 256)
            HaveSecondaryWeapon[id] = true;
         }
         case ELITE_KEY: {
            fm_give_item(id, "weapon_elite")
            cs_set_user_bpammo(id, CSW_ELITE, 256)
            HaveSecondaryWeapon[id] = true;
         }
         case FIVESEVEN_KEY: {
            fm_give_item(id, "weapon_fiveseven")
            cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
            HaveSecondaryWeapon[id] = true;
         }
      }
   }
}
public CMD_BlockJoinTeam(id) {
   console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***")
   return 1;
}

public CMD_BlockChooseTeam(id) {
   console_print(id, "*** Nu ai voie sa foloseti ChooseTeam ! ***")
   return 1;
}

public CmdShowMotd(id)
   show_motd(id, "addons/amxmodx/configs/beneficii.html")

/////////////////////////////////////////////////////////////////////////

public EVENT_CurWeapon(id) {
   if(is_user_connected(id)) {
      if(get_user_weapon(id) == CSW_KNIFE) {
         if(HaveSuperKnife[id])
            set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
      }
      new PlayerHealth;
      PlayerHealth = get_user_health(id)
      if(PlayerHealth == 256)
         fm_set_user_health(id, 255)
   }

}

public EVENT_Death() {
   HaveSuperKnife[read_data(2)] = false;
}

public MSG_StatusIcon(msg_id, msg_dest, id) {
   static Attrib
   Attrib = get_msg_arg_int(2)
   
   if(Attrib == (1<<1))
      set_msg_arg_int(2, ARG_BYTE, 0)
   
   new Icon[8];
   get_msg_arg_string(2, Icon, 7);
   if(get_pcvar_num(removebuyzone)) {
      static const BuyZone[] = "buyzone";
      
      if(equal(Icon, BuyZone)) {
         set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);
         
         return PLUGIN_HANDLED;
      }
   }
   return PLUGIN_CONTINUE;
}

public MSG_TextMessage() {
   static TextMsg[22];
   get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
   if(equal(TextMsg, "#Terrorists_Win")) {
      client_print(0, print_center, "The Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#CTs_Win")) {
      client_print(0, print_center, "The Anti-Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#Bomb_Defused")) {
      client_print(0, print_center, "The Anti-Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#Target_Bombed")) {
      client_print(0, print_center, "The Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#Target_Saved")) {
      client_print(0, print_center, "The Anti-Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#Fire_in_the_hole"))
      return PLUGIN_HANDLED
   else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {
      if(!CanPlant)
         return PLUGIN_HANDLED
   }
   return PLUGIN_CONTINUE;
}

public MSG_ShowMenu(msgid, dest, id) {
   if(!Should_AutoJoin(id))
      return PLUGIN_CONTINUE
   
   static team_select[] = "#Team_Select"
   static menu_text_code[sizeof team_select]
   get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)
   if(!equal(menu_text_code, team_select))
      return PLUGIN_CONTINUE
   
   JoinTeam_Task(id, msgid)
   
   return PLUGIN_HANDLED
}

public MSG_VGUIMenu(msgid, dest, id) {
   if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))
      return PLUGIN_CONTINUE
   
   JoinTeam_Task(id, msgid)
   
   return PLUGIN_HANDLED
}

public MSG_SendAudio() {
   static Sound[17]
   get_msg_arg_string(2, Sound, sizeof Sound - 1)
   
   if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))
      return PLUGIN_HANDLED;
   
   return PLUGIN_CONTINUE;
}

public MSG_Health(msgid, dest, id) {
   static Health;
   Health = get_msg_arg_int(1)
   if(Health > 255)
      set_msg_arg_int(1, ARG_BYTE, 255);
   else if(Health == 256)
      set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)
}

bool:Should_AutoJoin(id) {
   return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))
}

JoinTeam_Task(id, menu_msgid) {
   static param_menu_msgid[2]
   param_menu_msgid[0] = menu_msgid
   
   set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)
}

public Force_JoinTeam(menu_msgid[], id) {
   if(get_user_team(id))
      return
   
   static team[2], class[2]
   get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)
   get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)
   Force_Team_Join(id, menu_msgid[0], team, class)
}

stock Force_Team_Join(id, menu_msgid,  team[] = "5", class[] = "0") {
   static jointeam[] = "jointeam"
   if(class[0] == '0') {
      engclient_cmd(id, jointeam, team)
      return
   }
   
   static msg_block, joinclass[] = "joinclass"
   msg_block = get_msg_block(menu_msgid)
   set_msg_block(menu_msgid, BLOCK_SET)
   engclient_cmd(id, jointeam, team)
   engclient_cmd(id, joinclass, class)
   set_msg_block(menu_msgid, msg_block)
}

public bomb_planted(planter) {
   C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1
   TASK_C4_CountDown();
   set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
   show_hudmessage(0, "Furienii au plantat bomba!")
}

public EVENT_SwitchTeam() {
   new Players[32], PlayersNum, id;
   get_players(Players, PlayersNum)
   if(PlayersNum) {
      for(new i; i < PlayersNum; i++) {
         id = Players[i]
         BeginDelay(id)
      }
   }
}

public BeginDelay(id) {
   if(is_user_connected(id)) {
      switch(id) {
         case 1..7: set_task(0.1, "BeginTeamSwap", id)
         case 8..15: set_task(0.2, "BeginTeamSwap", id)
         case 16..23: set_task(0.3, "BeginTeamSwap", id)
         case 24..32: set_task(0.4, "BeginTeamSwap", id)
      }
   }
}

public BeginTeamSwap(id) {
   if(is_user_connected(id)) {
      switch(get_user_team(id)) {
         case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)
         case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)
      }
   }
}   

///////////////////////////////////////////////////////////////////////////////////////////////

public Player_PreThink(id) {
   if(is_user_connected(id)) {
      if(get_user_team(id) == TEAM_FURIEN) {
         if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)
            set_pev(id, pev_gravity, FURIEN_GRAVITY)
      
         if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {
            set_pev(id, pev_maxspeed, FURIEN_SPEED)
            set_user_footsteps(id, 1)
         }
      }
      if(get_pcvar_num(cvar_aim_info)) {
         new Target, Body;
         get_user_aiming(id, Target, Body);
         if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {
            new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;
            TargetTeam = get_user_team(Target)
            PlayerTeam = get_user_team(id)
            get_user_name(Target, TargetName, 31)
            TargetHealth = get_user_health(Target)
            TargetArmor = get_user_armor(Target)
            if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {
               formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
               RED = 20
               GREEN = 200
               BLUE = 50
            }
            else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
               formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
               RED = 200
               GREEN = 20
               BLUE = 20
            }
            else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
               formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
               RED = 200
               GREEN = 20
               BLUE = 20
            }
            else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
               return
            set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
            show_hudmessage(id, "%s", Message)
         }
      }
   }
}

public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {
   if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {
      if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1
      || !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent
      || get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {
         set_es(es, ES_RenderFx, kRenderFxNone);
         set_es(es, ES_RenderMode, kRenderTransTexture);
         set_es(es, ES_RenderAmt, 255);
      }
      else if(get_user_team(ent) == 1) {
         set_es(es, ES_RenderFx, kRenderFxNone);
         set_es(es, ES_RenderMode, kRenderTransTexture);
         static Float:Origin[3]
         pev(ent, pev_origin, Origin)
         
         if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])
            set_es(es, ES_RenderAmt, 0);
         else
            set_es(es, ES_RenderAmt, 255);
      }
   }
}

public FWD_GameDescription() {
   static GameName[32]
   get_pcvar_string(cvar_gamedescription, GameName, 31)
   
   forward_return(FMV_STRING, GameName)
   
   return FMRES_SUPERCEDE
}

public TASK_CanPlant() {
   CanPlant = true;
   set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
   show_hudmessage(0, "Furienii pot planta bomba!")
}

public TASK_C4_CountDown() {
   new Red, Green, Blue
   if(C4_CountDownDelay > 10)
      Red = 0, Green = 255, Blue = 0;
   else if(C4_CountDownDelay > 5)
      Red = 255, Green = 200, Blue = 0;
   else if(C4_CountDownDelay <= 5)
      Red = 255, Green = 0, Blue = 0;
   
   if(C4_CountDownDelay) {
      new Message[256];
      formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);

      set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)
      show_hudmessage(0, "%s", Message)
      set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);
      C4_CountDownDelay--;
   }
   else if(!C4_CountDownDelay)
      C4_CountDownDelay = 0;
}

stock ColorChat(const id, const input[], any:...) {
   new count = 1, players[32];
   static msg[191];
   vformat(msg, 190, input, 3);
   
   replace_all(msg, 190, "!g", "^4");
   replace_all(msg, 190, "!y", "^1");
   replace_all(msg, 190, "!t", "^3");
   
   if(id) players[0] = id;
   else get_players(players, count, "ch"); {
      for(new i = 0; i < count; i++) {
         if(is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players[i]);
            write_byte(players[i]);
            write_string(msg);
            message_end();
         }
      }
   }
}


16 Feb 2019 17:41
Profile multumesc ICQ YIM
Membru, skill 0
Membru, skill 0

Joined: 13 Jan 2019 02:01
Posts: 33
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
L E V I N wrote:
| Afiseaza codul
Code:
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Furien Clasic"
#define VERSION "2.0"
#define AUTHOR "Aragon*/DaNNe."

#define DMG_HEGRENADE (1<<24)

#define FURIEN_GRAVITY      0.4
#define FURIEN_SPEED      750.0
#define TEAM_FURIEN 1
#define TEAM_ANTIFURIEN 2

#define TASKID_CANPLANT          10001
#define TASKID_C4COUNTDOWN       453

#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif

//Shop
new SuperKnifeModel_V[] = "models/v_superknife_new.mdl"
new bool: HaveSuperKnife[33]

//Settings
new bool:MakeVisible[33], Float:Wallorigin[33][3]

new Menu;
new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info,
MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health,
bool:CanPlant, C4_CountDownDelay;

public plugin_cfg() {
   server_cmd("amx_cvar mp_playerid 2")
   server_cmd("amx_cvar sv_maxspeed 900")
   server_cmd("amx_cvar sv_restart 5")
}


//===========================================================================================//
//===============================[Weapons Settings]=========================================//
//=========================================================================================//
new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];

//---|| Primary
#define M4A1_KEY      100
#define AK47_KEY      101
#define M3_KEY         102
#define AUG_KEY         103
#define FAMAS_KEY      104
#define MP5_KEY         105
#define XM1014_KEY      106

//---|| Secondary
#define USP_KEY         107
#define DEAGLE_KEY      108
#define ELITE_KEY      109
#define FIVESEVEN_KEY   110

public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   cvar_gamedescription = register_cvar("furien_gamename", "Furien CS1")
   antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
   furienspawnhp = register_cvar("furien_spawnhp", "100")
   superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0")
   cvar_autojoin_team = register_cvar("furien_team", "5")
   cvar_autojoin_class = register_cvar("furien_class", "5")
   cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")
   
   MSGID_SayText = get_user_msgid("SayText")
   MSGID_StatusIcon = get_user_msgid("StatusIcon")
   MSGID_TextMsg = get_user_msgid("TextMsg")
   MSGID_SendAudio = get_user_msgid("SendAudio")
   MSGID_ShowMenu = get_user_msgid("ShowMenu")
   MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
   
   register_clcmd("say shop", "CmdShopMenu")
   register_clcmd("say /shop", "CmdShopMenu")
   register_clcmd("say_team shop", "CmdShopMenu")
   register_clcmd("say_team /shop", "CmdShopMenu")
   //register_clcmd("say weapons", "CmdWeaponsMenu")
   //register_clcmd("say /weapons", "CmdWeaponsMenu")
   register_clcmd("jointeam", "CMD_BlockJoinTeam")
   register_clcmd("jointeam 1", "CMD_BlockJoinTeam")
   register_clcmd("jointeam 2", "CMD_BlockJoinTeam")
   register_clcmd("jointeam 3", "CMD_BlockJoinTeam")
   register_clcmd("chooseteam", "CMD_BlockChooseTeam")
   register_clcmd("say /beneficii", "CmdShowMotd")
   register_clcmd("say /rs", "CmdResetScore")
   register_clcmd("say_team /rs", "CmdResetScore")
   register_clcmd("say /resetscore", "CmdResetScore")
   register_clcmd("say_team /resetscore", "CmdResetScore")
   
   RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)
   RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")
   RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")
   RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")
   RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")
   RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack");
   
   register_forward(FM_PlayerPreThink, "Player_PreThink");
   register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);   
   register_forward(FM_GetGameDescription, "FWD_GameDescription")   
   
   register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")
   register_event("DeathMsg", "EVENT_Death", "a");
   register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");
   register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");
   register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")
   register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")   
   
   
   register_message(MSGID_StatusIcon, "MSG_StatusIcon");
   register_message(MSGID_TextMsg, "MSG_TextMessage");
   register_message(MSGID_ShowMenu, "MSG_ShowMenu");
   register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
   register_message(MSGID_SendAudio, "MSG_SendAudio");
   register_message(MSGID_Health, "MSG_Health")
}


public plugin_precache() {
   removebuyzone = register_cvar("furien_removebuyzone", "1")
   
   if(get_pcvar_num(removebuyzone)) {
      
      remove_entity_name("info_map_parameters");
      remove_entity_name("func_buyzone");
      
      new Entity = create_entity("info_map_parameters");
      
      DispatchKeyValue(Entity, "buying", "3");
      DispatchSpawn(Entity);
   }
   precache_model(SuperKnifeModel_V)
}

public client_connect(id) {
   client_cmd(id, "cl_forwardspeed 999.0")
   client_cmd(id, "cl_sidespeed 999.0")
   client_cmd(id, "cl_backspeed 999.0")
}

public client_putinserver(id) {
   client_cmd(id, "cl_forwardspeed 999.0")
   client_cmd(id, "cl_sidespeed 999.0")
   client_cmd(id, "cl_backspeed 999.0")
   PrimaryWeapon[id] = 0
   SecondaryWeapon[id] = 0
}
   

public Ham_Spawn_Post(id) {
   if(is_user_connected(id) && is_user_alive(id)) {
      strip_user_weapons(id)
      HavePrimaryWeapon[id] = false
      HaveSecondaryWeapon[id] = false
      switch(get_user_team(id)) {
         case TEAM_FURIEN: {
            fm_give_item(id, "weapon_hegrenade")
            fm_give_item(id, "weapon_knife")
            fm_give_item(id, "weapon_flashbang")
            set_user_footsteps(id, 1)
            fm_set_user_health(id, get_pcvar_num(furienspawnhp))
         }
         case TEAM_ANTIFURIEN: {
            fm_give_item(id, "weapon_flashbang")
            fm_give_item(id, "weapon_hegrenade")
            fm_give_item(id, "weapon_knife")
            set_user_footsteps(id, 0)
            fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))
            HaveSuperKnife[id] = false;
            Equipment(id)               
         }
      }
   }
}

public EVENT_NewRound() {
   CanPlant = false;
   new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0
   set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)
   remove_task(TASKID_C4COUNTDOWN)
}

public EVENT_FireINTheHole()
   return PLUGIN_HANDLED

public HAM_Touch_Weapon(ent, id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))
      return HAM_SUPERCEDE
   
   return HAM_IGNORED
}

public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {
   if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {
      if(get_user_weapon(Attacker) == CSW_KNIFE) {
         if(HaveSuperKnife[Attacker])
            SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))
      }
   }
   return HAM_IGNORED
}

///////////////////////////////////////////////////////////////////////////////////////////////

public C4_PrimaryAttack(Ent) {
   if(!CanPlant)
      return HAM_SUPERCEDE
      
   return HAM_IGNORED
}

public CmdResetScore(id) {
   if(get_user_frags(id) == 0 && get_user_deaths(id) == 0)
      ColorChat(id, "!gScorul tau este deja!t 0-0!g !")
   else {
      for(new i = 0; i < 2; i++) {
         cs_set_user_deaths(id, 0);
         set_user_frags(id, 0);
      }
      ColorChat(id, "!gTi-ai resetat scorul cu succes !")
   }
}

public CmdShopMenu(id) {
   if(!is_user_alive(id))
      return PLUGIN_HANDLED
   switch(get_user_team(id)) {
      case TEAM_FURIEN: CmdFurienShop(id)
      case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)
   }
   return PLUGIN_HANDLED
}

public CmdFurienShop(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {
      Menu = menu_create("\yFurien Shop", "CmdFurienHandler")
      
      new SuperKnife[256];
      formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")   
      menu_additem(Menu, SuperKnife, "1", 0)
      
      new Health[256];
      formatex(Health, sizeof(Health)-1, "50 HP   - \y3000$")
      menu_additem(Menu, Health, "2", 0)
      
      new Armor[256];
      formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
      menu_additem(Menu, Armor, "3", 0)
      
      new Grenade[256];
      formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
      menu_additem(Menu, Grenade, "4", 0)
      
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdAntiFurienShop(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
      Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")   

      new Defuse[256];
      formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")
      menu_additem(Menu, Defuse, "1", 0)
      
      new Health[256];
      formatex(Health, sizeof(Health)-1, "50 HP   - \y3000$")
      menu_additem(Menu, Health, "2", 0)
      
      new Armor[256];
      formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
      menu_additem(Menu, Armor, "3", 0)
      
      new Grenade[256];
      formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
      menu_additem(Menu, Grenade, "4", 0)

      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdFurienHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         if(HaveSuperKnife[id])
            client_print(id, print_center, "You already have SuperKnife!")
         else {
            new Money = cs_get_user_money(id) - 10000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               HaveSuperKnife[id] = true;
               EVENT_CurWeapon(id)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 2: {
         if(get_user_health(id) >= 250)
            client_print(id, print_center, "You already have 250 HP!")
         else {
            new Money = cs_get_user_money(id) - 3000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_health(id) + 50 > 250)
                  fm_set_user_health(id, 250)
               else
                  fm_set_user_health(id, get_user_health(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 3: {
         if(get_user_armor(id) >= 250)
            client_print(id, print_center, "You already have 250 AP!")
         else {
            new Money = cs_get_user_money(id) - 500
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_armor(id) + 50 > 250)
                  fm_set_user_armor(id, 250)
               else
                  fm_set_user_armor(id, get_user_armor(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 4: {
         if(user_has_weapon(id, CSW_HEGRENADE))
            client_print(id, print_center, "You already have HE GRENADE!")
         else {
            new Money = cs_get_user_money(id) - 4000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {   
               fm_give_item(id, "weapon_hegrenade")
               cs_set_user_money(id, Money)
            }
         }
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public CmdAntiFurienHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         if(cs_get_user_defuse(id))
            client_print(id, print_center, "You already have Defuse KIT!")
         else {
            new Money = cs_get_user_money(id) - 500
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               cs_set_user_defuse(id, 1)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 2: {
         if(get_user_health(id) >= 250)
            client_print(id, print_center, "You already have 250 HP!")
         else {
            new Money = cs_get_user_money(id) - 3000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_health(id) + 50 > 250)
                  fm_set_user_health(id, 250)
               else
                  fm_set_user_health(id, get_user_health(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 3: {
         if(get_user_armor(id) >= 250)
            client_print(id, print_center, "You already have 250 AP!")
         else {
            new Money = cs_get_user_money(id) - 500
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_armor(id) + 50 > 250)
                  fm_set_user_armor(id, 250)
               else
                  fm_set_user_armor(id, get_user_armor(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 4: {
         if(user_has_weapon(id, CSW_HEGRENADE))
            client_print(id, print_center, "You already have HE GRENADE!")
         else {
            new Money = cs_get_user_money(id) - 4000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {   
               fm_give_item(id, "weapon_hegrenade")
               cs_set_user_money(id, Money)
            }
         }
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

//=========================================================================//
//=======================[Weapons Settings]===============================//
//=======================================================================//

public Equipment(id) {
   if(is_user_alive(id) && get_user_team(id) == 2) {
      Menu = menu_create("\rWeapons Menu", "EquipmentCmd");
      menu_additem(Menu, "\wNew Weapons", "1", 0);
      if(PrimaryWeapon[id] && SecondaryWeapon[id])
         menu_additem(Menu, "\wPrevious Setup", "2", 0);
      else
         menu_additem(Menu, "\dPrevious Setup", "2", 0);
      menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
      menu_display(id, Menu, 0);
   }
}

public EquipmentCmd(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         if(!HavePrimaryWeapon[id])
            Primary(id)
         else if(!HaveSecondaryWeapon[id])
            Secondary(id)
      }
      case 2: {
         if(PrimaryWeapon[id] && SecondaryWeapon[id])
            GiveLastWeapons(id)
         else Equipment(id)
      }
      default: return PLUGIN_HANDLED;
   }
   menu_destroy(menu);
   return PLUGIN_HANDLED;
}

public Primary(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
      Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")
      
      menu_additem(Menu, "M4A1", "1", 0)
      menu_additem(Menu, "AK47", "2", 0)
      menu_additem(Menu, "M3", "3", 0)
      menu_additem(Menu, "Aug", "4", 0)
      menu_additem(Menu, "Famas", "5", 0)
      menu_additem(Menu, "MP5 Navy", "6", 0)
      menu_additem(Menu, "XM1014", "7", 0)
      
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdWeaponsHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         fm_give_item(id, "weapon_m4a1")
         cs_set_user_bpammo(id, CSW_M4A1, 254)
         PrimaryWeapon[id] = M4A1_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 2: {
         fm_give_item(id, "weapon_ak47")
         cs_set_user_bpammo(id, CSW_AK47, 254)
         PrimaryWeapon[id] = AK47_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 3: {
         fm_give_item(id, "weapon_m3")
         cs_set_user_bpammo(id, CSW_M3, 254)
         PrimaryWeapon[id] = M3_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 4: {
         fm_give_item(id, "weapon_aug")
         cs_set_user_bpammo(id, CSW_AUG, 254)
         PrimaryWeapon[id] = AUG_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 5: {
         fm_give_item(id, "weapon_famas")
         cs_set_user_bpammo(id, CSW_FAMAS, 254)
         PrimaryWeapon[id] = FAMAS_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 6: {
         fm_give_item(id, "weapon_mp5navy")
         cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
         PrimaryWeapon[id] = MP5_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 7: {
         fm_give_item(id, "weapon_xm1014")
         cs_set_user_bpammo(id, CSW_XM1014, 254)
         PrimaryWeapon[id] = XM1014_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public Secondary(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
      Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")
      
      menu_additem(Menu, "USP", "1", 0)
      menu_additem(Menu, "Deagle", "2", 0)
      menu_additem(Menu, "Elite", "3", 0)
      menu_additem(Menu, "Five Seven", "4", 0)
      
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdSecondaryHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {      
      case 1: {
         fm_give_item(id, "weapon_usp")
         cs_set_user_bpammo(id, CSW_USP, 256)
         SecondaryWeapon[id] = USP_KEY
         HaveSecondaryWeapon[id] = true;
      }
      case 2: {
         fm_give_item(id, "weapon_deagle")
         cs_set_user_bpammo(id, CSW_DEAGLE, 256)
         SecondaryWeapon[id] = DEAGLE_KEY
         HaveSecondaryWeapon[id] = true;
      }
      case 3: {
         fm_give_item(id, "weapon_elite")
         cs_set_user_bpammo(id, CSW_ELITE, 256)
         SecondaryWeapon[id] = ELITE_KEY
         HaveSecondaryWeapon[id] = true;
      }
      case 4: {
         fm_give_item(id, "weapon_fiveseven")
         cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
         SecondaryWeapon[id] = FIVESEVEN_KEY
         HaveSecondaryWeapon[id] = true;
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public GiveLastWeapons(id) {
   if(!HavePrimaryWeapon[id]) {
      switch(PrimaryWeapon[id]) {
         case M4A1_KEY: {
            fm_give_item(id, "weapon_m4a1")
            cs_set_user_bpammo(id, CSW_M4A1, 256)
            HavePrimaryWeapon[id] = true;
         }
         case AK47_KEY: {
            fm_give_item(id, "weapon_ak47")
            cs_set_user_bpammo(id, CSW_AK47, 256)
            HavePrimaryWeapon[id] = true;
         }
         case M3_KEY: {
            fm_give_item(id, "weapon_m3")
            cs_set_user_bpammo(id, CSW_M3, 256)
            HavePrimaryWeapon[id] = true;
         }
         case AUG_KEY: {
            fm_give_item(id, "weapon_aug")
            cs_set_user_bpammo(id, CSW_AUG, 256)
            HavePrimaryWeapon[id] = true;
         }
         case FAMAS_KEY: {
            fm_give_item(id, "weapon_famas")
            cs_set_user_bpammo(id, CSW_FAMAS, 256)
            HavePrimaryWeapon[id] = true;
         }
         case MP5_KEY: {
            fm_give_item(id, "weapon_mp5navy")
            cs_set_user_bpammo(id, CSW_MP5NAVY, 256)
            HavePrimaryWeapon[id] = true;
         }
         case XM1014_KEY: {
            fm_give_item(id, "weapon_xm1014")
            cs_set_user_bpammo(id, CSW_XM1014, 256)
            HavePrimaryWeapon[id] = true;
         }
      }
   }
   if(!HaveSecondaryWeapon[id]) {
      switch(SecondaryWeapon[id]) {
         case USP_KEY: {
            fm_give_item(id, "weapon_usp")
            cs_set_user_bpammo(id, CSW_USP, 256)
            HaveSecondaryWeapon[id] = true;
         }
         case DEAGLE_KEY: {
            fm_give_item(id, "weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 256)
            HaveSecondaryWeapon[id] = true;
         }
         case ELITE_KEY: {
            fm_give_item(id, "weapon_elite")
            cs_set_user_bpammo(id, CSW_ELITE, 256)
            HaveSecondaryWeapon[id] = true;
         }
         case FIVESEVEN_KEY: {
            fm_give_item(id, "weapon_fiveseven")
            cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
            HaveSecondaryWeapon[id] = true;
         }
      }
   }
}
public CMD_BlockJoinTeam(id) {
   console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***")
   return 1;
}

public CMD_BlockChooseTeam(id) {
   console_print(id, "*** Nu ai voie sa foloseti ChooseTeam ! ***")
   return 1;
}

public CmdShowMotd(id)
   show_motd(id, "addons/amxmodx/configs/beneficii.html")

/////////////////////////////////////////////////////////////////////////

public EVENT_CurWeapon(id) {
   if(is_user_connected(id)) {
      if(get_user_weapon(id) == CSW_KNIFE) {
         if(HaveSuperKnife[id])
            set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
      }
      new PlayerHealth;
      PlayerHealth = get_user_health(id)
      if(PlayerHealth == 256)
         fm_set_user_health(id, 255)
   }

}

public EVENT_Death() {
   HaveSuperKnife[read_data(2)] = false;
}

public MSG_StatusIcon(msg_id, msg_dest, id) {
   static Attrib
   Attrib = get_msg_arg_int(2)
   
   if(Attrib == (1<<1))
      set_msg_arg_int(2, ARG_BYTE, 0)
   
   new Icon[8];
   get_msg_arg_string(2, Icon, 7);
   if(get_pcvar_num(removebuyzone)) {
      static const BuyZone[] = "buyzone";
      
      if(equal(Icon, BuyZone)) {
         set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);
         
         return PLUGIN_HANDLED;
      }
   }
   return PLUGIN_CONTINUE;
}

public MSG_TextMessage() {
   static TextMsg[22];
   get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
   if(equal(TextMsg, "#Terrorists_Win")) {
      client_print(0, print_center, "The Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#CTs_Win")) {
      client_print(0, print_center, "The Anti-Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#Bomb_Defused")) {
      client_print(0, print_center, "The Anti-Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#Target_Bombed")) {
      client_print(0, print_center, "The Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#Target_Saved")) {
      client_print(0, print_center, "The Anti-Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#Fire_in_the_hole"))
      return PLUGIN_HANDLED
   else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {
      if(!CanPlant)
         return PLUGIN_HANDLED
   }
   return PLUGIN_CONTINUE;
}

public MSG_ShowMenu(msgid, dest, id) {
   if(!Should_AutoJoin(id))
      return PLUGIN_CONTINUE
   
   static team_select[] = "#Team_Select"
   static menu_text_code[sizeof team_select]
   get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)
   if(!equal(menu_text_code, team_select))
      return PLUGIN_CONTINUE
   
   JoinTeam_Task(id, msgid)
   
   return PLUGIN_HANDLED
}

public MSG_VGUIMenu(msgid, dest, id) {
   if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))
      return PLUGIN_CONTINUE
   
   JoinTeam_Task(id, msgid)
   
   return PLUGIN_HANDLED
}

public MSG_SendAudio() {
   static Sound[17]
   get_msg_arg_string(2, Sound, sizeof Sound - 1)
   
   if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))
      return PLUGIN_HANDLED;
   
   return PLUGIN_CONTINUE;
}

public MSG_Health(msgid, dest, id) {
   static Health;
   Health = get_msg_arg_int(1)
   if(Health > 255)
      set_msg_arg_int(1, ARG_BYTE, 255);
   else if(Health == 256)
      set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)
}

bool:Should_AutoJoin(id) {
   return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))
}

JoinTeam_Task(id, menu_msgid) {
   static param_menu_msgid[2]
   param_menu_msgid[0] = menu_msgid
   
   set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)
}

public Force_JoinTeam(menu_msgid[], id) {
   if(get_user_team(id))
      return
   
   static team[2], class[2]
   get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)
   get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)
   Force_Team_Join(id, menu_msgid[0], team, class)
}

stock Force_Team_Join(id, menu_msgid,  team[] = "5", class[] = "0") {
   static jointeam[] = "jointeam"
   if(class[0] == '0') {
      engclient_cmd(id, jointeam, team)
      return
   }
   
   static msg_block, joinclass[] = "joinclass"
   msg_block = get_msg_block(menu_msgid)
   set_msg_block(menu_msgid, BLOCK_SET)
   engclient_cmd(id, jointeam, team)
   engclient_cmd(id, joinclass, class)
   set_msg_block(menu_msgid, msg_block)
}

public bomb_planted(planter) {
   C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1
   TASK_C4_CountDown();
   set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
   show_hudmessage(0, "Furienii au plantat bomba!")
}

public EVENT_SwitchTeam() {
   new Players[32], PlayersNum, id;
   get_players(Players, PlayersNum)
   if(PlayersNum) {
      for(new i; i < PlayersNum; i++) {
         id = Players[i]
         BeginDelay(id)
      }
   }
}

public BeginDelay(id) {
   if(is_user_connected(id)) {
      switch(id) {
         case 1..7: set_task(0.1, "BeginTeamSwap", id)
         case 8..15: set_task(0.2, "BeginTeamSwap", id)
         case 16..23: set_task(0.3, "BeginTeamSwap", id)
         case 24..32: set_task(0.4, "BeginTeamSwap", id)
      }
   }
}

public BeginTeamSwap(id) {
   if(is_user_connected(id)) {
      switch(get_user_team(id)) {
         case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)
         case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)
      }
   }
}   

///////////////////////////////////////////////////////////////////////////////////////////////

public Player_PreThink(id) {
   if(is_user_connected(id)) {
      if(get_user_team(id) == TEAM_FURIEN) {
         if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)
            set_pev(id, pev_gravity, FURIEN_GRAVITY)
      
         if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {
            set_pev(id, pev_maxspeed, FURIEN_SPEED)
            set_user_footsteps(id, 1)
         }
      }
      if(get_pcvar_num(cvar_aim_info)) {
         new Target, Body;
         get_user_aiming(id, Target, Body);
         if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {
            new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;
            TargetTeam = get_user_team(Target)
            PlayerTeam = get_user_team(id)
            get_user_name(Target, TargetName, 31)
            TargetHealth = get_user_health(Target)
            TargetArmor = get_user_armor(Target)
            if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {
               formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
               RED = 20
               GREEN = 200
               BLUE = 50
            }
            else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
               formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
               RED = 200
               GREEN = 20
               BLUE = 20
            }
            else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
               formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
               RED = 200
               GREEN = 20
               BLUE = 20
            }
            else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
               return
            set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
            show_hudmessage(id, "%s", Message)
         }
      }
   }
}

public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {
   if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {
      if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1
      || !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent
      || get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {
         set_es(es, ES_RenderFx, kRenderFxNone);
         set_es(es, ES_RenderMode, kRenderTransTexture);
         set_es(es, ES_RenderAmt, 255);
      }
      else if(get_user_team(ent) == 1) {
         set_es(es, ES_RenderFx, kRenderFxNone);
         set_es(es, ES_RenderMode, kRenderTransTexture);
         static Float:Origin[3]
         pev(ent, pev_origin, Origin)
         
         if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])
            set_es(es, ES_RenderAmt, 0);
         else
            set_es(es, ES_RenderAmt, 255);
      }
   }
}

public FWD_GameDescription() {
   static GameName[32]
   get_pcvar_string(cvar_gamedescription, GameName, 31)
   
   forward_return(FMV_STRING, GameName)
   
   return FMRES_SUPERCEDE
}

public TASK_CanPlant() {
   CanPlant = true;
   set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
   show_hudmessage(0, "Furienii pot planta bomba!")
}

public TASK_C4_CountDown() {
   new Red, Green, Blue
   if(C4_CountDownDelay > 10)
      Red = 0, Green = 255, Blue = 0;
   else if(C4_CountDownDelay > 5)
      Red = 255, Green = 200, Blue = 0;
   else if(C4_CountDownDelay <= 5)
      Red = 255, Green = 0, Blue = 0;
   
   if(C4_CountDownDelay) {
      new Message[256];
      formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);

      set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)
      show_hudmessage(0, "%s", Message)
      set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);
      C4_CountDownDelay--;
   }
   else if(!C4_CountDownDelay)
      C4_CountDownDelay = 0;
}

stock ColorChat(const id, const input[], any:...) {
   new count = 1, players[32];
   static msg[191];
   vformat(msg, 190, input, 3);
   
   replace_all(msg, 190, "!g", "^4");
   replace_all(msg, 190, "!y", "^1");
   replace_all(msg, 190, "!t", "^3");
   
   if(id) players[0] = id;
   else get_players(players, count, "ch"); {
      for(new i = 0; i < count; i++) {
         if(is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players[i]);
            write_byte(players[i]);
            write_string(msg);
            message_end();
         }
      }
   }
}
îmi poți scoate și bomba te rog? Când ai timp


17 Feb 2019 15:16
Profile multumesc WWW
Scripter eXtreamCS
Scripter eXtreamCS
User avatar

Joined: 24 Aug 2011 11:24
Posts: 1964
Location: |<()|)
Detinator Steam: Da
CS Status: HLDS Builder
Detinator server CS: liber de contract
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Fond eXtream: 0
cum adică bomba?


17 Feb 2019 15:41
Profile multumesc ICQ YIM
Membru, skill 0
Membru, skill 0

Joined: 13 Jan 2019 02:01
Posts: 33
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
L E V I N wrote:
cum adică bomba?

Plantatul bombei să mi-l scoți din bază dacă ai putea te rog


18 Feb 2019 00:01
Profile multumesc WWW
Scripter eXtreamCS
Scripter eXtreamCS
User avatar

Joined: 24 Aug 2011 11:24
Posts: 1964
Location: |<()|)
Detinator Steam: Da
CS Status: HLDS Builder
Detinator server CS: liber de contract
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Fond eXtream: 0
adică să poată planta când vrea?


18 Feb 2019 15:58
Profile multumesc ICQ YIM
Membru, skill 0
Membru, skill 0

Joined: 13 Jan 2019 02:01
Posts: 33
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
L E V I N wrote:
adică să poată planta când vrea?

Să scoți de tot bomba din el deoarece voi pune event bomb și doresc baza cât mai curata


18 Feb 2019 17:05
Profile multumesc WWW
Scripter eXtreamCS
Scripter eXtreamCS
User avatar

Joined: 24 Aug 2011 11:24
Posts: 1964
Location: |<()|)
Detinator Steam: Da
CS Status: HLDS Builder
Detinator server CS: liber de contract
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Fond eXtream: 0
| Afiseaza codul
Code:
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Furien Clasic"
#define VERSION "2.0"
#define AUTHOR "Aragon*/DaNNe."

#define DMG_HEGRENADE (1<<24)

#define FURIEN_GRAVITY      0.4
#define FURIEN_SPEED      750.0
#define TEAM_FURIEN 1
#define TEAM_ANTIFURIEN 2

#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif

//Shop
new SuperKnifeModel_V[] = "models/v_superknife_new.mdl"
new bool: HaveSuperKnife[33]

//Settings
new bool:MakeVisible[33], Float:Wallorigin[33][3]

new Menu;
new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info,
MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health

public plugin_cfg() {
   server_cmd("amx_cvar mp_playerid 2")
   server_cmd("amx_cvar sv_maxspeed 900")
   server_cmd("amx_cvar sv_restart 5")
}


//===========================================================================================//
//===============================[Weapons Settings]=========================================//
//=========================================================================================//
new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];

//---|| Primary
#define M4A1_KEY      100
#define AK47_KEY      101
#define M3_KEY         102
#define AUG_KEY         103
#define FAMAS_KEY      104
#define MP5_KEY         105
#define XM1014_KEY      106

//---|| Secondary
#define USP_KEY         107
#define DEAGLE_KEY      108
#define ELITE_KEY      109
#define FIVESEVEN_KEY   110

public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   cvar_gamedescription = register_cvar("furien_gamename", "Furien CS1")
   antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
   furienspawnhp = register_cvar("furien_spawnhp", "100")
   superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0")
   cvar_autojoin_team = register_cvar("furien_team", "5")
   cvar_autojoin_class = register_cvar("furien_class", "5")
   cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")
   
   MSGID_SayText = get_user_msgid("SayText")
   MSGID_StatusIcon = get_user_msgid("StatusIcon")
   MSGID_TextMsg = get_user_msgid("TextMsg")
   MSGID_SendAudio = get_user_msgid("SendAudio")
   MSGID_ShowMenu = get_user_msgid("ShowMenu")
   MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
   
   register_clcmd("say shop", "CmdShopMenu")
   register_clcmd("say /shop", "CmdShopMenu")
   register_clcmd("say_team shop", "CmdShopMenu")
   register_clcmd("say_team /shop", "CmdShopMenu")
   //register_clcmd("say weapons", "CmdWeaponsMenu")
   //register_clcmd("say /weapons", "CmdWeaponsMenu")
   register_clcmd("jointeam", "CMD_BlockJoinTeam")
   register_clcmd("jointeam 1", "CMD_BlockJoinTeam")
   register_clcmd("jointeam 2", "CMD_BlockJoinTeam")
   register_clcmd("jointeam 3", "CMD_BlockJoinTeam")
   register_clcmd("chooseteam", "CMD_BlockChooseTeam")
   register_clcmd("say /beneficii", "CmdShowMotd")
   register_clcmd("say /rs", "CmdResetScore")
   register_clcmd("say_team /rs", "CmdResetScore")
   register_clcmd("say /resetscore", "CmdResetScore")
   register_clcmd("say_team /resetscore", "CmdResetScore")
   
   RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)
   RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")
   RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")
   RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")
   RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")
   
   register_forward(FM_PlayerPreThink, "Player_PreThink");
   register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);   
   register_forward(FM_GetGameDescription, "FWD_GameDescription")   
   
   register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")
   register_event("DeathMsg", "EVENT_Death", "a");
   register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");
   register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")
   register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")   
   
   
   register_message(MSGID_StatusIcon, "MSG_StatusIcon");
   register_message(MSGID_TextMsg, "MSG_TextMessage");
   register_message(MSGID_ShowMenu, "MSG_ShowMenu");
   register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
   register_message(MSGID_SendAudio, "MSG_SendAudio");
   register_message(MSGID_Health, "MSG_Health")
}


public plugin_precache() {
   removebuyzone = register_cvar("furien_removebuyzone", "1")
   
   if(get_pcvar_num(removebuyzone)) {
     
      remove_entity_name("info_map_parameters");
      remove_entity_name("func_buyzone");
     
      new Entity = create_entity("info_map_parameters");
     
      DispatchKeyValue(Entity, "buying", "3");
      DispatchSpawn(Entity);
   }
   precache_model(SuperKnifeModel_V)
}

public client_connect(id) {
   client_cmd(id, "cl_forwardspeed 999.0")
   client_cmd(id, "cl_sidespeed 999.0")
   client_cmd(id, "cl_backspeed 999.0")
}

public client_putinserver(id) {
   client_cmd(id, "cl_forwardspeed 999.0")
   client_cmd(id, "cl_sidespeed 999.0")
   client_cmd(id, "cl_backspeed 999.0")
   PrimaryWeapon[id] = 0
   SecondaryWeapon[id] = 0
}
   

public Ham_Spawn_Post(id) {
   if(is_user_connected(id) && is_user_alive(id)) {
      strip_user_weapons(id)
      HavePrimaryWeapon[id] = false
      HaveSecondaryWeapon[id] = false
      switch(get_user_team(id)) {
         case TEAM_FURIEN: {
            fm_give_item(id, "weapon_hegrenade")
            fm_give_item(id, "weapon_knife")
            fm_give_item(id, "weapon_flashbang")
            set_user_footsteps(id, 1)
            fm_set_user_health(id, get_pcvar_num(furienspawnhp))
         }
         case TEAM_ANTIFURIEN: {
            fm_give_item(id, "weapon_flashbang")
            fm_give_item(id, "weapon_hegrenade")
            fm_give_item(id, "weapon_knife")
            set_user_footsteps(id, 0)
            fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))
            HaveSuperKnife[id] = false;
            Equipment(id)               
         }
      }
   }
}

public EVENT_FireINTheHole()
   return PLUGIN_HANDLED

public HAM_Touch_Weapon(ent, id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))
      return HAM_SUPERCEDE
   
   return HAM_IGNORED
}

public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {
   if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {
      if(get_user_weapon(Attacker) == CSW_KNIFE) {
         if(HaveSuperKnife[Attacker])
            SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))
      }
   }
   return HAM_IGNORED
}

///////////////////////////////////////////////////////////////////////////////////////////////

public CmdResetScore(id) {
   if(get_user_frags(id) == 0 && get_user_deaths(id) == 0)
      ColorChat(id, "!gScorul tau este deja!t 0-0!g !")
   else {
      for(new i = 0; i < 2; i++) {
         cs_set_user_deaths(id, 0);
         set_user_frags(id, 0);
      }
      ColorChat(id, "!gTi-ai resetat scorul cu succes !")
   }
}

public CmdShopMenu(id) {
   if(!is_user_alive(id))
      return PLUGIN_HANDLED
   switch(get_user_team(id)) {
      case TEAM_FURIEN: CmdFurienShop(id)
      case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)
   }
   return PLUGIN_HANDLED
}

public CmdFurienShop(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {
      Menu = menu_create("\yFurien Shop", "CmdFurienHandler")
     
      new SuperKnife[256];
      formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")   
      menu_additem(Menu, SuperKnife, "1", 0)
     
      new Health[256];
      formatex(Health, sizeof(Health)-1, "50 HP   - \y3000$")
      menu_additem(Menu, Health, "2", 0)
     
      new Armor[256];
      formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
      menu_additem(Menu, Armor, "3", 0)
     
      new Grenade[256];
      formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
      menu_additem(Menu, Grenade, "4", 0)
     
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdAntiFurienShop(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
      Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")   

      new Defuse[256];
      formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")
      menu_additem(Menu, Defuse, "1", 0)
     
      new Health[256];
      formatex(Health, sizeof(Health)-1, "50 HP   - \y3000$")
      menu_additem(Menu, Health, "2", 0)
     
      new Armor[256];
      formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
      menu_additem(Menu, Armor, "3", 0)
     
      new Grenade[256];
      formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
      menu_additem(Menu, Grenade, "4", 0)

      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdFurienHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         if(HaveSuperKnife[id])
            client_print(id, print_center, "You already have SuperKnife!")
         else {
            new Money = cs_get_user_money(id) - 10000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               HaveSuperKnife[id] = true;
               EVENT_CurWeapon(id)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 2: {
         if(get_user_health(id) >= 250)
            client_print(id, print_center, "You already have 250 HP!")
         else {
            new Money = cs_get_user_money(id) - 3000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_health(id) + 50 > 250)
                  fm_set_user_health(id, 250)
               else
                  fm_set_user_health(id, get_user_health(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 3: {
         if(get_user_armor(id) >= 250)
            client_print(id, print_center, "You already have 250 AP!")
         else {
            new Money = cs_get_user_money(id) - 500
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_armor(id) + 50 > 250)
                  fm_set_user_armor(id, 250)
               else
                  fm_set_user_armor(id, get_user_armor(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 4: {
         if(user_has_weapon(id, CSW_HEGRENADE))
            client_print(id, print_center, "You already have HE GRENADE!")
         else {
            new Money = cs_get_user_money(id) - 4000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {   
               fm_give_item(id, "weapon_hegrenade")
               cs_set_user_money(id, Money)
            }
         }
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public CmdAntiFurienHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         if(cs_get_user_defuse(id))
            client_print(id, print_center, "You already have Defuse KIT!")
         else {
            new Money = cs_get_user_money(id) - 500
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               cs_set_user_defuse(id, 1)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 2: {
         if(get_user_health(id) >= 250)
            client_print(id, print_center, "You already have 250 HP!")
         else {
            new Money = cs_get_user_money(id) - 3000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_health(id) + 50 > 250)
                  fm_set_user_health(id, 250)
               else
                  fm_set_user_health(id, get_user_health(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 3: {
         if(get_user_armor(id) >= 250)
            client_print(id, print_center, "You already have 250 AP!")
         else {
            new Money = cs_get_user_money(id) - 500
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {
               if(get_user_armor(id) + 50 > 250)
                  fm_set_user_armor(id, 250)
               else
                  fm_set_user_armor(id, get_user_armor(id) + 50)
               cs_set_user_money(id, Money)
            }
         }
      }
      case 4: {
         if(user_has_weapon(id, CSW_HEGRENADE))
            client_print(id, print_center, "You already have HE GRENADE!")
         else {
            new Money = cs_get_user_money(id) - 4000
            if(Money < 0)
               client_print(id, print_center, "You have  insufficient founds!")
            else {   
               fm_give_item(id, "weapon_hegrenade")
               cs_set_user_money(id, Money)
            }
         }
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

//=========================================================================//
//=======================[Weapons Settings]===============================//
//=======================================================================//

public Equipment(id) {
   if(is_user_alive(id) && get_user_team(id) == 2) {
      Menu = menu_create("\rWeapons Menu", "EquipmentCmd");
      menu_additem(Menu, "\wNew Weapons", "1", 0);
      if(PrimaryWeapon[id] && SecondaryWeapon[id])
         menu_additem(Menu, "\wPrevious Setup", "2", 0);
      else
         menu_additem(Menu, "\dPrevious Setup", "2", 0);
      menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
      menu_display(id, Menu, 0);
   }
}

public EquipmentCmd(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         if(!HavePrimaryWeapon[id])
            Primary(id)
         else if(!HaveSecondaryWeapon[id])
            Secondary(id)
      }
      case 2: {
         if(PrimaryWeapon[id] && SecondaryWeapon[id])
            GiveLastWeapons(id)
         else Equipment(id)
      }
      default: return PLUGIN_HANDLED;
   }
   menu_destroy(menu);
   return PLUGIN_HANDLED;
}

public Primary(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
      Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")
     
      menu_additem(Menu, "M4A1", "1", 0)
      menu_additem(Menu, "AK47", "2", 0)
      menu_additem(Menu, "M3", "3", 0)
      menu_additem(Menu, "Aug", "4", 0)
      menu_additem(Menu, "Famas", "5", 0)
      menu_additem(Menu, "MP5 Navy", "6", 0)
      menu_additem(Menu, "XM1014", "7", 0)
     
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdWeaponsHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {
      case 1: {
         fm_give_item(id, "weapon_m4a1")
         cs_set_user_bpammo(id, CSW_M4A1, 254)
         PrimaryWeapon[id] = M4A1_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 2: {
         fm_give_item(id, "weapon_ak47")
         cs_set_user_bpammo(id, CSW_AK47, 254)
         PrimaryWeapon[id] = AK47_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 3: {
         fm_give_item(id, "weapon_m3")
         cs_set_user_bpammo(id, CSW_M3, 254)
         PrimaryWeapon[id] = M3_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 4: {
         fm_give_item(id, "weapon_aug")
         cs_set_user_bpammo(id, CSW_AUG, 254)
         PrimaryWeapon[id] = AUG_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 5: {
         fm_give_item(id, "weapon_famas")
         cs_set_user_bpammo(id, CSW_FAMAS, 254)
         PrimaryWeapon[id] = FAMAS_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 6: {
         fm_give_item(id, "weapon_mp5navy")
         cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
         PrimaryWeapon[id] = MP5_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
      case 7: {
         fm_give_item(id, "weapon_xm1014")
         cs_set_user_bpammo(id, CSW_XM1014, 254)
         PrimaryWeapon[id] = XM1014_KEY
         HavePrimaryWeapon[id] = true;
         Secondary(id)
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public Secondary(id) {
   if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
      Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")
     
      menu_additem(Menu, "USP", "1", 0)
      menu_additem(Menu, "Deagle", "2", 0)
      menu_additem(Menu, "Elite", "3", 0)
      menu_additem(Menu, "Five Seven", "4", 0)
     
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
      menu_display(id, Menu, 0);
   }
}

public CmdSecondaryHandler(id, menu, item) {
   if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
      menu_destroy(menu);
      return PLUGIN_HANDLED;
   }
   new Data[6], Name[64];
   new Access, CallBack;
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
   new Key = str_to_num(Data);
   switch(Key) {     
      case 1: {
         fm_give_item(id, "weapon_usp")
         cs_set_user_bpammo(id, CSW_USP, 256)
         SecondaryWeapon[id] = USP_KEY
         HaveSecondaryWeapon[id] = true;
      }
      case 2: {
         fm_give_item(id, "weapon_deagle")
         cs_set_user_bpammo(id, CSW_DEAGLE, 256)
         SecondaryWeapon[id] = DEAGLE_KEY
         HaveSecondaryWeapon[id] = true;
      }
      case 3: {
         fm_give_item(id, "weapon_elite")
         cs_set_user_bpammo(id, CSW_ELITE, 256)
         SecondaryWeapon[id] = ELITE_KEY
         HaveSecondaryWeapon[id] = true;
      }
      case 4: {
         fm_give_item(id, "weapon_fiveseven")
         cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
         SecondaryWeapon[id] = FIVESEVEN_KEY
         HaveSecondaryWeapon[id] = true;
      }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public GiveLastWeapons(id) {
   if(!HavePrimaryWeapon[id]) {
      switch(PrimaryWeapon[id]) {
         case M4A1_KEY: {
            fm_give_item(id, "weapon_m4a1")
            cs_set_user_bpammo(id, CSW_M4A1, 256)
            HavePrimaryWeapon[id] = true;
         }
         case AK47_KEY: {
            fm_give_item(id, "weapon_ak47")
            cs_set_user_bpammo(id, CSW_AK47, 256)
            HavePrimaryWeapon[id] = true;
         }
         case M3_KEY: {
            fm_give_item(id, "weapon_m3")
            cs_set_user_bpammo(id, CSW_M3, 256)
            HavePrimaryWeapon[id] = true;
         }
         case AUG_KEY: {
            fm_give_item(id, "weapon_aug")
            cs_set_user_bpammo(id, CSW_AUG, 256)
            HavePrimaryWeapon[id] = true;
         }
         case FAMAS_KEY: {
            fm_give_item(id, "weapon_famas")
            cs_set_user_bpammo(id, CSW_FAMAS, 256)
            HavePrimaryWeapon[id] = true;
         }
         case MP5_KEY: {
            fm_give_item(id, "weapon_mp5navy")
            cs_set_user_bpammo(id, CSW_MP5NAVY, 256)
            HavePrimaryWeapon[id] = true;
         }
         case XM1014_KEY: {
            fm_give_item(id, "weapon_xm1014")
            cs_set_user_bpammo(id, CSW_XM1014, 256)
            HavePrimaryWeapon[id] = true;
         }
      }
   }
   if(!HaveSecondaryWeapon[id]) {
      switch(SecondaryWeapon[id]) {
         case USP_KEY: {
            fm_give_item(id, "weapon_usp")
            cs_set_user_bpammo(id, CSW_USP, 256)
            HaveSecondaryWeapon[id] = true;
         }
         case DEAGLE_KEY: {
            fm_give_item(id, "weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 256)
            HaveSecondaryWeapon[id] = true;
         }
         case ELITE_KEY: {
            fm_give_item(id, "weapon_elite")
            cs_set_user_bpammo(id, CSW_ELITE, 256)
            HaveSecondaryWeapon[id] = true;
         }
         case FIVESEVEN_KEY: {
            fm_give_item(id, "weapon_fiveseven")
            cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
            HaveSecondaryWeapon[id] = true;
         }
      }
   }
}
public CMD_BlockJoinTeam(id) {
   console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***")
   return 1;
}

public CMD_BlockChooseTeam(id) {
   console_print(id, "*** Nu ai voie sa foloseti ChooseTeam ! ***")
   return 1;
}

public CmdShowMotd(id)
   show_motd(id, "addons/amxmodx/configs/beneficii.html")

/////////////////////////////////////////////////////////////////////////

public EVENT_CurWeapon(id) {
   if(is_user_connected(id)) {
      if(get_user_weapon(id) == CSW_KNIFE) {
         if(HaveSuperKnife[id])
            set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
      }
      new PlayerHealth;
      PlayerHealth = get_user_health(id)
      if(PlayerHealth == 256)
         fm_set_user_health(id, 255)
   }

}

public EVENT_Death() {
   HaveSuperKnife[read_data(2)] = false;
}

public MSG_StatusIcon(msg_id, msg_dest, id) {
   static Attrib
   Attrib = get_msg_arg_int(2)
   
   if(Attrib == (1<<1))
      set_msg_arg_int(2, ARG_BYTE, 0)
   
   new Icon[8];
   get_msg_arg_string(2, Icon, 7);
   if(get_pcvar_num(removebuyzone)) {
      static const BuyZone[] = "buyzone";
     
      if(equal(Icon, BuyZone)) {
         set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);
         
         return PLUGIN_HANDLED;
      }
   }
   return PLUGIN_CONTINUE;
}

public MSG_TextMessage() {
   static TextMsg[22];
   get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
   if(equal(TextMsg, "#Terrorists_Win")) {
      client_print(0, print_center, "The Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#CTs_Win")) {
      client_print(0, print_center, "The Anti-Furiens have won this round!")
      return PLUGIN_HANDLED;
   }
   else if(equal(TextMsg, "#Fire_in_the_hole"))
      return PLUGIN_HANDLED
   return PLUGIN_CONTINUE;
}

public MSG_ShowMenu(msgid, dest, id) {
   if(!Should_AutoJoin(id))
      return PLUGIN_CONTINUE
   
   static team_select[] = "#Team_Select"
   static menu_text_code[sizeof team_select]
   get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)
   if(!equal(menu_text_code, team_select))
      return PLUGIN_CONTINUE
   
   JoinTeam_Task(id, msgid)
   
   return PLUGIN_HANDLED
}

public MSG_VGUIMenu(msgid, dest, id) {
   if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))
      return PLUGIN_CONTINUE
   
   JoinTeam_Task(id, msgid)
   
   return PLUGIN_HANDLED
}

public MSG_SendAudio() {
   static Sound[17]
   get_msg_arg_string(2, Sound, sizeof Sound - 1)
   
   if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw"))
      return PLUGIN_HANDLED;
   
   return PLUGIN_CONTINUE;
}

public MSG_Health(msgid, dest, id) {
   static Health;
   Health = get_msg_arg_int(1)
   if(Health > 255)
      set_msg_arg_int(1, ARG_BYTE, 255);
   else if(Health == 256)
      set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)
}

bool:Should_AutoJoin(id) {
   return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))
}

JoinTeam_Task(id, menu_msgid) {
   static param_menu_msgid[2]
   param_menu_msgid[0] = menu_msgid
   
   set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)
}

public Force_JoinTeam(menu_msgid[], id) {
   if(get_user_team(id))
      return
   
   static team[2], class[2]
   get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)
   get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)
   Force_Team_Join(id, menu_msgid[0], team, class)
}

stock Force_Team_Join(id, menu_msgid,  team[] = "5", class[] = "0") {
   static jointeam[] = "jointeam"
   if(class[0] == '0') {
      engclient_cmd(id, jointeam, team)
      return
   }
   
   static msg_block, joinclass[] = "joinclass"
   msg_block = get_msg_block(menu_msgid)
   set_msg_block(menu_msgid, BLOCK_SET)
   engclient_cmd(id, jointeam, team)
   engclient_cmd(id, joinclass, class)
   set_msg_block(menu_msgid, msg_block)
}

public EVENT_SwitchTeam() {
   new Players[32], PlayersNum, id;
   get_players(Players, PlayersNum)
   if(PlayersNum) {
      for(new i; i < PlayersNum; i++) {
         id = Players[i]
         BeginDelay(id)
      }
   }
}

public BeginDelay(id) {
   if(is_user_connected(id)) {
      switch(id) {
         case 1..7: set_task(0.1, "BeginTeamSwap", id)
         case 8..15: set_task(0.2, "BeginTeamSwap", id)
         case 16..23: set_task(0.3, "BeginTeamSwap", id)
         case 24..32: set_task(0.4, "BeginTeamSwap", id)
      }
   }
}

public BeginTeamSwap(id) {
   if(is_user_connected(id)) {
      switch(get_user_team(id)) {
         case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)
         case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)
      }
   }
}   

///////////////////////////////////////////////////////////////////////////////////////////////

public Player_PreThink(id) {
   if(is_user_connected(id)) {
      if(get_user_team(id) == TEAM_FURIEN) {
         if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)
            set_pev(id, pev_gravity, FURIEN_GRAVITY)
     
         if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {
            set_pev(id, pev_maxspeed, FURIEN_SPEED)
            set_user_footsteps(id, 1)
         }
      }
      if(get_pcvar_num(cvar_aim_info)) {
         new Target, Body;
         get_user_aiming(id, Target, Body);
         if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {
            new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;
            TargetTeam = get_user_team(Target)
            PlayerTeam = get_user_team(id)
            get_user_name(Target, TargetName, 31)
            TargetHealth = get_user_health(Target)
            TargetArmor = get_user_armor(Target)
            if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {
               formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
               RED = 20
               GREEN = 200
               BLUE = 50
            }
            else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
               formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
               RED = 200
               GREEN = 20
               BLUE = 20
            }
            else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
               formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
               RED = 200
               GREEN = 20
               BLUE = 20
            }
            else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
               return
            set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
            show_hudmessage(id, "%s", Message)
         }
      }
   }
}

public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {
   if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {
      if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1
      || !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent
      || get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {
         set_es(es, ES_RenderFx, kRenderFxNone);
         set_es(es, ES_RenderMode, kRenderTransTexture);
         set_es(es, ES_RenderAmt, 255);
      }
      else if(get_user_team(ent) == 1) {
         set_es(es, ES_RenderFx, kRenderFxNone);
         set_es(es, ES_RenderMode, kRenderTransTexture);
         static Float:Origin[3]
         pev(ent, pev_origin, Origin)
         
         if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])
            set_es(es, ES_RenderAmt, 0);
         else
            set_es(es, ES_RenderAmt, 255);
      }
   }
}

public FWD_GameDescription() {
   static GameName[32]
   get_pcvar_string(cvar_gamedescription, GameName, 31)
   
   forward_return(FMV_STRING, GameName)
   
   return FMRES_SUPERCEDE
}

stock ColorChat(const id, const input[], any:...) {
   new count = 1, players[32];
   static msg[191];
   vformat(msg, 190, input, 3);
   
   replace_all(msg, 190, "!g", "^4");
   replace_all(msg, 190, "!y", "^1");
   replace_all(msg, 190, "!t", "^3");
   
   if(id) players[0] = id;
   else get_players(players, count, "ch"); {
      for(new i = 0; i < count; i++) {
         if(is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players[i]);
            write_byte(players[i]);
            write_string(msg);
            message_end();
         }
      }
   }
}


18 Feb 2019 17:09
Profile multumesc ICQ YIM
Display posts from previous:  Sort by  
Reply to topic   [ 12 posts ] 

Who is online

Users browsing this forum: No registered users and 33 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  

În cazul în care aveți probleme cu contul trimiteți un email sau mesaj la servicii_extream[arond]yahoo[punct]com

Powered by phpBB® Forum Software © phpBB Group