When I Cur Weapon Skin of (Super-Knife , Or Other Skins) Not Work
Code:
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>
#include <amxmisc>
#include <fvault>
#include <regex>
#include < nvault >
#include < CC_ColorChat >
#include <wm_play>
#define PLUGIN "Furien Classic"
#define VERSION "1.0"
#define AUTHOR_ "NooTy"
#define FURIEN_GRAVITY 0.4
#define FURIEN_SPEED 750.0
#define TEAM_FURIEN 1
#define TEAM_ANTIFURIEN 2
#define IsPlayer(%0) ( 1 <= %0 <= g_iMaxPlayers )
#define TASKID_C4COUNTDOWN 453
#define FOUNDER_LEVEL ADMIN_IMMUNITY
#define VIP_DIAMOND_LEVEL ADMIN_LEVEL_C
#define VIP_PLATINA_LEVEL ADMIN_LEVEL_D
#define VIP_GOLD_LEVEL ADMIN_LEVEL_G
#define VIP_SILVER_LEVEL ADMIN_LEVEL_H
#define xPrefix "FurienPoints"
#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif
//Shop
new SuperKnifeModel_V[] = "models/v_super_knife.mdl"
new bool: HaveSuperKnife[33]
//FP SHOP
new bool: HaveKnife[ 33 ], skmode[33], HaveKnifef[ 33 ], sbmode[33], HaveG[ 33 ], sgmode[33];
//VIP Menu
new bool: HaveK1[ 33 ], skfmode[33], HaveKnifeFo[ 33 ], sbfmode[33], Have3F[ 33 ], sgfmode[33];
//DAMAGE SK
new g_iMaxPlayers;
//Settings
new bool:MakeVisible[33], Float:Wallorigin[33][3]
new Menu;
new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, cvar_autojoin_class, cvar_autojoin_team
new cvar_aim_info,MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health, MSGID_ScreenFade, C4_CountDownDelay;
new rankSaveType;
new xp[33], g_status_sync;
new const Sk_v_model[ 66 ] = "models/super_knifevip_fp.mdl";
new const Sb_v_model[ 66 ] = "models/super_knife_fpx3.mdl";
new const Sg_v_model[ 66 ] = "models/golden_xm1014.mdl";
new const SkF_v_model[ 66 ] = "models/v_k1ases.mdl";
new const SbF_v_model[ 66 ] = "models/v_deagleF.mdl";
new const SgF_v_model[ 66 ] = "models/golden_xm1014.mdl";
new const g_szGiveCreditsFlag[ ] = "a";
new const g_szTag[ ] = "[Furien Points]";
new const db_save[] = "cs_rank_system"
public plugin_cfg() {
server_cmd("amx_cvar mp_playerid 2")
server_cmd("amx_cvar sv_maxspeed 999")
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 Classic")
antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
furienspawnhp = register_cvar("furien_spawnhp", "100")
rankSaveType = register_cvar("XP Save Type", "2") // 1 - IP || 2 - Nick || 3 - SteamID
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")
g_status_sync = CreateHudSyncObj()
g_iMaxPlayers = get_maxplayers ( )
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("say_team /guns", "CmdWeaponsMenu")
//register_clcmd("say guns", "CmdWeaponsMenu")
//register_clcmd("say /guns", "CmdWeaponsMenu")
//register_clcmd("say_team /guns", "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 /rs", "CmdResetScore")
register_clcmd("say_team /rs", "CmdResetScore")
register_clcmd("say /resetscore", "CmdResetScore")
register_clcmd("say_team /resetscore", "CmdResetScore")
register_clcmd( "amx_give_fp", "ClCmdGiveCredits" )
register_clcmd( "amx_set_fp", "ClCmdSetCredits" )
register_clcmd("say /fpshop", "shop")
register_clcmd("say_team /fpshop", "shop")
register_clcmd("say fpshop", "shop")
register_clcmd("say_team fpshop", "shop")
register_clcmd("fpshop", "shop")
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_TakeDamage, "player", "DamageKnife");
RegisterHam(Ham_TakeDamage, "player", "DamageKnife2");
RegisterHam(Ham_TakeDamage, "player", "DamageG");
RegisterHam(Ham_TakeDamage, "player", "DamageK1F");
RegisterHam(Ham_TakeDamage, "player", "DamageKnifeF");
RegisterHam(Ham_TakeDamage, "player", "Damage3F");
RegisterHam(Ham_Spawn, "player", "player_spawn")
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("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");
register_event("DeathMsg", "deathmsg", "a");
register_event("StatusValue", "showStatus", "be", "1=2", "2!0")
register_event("StatusValue", "hideStatus", "be", "1=1", "2=0")
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")
register_logevent("logevent_round_end", 2, "1=Round_End")
register_dictionary("FurienPoints.txt");
}
/*----------------------------------------------------------------------------------------------------------------
-HUD OF THE GAME
----------------------------------------------------------------------------------------------------------------*/
public hud_status(id)
{
if(!is_user_connected(id) )
return;
set_hudmessage(255, 0, 0, 0, 0.2, 0, 1.0, 1.1, 0.0, 0.0, -1)
show_hudmessage(id,"»Your FurienPoints: %d ^n»For Furien-Points Shop Write : /fpshop", xp[id])
}
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)
precache_model( Sk_v_model )
precache_model( Sb_v_model )
precache_model( Sg_v_model )
precache_model( SkF_v_model )
precache_model( SbF_v_model )
precache_model( SgF_v_model )
}
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)
}
if(get_user_weapon(id) == CSW_MP5NAVY)
{
if(HaveK1[id])
set_pev( id, pev_viewmodel2, SkF_v_model )
}
if(get_user_weapon(id) == CSW_DEAGLE)
{
if(HaveKnifeFo[id])
set_pev( id, pev_viewmodel2, SbF_v_model )
}
if(get_user_weapon(id) == CSW_XM1014)
{
if(Have3F[id])
set_pev( id, pev_viewmodel2, SgF_v_model )
}
if(get_user_weapon(id) == CSW_KNIFE)
{
if(HaveKnife[id])
set_pev( id, pev_viewmodel2, Sk_v_model )
}
if(get_user_weapon(id) == CSW_KNIFE)
{
if(HaveKnifef[id])
set_pev( id, pev_viewmodel2, Sb_v_model )
}
if(get_user_weapon(id) == CSW_XM1014)
{
if(HaveG[id])
set_pev( id, pev_viewmodel2, Sg_v_model )
}
new PlayerHealth;
PlayerHealth = get_user_health(id)
if(PlayerHealth == 256)
fm_set_user_health(id, 255)
}
}
public deathmsg(){
new ivictim = read_data(2);
HaveKnife[ivictim] = false
HaveKnifef[ivictim] = false
HaveG[ivictim] = false
sbmode[ivictim] = false
skmode[ivictim] = false
sgmode[ivictim] = false
}
public client_disconnect(id){
HaveKnife[id] = false
HaveKnifef[id] = false
HaveG[id] = false
sbmode[id] = false
skmode[id] = false
sgmode[id] = false
}
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")
HaveKnife[id] = false
HaveKnifef[id] = false
HaveG[id] = false
sbmode[id] = false
skmode[id] = false
sgmode[id] = false
}
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")
set_user_footsteps(id, 1)
fm_set_user_health(id, get_pcvar_num(furienspawnhp))
}
case TEAM_ANTIFURIEN: {
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 ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
if ( IsPlayer ( iAttacker ) ) {
if( iInflictor == iAttacker && (HaveSuperKnife[iAttacker]) && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && get_user_team( iAttacker ) == 1 ) {
SetHamParamFloat( 4, fDamage * 2.0);
return HAM_HANDLED;
}
}
return PLUGIN_HANDLED
}
///////////////////////////////////////////////////////////////////////////////////////////////
public CmdResetScore(id) {
if(get_user_frags(id) == 0 && get_user_deaths(id) == 0)
ChatColor(id, "!gYour score is now !t 0-0!g !")
else {
for(new i = 0; i < 2; i++) {
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);
}
ChatColor(id, "!t[FURIEN]!gYou successfully reset your score !")
}
}
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("\rShop \yFurien", "CmdFurienHandler")
new SuperKnife[256];
formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \r10000$")
menu_additem(Menu, SuperKnife, "1", 0)
new Health[256];
formatex(Health, sizeof(Health)-1, "50 HP - \r3000$")
menu_additem(Menu, Health, "2", 0)
new Armor[256];
formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \r500$")
menu_additem(Menu, Armor, "3", 0)
new Grenade[256];
formatex(Grenade, sizeof(Grenade)-1, "He grenade - \r4000$")
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("\rShop \yAnti-Furien", "CmdAntiFurienHandler")
new Defuse[256];
formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \r500$")
menu_additem(Menu, Defuse, "1", 0)
new Health[256];
formatex(Health, sizeof(Health)-1, "50 HP - \r3000$")
menu_additem(Menu, Health, "2", 0)
new Armor[256];
formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \r500$")
menu_additem(Menu, Armor, "3", 0)
new Grenade[256];
formatex(Grenade, sizeof(Grenade)-1, "He grenade - \r4000$")
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, "Ai deja un SuperKnife!")
}
if(HaveKnife[id] ) {
client_print(id, print_center, "Ai deja un SuperKnife!")
return PLUGIN_HANDLED;
}
if(HaveKnifef[id] ) {
client_print(id, print_center, "Ai deja un SuperKnife!")
return PLUGIN_HANDLED;
}
new Money = cs_get_user_money(id) - 10000
if(Money < 0)
{
client_print(id, print_center, "Nu ai destui bani!")
}
HaveSuperKnife[id] = true;
EVENT_CurWeapon(id)
ChatColor(id, "!tAi cumparat un !gSuperKnife");
cs_set_user_money(id, Money)
}
case 2: {
if(get_user_health(id) >= 250)
client_print(id, print_center, "Ai atins maximul de !g250HP!")
else {
new Money = cs_get_user_money(id) - 3000
if(Money < 0)
client_print(id, print_center, "Nu ai destui bani!")
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)
ChatColor(id, "!tAi cumparat !g50HP!");
cs_set_user_money(id, Money)
}
}
}
case 3: {
if(get_user_armor(id) >= 250)
client_print(id, print_center, "Ai atins maximul de 250 AP!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "Nu ai destui bani!")
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)
ChatColor(id, "!tAi cumparat !g50AP!");
cs_set_user_money(id, Money)
}
}
}
case 4: {
if(user_has_weapon(id, CSW_HEGRENADE))
client_print(id, print_center, "Ai deja HE GRENADE!")
else {
new Money = cs_get_user_money(id) - 4000
if(Money < 0)
client_print(id, print_center, "Nu ai destui bani!")
else {
fm_give_item(id, "weapon_hegrenade")
ChatColor(id, "!tAi cumparat un !gHE!");
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, "Ai deja Defuse KIT!")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "Nu ai destui bani!")
else {
cs_set_user_defuse(id, 1)
ChatColor(id, "!tAi cumparat un !gDefuseKIT!");
cs_set_user_money(id, Money)
}
}
}
case 2: {
if(get_user_health(id) >= 250)
client_print(id, print_center, "Ai atins maximul de 250HP")
else {
new Money = cs_get_user_money(id) - 3000
if(Money < 0)
client_print(id, print_center, "Nu ai destui bani!")
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)
ChatColor(id, "!tAi cumparat !g50HP!");
cs_set_user_money(id, Money)
}
}
}
case 3: {
if(get_user_armor(id) >= 250)
client_print(id, print_center, "Ai atins maximul de 250AP")
else {
new Money = cs_get_user_money(id) - 500
if(Money < 0)
client_print(id, print_center, "Nu ai destui bani!")
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)
ChatColor(id, "!tAi cumparat !g50AP!");
cs_set_user_money(id, Money)
}
}
}
case 4: {
if(user_has_weapon(id, CSW_HEGRENADE))
client_print(id, print_center, "Ai deja HE GRENADE!")
else {
new Money = cs_get_user_money(id) - 4000
if(Money < 0)
client_print(id, print_center, "Nu ai destui bani!")
else {
fm_give_item(id, "weapon_hegrenade")
ChatColor(id, "!tAi cumparat un !gHE!");
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("\y[FURIEN]\rThe weapons menu", "EquipmentCmd");
menu_additem(Menu, "\wNew weapons", "1", 0);
if(PrimaryWeapon[id] && SecondaryWeapon[id])
menu_additem(Menu, "\wPrevious weapons", "2", 0);
else
menu_additem(Menu, "\dPrevious weapons", "2", 0);
new flags
flags = get_user_flags(id)
if( flags & ADMIN_CHAT )
{
menu_additem(Menu, "\wVIP Guns", "3", 0);
}
else
{
menu_additem(Menu, "\dVIP Guns", "3", 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)
}
case 3: {
new flags
flags = get_user_flags(id)
if( flags & ADMIN_CHAT )
{
K1(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 K1(id) {
if(is_user_alive(id)){
fm_give_item(id, "weapon_mp5navy")
set_pev( id, pev_viewmodel2, SkF_v_model )
cs_set_user_bpammo(id, CSW_MP5NAVY,350);
fm_give_item(id, "weapon_deagle")
set_pev( id, pev_viewmodel2, SbF_v_model )
cs_set_user_bpammo(id, CSW_DEAGLE,350);
fm_give_item(id, "weapon_xm1014")
set_pev( id, pev_viewmodel2, SgF_v_model )
cs_set_user_bpammo(id, CSW_XM1014,350);
new idKiller = read_data( 1 )
skfmode[id] = true
HaveK1[id] = true
HaveK1[idKiller] = true
skfmode[idKiller] = true
sbfmode[id] = true
HaveKnifeFo[id] = true
HaveKnifeFo[idKiller] = true
sbfmode[idKiller] = true
sgfmode[id] = true
Have3F[id] = true
Have3F[idKiller] = true
sgfmode[idKiller] = true
}
}
public DamageK1 ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
if ( IsPlayer ( iAttacker ) ) {
if( iInflictor == iAttacker && skfmode [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_MP5NAVY ) {
SetHamParamFloat( 4, fDamage * 3.0);
return HAM_HANDLED;
}
}
return PLUGIN_HANDLED
}
public DamageKnifeF ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
if ( IsPlayer ( iAttacker ) ) {
if( iInflictor == iAttacker && sbfmode [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_DEAGLE ) {
SetHamParamFloat( 4, fDamage * 2.5);
return HAM_HANDLED;
}
}
return PLUGIN_HANDLED
}
public Damage3 ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
if ( IsPlayer ( iAttacker ) ) {
if( iInflictor == iAttacker && sgfmode [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_XM1014 ) {
SetHamParamFloat( 4, fDamage * 2.0);
return HAM_HANDLED;
}
}
return PLUGIN_HANDLED
}
public CMD_BlockJoinTeam(id) {
console_print(id, "*** Imi pare rau tovarase , nu ai voie sa folosesti JoinTeam ! ***")
return 1;
}
public CMD_BlockChooseTeam(id) {
console_print(id, "*** Imi pare rau tovarase , nu ai voie sa folosesti ChooseTeam ! ***")
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 Furians won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#CTs_Win")) {
client_print(0, print_center, "The Anti-Furians won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Bomb_Defused")) {
client_print(0, print_center, "The Anti-Furians won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Target_Bombed")) {
client_print(0, print_center, "The Furians won this round!")
return PLUGIN_HANDLED;
}
else if(equal(TextMsg, "#Target_Saved")) {
client_print(0, print_center, "The Anti-Furians won this round!")
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 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, RED1, GREEN1, BLUE1;
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^nHealth: %i | Armor: %i", TargetName, TargetHealth, TargetArmor)
RED1 = 20
GREEN1 = 200
BLUE1 = 50
}
else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHealth: %i | Armor: %i", TargetName, TargetHealth, TargetArmor)
RED1 = 200
GREEN1 = 20
BLUE1 = 20
}
else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
formatex(Message, sizeof(Message)-1, "%s^nHealth: %i | Armor: %i", TargetName, TargetHealth, TargetArmor)
RED1 = 200
GREEN1 = 20
BLUE1 = 20
}
else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
return
set_hudmessage(RED1, GREEN1, BLUE1, -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_C4_CountDown() {
new Red1, Green1, Blue1
if(C4_CountDownDelay > 10)
Red1 = 0, Green1 = 255, Blue1 = 0;
else if(C4_CountDownDelay > 5)
Red1 = 255, Green1 = 200, Blue1 = 0;
else if(C4_CountDownDelay <= 5)
Red1 = 255, Green1 = 0, Blue1 = 0;
if(C4_CountDownDelay) {
new Message[256];
formatex(Message,sizeof(Message)-1,"----------^n| Bomba explodeaza in : %d secunde |^n----------", C4_CountDownDelay);
set_hudmessage(Red1, Green1, Blue1, -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;
}
/*----------------------------------------------------------------------------------------------------------------
-EVENT TO ADD FP
----------------------------------------------------------------------------------------------------------------*/
public client_death(killer, victim, weapon, hitplace)
{
new victim_name[32]
get_user_name(victim, victim_name, charsmax(victim_name))
new killer_team = get_user_team(killer)
new victim_team = get_user_team(victim)
//NORMAL KILL
if((killer != victim) && !(killer_team == victim_team) && !(hitplace == HIT_HEAD) && !(weapon == CSW_HEGRENADE) && !(weapon == CSW_KNIFE))
{
xp[killer]++
client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_NORMAL_KILL", victim_name)
}
//HEADSHOT
if(hitplace == HIT_HEAD && !(weapon == CSW_KNIFE) && !(killer_team == victim_team))
{
xp[killer]+=3
client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_HEADSHOT_KILL", victim_name)
}
//KNIFE KILL
if(weapon == CSW_KNIFE && !(hitplace == HIT_HEAD) && !(killer_team == victim_team))
{
xp[killer]+=2
client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_KNIFE_KILL", victim_name)
}
//KNIFE + HEADSHOT
if(weapon == CSW_KNIFE && (hitplace == HIT_HEAD) && !(killer_team == victim_team))
{
xp[killer]+=5
client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_KNIFE_HEAD_KILL", victim_name)
}
//GRENADE KILL
if(weapon == CSW_HEGRENADE && (killer != victim) && !(killer_team == victim_team))
{
xp[killer]+=3
client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_GRENADE_KILL", victim_name)
}
//TEAM KILL
if(killer != victim && (killer_team == victim_team))
{
xp[killer]-=10
client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_TEAM_KILL")
}
save_data(killer)
}
/*----------------------------------------------------------------------------------------------------------------
-SAVE FP
----------------------------------------------------------------------------------------------------------------*/
public save_data(id)
{
if(!is_user_connected(id))
return PLUGIN_HANDLED;
new auth[40], data[50]
switch(get_pcvar_num(rankSaveType))
{
case 1: get_user_ip(id, auth, charsmax(auth), 1)
case 2: get_user_name(id, auth, charsmax(auth))
case 3: get_user_authid(id, auth, charsmax(auth))
}
formatex(data, charsmax(data), "%d", xp[id])
fvault_pset_data(db_save, auth, data)
return PLUGIN_HANDLED;
}
/*----------------------------------------------------------------------------------------------------------------
-LOAD DATA
----------------------------------------------------------------------------------------------------------------*/
public client_authorized(id)
{
new auth[40], data[50], x2[10]
switch(get_pcvar_num(rankSaveType))
{
case 1: get_user_ip(id, auth, charsmax(auth), 1)
case 2: get_user_name(id, auth, charsmax(auth))
case 3: get_user_authid(id, auth, charsmax(auth))
}
fvault_get_data(db_save, auth, data, charsmax(data))
parse(data, x2, charsmax(x2))
xp[id] = str_to_num(x2)
set_task(1.1, "hud_status", id, _, _, "b")
}
public showfp(id) {
ChatColor(id, "!t[!gFurien Points!t] !gYou Have !t%d !t2FurienPoints", xp[id]);
}
/*----------------------------------------------------------------------------------------------------------------
-SHOW FP BY LOOKING AT THE PERSON
----------------------------------------------------------------------------------------------------------------*/
public showStatus(id)
{
if(!is_user_bot(id) && is_user_connected(id))
{
new name[32], pid = read_data(2)
get_user_name(pid, name, 31)
new xxx = get_user_team(id)
new xxx2 = get_user_team(pid)
new hp = get_user_health(pid)
static r, g, b;
r = random_num(0, 255), g = random_num(0, 255), b = random_num(0, 255);
if (xxx == xxx2) // friend
{
set_hudmessage(r, g, b, -1.0, 0.60, 1, 0.01, 3.0, 0.01, 0.01, -1)
ShowSyncHudMsg(id, g_status_sync, "Name: %s^nHealth : %d^nFurienPoints: %s", name, xp[pid], hp)
}
}
}
public hideStatus(id)
{
ClearSyncHud(id, g_status_sync)
}
/*
------------------------------------------------------------------------------------
------------------------------------Give FP-----------------------------------------
------------------------------------------------------------------------------------*/
public ClCmdGiveCredits( id )
{
if( !( get_user_flags( id ) & read_flags( g_szGiveCreditsFlag ) ) )
{
client_cmd( id, "echo NU ai acces la aceasta comanda!" );
return 1;
}
new szFirstArg[ 32 ], szSecondArg[ 10 ];
read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) )
{
client_cmd( id, "echo amx_give_fp < nume/ @ALL/ @T/ @CT > < FP >" );
return 1;
}
new iPlayers[ 32 ];
new iPlayersNum;
new iCredits = str_to_num( szSecondArg );
if( iCredits <= 0 )
{
client_cmd( id, "echo You Can't Give Negative FP!" );
return 1;
}
if( szFirstArg[ 0 ] == '@' )
{
switch ( szFirstArg[ 1 ] )
{
case 'A':
{
if( equal( szFirstArg, "@ALL" ) )
{
get_players( iPlayers, iPlayersNum, "ch" );
for( new i = 0; i < iPlayersNum ; i++ )
xp[ iPlayers[ i ] ] += iCredits;
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
ColorChat( 0, RED, "^x04^%s^x01 Admin^x03 %s^x01 Gave^x03 %i^x01 fp To All Playres!", g_szTag, szName, iCredits );
return 1;
}
}
case 'T':
{
if( equal( szFirstArg, "@T" ) )
{
get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" );
if( iPlayersNum == 0 )
{
client_cmd( id, "echo NU se afla niciun jucator in aceasta echipa!" );
return 1;
}
for( new i = 0; i < iPlayersNum ; i++ )
xp[ iPlayers[ i ] ] += iCredits;
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
ColorChat( 0, RED, "^x04^%s^x01 Admin^x03 %s^x01 Gave^x03 %i^x01 fp To^x03 Furien-Team^x01!", g_szTag, szName, iCredits );
return 1;
}
}
case 'C':
{
if( equal( szFirstArg, "@CT" ) )
{
get_players( iPlayers, iPlayersNum, "ceh", "CT" );
if( iPlayersNum == 0 )
{
client_cmd( id, "echo NU se afla niciun jucator in aceasta echipa!" );
return 1;
}
for( new i = 0; i < iPlayersNum ; i++ )
xp[ iPlayers[ i ] ] += iCredits;
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
ColorChat( 0, RED, "^x04^%s^x01 Admin^x03 %s^x01 Gave^x03 %i^x01 fp To ^x03 AntiFurien-Team^x01!", g_szTag, szName, iCredits );
return 1;
}
}
}
}
new iPlayer = cmd_target( id, szFirstArg, 8 );
if( !iPlayer )
{
client_cmd( id, "echo Jucatorul %s nu a fost gasit!", szFirstArg );
return 1;
}
xp[ iPlayer ] += iCredits;
new szName[ 32 ], _szName[ 32 ];
new name2 [ 33 ]
get_user_name( id, szName, sizeof ( szName ) -1 );
get_user_name( id, _szName, sizeof ( _szName ) -1 );
get_user_name ( iPlayer, name2, charsmax ( name2 ) );
ColorChat( 0, RED, "^x04%s^x01 Admin^x03 %s^x01 Gave^x03 %i^x01 FP To^x03 %s^x01.", g_szTag, szName, iCredits, name2 );
save_data(iPlayer)
return 1;
}
/*
------------------------------------------------------------------------------------
------------------------------------Set FP-----------------------------------------
------------------------------------------------------------------------------------*/
public ClCmdSetCredits( id )
{
if( !( get_user_flags( id ) & read_flags( g_szGiveCreditsFlag ) ) )
{
client_cmd( id, "echo NU ai acces la aceasta comanda!" );
return 1;
}
new szFirstArg[ 32 ], szSecondArg[ 10 ];
read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) )
{
client_cmd( id, "echo amx_set_fp < nume/ @ALL/ @T/ @CT > < FP >" );
return 1;
}
new iPlayers[ 32 ];
new iPlayersNum;
new iCredits = str_to_num( szSecondArg );
if( szFirstArg[ 0 ] == '@' )
{
switch ( szFirstArg[ 1 ] )
{
case 'A':
{
if( equal( szFirstArg, "@ALL" ) )
{
get_players( iPlayers, iPlayersNum, "ch" );
for( new i = 0; i < iPlayersNum ; i++ )
xp[ iPlayers[ i ] ] = iCredits;
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
ColorChat( 0, RED, "^x04^%s^x01 Admin^x03 %s^x01 Set^x03 %i^x01 fp To All Playres!", g_szTag, szName, iCredits );
return 1;
}
}
case 'T':
{
if( equal( szFirstArg, "@T" ) )
{
get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" );
if( iPlayersNum == 0 )
{
client_cmd( id, "echo NU se afla niciun jucator in aceasta echipa!" );
return 1;
}
for( new i = 0; i < iPlayersNum ; i++ )
xp[ iPlayers[ i ] ] = iCredits;
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
ColorChat( 0, RED, "^x04^%s^x01 Admin^x03 %s^x01 Set^x03 %i^x01 fp To^x03 Furien-Team^x01!", g_szTag, szName, iCredits );
return 1;
}
}
case 'C':
{
if( equal( szFirstArg, "@CT" ) )
{
get_players( iPlayers, iPlayersNum, "ceh", "CT" );
if( iPlayersNum == 0 )
{
client_cmd( id, "echo NU se afla niciun jucator in aceasta echipa!" );
return 1;
}
for( new i = 0; i < iPlayersNum ; i++ )
xp[ iPlayers[ i ] ] = iCredits;
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
ColorChat( 0, RED, "^x04^%s^x01 Admin^x03 %s^x01 Set^x03 %i^x01 fp To ^x03 AntiFurien-Team^x01!", g_szTag, szName, iCredits );
return 1;
}
}
}
}
new iPlayer = cmd_target( id, szFirstArg, 8 );
if( !iPlayer )
{
client_cmd( id, "echo Jucatorul %s nu a fost gasit!", szFirstArg );
return 1;
}
xp[ iPlayer ] = iCredits;
new szName[ 32 ], _szName[ 32 ];
new name2 [ 33 ]
get_user_name( id, szName, sizeof ( szName ) -1 );
get_user_name( id, _szName, sizeof ( _szName ) -1 );
get_user_name ( iPlayer, name2, charsmax ( name2 ) );
ColorChat( 0, RED, "^x04%s^x01 Admin^x03 %s^x01 Set^x03 %i^x01 FP To^x03 %s^x01.", g_szTag, szName, iCredits, name2 );
save_data(iPlayer)
return 1;
}
public shop(id)
{
if(!is_user_alive(id))
{
return PLUGIN_HANDLED
}
switch(cs_get_user_team(id))
{
case CS_TEAM_CT:
AFURIEN(id);
case CS_TEAM_T:
FURIEN(id);
}
return PLUGIN_HANDLED;
}
public FURIEN(id)
{
if(!is_user_alive(id))
{
return PLUGIN_HANDLED
}
new menu = menu_create("\r[FURIEN] \wFurienPoints Shop", "shop_furien");
menu_additem(menu, "\wSuper-Knife \r3XDMG \w- \r50 \wFP [\rVIP ONLY\w]", "1", 0);
menu_additem(menu, "\wSuper-Knife \r2.5XDMG \w- \r30 \wFP ", "2", 0);
menu_additem(menu, "\wHe Grenade - \r10 \wFP ", "3", 0);
menu_additem(menu, "\wHP & AP \r(50) \w- \r15 \wFP ", "4", 0);
menu_additem(menu, "\wFrost Nova - \r10 \wFP ", "5", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED
}
public shop_furien(id, menu, item)
{
if(!is_user_alive(id))
{
return PLUGIN_HANDLED
}
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
new tmp_money = xp[id]
switch(key)
{
case 1:
{
if(VIP_SILVER_LEVEL) {
if(HaveSuperKnife[id]){
client_print(id, print_center, "Ai deja un SuperKnife!")
}
if(HaveKnife[id] ) {
client_print(id, print_center, "Ai deja un SuperKnife!")
return PLUGIN_HANDLED;
}
if(HaveKnifef[id] ) {
client_print(id, print_center, "Ai deja un SuperKnife!")
return PLUGIN_HANDLED;
}
if(tmp_money < 50)
{
ChatColor(id, "!t[!gFPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
KNF(id)
xp[id]-=50
}
else {
ChatColor(id, "!t[!gFPshop!t] !gYou Not !tVIP");
}
}
case 2:
{
if(HaveSuperKnife[id]){
client_print(id, print_center, "Ai deja un SuperKnife!")
}
if(HaveKnife[id] ) {
client_print(id, print_center, "Ai deja un SuperKnife!")
return PLUGIN_HANDLED;
}
if(HaveKnifef[id] ) {
client_print(id, print_center, "Ai deja un SuperKnife!")
return PLUGIN_HANDLED;
}
if(tmp_money < 30)
{
ChatColor(id, "!t[!gFPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
KNFE(id)
xp[id]-=30
}
case 3:
{
if(tmp_money < 10)
{
ChatColor(id, "!t[!gFPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_HEGRENADE))
{
ChatColor(id, "!t[!gFPshop!t] !gAlrady Have !tHe Grenade !n!");
return PLUGIN_HANDLED;
}
give_item(id, "weapon_hegrenade")
ChatColor(id, "!t[!gFPshop!t] !gHe Grenade");
xp[id]-=10
}
case 4:
{
if(tmp_money < 15)
{
ChatColor(id, "!t[!gFPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
new health = get_user_health(id);
new armor = get_user_armor(id);
if(health >= 300){
ChatColor(id, "!t[!gFPshop!t] !gMax HP = !t300HP !n!");
return PLUGIN_HANDLED;
}
health+=50;
armor+=50
set_user_armor(id, clamp(armor,0,99999) == 99999 ? 99999 : armor)
set_user_health(id, clamp(health,0,300) == 300 ? 300 : health)
ChatColor(id, "!t[!gFPshop!t] !g(50)!tHP !g& !tAP");
xp[id]-=15
}
case 5:
{
if(tmp_money < 10)
{
ChatColor(id, "!t[!gFPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_SMOKEGRENADE))
{
ChatColor(id, "!t[!gFPshop!t] !gAlrady Have !tFrost Nova!n!");
return PLUGIN_HANDLED;
}
give_item(id, "weapon_smokegrenade")
ChatColor(id, "!t[!gFPshop!t] !gFrost Nova");
xp[id]-=10
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public user_died(id) {
new idKiller = read_data( 1 )
HaveKnife[idKiller] = false
skmode[idKiller] = false
skmode[id] = false
HaveKnife[id] = false
HaveKnifef[idKiller] = false
sbmode[idKiller] = false
sbmode[id] = false
HaveKnifef[id] = false
HaveG[idKiller] = false
sgmode[idKiller] = false
sgmode[id] = false
HaveK1[idKiller] = false
skfmode[idKiller] = false
skfmode[id] = false
HaveK1[id] = false
HaveKnifeFo[idKiller] = false
sbfmode[idKiller] = false
sbfmode[id] = false
HaveKnifeFo[id] = false
Have3F[idKiller] = false
sgfmode[idKiller] = false
sgfmode[id] = false
}
public KNF(id) {
if(is_user_alive(id)){
give_item(id, "weapon_knife")
set_pev( id, pev_viewmodel2, Sk_v_model )
new idKiller = read_data( 1 )
skmode[id] = true
HaveKnife[id] = true
HaveKnife[idKiller] = true
skmode[idKiller] = true
}
}
public KNFE(id) {
if(is_user_alive(id)){
give_item(id, "weapon_knife")
set_pev( id, pev_viewmodel2, Sb_v_model )
new idKiller = read_data( 1 )
sbmode[id] = true
HaveKnifef[id] = true
HaveKnifef[idKiller] = true
sbmode[idKiller] = true
}
}
public GOL(id) {
if(is_user_alive(id)){
give_item(id, "weapon_xm1014")
set_pev( id, pev_viewmodel2, Sg_v_model )
cs_set_user_bpammo(id, CSW_XM1014,350);
new idKiller = read_data( 1 )
sgmode[id] = true
HaveG[id] = true
HaveG[idKiller] = true
sgmode[idKiller] = true
}
}
public DamageKnife ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
if ( IsPlayer ( iAttacker ) ) {
if( iInflictor == iAttacker && skmode [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && get_user_team( iAttacker ) == 1 ) {
SetHamParamFloat( 4, fDamage * 3.0);
return HAM_HANDLED;
}
}
return PLUGIN_HANDLED
}
public DamageKnife2 ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
if ( IsPlayer ( iAttacker ) ) {
if( iInflictor == iAttacker && sbmode [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && get_user_team( iAttacker ) == 1 ) {
SetHamParamFloat( 4, fDamage * 2.5);
return HAM_HANDLED;
}
}
return PLUGIN_HANDLED
}
public DamageG ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
if ( IsPlayer ( iAttacker ) ) {
if( iInflictor == iAttacker && sgmode [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_XM1014 && get_user_team( iAttacker ) == 2 ) {
SetHamParamFloat( 4, fDamage * 2.0);
return HAM_HANDLED;
}
}
return PLUGIN_HANDLED
}
public player_spawn(id) {
ChatColor(id, "!tSay !g/fpshop !tFor Furien-Points Shop")
}
public AFURIEN(id)
{
if(!is_user_alive(id))
{
return PLUGIN_HANDLED
}
new menu = menu_create("\r[FURIEN] \wFurienPoints Shop", "shop_afurien");
menu_additem(menu, "\wGolden XM1014 - \r30 \wFP ", "1", 0);
menu_additem(menu, "\wMachine Gun - \r20 \wFP ", "2", 0);
menu_additem(menu, "\wAutomat Sniper - \r20 \wFP ", "3", 0);
menu_additem(menu, "\wHe Grenade - \r10 \wFP ", "4", 0);
menu_additem(menu, "\wHP & AP \r(50) \w- \r15 \wFP ", "5", 0);
menu_additem(menu, "\wFrost Nova - \r10 \wFP ", "6", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED
}
public shop_afurien(id, menu, item)
{
if(!is_user_alive(id))
{
return PLUGIN_HANDLED
}
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
new tmp_money = xp[id]
switch(key)
{
case 1:
{
if(HaveG[id] ) {
ChatColor(id, "!t[!gFPshop!t] !gAlrady Have !tGolden XM1014");
return PLUGIN_HANDLED;
}
if(tmp_money < 30)
{
ChatColor(id, "!t[!gFPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
GOL(id)
xp[id]-=30
}
case 2:
{
if(tmp_money < 20)
{
ChatColor(id, "!t[FPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_M249))
{
ChatColor(id, "!t[!gFPshop!t] !gAlrady Have !tFrost Nova!n!");
return PLUGIN_HANDLED;
}
give_item(id, "weapon_m249")
cs_set_user_bpammo(id, CSW_M249,350);
xp[id]-=20
}
case 3:
{
if(tmp_money < 20)
{
ChatColor(id, "!t[FPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_G3SG1))
{
ChatColor(id, "!t[!gFPshop!t] !gAlrady Have !tFrost Nova!n!");
return PLUGIN_HANDLED;
}
give_item(id, "weapon_g3sg1")
cs_set_user_bpammo(id, CSW_G3SG1,350);
xp[id]-=20
}
case 4:
{
if(tmp_money < 10)
{
ChatColor(id, "!t[!gFPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_HEGRENADE))
{
ChatColor(id, "!t[!gFPshop!t] !gAlrady Have !tHe Grenade !n!");
return PLUGIN_HANDLED;
}
give_item(id, "weapon_hegrenade")
ChatColor(id, "!t[!gFPshop!t] !gHe Grenade");
xp[id]-=10
}
case 5:
{
if(tmp_money < 15)
{
ChatColor(id, "!t[!gFPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
new health = get_user_health(id);
new armor = get_user_armor(id);
if(health >= 300){
ChatColor(id, "!t[!gFPshop!t] !gMax HP = !t300HP !n!");
return PLUGIN_HANDLED;
}
health+=50;
armor+=50
set_user_armor(id, clamp(armor,0,99999) == 99999 ? 99999 : armor)
set_user_health(id, clamp(health,0,300) == 300 ? 300 : health)
ChatColor(id, "!t[!gFPshop!t] !g(50)!tHP !g& !tAP");
xp[id]-=15
}
case 6:
{
if(tmp_money < 10)
{
ChatColor(id, "!t[!gFPshop!t] !gNo Much !tFP !n!");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_SMOKEGRENADE))
{
ChatColor(id, "!t[!gFPshop!t] !gAlrady Have !tFrost Nova!n!");
return PLUGIN_HANDLED;
}
give_item(id, "weapon_smokegrenade")
ChatColor(id, "!t[!gFPshop!t] !gFrost Nova");
xp[id]-=10
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
stock ChatColor(const id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!g", "^4"); // Green Color
replace_all(msg, 190, "!n", "^1"); // Default Color
replace_all(msg, 190, "!t", "^3"); // Team Color g
replace_all(msg, 190, "!t2", "^0"); // Team2 Color
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, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}