Advertisement
Guest User

Untitled

a guest
Apr 19th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 38.01 KB | None | 0 0
  1. /* Plugin made by Straxedix */
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <fakemeta>
  6. #include <fun>
  7. #include <hamsandwich>
  8. #include <colorchat>
  9. #include <nvault>
  10. #include <engine>
  11. #include <fakemeta_util>
  12.  
  13. #define Forum "sleepless.000webhostapp.com"
  14.  
  15. #define TASK_SHOW_LEVEL 10113
  16.  
  17. new g_vault
  18. new PlayerXP[33],PlayerLevel[33]
  19.  
  20. new XP_Kill,XP_Hs
  21. new SaveXP
  22.  
  23. new levelspr, levelspr2;
  24. new g_msgsync
  25.  
  26. // Experience gain is set to 100 per kill, 200 per head shot.
  27. // Idea is to let players get first few (3-5) knives real quick. Others (as levels grow) harder and harder. Check experience below.
  28.  
  29. new const EXPERIENCE[] =
  30. {
  31.     0, // Default knife - free
  32.     1000, // 10 killova
  33.     2000, // 20 killova
  34.     3000, // 30 killova
  35.     4000, // 40 killova pa na dalje"Default Knife",
  36.     "Bloody Knife",
  37.     "Zebra Knife",
  38.     "Thunder Knife",
  39.     "Crystal Knife",
  40.     "Soldier Knife",
  41.     "ZicZac Knife",
  42.     "Parallax Knife",
  43.     "Deep Blood Knife",
  44.     "Syralth Knife",
  45.     "Monster",
  46.     "Crowbar",
  47.     "Silver And Gold Knife",
  48.     "Colorful Knife",
  49.     "Fireball Knife",
  50.     "Wolverine Claws",
  51.     "Sunset Knife",
  52.     "Katana",
  53.     "Hammer",
  54.     "Adidas Knife",
  55.     "Plague Knife",
  56.     "Tiny Knife",
  57.     "Golden Knife",
  58.     "Programmer Knife",
  59.     "Cyber Knife",
  60.     "Rainbow Knife",
  61.     "Harmed Knife",
  62.     "Grey Knife",
  63.     "Deep Sea Knife",
  64.     "Lightning Knife",
  65.     "Ordinary Killer",
  66.     "Marine Knife",
  67.     "Freckles Knife",
  68.     "Shadow Knife",
  69.     "Silver Knife",
  70.     "Llama Knife",
  71.     "Prison Knife",
  72.     "Xmas Knife",
  73.     "Night Sky Knife",
  74.     "Water Knife",
  75.     "Spy Knife",
  76.     "Cobra Knife",
  77.     "Light Bringer",
  78.     "Redo Knife",
  79.     "Toxic Knife",
  80.     "White Knife",
  81.     "Digital Knife",
  82.     "Razer Knife",
  83.     "Crysis Knife",
  84.     "Coded Knife",
  85.     "Aqua Smoke",
  86.     "Black Insight",
  87.     "Ultra Knife",
  88.     "Bubbletastic Knife",
  89.     "Fallen",
  90.     "Pure Ice"
  91. }
  92. new const knives_VIP[][] =
  93. {
  94.     "Excalibur Knife", //Sounds included, VIP Knives from here.
  95.     "Dragon Knife",
  96.     "Hunt", //Sounds inlcuded.
  97.     "Lightsaber",
  98.     "Death Knife",
  99.     "Death Axe",
  100.     "Digital Killer",
  101.     "Master Knife",
  102.     "Simple Knife",
  103.     "Special Force",
  104.     "Bloody Moon",
  105.     "Painted Knife",
  106.     "Firework Knife",
  107.     "Illusion Knife",
  108.     "Light Blue Knife",
  109.     "Destiny",
  110.     "Death Touch",
  111.     "Purple Death",
  112.     "Black Soul",
  113.     "Red Hope"
  114. }
  115. new const knives_admin[][] =
  116. {
  117.     "Tracker", //Sounds included. Admin Knives from here.
  118.     "Black And White",
  119.     "Chosen",
  120.     "Dark Cube",
  121.     "Destroyer",
  122.     "Unbeatable",
  123.     "White Force"
  124. }
  125. new const knives_tron[][] =
  126. {
  127.     "Tron Blue", //Tron Knives from here.
  128.     "Tron Blue Transparent",
  129.     "Tron Green",
  130.     "Tron Green Transparent",
  131.     "Tron Orange",
  132.     "Tron Orange Transparent",
  133.     "Tron Purple",
  134.     "Tron Purple Transparent",
  135.     "Tron Red",
  136.     "Tron Red Transparent",
  137.     "Tron White",
  138.     "Tron White Transparent",
  139.     "Tron Yellow",
  140.     "Tron Yellow Transparent"
  141. }
  142. new const knives_zixon[][] =
  143. {
  144.     "Zixon Blue", //Zixon knives from here.
  145.     "Zixon Banana",
  146.     "Zixon Electric",
  147.     "Zixon Bubble",
  148.     "Zixon Light Blue",
  149.     "Zixon Gold",
  150.     "Zixon Green",
  151.     "Zixon Pink",
  152.     "Zixon Red",
  153.     "Zixon Coca Cola",
  154.     "Zixon Colorful",
  155.     "Zixon Glass",
  156.     "Zixon Green Fire",
  157.     "Zixon Green Fire v2",
  158.     "Zixon Hazzard",
  159.     "Zixon Black Hearts",
  160.     "Zixon Colorful",
  161.     "Zixon White",
  162.     "Zixon Ice",
  163.     "Zixon Lava",
  164.     "Zixon Lightning",
  165.     "Zixon Metal",
  166.     "Zixon Pure Black",
  167.     "Zixon Rainbow",
  168.     "Zixon Red Metal",
  169.     "Zixon Transparent Blue",
  170.     "Zixon Transparent Gold",
  171.     "Zixon Transparent Green",
  172.     "Zixon Transparent Hearts",
  173.     "Zixon Transparent Magneta",
  174.     "Zixon Transparent Rainbow",
  175.     "Zixon Transparent Red",
  176.     "Zixon Transparent White",
  177.     "Zixon Vortex",
  178.     "Zixon Wooden"
  179. }
  180.  
  181. new const models_free_knives[][] =
  182. {
  183.     "models/v_knife.mdl",
  184.     "models/sleepless/free_knives/v_bloody.mdl",
  185.     "models/sleepless/free_knives/v_zebra.mdl",
  186.     "models/sleepless/free_knives/v_thunder.mdl",
  187.     "models/sleepless/free_knives/v_crystal.mdl",
  188.     "models/sleepless/free_knives/v_soldier.mdl",
  189.     "models/sleepless/free_knives/v_ziczac.mdl",
  190.     "models/sleepless/free_knives/v_parallax.mdl",
  191.     "models/sleepless/free_knives/v_deep_blood.mdl",
  192.     "models/sleepless/free_knives/v_syralth.mdl",
  193.     "models/sleepless/free_knives/v_monster.mdl",
  194.     "models/sleepless/free_knives/v_crowbar.mdl",
  195.     "models/sleepless/free_knives/v_silver_gold.mdl",
  196.     "models/sleepless/free_knives/v_colorful.mdl",
  197.     "models/sleepless/free_knives/v_fireball.mdl",
  198.     "models/sleepless/free_knives/v_wolverine.mdl",
  199.     "models/sleepless/free_knives/v_sunset.mdl",
  200.     "models/sleepless/free_knives/v_katana.mdl",
  201.     "models/sleepless/free_knives/v_hammer.mdl",
  202.     "models/sleepless/free_knives/v_adidas.mdl",
  203.     "models/sleepless/free_knives/v_plague.mdl",
  204.     "models/sleepless/free_knives/v_tiny.mdl",
  205.     "models/sleepless/free_knives/v_gold.mdl",
  206.     "models/sleepless/free_knives/v_programmer.mdl",
  207.     "models/sleepless/free_knives/v_cyber.mdl",
  208.     "models/sleepless/free_knives/v_rainbow.mdl",
  209.     "models/sleepless/free_knives/v_harmed.mdl",
  210.     "models/sleepless/free_knives/v_grey.mdl",
  211.     "models/sleepless/free_knives/v_deep_sea.mdl",
  212.     "models/sleepless/free_knives/v_lightning.mdl",
  213.     "models/sleepless/free_knives/v_ordinary.mdl",
  214.     "models/sleepless/free_knives/v_marine.mdl",
  215.     "models/sleepless/free_knives/v_freckles.mdl",
  216.     "models/sleepless/free_knives/v_shadow.mdl",
  217.     "models/sleepless/free_knives/v_silver.mdl",
  218.     "models/sleepless/free_knives/v_llama.mdl",
  219.     "models/sleepless/free_knives/v_prison.mdl",
  220.     "models/sleepless/free_knives/v_xmas.mdl",
  221.     "models/sleepless/free_knives/v_night_sky.mdl",
  222.     "models/sleepless/free_knives/v_water.mdl",
  223.     "models/sleepless/free_knives/v_spy.mdl",
  224.     "models/sleepless/free_knives/v_cobra.mdl",
  225.     "models/sleepless/free_knives/v_light_bringer.mdl",
  226.     "models/sleepless/free_knives/v_redo.mdl",
  227.     "models/sleepless/free_knives/v_toxic.mdl",
  228.     "models/sleepless/free_knives/v_white.mdl",
  229.     "models/sleepless/free_knives/v_digital.mdl",
  230.     "models/sleepless/free_knives/v_razer.mdl",
  231.     "models/sleepless/free_knives/v_crysis.mdl",
  232.     "models/sleepless/free_knives/v_coded.mdl",
  233.     "models/sleepless/free_knives/v_aqua_smoke.mdl",
  234.     "models/sleepless/free_knives/v_black_insight.mdl",
  235.     "models/sleepless/free_knives/v_ultra.mdl",
  236.     "models/sleepless/free_knives/v_bubbletastic.mdl",
  237.     "models/sleepless/free_knives/v_fallen.mdl",
  238.     "models/sleepless/free_knives/v_pure_ice.mdl"
  239. }
  240.  
  241. new const models_VIP_knives[][] =
  242. {
  243.     "models/sleepless/VIP_knives/v_excalibur.mdl",
  244.     "models/sleepless/VIP_knives/v_dragon.mdl",
  245.     "models/sleepless/VIP_knives/v_hunt.mdl",
  246.     "models/sleepless/VIP_knives/v_lightsaber.mdl",
  247.     "models/sleepless/VIP_knives/v_death.mdl",
  248.     "models/sleepless/VIP_knives/v_death_axe.mdl",
  249.     "models/sleepless/VIP_knives/v_digital_killer.mdl",
  250.     "models/sleepless/VIP_knives/v_master.mdl",
  251.     "models/sleepless/VIP_knives/v_simple.mdl",
  252.     "models/sleepless/VIP_knives/v_special_force.mdl",
  253.     "models/sleepless/VIP_knives/v_bloody_moon.mdl",
  254.     "models/sleepless/VIP_knives/v_paint.mdl",
  255.     "models/sleepless/VIP_knives/v_firework.mdl",
  256.     "models/sleepless/VIP_knives/v_illusion.mdl",
  257.     "models/sleepless/VIP_knives/v_light_blue.mdl",
  258.     "models/sleepless/VIP_knives/v_destiny.mdl",
  259.     "models/sleepless/VIP_knives/v_death_touch.mdl",
  260.     "models/sleepless/VIP_knives/v_purple_death.mdl",
  261.     "models/sleepless/VIP_knives/v_black_soul.mdl",
  262.     "models/sleepless/VIP_knives/v_red_hope.mdl"
  263. }
  264.  
  265. new const models_admin_knives[][] =
  266. {
  267.     "models/sleepless/admin_knives/v_tracker.mdl",
  268.     "models/sleepless/admin_knives/v_black_and_white.mdl",
  269.     "models/sleepless/admin_knives/v_chosen.mdl",
  270.     "models/sleepless/admin_knives/v_dark_cube.mdl",
  271.     "models/sleepless/admin_knives/v_destroyer.mdl",
  272.     "models/sleepless/admin_knives/v_unbeatable.mdl",
  273.     "models/sleepless/admin_knives/v_white_force.mdl"
  274. }
  275.  
  276. new const models_tron_knives[][] =
  277. {
  278.     "models/sleepless/tron_knives/v_blue_tron_normal.mdl",
  279.     "models/sleepless/tron_knives/v_blue_tron_transparent.mdl",
  280.     "models/sleepless/tron_knives/v_green_tron_normal.mdl",
  281.     "models/sleepless/tron_knives/v_green_tron_transparent.mdl",
  282.     "models/sleepless/tron_knives/v_orange_tron_normal.mdl",
  283.     "models/sleepless/tron_knives/v_orange_tron_transparent.mdl",
  284.     "models/sleepless/tron_knives/v_purple_tron_normal.mdl",
  285.     "models/sleepless/tron_knives/v_purple_tron_transparent.mdl",
  286.     "models/sleepless/tron_knives/v_red_tron_normal.mdl",
  287.     "models/sleepless/tron_knives/v_red_tron_transparent.mdl",
  288.     "models/sleepless/tron_knives/v_white_tron_normal.mdl",
  289.     "models/sleepless/tron_knives/v_white_tron_transparent.mdl",
  290.     "models/sleepless/tron_knives/v_yellow_tron_normal.mdl",
  291.     "models/sleepless/tron_knives/v_yellow_tron_transparent.mdl"
  292. }
  293.  
  294. new const models_zixon_knives[][] =
  295. {
  296.     "models/sleepless/zixon_knives/v_zixon_blue.mdl",
  297.     "models/sleepless/zixon_knives/v_zixon_banana.mdl",
  298.     "models/sleepless/zixon_knives/v_zixon_electric.mdl",
  299.     "models/sleepless/zixon_knives/v_zixon_bubble.mdl",
  300.     "models/sleepless/zixon_knives/v_zixon_light_blue.mdl",
  301.     "models/sleepless/zixon_knives/v_zixon_gold.mdl",
  302.     "models/sleepless/zixon_knives/v_zixon_green.mdl",
  303.     "models/sleepless/zixon_knives/v_zixon_pink.mdl",
  304.     "models/sleepless/zixon_knives/v_zixon_red.mdl",
  305.     "models/sleepless/zixon_knives/v_zixon_coca_cola.mdl",
  306.     "models/sleepless/zixon_knives/v_zixon_colorful.mdl",
  307.     "models/sleepless/zixon_knives/v_zixon_glass.mdl",
  308.     "models/sleepless/zixon_knives/v_zixon_green_fire.mdl",
  309.     "models/sleepless/zixon_knives/v_zixon_green_fire_2.mdl",
  310.     "models/sleepless/zixon_knives/v_zixon_hazard.mdl",
  311.     "models/sleepless/zixon_knives/v_zixon_hearts_black.mdl",
  312.     "models/sleepless/zixon_knives/v_zixon_hearts_colorful.mdl",
  313.     "models/sleepless/zixon_knives/v_zixon_hearts_white.mdl",
  314.     "models/sleepless/zixon_knives/v_zixon_ice.mdl",
  315.     "models/sleepless/zixon_knives/v_zixon_lava.mdl",
  316.     "models/sleepless/zixon_knives/v_zixon_lightning.mdl",
  317.     "models/sleepless/zixon_knives/v_zixon_metal.mdl",
  318.     "models/sleepless/zixon_knives/v_zixon_pure_black.mdl",
  319.     "models/sleepless/zixon_knives/v_zixon_rainbow.mdl",
  320.     "models/sleepless/zixon_knives/v_zixon_red_metal.mdl",
  321.     "models/sleepless/zixon_knives/v_zixon_blue_transparent.mdl",
  322.     "models/sleepless/zixon_knives/v_zixon_gold_transparent.mdl",
  323.     "models/sleepless/zixon_knives/v_zixon_green_transparent.mdl",
  324.     "models/sleepless/zixon_knives/v_zixon_hearts_transparent.mdl",
  325.     "models/sleepless/zixon_knives/v_zixon_magneta_transparent.mdl",
  326.     "models/sleepless/zixon_knives/v_zixon_rainbow_transparent.mdl",
  327.     "models/sleepless/zixon_knives/v_zixon_red_transparent.mdl",
  328.     "models/sleepless/zixon_knives/v_zixon_white_transparent.mdl",
  329.     "models/sleepless/zixon_knives/v_zixon_vortex.mdl",
  330.     "models/sleepless/zixon_knives/v_zixon_wooden.mdl"
  331. }
  332.  
  333. public plugin_precache()
  334. {
  335.     for(new i = 0;i < sizeof(models_free_knives);i++)
  336.     precache_model(models_free_knives[i])
  337.     for(new i = 0;i < sizeof(models_VIP_knives);i++)
  338.     precache_model(models_VIP_knives[i])
  339.     for(new i = 0;i < sizeof(models_admin_knives);i++)
  340.     precache_model(models_admin_knives[i])
  341.     for(new i = 0;i < sizeof(models_tron_knives);i++)
  342.     precache_model(models_tron_knives[i])
  343.     for(new i = 0;i < sizeof(models_zixon_knives);i++)
  344.     precache_model(models_zixon_knives[i])
  345.    
  346.     levelspr = engfunc(EngFunc_PrecacheModel, "sprites/sleepless/sprite1.spr");
  347.     levelspr2 = engfunc(EngFunc_PrecacheModel, "sprites/sleepless/sprite_circle.spr");
  348. }
  349.  
  350. public plugin_init()
  351. {
  352.     register_plugin("Straxedix Knife System", "1.0", "Straxedix")
  353.    
  354.     RegisterHam(Ham_Spawn, "player", "fwd_hamspawnpost", 1)
  355.    
  356.     register_clcmd("say /knife", "Call")
  357.     register_clcmd("say_team /knife", "Call")
  358.     register_clcmd("say /noz", "Call")
  359.     register_clcmd("say_team /noz", "Call")
  360.     register_clcmd("say /mylevel", "MyLevel")
  361.     register_clcmd("say_team /mylevel", "MyLevel")
  362.     register_clcmd("say /myxp", "MyXP")
  363.     register_clcmd("say_team /myxp", "MyXP")
  364.    
  365.     register_event("StatusValue", "showStatus", "be", "1=2", "2!0")
  366.     register_event("DeathMsg", "PlayerDeath", "a")
  367.    
  368.     SaveXP = register_cvar("SaveXP", "1")
  369.     XP_Kill = register_cvar("XP_per_kill", "100")
  370.     XP_Hs = register_cvar("XP_hs_bonus", "100")
  371.    
  372.     g_vault = nvault_open("Sleepless")
  373.    
  374.     g_msgsync = CreateHudSyncObj();
  375. }
  376.  
  377. public fwd_hamspawnpost(id)
  378. {
  379.     set_task(0.1, "task_show_level", TASK_SHOW_LEVEL + id)
  380. }
  381.  
  382. public MyLevel(id)
  383. {
  384.     ColorChat(id, GREEN, "^1[^4Sleepless^1] Vas trenutni level je: ^3%i", PlayerLevel[id])
  385. }
  386.  
  387. public MyXP(id)
  388. {
  389.     ColorChat(id, GREEN, "^1[^4Sleepless^1] Vas trenutni XP je ^3%i", PlayerXP[id])
  390. }
  391.  
  392. public PlayerDeath()
  393. {
  394.     new headshot
  395.     new victim
  396.     new attacker
  397.    
  398.     attacker = read_data(1)
  399.     victim = read_data(2);
  400.     headshot = read_data(3)
  401.    
  402.     if (victim == attacker || !is_user_alive(attacker)) return;
  403.    
  404.     PlayerXP[attacker] += get_pcvar_num(XP_Kill)
  405.    
  406.     if(headshot)
  407.    
  408.     PlayerXP[attacker] += get_pcvar_num(XP_Hs)
  409.    
  410.     SaveData(attacker)
  411.     CheckLevel(attacker)
  412. }
  413.  
  414. public CheckLevel(id)
  415. {
  416.     if(PlayerXP[id] >= EXPERIENCE[PlayerLevel[id]+1] && EXPERIENCE[PlayerLevel[id]+1] != 0)
  417.     {
  418.         PlayerLevel[id]++;
  419.        
  420.         if(PlayerXP[id] >= EXPERIENCE[PlayerLevel[id]+1] && EXPERIENCE[PlayerLevel[id]+1] != 0)
  421.         {
  422.             CheckLevel(id);
  423.             return PLUGIN_HANDLED;
  424.         }
  425.            
  426.         new g_iName[32];
  427.         get_user_name(id, g_iName, charsmax(g_iName));
  428.        
  429.         ColorChat(id, GREEN, "^1[^4Sleepless^1] Congratulations ^3%s^1, you just reached the level ^3%i^1 and unlocked [^3%s^1]", g_iName, PlayerLevel[id], knives_free[PlayerLevel[id]]);
  430.        
  431.         client_cmd(id, "spk events/task_complete.wav");
  432.        
  433.         new p_origin[3];
  434.         get_user_origin(id, p_origin, 0);
  435.        
  436.         set_sprite(p_origin, levelspr, 30)
  437.         set_sprite(p_origin, levelspr2, 30)
  438.        
  439.         SaveData(id)
  440.        
  441.     }
  442.     return PLUGIN_HANDLED;
  443. }
  444.  
  445. public client_connect(id)
  446. {
  447.     if(get_pcvar_num(SaveXP) == 1)
  448.     {
  449.         LoadData(id)
  450.     }
  451. }
  452.  
  453. public task_show_level(task)
  454. {
  455.     new id = task - TASK_SHOW_LEVEL
  456.    
  457.     new Name[33]
  458.        
  459.     get_user_name(id, Name, charsmax(Name))
  460.    
  461.     new nextmap[32]
  462.     get_cvar_string("amx_nextmap",nextmap,31)
  463.    
  464.     new iTimeLeft = get_timeleft();
  465.    
  466.     if(!is_user_alive(id))
  467.         return;
  468.  
  469.     set_hudmessage(255, 255, 0, 0.02, 0.14, 0, 0.0, 6.0, 0.0, 0.0)
  470.     ShowSyncHudMsg(id, g_msgsync, "^n[Forum: %s] ^n[Name: %s] ^n[Health: %d] ^n[Level: %i] ^n[Experience: %i] ^n[Current Unlocked Knife: %s] ^n[TimeLeft: %d:%d] ^n[NextMap: %s]",Forum, Name, get_user_health(id), PlayerLevel[id], PlayerXP[id], knives_free[PlayerLevel[id]], iTimeLeft / 60, iTimeLeft % 60, nextmap);
  471.    
  472.     set_task(0.1, "task_show_level", TASK_SHOW_LEVEL + id)    
  473. }
  474.  
  475. public client_disconnect(id)
  476. {
  477.     remove_task( TASK_SHOW_LEVEL + id );
  478.    
  479.     if(get_pcvar_num(SaveXP) == 1)
  480.     {
  481.         SaveData(id)
  482.     }
  483.     PlayerXP[id] = 0
  484.     PlayerLevel[id] = 0
  485. }
  486.  
  487. public SaveData(id)
  488. {
  489.     new AuthID[35]
  490.     get_user_authid(id, AuthID, 34)
  491.    
  492.     new vaultkey[64], vaultdata[256]
  493.     format(vaultkey,63,"%s-Mod", AuthID)
  494.     format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
  495.     nvault_set(g_vault,vaultkey, vaultdata)
  496.     return PLUGIN_CONTINUE
  497. }
  498.  
  499. public LoadData(id)
  500. {
  501.     new AuthID[35]
  502.     get_user_authid(id,AuthID,34)
  503.    
  504.     new vaultkey[64],vaultdata[256]
  505.     format(vaultkey,63,"%s-Mod",AuthID)
  506.     format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
  507.     nvault_get(g_vault,vaultkey,vaultdata,255)
  508.    
  509.     replace_all(vaultdata, 255, "#", " ")
  510.    
  511.     new playerxp[32], playerlevel[32]
  512.    
  513.     parse(vaultdata, playerxp, 31, playerlevel, 31)
  514.    
  515.     PlayerXP[id] = str_to_num(playerxp)
  516.     PlayerLevel[id] = str_to_num(playerlevel)
  517.    
  518.     return PLUGIN_CONTINUE
  519. }
  520.  
  521. public Call(id)
  522. {
  523.     new menu = menu_create("\w[\rSleepless\w] \ySelect between \rknife packs \yyou want to use.", "Follow")
  524.     menu_additem(menu, "Free Knives Pack")
  525.     menu_additem(menu, "\yVIP Knives Pack \w[\r2x Boost\w]")
  526.     menu_additem(menu, "Admin Knives Pack [\rForum\w]")
  527.     menu_additem(menu, "\yTron Knives Pack \w[\r1x Boost\w]")
  528.     menu_additem(menu, "\yZixon Knives Pack \w[\r2x Boost\w]")
  529.     menu_display(id, menu, 0)
  530.     return PLUGIN_HANDLED
  531. }
  532.  
  533. public Follow(id, menu, item)
  534. {
  535.     if(item == MENU_EXIT)
  536.     {
  537.         menu_destroy(menu)
  538.         return PLUGIN_CONTINUE
  539.     }
  540.     switch(item)
  541.     {
  542.         case 0:
  543.         {
  544.             FreeKnivesMenu(id)
  545.         }
  546.         case 1:
  547.         {
  548.             VIPKnivesMenu(id)
  549.         }
  550.         case 2:
  551.         {
  552.             AdminKnivesMenu(id)
  553.         }
  554.         case 3:
  555.         {
  556.             TronKnivesMenu(id)
  557.         }
  558.         case 4:
  559.         {
  560.             ZixonKnivesMenu(id)
  561.         }
  562.     }
  563.     return PLUGIN_HANDLED
  564. }
  565.  
  566. public FreeKnivesMenu(id)
  567. {
  568.     new menu = menu_create("\w[\rSleepless\w] \ySelect knife from \rFree knifes pack\y.", "FreeKnivesMenuDisplay")
  569.     for(new i = 0;i < sizeof knives_free;i ++)
  570.     menu_additem(menu, knives_free[i])
  571.     menu_display(id, menu)
  572. }
  573.  
  574. public VIPKnivesMenu(id)
  575. {
  576.     if(get_user_flags(id) & ADMIN_BAN)
  577.     {
  578.         new menu = menu_create("\w[\rSleepless\w] \ySelect knife from \rVIP knifes pack\y.", "VIPKnivesMenuDisplay")
  579.         for(new i = 0;i < sizeof knives_VIP;i ++)
  580.         menu_additem(menu, knives_VIP[i])
  581.         menu_display(id, menu)
  582.     }
  583.     else
  584.     {
  585.         ColorChat(id, RED, "^1[^4Sleepless^1] You have no access to use ^3VIP Knifes^1. Type ^3/forum^1 for more informations.")
  586.     }
  587. }
  588.  
  589. public AdminKnivesMenu(id)
  590. {
  591.     if(get_user_flags(id) & ADMIN_BAN)
  592.     {
  593.         new menu = menu_create("\w[\rSleepless\w] \ySelect knife from \rAdmin knifes pack\y.", "AdminKnivesMenuDisplay")
  594.         for(new i = 0;i < sizeof knives_admin;i ++)
  595.         menu_additem(menu, knives_admin[i])
  596.         menu_display(id, menu)
  597.     }
  598.     else
  599.     {
  600.         ColorChat(id, RED, "^1[^4Sleepless^1] You have no access to use ^3Admin Knifes^1. Type ^3/forum^1 for more informations.")
  601.     }
  602. }
  603.  
  604. public TronKnivesMenu(id)
  605. {
  606.     if(get_user_flags(id) & ADMIN_BAN)
  607.     {
  608.         new menu = menu_create("\w[\rSleepless\w] \ySelect knife from \rTron Knives Pack\y.", "TronKnivesMenuDisplay")
  609.         for(new i = 0;i < sizeof knives_tron;i ++)
  610.         menu_additem(menu, knives_tron[i])
  611.         menu_display(id, menu)
  612.     }
  613.     else
  614.     {
  615.         ColorChat(id, RED, "^1[^4Sleepless^1] You have no access to use ^3Tron Knives^1. Type ^3/forum^1 for more informations.")
  616.     }
  617. }
  618.  
  619. public ZixonKnivesMenu(id)
  620. {
  621.     if(get_user_flags(id) & ADMIN_BAN)
  622.     {
  623.         new menu = menu_create("\w[\rSleepless\w] \ySelect knife from \rZixon Knives Pack\y.", "ZixonKnivesMenuDisplay")
  624.         for(new i = 0;i < sizeof knives_zixon;i ++)
  625.         menu_additem(menu, knives_zixon[i])
  626.         menu_display(id, menu)
  627.     }
  628.     else
  629.     {
  630.         ColorChat(id, RED, "^1[^4Sleepless^1] You have no access to use ^3Zixon Knives^1. Type ^3/forum^1 for more informations.")
  631.     }
  632. }
  633.  
  634. public FreeKnivesMenuDisplay(id, menu, item)
  635. {
  636.     if(PlayerLevel[id] >= LEVELS_FOR_NEW_KNIFE[item])
  637.     {
  638.         GetFreeKnife(id, item)
  639.     }
  640.     else
  641.     {
  642.         ColorChat(id, RED, "^1[^4Sleepless^1] Sorry, but you don't have ^3required level ^1for this ^3knife^1.")
  643.         return PLUGIN_CONTINUE
  644.     }
  645.     if(item == MENU_EXIT)
  646.     {
  647.         menu_destroy(menu)
  648.         return PLUGIN_CONTINUE
  649.     }
  650.     return PLUGIN_HANDLED
  651. }
  652.  
  653. public VIPKnivesMenuDisplay(id, menu, item)
  654. {
  655.     if(get_user_flags(id) & ADMIN_BAN)
  656.     {
  657.         GetVIPKnives(id, item)
  658.         if(item == MENU_EXIT)
  659.         {
  660.             menu_destroy(menu)
  661.             return PLUGIN_CONTINUE
  662.         }
  663.     }
  664.     else
  665.     {
  666.         ColorChat(id, RED, "^1[^4Sleepless^1] You have no access to use ^3VIP Knifes^1. Type ^3/forum^1 for more informations.")
  667.         return PLUGIN_HANDLED
  668.     }
  669.     return PLUGIN_CONTINUE
  670. }
  671.  
  672. public AdminKnivesMenuDisplay(id, menu, item)
  673. {
  674.     if(get_user_flags(id) & ADMIN_BAN)
  675.     {
  676.         GetAdminKnives(id, item)
  677.         if(item == MENU_EXIT)
  678.         {
  679.             menu_destroy(menu)
  680.             return PLUGIN_CONTINUE
  681.         }
  682.     }
  683.     else
  684.     {
  685.         ColorChat(id, RED, "^1[^4Sleepless^1] You have no access to use ^3Admin Knifes^1. Type ^3/forum^1 for more informations.")
  686.         return PLUGIN_HANDLED
  687.     }
  688.     return PLUGIN_CONTINUE
  689. }
  690.  
  691. public TronKnivesMenuDisplay(id, menu, item)
  692. {
  693.     if(get_user_flags(id) & ADMIN_BAN)
  694.     {
  695.         GetTronKnives(id, item)
  696.         if(item == MENU_EXIT)
  697.         {
  698.             menu_destroy(menu)
  699.             return PLUGIN_CONTINUE
  700.         }
  701.     }
  702.     else
  703.     {
  704.         ColorChat(id, RED, "^1[^4Sleepless^1] You have no access to use ^3Tron Knives^1. Type ^3/forum^1 for more informations.")
  705.         return PLUGIN_HANDLED
  706.     }
  707.     return PLUGIN_CONTINUE
  708. }
  709.  
  710. public ZixonKnivesMenuDisplay(id, menu, item)
  711. {
  712.     if(get_user_flags(id) & ADMIN_BAN)
  713.     {
  714.         GetZixonKnives(id, item)
  715.         if(item == MENU_EXIT)
  716.         {
  717.             menu_destroy(menu)
  718.             return PLUGIN_CONTINUE
  719.         }
  720.     }
  721.     else
  722.     {
  723.         ColorChat(id, RED, "^1[^4Sleepless^1] You have no access to use ^3Zixon Knives^1. Type ^3/forum^1 for more informations.")
  724.         return PLUGIN_HANDLED
  725.     }
  726.     return PLUGIN_CONTINUE
  727. }
  728.  
  729. public GetFreeKnife(id, item)
  730. {
  731.  
  732.     if(is_user_alive(id))
  733.     {
  734.         entity_set_string(id, EV_SZ_viewmodel, models_free_knives[item])
  735.         ColorChat(id, GREEN, "^1[^4Sleepless^1] Congratulations, your knife have been successfully changed. You are now using ^3%s", knives_free[item])
  736.    
  737.     }
  738.     else
  739.     {
  740.         ColorChat(id, RED, "^1[^4Sleepless^1] Your knife will be changed to ^3%s ^1next time you respawn.", knives_free[item])
  741.     }
  742. }
  743.  
  744. public GetVIPKnives(id ,item)
  745. {
  746.     if(is_user_alive(id))
  747.     {
  748.         entity_set_string(id, EV_SZ_viewmodel, models_VIP_knives[item])
  749.         ColorChat(id, GREEN, "^1[^4Sleepless^1] Congratulations, your knife have been successfully changed. You are now using ^3%s", knives_VIP[item])
  750.     }
  751.     else
  752.     {
  753.         ColorChat(id, RED, "^1[^4Sleepless^1] Your knife will be changed to ^3%s ^1next time you respawn.", knives_VIP[item])
  754.     }
  755. }
  756.  
  757. public GetAdminKnives(id, item)
  758. {
  759.     if(is_user_alive(id))
  760.     {
  761.         entity_set_string(id, EV_SZ_viewmodel, models_admin_knives[item])
  762.         ColorChat(id, GREEN, "^1[^4Sleepless^1] Congratulations, your knife have been successfully changed. You are now using ^3%s", knives_admin[item])
  763.     }
  764.     else
  765.     {
  766.         ColorChat(id, RED, "^1[^4Sleepless^1] Your knife will be changed to ^3%s ^1next time you respawn.", knives_admin[item])
  767.     }
  768. }
  769.  
  770. public GetTronKnives(id, item)
  771. {
  772.     if(is_user_alive(id))
  773.     {
  774.         entity_set_string(id, EV_SZ_viewmodel, models_tron_knives[item])
  775.         ColorChat(id, GREEN, "^1[^4Sleepless^1] Congratulations, your knife have been successfully changed. You are now using ^3%s", knives_tron[item])
  776.     }
  777.     else
  778.     {
  779.         ColorChat(id, RED, "^1[^4Sleepless^1] Your knife will be changed to ^3%s ^1next time you respawn.", knives_tron[item])
  780.     }
  781. }
  782.  
  783. public GetZixonKnives(id, item)
  784. {
  785.     if(is_user_alive(id))
  786.     {
  787.         entity_set_string(id, EV_SZ_viewmodel, models_zixon_knives[item])
  788.         ColorChat(id, GREEN, "^1[^4Sleepless^1] Congratulations, your knife have been successfully changed. You are now using ^3%s", knives_zixon[item])
  789.     }
  790.     else
  791.     {
  792.         ColorChat(id, RED, "^1[^4Sleepless^1] Your knife will be changed to ^3%s ^1next time you respawn.", knives_zixon[item])
  793.     }
  794. }
  795. public showStatus(id)
  796. {
  797.     if(is_user_connected(id))
  798.     {
  799.         new name[32], pid = read_data(2)
  800.        
  801.         get_user_name(pid, name, charsmax(name))
  802.         new color1 = 0, color2 = 0
  803.        
  804.         new theteam = get_user_team(id)
  805.         new theteam2 = get_user_team(pid)
  806.        
  807.         new team1 = theteam == 1, team2 = theteam2 == 1
  808.        
  809.         if (team2 == 1)
  810.             color1 = 255
  811.         else
  812.             color2 = 255
  813.        
  814.         if (team1 == team2)    // friend
  815.         {
  816.             set_hudmessage(color1, 50, color2, -1.0, 0.60, 1, 0.01, 3.0, 0.01, 0.01, -1)
  817.             ShowSyncHudMsg(id, g_msgsync, "Name: %s ^nCurrent Rank: %s ^nLevel: %d ^nExperience: %d", name, knives_free[PlayerLevel[pid]], PlayerLevel[pid], PlayerXP[pid])
  818.         }
  819.     }
  820. }
  821. public set_sprite(p_origin[3], sprite, radius)
  822. {
  823.     // Explosion
  824.     message_begin(MSG_BROADCAST, SVC_TEMPENTITY, p_origin)
  825.     write_byte(TE_EXPLOSION)
  826.     write_coord(p_origin[0])
  827.     write_coord(p_origin[1])
  828.     write_coord(p_origin[2])
  829.     write_short(sprite)
  830.     write_byte(radius)
  831.     write_byte(15)
  832.     write_byte(4)
  833.     message_end()
  834. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement