Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <engine>
- #include <fakemeta>
- #include <cstrike>
- #include <colorchat>
- #include <adv_vault>
- #pragma dynamic 32768
- enum
- {
- FOR_PLAYER=0,
- FOR_ADMIN,
- FOR_VIP,
- XP_SETTINGS,
- KNIFE_NAME,
- MAX_FIELDS
- }
- new Fields[MAX_FIELDS], g_steam[33][32], vault
- #define PLUGIN "XP Knife"
- #define VERSION "1.0"
- #define AUTHOR "raizo"
- #define UPDATETIME 1.0
- /////////////////////////////////////////////////////////
- #define OWNER_FLAG "abcdefghijklmnopqrstu"
- #define CWNER_FLAG "abcdefgijklmnopqrst"
- #define GOD_FLAG "bcdefijklmnopqr"
- #define SUPER_FLAG "bcdefijmnopq"
- #define SMODER_FLAG "bcdefijmnop"
- #define MODER_FLAG "bcdefijmno"
- #define ADMIN_FLAG "bcdefij"
- #define HELPER_FLAG "bceij"
- #define VIP_FLAG "abti"
- #define SLOT_FLAG "b"
- #define TAG_OWNER "^x03 [^x04 FONDATOR^x03]"
- #define TAG_CWNER "^x03 [^x04OWNER^x03]"
- #define TAG_GOD "^x03 [^x04GOD^x03]"
- #define TAG_SUPER "^x03 [^x04SUPERVIZOR^x03]"
- #define TAG_SMODER "^x03 [^x04SUPER MODERATOR^x03]"
- #define TAG_MODER "^x03 [^x04MODERATOR^x03]"
- #define TAG_ADMIN "^x03 [^x04ADMIN^x03]"
- #define TAG_HELPER "^x03 [^x04HELPER^x03]"
- #define TAG_VIP "^x03 [^x04VIP^x03]"
- #define TAG_SLOT "^x03 [^x04SLOT^x03]"
- #define TAG_NONE "^x03 [^x04PLAYER^x03]"
- /////////////////////////////////////////////////////////
- #define LEVELUPXP 400
- #define LEVELUPXPADMIN 400
- #define LEVELUPXPVIP 400
- #define SKINLEVELCHANGE 50
- #define SKINLEVELCHANGEADMIN 35
- #define SKINLEVELCHANGEVIP 25
- #define Forum "WWW.DARKELITE.RO"
- #define PLAYER_LEVEL ADMIN_USER
- #define FM_MONEY_OFFSET 115
- #define SAY_TEXT
- new xpplayer[ 33 ], xpadmin[ 33 ], xpvip[ 33 ]
- new g_msg_saytext;
- new g_msg_screenfade;
- new bool:his_hud[33];
- new menuCB, menuAD, menuVP
- new setting[21];
- new const skinNames[ ][ ] =
- {
- "[Default skin] lvl \r0",
- "[Gold Nautilus] lvl \r50",
- "[Assassin Knife] lvl \r100",
- "[Butterfly] lvl \r150",
- "[Cutite Pulse] lvl \r200",
- "[Karambit] lvl \r250",
- "[Tatto's] lvl \r300",
- "[Kaf Axe] lvl \r350",
- "[Adidas] lvl \r400",
- "[Dual Katana] lvl \r450",
- "[Dragon Knife] lvl \r500",
- "[Assasin2 Knife] lvl \r550",
- "[Knife Transparent] lvl \r600",
- "[Heineken] lvl \r650",
- "[Aqua] lvl \r700",
- "[Moartea] lvl \r750",
- "[M9 Laminet] lvl \r800",
- "[Doppler] lvl \r850",
- "[Blood] lvl \r900",
- "[Hammer] lvl \r950",
- "[S1Nn3R] lvl \r1000",
- "[Kiss] lvl \r1050"
- }
- new const skinNamesAdmin[ ][ ] =
- {
- "[Default skin] lvl \r0",
- "[Gold Nautilus] lvl \r50",
- "[Assassin Knife] lvl \r100",
- "[Butterfly] lvl \r150",
- "[Cutite Pulse] lvl \r200",
- "[Karambit] lvl \r250",
- "[Tatto's] lvl \r300",
- "[Kaf Axe] lvl \r350",
- "[Adidas] lvl \r400",
- "[Dual Katana] lvl \r450",
- "[Dragon Knife] lvl \r500",
- "[Assasin2 Knife] lvl \r550",
- "[Knife Transparent] lvl \r600",
- "[Heineken] lvl \r650",
- "[Aqua] lvl \r700",
- "[Moartea] lvl \r750",
- "[M9 Laminet] lvl \r800",
- "[Doppler] lvl \r850",
- "[Blood] lvl \r900",
- "[Hammer] lvl \r950",
- "[S1Nn3R] lvl \r1000",
- "[Kiss] lvl \r1050"
- }
- new const skinNamesVip[ ][ ] =
- {
- "[Default skin] lvl \r0",
- "[Gold Nautilus] lvl \r50",
- "[Assassin Knife] lvl \r100",
- "[Butterfly] lvl \r150",
- "[Cutite Pulse] lvl \r200",
- "[Karambit] lvl \r250",
- "[Tatto's] lvl \r300",
- "[Kaf Axe] lvl \r350",
- "[Adidas] lvl \r400",
- "[Dual Katana] lvl \r450",
- "[Dragon Knife] lvl \r500",
- "[Assasin2 Knife] lvl \r550",
- "[Knife Transparent] lvl \r600",
- "[Heineken] lvl \r650",
- "[Aqua] lvl \r700",
- "[Moartea] lvl \r750",
- "[M9 Laminet] lvl \r800",
- "[Doppler] lvl \r850",
- "[Blood] lvl \r900",
- "[Hammer] lvl \r950",
- "[S1Nn3R] lvl \r1000",
- "[Kiss] lvl \r1050"
- }
- new const Pnames[ ][ ] =
- {
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl",
- "models/p_knife.mdl"
- };
- new const Vnames[ ][ ] =
- {
- "models/knife_darkelite/v_purple.mdl",
- "models/knife_darkelite/v_gold.mdl",
- "models/knife_darkelite/v_knife_assasins.mdl",
- "models/knife_darkelite/v_butterfly.mdl",
- "models/knife_darkelite/v_dualknife.mdl",
- "models/knife_darkelite/v_karambit.mdl",
- "models/knife_darkelite/v_tattos.mdl",
- "models/knife_darkelite/v_kaf_axe2.mdl",
- "models/knife_darkelite/v_addidass.mdl",
- "models/knife_darkelite/v_dualkatana.mdl",
- "models/knife_darkelite/v_dragon_knife.mdl",
- "models/knife_darkelite/v_daedric.mdl",
- "models/knife_darkelite/v_transparent.mdl",
- "models/knife_darkelite/v_heineken.mdl",
- "models/knife_darkelite/v_aqua.mdl",
- "models/knife_darkelite/v_moartea.mdl",
- "models/knife_darkelite/m9_laminet.mdl",
- "models/knife_darkelite/v_knife_doppler.mdl",
- "models/knife_darkelite/v_axe_blood_new.mdl",
- "models/knife_darkelite/v_knife_hammer.mdl",
- "models/knife_darkelite/v_S1Nn3R.mdl",
- "models/knife_darkelite/v_kiss.mdl"
- };
- //
- new const VnamesAdmin[ ][ ] =
- {
- "models/knife_darkelite/v_purple.mdl",
- "models/knife_darkelite/v_gold.mdl",
- "models/knife_darkelite/v_knife_assasins.mdl",
- "models/knife_darkelite/v_butterfly.mdl",
- "models/knife_darkelite/v_dualknife.mdl",
- "models/knife_darkelite/v_karambit.mdl",
- "models/knife_darkelite/v_tattos.mdl",
- "models/knife_darkelite/v_kaf_axe2.mdl",
- "models/knife_darkelite/v_addidass.mdl",
- "models/knife_darkelite/v_dualkatana.mdl",
- "models/knife_darkelite/v_dragon_knife.mdl",
- "models/knife_darkelite/v_daedric.mdl",
- "models/knife_darkelite/v_transparent.mdl",
- "models/knife_darkelite/v_heineken.mdl",
- "models/knife_darkelite/v_aqua.mdl",
- "models/knife_darkelite/v_moartea.mdl",
- "models/knife_darkelite/m9_laminet.mdl",
- "models/knife_darkelite/v_knife_doppler.mdl",
- "models/knife_darkelite/v_axe_blood_new.mdl",
- "models/knife_darkelite/v_knife_hammer.mdl",
- "models/knife_darkelite/v_S1Nn3R.mdl",
- "models/knife_darkelite/v_kiss.mdl"
- };
- //
- new const VnamesVip[ ][ ] =
- {
- "models/knife_darkelite/v_purple.mdl",
- "models/knife_darkelite/v_gold.mdl",
- "models/knife_darkelite/v_knife_assasins.mdl",
- "models/knife_darkelite/v_butterfly.mdl",
- "models/knife_darkelite/v_dualknife.mdl",
- "models/knife_darkelite/v_karambit.mdl",
- "models/knife_darkelite/v_tattos.mdl",
- "models/knife_darkelite/v_kaf_axe2.mdl",
- "models/knife_darkelite/v_addidass.mdl",
- "models/knife_darkelite/v_dualkatana.mdl",
- "models/knife_darkelite/v_dragon_knife.mdl",
- "models/knife_darkelite/v_daedric.mdl",
- "models/knife_darkelite/v_transparent.mdl",
- "models/knife_darkelite/v_heineken.mdl",
- "models/knife_darkelite/v_aqua.mdl",
- "models/knife_darkelite/v_moartea.mdl",
- "models/knife_darkelite/m9_laminet.mdl",
- "models/knife_darkelite/v_knife_doppler.mdl",
- "models/knife_darkelite/v_axe_blood_new.mdl",
- "models/knife_darkelite/v_knife_hammer.mdl",
- "models/knife_darkelite/v_S1Nn3R.mdl",
- "models/knife_darkelite/v_kiss.mdl"
- };
- //
- new cvar_xp_player_hs, cvar_xp_player_kill, cvar_xp_admin_hs, cvar_xp_admin_kill, cvar_xp_vip_hs, cvar_xp_vip_kill
- new cost_xp1, cost_xp2, cost_xp3, cost_xp4, cost_xp5, cost_xp6, cost_xp7, buy_xp1, buy_xp2, buy_xp3, buy_xp4, buy_xp5, buy_xp6, buy_xp7
- new XP1[200], XP2[200], XP3[200], XP4[200], XP5[200], XP6[200], XP7[200]
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR);
- vault = adv_vault_open("Knifexp", false)
- Fields[FOR_PLAYER] = adv_vault_register_field(vault, "PLAYERXP")
- Fields[FOR_ADMIN] = adv_vault_register_field(vault, "ADMINXP")
- Fields[FOR_VIP] = adv_vault_register_field(vault, "VIPXP")
- Fields[XP_SETTINGS] = adv_vault_register_field(vault, "SETTINGS")
- Fields[KNIFE_NAME] = adv_vault_register_field(vault, "NAME", DATATYPE_STRING, 32)
- adv_vault_init(vault)
- register_event("DeathMsg", "hook_death", "a", "1>0");
- set_task( UPDATETIME, "ShowDetails", _, _, _, "b" );
- g_msg_saytext = get_user_msgid("SayText");
- g_msg_screenfade = get_user_msgid("ScreenFade");
- menuCB = menu_makecallback( "menucallback1" );
- menuAD = menu_makecallback( "menucallback2" );
- menuVP = menu_makecallback( "menucallback3" );
- register_event( "CurWeapon", "Knife_Model", "be", "1=1" );
- register_event( "CurWeapon", "Knife_Model_Admin", "be", "1=1" ,ADMIN_BAN );
- register_event( "CurWeapon", "Knife_Model_Vip", "be", "1=1" ,ADMIN_BAN );
- register_clcmd( "say /knife", "menu_knife" );
- register_clcmd( "say /hud", "show_hud" );
- register_clcmd( "amx_setlevel", "SetLevel", ADMIN_MENU );
- #if defined SAY_TEXT
- register_message(g_msg_saytext,"handleSayText");
- #endif
- //////////////////////////////////////////////////////////////////////////////////////////////////
- cvar_xp_player_hs = register_cvar ( "amx_xp_player_hs", "100");
- cvar_xp_player_kill = register_cvar ( "amx_xp_player_kill", "50");
- cvar_xp_admin_hs = register_cvar ( "amx_xp_admin_hs", "100");
- cvar_xp_admin_kill = register_cvar ( "amx_xp_admin_kill", "50");
- cvar_xp_vip_hs = register_cvar ( "amx_xp_vip_hs", "100");
- cvar_xp_vip_kill = register_cvar ( "amx_xp_vip_kill", "50");
- buy_xp1 = register_cvar ("amx_buy_xp1", "400" );
- buy_xp2 = register_cvar ("amx_buy_xp2", "800" );
- buy_xp3 = register_cvar ("amx_buy_xp3", "1200" );
- buy_xp4 = register_cvar ("amx_buy_xp4", "1600" );
- buy_xp5 = register_cvar ("amx_buy_xp5", "2000" );
- buy_xp6 = register_cvar ("amx_buy_xp6", "2400" );
- buy_xp7 = register_cvar ("amx_buy_xp7", "2800" );
- cost_xp1 = register_cvar("xp1_cost", "4000")
- cost_xp2 = register_cvar("xp2_cost", "5000")
- cost_xp3 = register_cvar("xp3_cost", "6500")
- cost_xp4 = register_cvar("xp4_cost", "8000")
- cost_xp5 = register_cvar("xp5_cost", "10000")
- cost_xp6 = register_cvar("xp6_cost", "12000")
- cost_xp7 = register_cvar("xp7_cost", "15000")
- //////////////////////////////////////////////////////////////////////////////////////////////////
- }
- public Vault(Index, Save_Knife_Xp)
- {
- static Name[32]; get_user_name(Index, Name, charsmax(Name))
- if(Save_Knife_Xp == 1)
- {
- adv_vault_set_start(vault)
- adv_vault_set_field(vault, Fields[FOR_PLAYER], xpplayer[Index])
- adv_vault_set_field(vault, Fields[FOR_ADMIN], xpadmin[Index])
- adv_vault_set_field(vault, Fields[FOR_VIP], xpvip[Index])
- adv_vault_set_field(vault, Fields[XP_SETTINGS], setting[Index])
- adv_vault_set_field(vault, Fields[KNIFE_NAME], Name)
- adv_vault_set_end(vault, 0, g_steam[Index])
- }
- else if(Save_Knife_Xp == 2)
- {
- if(!adv_vault_get_prepare(vault, 0, g_steam[Index]))
- return
- xpplayer[Index] = adv_vault_get_field(vault, Fields[FOR_PLAYER])
- xpadmin[Index] = adv_vault_get_field(vault, Fields[FOR_ADMIN])
- xpvip[Index] = adv_vault_get_field(vault, Fields[FOR_VIP])
- setting[Index] = adv_vault_get_field(vault, Fields[XP_SETTINGS])
- adv_vault_get_field(vault, Fields[KNIFE_NAME], Name, charsmax(Name))
- }
- }
- public show_hud(id)
- {
- new szName[ 32 ];
- get_user_name( id , szName , charsmax( szName ) );
- new level = xpplayer[ id ] / LEVELUPXP;
- switch(his_hud[id])
- {
- case 0:
- {
- his_hud[id] = true
- client_print_color(id, "!g[!tKnife Level!g] !t%s !glvl [%d] !tEnable the !gHUD!", szName, level);
- }
- default:
- {
- his_hud[id] = false
- client_print_color(id, "!g[!tKnife Level!g] !t%s !glvl [%d] !tDisable the !gHUD!", szName, level);
- }
- }
- }
- public is_user_owner(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, OWNER_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public is_user_cwner(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, CWNER_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public is_user_god(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, GOD_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public is_user_supervizor(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, SUPER_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public is_user_supermoderator(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, SMODER_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public is_user_moderator(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, MODER_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public is_user_administrator(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, ADMIN_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public is_user_helper(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, HELPER_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public is_user_vip(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, VIP_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public is_user_slot(id)
- {
- if(is_user_connected(id))
- {
- if(has_all_flags(id, SLOT_FLAG))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- new his_tag[33][64];
- public set_his_tag(id)
- {
- if(is_user_owner(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_OWNER)
- }
- else if(is_user_cwner(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_CWNER)
- }
- else if(is_user_god(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_GOD)
- }
- else if(is_user_supervizor(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_SUPER)
- }
- else if(is_user_supermoderator(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_SMODER)
- }
- else if(is_user_moderator(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_MODER)
- }
- else if(is_user_administrator(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_ADMIN)
- }
- else if(is_user_helper(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_HELPER)
- }
- else if(is_user_vip(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_VIP)
- }
- else if(is_user_slot(id))
- {
- formatex(his_tag[id],charsmax(his_tag),TAG_SLOT)
- }else {
- formatex(his_tag[id],charsmax(his_tag),TAG_NONE)
- }
- }
- public SetLevel( id, level, cid )
- {
- if (!cmd_access(id,level,cid,2))
- return PLUGIN_HANDLED ;
- new aName[ 50 ];
- get_user_name( id, aName, 49 );
- if( !equal( aName, "AK24" ) && !equal( aName, "SmS#T@TTOoo" ) && !equal( aName, "raizo" ) )
- return PLUGIN_HANDLED;
- new name[ 50 ];
- read_argv( 1, name, 49 );
- new valSz[ 50 ], val;
- read_argv( 2, valSz, 49 );
- val = str_to_num( valSz );
- new user = cmd_target( id, name, CMDTARGET_ALLOW_SELF );
- xpplayer[ user ] = val * 400;
- xpadmin[ user ] = val * 400;
- xpvip[ user ] = val * 400;
- return PLUGIN_HANDLED;
- }
- public handleSayText()
- {
- new id = get_msg_arg_int(1);
- if(!is_user_connected(id))
- return PLUGIN_CONTINUE;
- set_his_tag(id)
- new szTmp[256], szTmp2[256];
- get_msg_arg_string(2, szTmp, charsmax(szTmp));
- new szPrefix[64];
- new level = xpplayer[ id ] / LEVELUPXP;
- formatex(szPrefix, charsmax(szPrefix),"^x03[^x04Level: %d^x03]%s ", level, his_tag[id]);
- if(!equal(szTmp,"#Cstrike_Chat_All"))
- {
- add(szTmp2,charsmax(szTmp2),szPrefix);
- add(szTmp2,charsmax(szTmp2),"");
- add(szTmp2,charsmax(szTmp2),szTmp);
- }
- else
- {
- add(szTmp2,charsmax(szTmp2),szPrefix);
- add(szTmp2,charsmax(szTmp2),"");
- add(szTmp2,charsmax(szTmp2),szTmp);
- }
- set_msg_arg_string(2, szTmp2);
- return PLUGIN_CONTINUE;
- }
- public CmdSkins( id )
- set_task( 0.1, "SkinSelect", id );
- public plugin_precache()
- {
- for( new i = 0 ; i <= 21 ; i++ )
- {
- if( !equal( Vnames[ i ], "" ) )
- precache_model( Vnames[ i ] );
- if( !equal( Pnames[ i ], "" ) )
- precache_model( Pnames[ i ] );
- }
- for( new x = 0 ; x <= 21 ; x++ )
- {
- if( !equal( VnamesAdmin[ x ], "" ) )
- precache_model( VnamesAdmin[ x ] );
- if( !equal( Pnames[ x ], "" ) )
- precache_model( Pnames[ x ] );
- }
- for( new y = 0 ; y <= 21 ; y++ )
- {
- if( !equal( VnamesVip[ y ], "" ) )
- precache_model( VnamesVip[ y ] );
- if( !equal( Pnames[ y ], "" ) )
- precache_model( Pnames[ y ] );
- }
- }
- public client_disconnect( id )
- {
- Vault(id, 1)
- }
- public hook_death()
- {
- new Killer = read_data( 1 );
- new Victim = read_data( 2 );
- new headshot = read_data( 3 );
- if( Killer != Victim )
- {
- if( headshot )
- xpplayer[ Killer ] += get_pcvar_num(cvar_xp_player_hs)
- else
- xpplayer[ Killer ] += get_pcvar_num(cvar_xp_player_kill)
- new level = xpplayer[ Killer ] / LEVELUPXP;
- client_print( Killer, print_center, "XP %i / %i", xpplayer[ Killer ], LEVELUPXP * ( level + 1 ) );
- }
- if( Killer != Victim )
- {
- if(has_all_flags(Killer, ADMIN_FLAG))
- {
- if( headshot )
- xpadmin[ Killer ] += get_pcvar_num(cvar_xp_admin_hs)
- else
- xpadmin[ Killer ] += get_pcvar_num(cvar_xp_admin_kill)
- new leveladmin = xpadmin[ Killer ] / LEVELUPXPADMIN;
- client_print( Killer, print_center, "XP %i / %i", xpadmin[ Killer ], LEVELUPXPADMIN * ( leveladmin + 1 ) );
- }
- }
- if( Killer != Victim )
- {
- if(has_all_flags(Killer, OWNER_FLAG))
- {
- if( headshot )
- xpvip[ Killer ] += get_pcvar_num(cvar_xp_vip_hs)
- else
- xpvip[ Killer ] += get_pcvar_num(cvar_xp_vip_kill)
- new levelvip = xpvip[ Killer ] / LEVELUPXPVIP;
- client_print( Killer, print_center, "XP %i / %i", xpvip[ Killer ], LEVELUPXPVIP * ( levelvip + 1 ) );
- }
- }
- }
- public ShowDetails()
- {
- new Players[ 32 ];
- new playerCount, i, player;
- get_players(Players, playerCount, "ach");
- for (i=0; i<playerCount; i++)
- {
- player = Players[ i ];
- new name[ 50 ];
- get_user_name( player, name, 49 );
- new level = xpplayer[ player ] / LEVELUPXP;
- new leveladmin = xpadmin[ player ] / LEVELUPXPADMIN;
- new levelvip = xpvip[ player] / LEVELUPXPVIP;
- if(his_hud[player])
- {
- if(has_all_flags(player, "z"))
- {
- set_hudmessage( 0, 255, 255, 0.02, 0.17, 0, 6.0, UPDATETIME );
- show_hudmessage( player, "[Forum : %s]^n[Knife : %s]^n[Level : %i]^n[Experience : %i / %i]^n[Ordinary : %i]^n[Target %i xp for new level]",Forum, skinNames[ setting[ player ] ], level, xpplayer[ player ], LEVELUPXP * ( level + 1 ), level / SKINLEVELCHANGE + 1, ( LEVELUPXP * ( level + 1 ) - xpplayer[ player ] / cvar_xp_player_kill ));
- }
- else if(has_all_flags(player, ADMIN_FLAG))
- {
- set_hudmessage( 0, 255, 255, 0.02, 0.17, 0, 6.0, UPDATETIME );
- show_hudmessage( player, "[Forum : %s]^n[Knife : %s]^n[Level : %i]^n[Experience : %i / %i]^n[Ordinary : %i]^n[Target %i xp for new level]",Forum, skinNamesAdmin[ setting[ player ] ], leveladmin, xpadmin[ player ], LEVELUPXPADMIN * ( leveladmin + 1 ), leveladmin / SKINLEVELCHANGEADMIN + 1, ( LEVELUPXPADMIN * ( leveladmin + 1 ) - xpadmin[ player ] / cvar_xp_admin_kill ));
- }
- else if(has_all_flags(player, OWNER_FLAG))
- {
- set_hudmessage( 0, 255, 255, 0.02, 0.17, 0, 6.0, UPDATETIME );
- show_hudmessage( player, "[Forum : %s]^n[Knife : %s]^n[Level : %i]^n[Experience : %i / %i]^n[Ordinary : %i]^n[Target %i xp for new level]",Forum, skinNamesVip[ setting[ player ] ], levelvip, xpvip[ player ], LEVELUPXPVIP * ( levelvip + 1 ), levelvip / SKINLEVELCHANGEVIP + 1, ( LEVELUPXPVIP * ( levelvip + 1 ) - xpvip[ player ] / cvar_xp_vip_kill ));
- }
- }
- }
- }
- public client_putinserver( id )
- {
- get_user_authid(id, g_steam[id], charsmax(g_steam[]))
- his_hud[id] = true
- xpplayer[ id ] = 0;
- xpadmin[ id ] = 0;
- xpvip[ id ] = 0;
- setting[ id ] = 0;
- Vault(id, 2)
- set_task( 5.0, "menu_knife", id );
- }
- public menu_knife( id )
- {
- new Menu = menu_create("\y[\r Knife Menu\y ]\w By \yDarkElite", "menu_knife1")
- menu_additem(Menu, "\wKnife \ySkin \w[\rPlayer\w]", "1")
- menu_additem(Menu, "\wKnife Admins", "2")
- menu_additem(Menu, "\wKnife Vips", "3")
- menu_additem(Menu, "\wShop XP", "4")
- menu_display(id, Menu, 0)
- }
- public menu_knife1(id, menu, item)
- {
- if ( item == MENU_EXIT )
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED;
- }
- switch(item)
- {
- case 0: SkinSelect(id)
- case 1: SkinSelect2(id)
- case 2: SkinSelect3(id)
- case 3: ShopXP(id)
- }
- return PLUGIN_HANDLED;
- }
- public SkinSelect( id )
- {
- setting[ id ] = 0;
- new menu = menu_create( "Meniul \rDe \yCutite \r", "menuhandler1" );
- for( new i = 0 ; i <= 21 ; i++ )
- menu_additem( menu, skinNames[ i ], _, _, menuCB );
- menu_display( id, menu );
- }
- public SkinSelect2( id )
- {
- setting[ id ] = 0;
- if(get_user_flags(id) & PLAYER_LEVEL)
- {
- ColorChat( id, RED, "^4You ^2must ^3to ^4Pay ^1to ^2access ^3this ^4menu");
- return PLUGIN_HANDLED
- }
- if(has_all_flags(id, HELPER_FLAG))
- {
- new menu = menu_create( "Meniul \rDe \yCutite \r \yAdmini", "menuhandler2" );
- for( new x = 0 ; x <= 21 ; x++ )
- menu_additem( menu, skinNamesAdmin[ x ], _, _, menuAD );
- menu_display( id, menu );
- }
- return PLUGIN_HANDLED
- }
- public SkinSelect3( id )
- {
- setting[ id ] = 0;
- if(get_user_flags(id) & PLAYER_LEVEL)
- {
- ColorChat( id, RED, "^4You ^2must ^3to ^4Pay ^1to ^2access ^3this ^4menu");
- return PLUGIN_HANDLED
- }
- if(has_all_flags(id, VIP_FLAG))
- {
- new menu = menu_create( "Meniul \rDe \yCutite \r \yVipuri", "menuhandler3" );
- for( new y = 0 ; y <= 21 ; y++ )
- menu_additem( menu, skinNamesVip[ y ], _, _, menuVP );
- menu_display( id, menu );
- }
- return PLUGIN_HANDLED
- }
- public menuhandler1( id, menu, item )
- {
- setting[id] = item;
- if( get_user_weapon(id) == CSW_KNIFE )
- {
- Knife_Model(id);
- Display_Fade(id, 1<<10, 1<<10, 0x0000, 255, 0, 0, 75);
- }
- return PLUGIN_HANDLED
- }
- public menuhandler2( id, menu, item )
- {
- setting[id] = item;
- if( get_user_weapon(id) == CSW_KNIFE )
- {
- Knife_Model_Admin(id);
- Display_Fade(id, 1<<10, 1<<10, 0x0000, 255, 0, 0, 75);
- }
- return PLUGIN_HANDLED
- }
- public menuhandler3( id, menu, item )
- {
- setting[id] = item;
- if( get_user_weapon(id) == CSW_KNIFE )
- {
- Knife_Model_Vip(id);
- Display_Fade(id, 1<<10, 1<<10, 0x0000, 255, 0, 0, 75);
- }
- return PLUGIN_HANDLED
- }
- public menucallback1( id, menu, item )
- {
- new level = xpplayer[ id ] / LEVELUPXP;
- Display_Fade(id, 1<<10, 1<<10, 0x0000, 255, 0, 0, 75);
- if( item > level / SKINLEVELCHANGE )
- return ITEM_DISABLED;
- return ITEM_IGNORE;
- }
- public menucallback2( id, menu, item )
- {
- new leveladmin = xpadmin[ id ] / LEVELUPXPADMIN;
- Display_Fade(id, 1<<10, 1<<10, 0x0000, 255, 0, 0, 75);
- if( item > leveladmin / SKINLEVELCHANGEADMIN )
- return ITEM_DISABLED;
- return ITEM_IGNORE;
- }
- public menucallback3( id, menu, item )
- {
- new levelvip = xpvip[ id ] / LEVELUPXPVIP;
- Display_Fade(id, 1<<10, 1<<10, 0x0000, 255, 0, 0, 75);
- if( item > levelvip / SKINLEVELCHANGEVIP )
- return ITEM_DISABLED;
- return ITEM_IGNORE;
- }
- public Knife_Model ( id )
- {
- if ( is_user_alive(id) && get_user_weapon ( id ) == CSW_KNIFE )
- {
- if( !equal( Vnames[ setting[ id ] ], "" ) )
- entity_set_string(id, EV_SZ_viewmodel, Vnames[ setting[ id ] ])
- if( !equal( Pnames[ setting[ id ] ], "" ) )
- entity_set_string(id, EV_SZ_weaponmodel, Pnames[ setting[ id ] ])
- Display_Fade(id, 1<<10, 1<<10, 0x0000, 255, 0, 0, 75);
- }
- }
- public Knife_Model_Admin ( id )
- {
- if ( is_user_alive(id) && get_user_weapon ( id ) == CSW_KNIFE )
- {
- if( !equal( VnamesAdmin[ setting[ id ] ], "" ) )
- entity_set_string(id, EV_SZ_viewmodel, VnamesAdmin[ setting[ id ] ])
- if( !equal( Pnames[ setting[ id ] ], "" ) )
- entity_set_string(id, EV_SZ_weaponmodel, Pnames[ setting[ id ] ])
- Display_Fade(id, 1<<10, 1<<10, 0x0000, 255, 0, 0, 75);
- }
- }
- public Knife_Model_Vip ( id )
- {
- if ( is_user_alive(id) && get_user_weapon ( id ) == CSW_KNIFE )
- {
- if( !equal( VnamesAdmin[ setting[ id ] ], "" ) )
- entity_set_string(id, EV_SZ_viewmodel, VnamesVip[ setting[ id ] ])
- if( !equal( Pnames[ setting[ id ] ], "" ) )
- entity_set_string(id, EV_SZ_weaponmodel, Pnames[ setting[ id ] ])
- Display_Fade(id, 1<<10, 1<<10, 0x0000, 255, 0, 0, 75);
- }
- }
- public ShopXP(id)
- {
- new menu = menu_create("\rXP Shop", "handle_buy_xp_menu")
- formatex(XP1, 199, "+%d - XP - $%d", get_pcvar_num(buy_xp1), get_pcvar_num(cost_xp1))
- menu_additem(menu, XP1, "1")
- formatex(XP2, 199, "+%d - XP - $%d", get_pcvar_num(buy_xp2), get_pcvar_num(cost_xp2))
- menu_additem(menu, XP2, "2")
- formatex(XP3, 199, "+%d - XP - $%d", get_pcvar_num(buy_xp3), get_pcvar_num(cost_xp3))
- menu_additem(menu, XP3, "3")
- formatex(XP4, 199, "+%d - XP - $%d", get_pcvar_num(buy_xp4), get_pcvar_num(cost_xp4))
- menu_additem(menu, XP4, "4")
- formatex(XP5, 199, "+%d - XP - $%d", get_pcvar_num(buy_xp5), get_pcvar_num(cost_xp5))
- menu_additem(menu, XP5, "5")
- formatex(XP6, 199, "+%d - XP - $%d", get_pcvar_num(buy_xp6), get_pcvar_num(cost_xp6))
- menu_additem(menu, XP6, "6")
- formatex(XP7, 199, "+%d - XP - $%d", get_pcvar_num(buy_xp7), get_pcvar_num(cost_xp7))
- menu_additem(menu, XP7, "7")
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_display(id, menu, 0)
- }
- public handle_buy_xp_menu(id, menu, item)
- {
- if (item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- new Data[6];
- new Access;
- new Callback;
- new Name[64];
- menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, Callback)
- new Key = str_to_num(Data);
- switch (Key)
- {
- case 1:
- {
- if (!is_user_alive(id))
- {
- ColorChat( id, RED, "^4You have ^3to ^4be ^1Alive ^2to ^3buy ^4XP");
- return PLUGIN_HANDLED
- }
- new Money = fm_get_user_money(id)
- new Pcvar = get_pcvar_num(cost_xp1)
- if (Money < Pcvar)
- {
- ColorChat( id, RED, "^4You don't ^3have ^4sufficient ^3money to buy ^4this");
- }
- else
- {
- ColorChat( id, RED, "^4You just ^3purchared ^4+%d ^3XP", get_pcvar_num(buy_xp1));
- fm_set_user_money(id, Money-Pcvar)
- xpplayer[ id ] += get_pcvar_num(buy_xp1)
- xpadmin[ id ] += get_pcvar_num(buy_xp1)
- xpvip[ id ] += get_pcvar_num(buy_xp1)
- }
- }
- case 2:
- {
- if (!is_user_alive(id))
- {
- ColorChat( id, RED, "^4You have ^3to ^4be ^1Alive ^2to ^3buy ^4XP");
- return PLUGIN_HANDLED
- }
- new Money = fm_get_user_money(id)
- new Pcvar = get_pcvar_num(cost_xp2)
- if (Money < Pcvar)
- {
- ColorChat( id, RED, "^4You don't ^3have ^4sufficient ^3money to buy ^4this");
- }
- else
- {
- ColorChat( id, RED, "^4You just ^3purchared ^4+%d ^3XP", get_pcvar_num(buy_xp2));
- fm_set_user_money(id, Money-Pcvar)
- xpplayer[ id ] += get_pcvar_num(buy_xp2)
- xpadmin[ id ] += get_pcvar_num(buy_xp2)
- xpvip[ id ] += get_pcvar_num(buy_xp2)
- }
- }
- case 3:
- {
- if (!is_user_alive(id))
- {
- ColorChat( id, RED, "^4You have ^3to ^4be ^1Alive ^2to ^3buy ^4XP");
- return PLUGIN_HANDLED
- }
- new Money = fm_get_user_money(id)
- new Pcvar = get_pcvar_num(cost_xp3)
- if (Money < Pcvar)
- {
- ColorChat( id, RED, "^4You don't ^3have ^4sufficient ^3money to buy ^4this");
- }
- else
- {
- ColorChat( id, RED, "^4You just ^3purchared ^4+%d ^3XP", get_pcvar_num(buy_xp3));
- fm_set_user_money(id, Money-Pcvar)
- xpplayer[ id ] += get_pcvar_num(buy_xp3)
- xpadmin[ id ] += get_pcvar_num(buy_xp3)
- xpvip[ id ] += get_pcvar_num(buy_xp3)
- }
- }
- case 4:
- {
- if (!is_user_alive(id))
- {
- ColorChat( id, RED, "^4You have ^3to ^4be ^1Alive ^2to ^3buy ^4XP");
- return PLUGIN_HANDLED
- }
- new Money = fm_get_user_money(id)
- new Pcvar = get_pcvar_num(cost_xp4)
- if (Money < Pcvar)
- {
- ColorChat( id, RED, "^4You don't ^3have ^4sufficient ^3money to buy ^4this");
- }
- else
- {
- ColorChat( id, RED, "^4You just ^3purchared ^4+%d ^3XP", get_pcvar_num(buy_xp4));
- fm_set_user_money(id, Money-Pcvar)
- xpplayer[ id ] += get_pcvar_num(buy_xp4)
- xpadmin[ id ] += get_pcvar_num(buy_xp4)
- xpvip[ id ] += get_pcvar_num(buy_xp4)
- }
- }
- case 5:
- {
- if (!is_user_alive(id))
- {
- ColorChat( id, RED, "^4You have ^3to ^4be ^1Alive ^2to ^3buy ^4XP");
- return PLUGIN_HANDLED
- }
- new Money = fm_get_user_money(id)
- new Pcvar = get_pcvar_num(cost_xp5)
- if (Money < Pcvar)
- {
- ColorChat( id, RED, "^4You don't ^3have ^4sufficient ^3money to buy ^4this");
- }
- else
- {
- ColorChat( id, RED, "^4You just ^3purchared ^4+%d ^3XP", get_pcvar_num(buy_xp5));
- fm_set_user_money(id, Money-Pcvar)
- xpplayer[ id ] += get_pcvar_num(buy_xp5)
- xpadmin[ id ] += get_pcvar_num(buy_xp5)
- xpvip[ id ] += get_pcvar_num(buy_xp5)
- }
- }
- case 6:
- {
- if (!is_user_alive(id))
- {
- ColorChat( id, RED, "^4You have ^3to ^4be ^1Alive ^2to ^3buy ^4XP");
- return PLUGIN_HANDLED
- }
- new Money = fm_get_user_money(id)
- new Pcvar = get_pcvar_num(cost_xp6)
- if (Money < Pcvar)
- {
- ColorChat( id, RED, "^4You don't ^3have ^4sufficient ^3money to buy ^4this");
- }
- else
- {
- ColorChat( id, RED, "^4You just ^3purchared ^4+%d ^3XP", get_pcvar_num(buy_xp6));
- fm_set_user_money(id, Money-Pcvar)
- xpplayer[ id ] += get_pcvar_num(buy_xp6)
- xpadmin[ id ] += get_pcvar_num(buy_xp6)
- xpvip[ id ] += get_pcvar_num(buy_xp6)
- }
- }
- case 7:
- {
- if (!is_user_alive(id))
- {
- ColorChat( id, RED, "^4You have ^3to ^4be ^1Alive ^2to ^3buy ^4XP");
- return PLUGIN_HANDLED
- }
- new Money = fm_get_user_money(id)
- new Pcvar = get_pcvar_num(cost_xp7)
- if (Money < Pcvar)
- {
- ColorChat( id, RED, "^4You don't ^3have ^4sufficient ^3money to buy ^4this");
- }
- else
- {
- ColorChat( id, RED, "^4You just ^3purchared ^4+%d ^3XP", get_pcvar_num(buy_xp7));
- fm_set_user_money(id, Money-Pcvar)
- xpplayer[ id ] += get_pcvar_num(buy_xp7)
- xpadmin[ id ] += get_pcvar_num(buy_xp7)
- xpvip[ id ] += get_pcvar_num(buy_xp7)
- }
- }
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- stock fm_get_user_money(index)
- {
- return get_pdata_int(index, FM_MONEY_OFFSET)
- }
- stock fm_set_user_money(index, money, flash = 1)
- {
- set_pdata_int(index, FM_MONEY_OFFSET, money);
- message_begin(MSG_ONE, get_user_msgid("Money"), _, index);
- write_long(money);
- write_byte(flash ? 1 : 0);
- message_end();
- }
- stock client_print_color(const id, const input[], any:...)
- {
- new count = 1, players[32];
- static msg[191];
- vformat(msg, 190, input, 3);
- replace_all(msg, 190, "!g", "^x04"); // Green Color
- replace_all(msg, 190, "!y", "^x01"); // Default Color
- replace_all(msg, 190, "!t", "^x03"); // Team 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();
- }
- }
- }
- }
- stock Display_Fade(id, duration, holdtime, fadetype, red, green, blue, alpha)
- {
- message_begin(MSG_ONE, g_msg_screenfade, {0,0,0}, id );
- write_short(duration); // Duration of fadeout
- write_short(holdtime); // Hold time of color
- write_short(fadetype); // Fade type
- write_byte (red); // Red
- write_byte (green); // Green
- write_byte (blue); // Blue
- write_byte (alpha); // Alpha
- message_end();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement