Advertisement
Guest User

weap_kills

a guest
Oct 14th, 2015
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 34.11 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fvault>
  4. #include <fakemeta>
  5.  
  6. #define PLUGIN "Weap kills"
  7. #define VERSION "1.0"
  8. #define AUTHOR "mforce"
  9.  
  10. // Modellek letöltése: https://mega.nz/#!nsoTQYDJ!Mkh1q1_EQBg790oyxdXNXb6amsm6yMgH3jSlAMI9XCQ
  11.  
  12. #define PREFIX "mforce"
  13.  
  14. #define KILL_POINT (1)
  15. #define HEADSHOT_POINT (2)
  16.  
  17. new const POINTS[] = {
  18.         300,            // Rusty Snipers,       0. elem
  19.         600,            // Silver Snipers,      1.
  20.         1200,   // Gold Snipers,        2.
  21.         75,             // Rusty Pistols,       3.
  22.         150,            // Silver Pistols,      4.
  23.         300,            // Gold Pistols,        5.
  24.         40,             // Rusty Knife,         6.
  25.         80,             // Silver Knife,        7.
  26.         160             // Gold Knife,          8.
  27. };
  28.  
  29. enum PLAYER_DATABASE
  30. {
  31.         STEAMID[32],
  32.         AWP_KILLS,
  33.         SCOUT_KILLS,
  34.         DEAGLE_KILLS,
  35.         USP_KILLS,
  36.         GLOCK_KILLS,
  37.         KNIFE_KILLS,
  38.         AWP_MENU,
  39.         SCOUT_MENU,
  40.         DEAGLE_MENU,
  41.         USP_MENU,
  42.         GLOCK_MENU,
  43.         KNIFE_MENU
  44. }
  45.  
  46. new player_data[33][PLAYER_DATABASE];
  47. new const szVaultName[ ] = "weap_skins";
  48.  
  49. public plugin_init() {
  50.         register_plugin(PLUGIN, VERSION, AUTHOR)
  51.         register_cvar("weap_kills", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY);
  52.         register_clcmd("say /menu", "ShowMenu")
  53.         register_event("DeathMsg", "halal", "a")
  54.         register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
  55.         set_task(172.0, "pontrendszerfut", 0, _, _, "b");
  56. }
  57.  
  58. new const fegyverek[][] = {
  59.         "models/weap_skins/p_rozsdas_awp.mdl",          // 0. elem
  60.         "models/weap_skins/v_rozsdas_awp.mdl",          // 1
  61.         "models/weap_skins/p_silver_awp.mdl",           // 2
  62.         "models/weap_skins/v_silver_awp.mdl",           // 3
  63.         "models/weap_skins/p_arany_awp.mdl",            // 4
  64.         "models/weap_skins/v_arany_awp.mdl",            // 5
  65.         "models/weap_skins/p_rozsdas_scout.mdl",        // 6
  66.         "models/weap_skins/v_rozsdas_scout.mdl",        // 7
  67.         "models/weap_skins/p_silver_scout.mdl",         // 8
  68.         "models/weap_skins/v_silver_scout.mdl",         // 9
  69.         "models/weap_skins/p_arany_scout.mdl",          // 10
  70.         "models/weap_skins/v_arany_scout.mdl",          // 11
  71.         "models/weap_skins/p_rozsdas_deagle.mdl",       // 12
  72.         "models/weap_skins/v_rozsdas_deagle.mdl",       // 13
  73.         "models/weap_skins/p_silver_deagle.mdl",        // 14
  74.         "models/weap_skins/v_silver_deagle.mdl",        // 15
  75.         "models/weap_skins/p_arany_deagle.mdl",         // 16
  76.         "models/weap_skins/v_arany_deagle.mdl",         // 17
  77.         "models/weap_skins/p_rozsdas_usp.mdl",          // 18
  78.         "models/weap_skins/v_rozsdas_usp.mdl",          // 19
  79.         "models/weap_skins/p_silver_usp.mdl",           // 20
  80.         "models/weap_skins/v_silver_usp.mdl",           // 21
  81.         "models/weap_skins/p_arany_usp.mdl",            // 22
  82.         "models/weap_skins/v_arany_usp.mdl",            // 23
  83.         "models/weap_skins/p_rozsdas_glock.mdl",        // 24
  84.         "models/weap_skins/v_rozsdas_glock.mdl",        // 25
  85.         "models/weap_skins/p_silver_glock.mdl",         // 26
  86.         "models/weap_skins/v_silver_glock.mdl",         // 27
  87.         "models/weap_skins/p_arany_glock.mdl",          // 28
  88.         "models/weap_skins/v_arany_glock.mdl",          // 29
  89.         "models/weap_skins/p_rozsdas_knife.mdl",        // 30
  90.         "models/weap_skins/v_rozsdas_knife.mdl",        // 31
  91.         "models/weap_skins/p_silver_knife.mdl",         // 32
  92.         "models/weap_skins/v_silver_knife.mdl",         // 33
  93.         "models/weap_skins/p_arany_knife.mdl",          // 34
  94.         "models/weap_skins/v_arany_knife.mdl"           // 35
  95. };
  96.  
  97. public Event_CurWeapon(id) {
  98.         new weap = get_user_weapon(id)
  99.  
  100.         if(weap == CSW_AWP) {
  101.                 if(player_data[id][AWP_MENU] == 1) {
  102.                         set_pev(id, pev_weaponmodel2, fegyverek[0])     // p_modell
  103.                         set_pev(id, pev_viewmodel2, fegyverek[1])       // v_modell
  104.                 }
  105.                 else if(player_data[id][AWP_MENU] == 2) {
  106.                         set_pev(id, pev_weaponmodel2, fegyverek[2])
  107.                         set_pev(id, pev_viewmodel2, fegyverek[3])
  108.                 }
  109.                 else if(player_data[id][AWP_MENU] == 3) {
  110.                         set_pev(id, pev_weaponmodel2, fegyverek[4])
  111.                         set_pev(id, pev_viewmodel2, fegyverek[5])
  112.                 }
  113.         }
  114.         if(weap == CSW_SCOUT) {
  115.                 if(player_data[id][SCOUT_MENU] == 1) {
  116.                         set_pev(id, pev_weaponmodel2, fegyverek[6])
  117.                         set_pev(id, pev_viewmodel2, fegyverek[7])
  118.                 }
  119.                 else if(player_data[id][SCOUT_MENU] == 2) {
  120.                         set_pev(id, pev_weaponmodel2, fegyverek[8])
  121.                         set_pev(id, pev_viewmodel2, fegyverek[9])
  122.                 }
  123.                 else if(player_data[id][SCOUT_MENU] == 3) {
  124.                         set_pev(id, pev_weaponmodel2, fegyverek[10])
  125.                         set_pev(id, pev_viewmodel2, fegyverek[11])
  126.                 }
  127.         }
  128.         if(weap == CSW_DEAGLE) {
  129.                 if(player_data[id][DEAGLE_MENU] == 1) {
  130.                         set_pev(id, pev_weaponmodel2, fegyverek[12])
  131.                         set_pev(id, pev_viewmodel2, fegyverek[13])
  132.                 }
  133.                 else if(player_data[id][DEAGLE_MENU] == 2) {
  134.                         set_pev(id, pev_weaponmodel2, fegyverek[14])
  135.                         set_pev(id, pev_viewmodel2, fegyverek[15])
  136.                 }
  137.                 else if(player_data[id][DEAGLE_MENU] == 3) {
  138.                         set_pev(id, pev_weaponmodel2, fegyverek[16])
  139.                         set_pev(id, pev_viewmodel2, fegyverek[17])
  140.                 }
  141.         }
  142.         if(weap == CSW_USP) {
  143.                 if(player_data[id][USP_MENU] == 1) {
  144.                         set_pev(id, pev_weaponmodel2, fegyverek[18])
  145.                         set_pev(id, pev_viewmodel2, fegyverek[19])
  146.                 }
  147.                 else if(player_data[id][USP_MENU] == 2) {
  148.                         set_pev(id, pev_weaponmodel2, fegyverek[20])
  149.                         set_pev(id, pev_viewmodel2, fegyverek[21])
  150.                 }
  151.                 else if(player_data[id][USP_MENU] == 3) {
  152.                         set_pev(id, pev_weaponmodel2, fegyverek[22])
  153.                         set_pev(id, pev_viewmodel2, fegyverek[23])
  154.                 }
  155.         }
  156.         if(weap == CSW_GLOCK18) {
  157.                 if(player_data[id][GLOCK_MENU] == 1) {
  158.                         set_pev(id, pev_weaponmodel2, fegyverek[24])
  159.                         set_pev(id, pev_viewmodel2, fegyverek[25])
  160.                 }
  161.                 else if(player_data[id][GLOCK_MENU] == 2) {
  162.                         set_pev(id, pev_weaponmodel2, fegyverek[26])
  163.                         set_pev(id, pev_viewmodel2, fegyverek[27])
  164.                 }
  165.                 else if(player_data[id][GLOCK_MENU] == 3) {
  166.                         set_pev(id, pev_weaponmodel2, fegyverek[28])
  167.                         set_pev(id, pev_viewmodel2, fegyverek[29])
  168.                 }
  169.         }
  170.         if(weap == CSW_KNIFE) {
  171.                 if(player_data[id][KNIFE_MENU] == 1) {
  172.                         set_pev(id, pev_weaponmodel2, fegyverek[30])
  173.                         set_pev(id, pev_viewmodel2, fegyverek[31])
  174.                 }
  175.                 else if(player_data[id][KNIFE_MENU] == 2) {
  176.                         set_pev(id, pev_weaponmodel2, fegyverek[32])
  177.                         set_pev(id, pev_viewmodel2, fegyverek[33])
  178.                 }
  179.                 else if(player_data[id][KNIFE_MENU] == 3) {
  180.                         set_pev(id, pev_weaponmodel2, fegyverek[34])
  181.                         set_pev(id, pev_viewmodel2, fegyverek[35])
  182.                 }
  183.         }
  184. }
  185.  
  186. public plugin_precache() {
  187.         for(new i; i<sizeof(fegyverek);i++) precache_model(fegyverek[i]);
  188. }
  189.  
  190. public halal() {
  191.         static killer, victim, headshot, weapon[32];
  192.         killer = read_data(1);
  193.         victim = read_data(2);
  194.         headshot = read_data(3);
  195.         read_data(4, weapon, charsmax(weapon));
  196.        
  197.         if (!is_user_connected(killer) || !is_user_connected(victim) || killer == victim || get_user_team(killer) == get_user_team(victim)) return;
  198.        
  199.         if(headshot) {
  200.                 if (equali(weapon, "awp")) player_data[killer][AWP_KILLS] += HEADSHOT_POINT;
  201.                 else if (equali(weapon, "scout")) player_data[killer][SCOUT_KILLS] += HEADSHOT_POINT;
  202.                 else if (equali(weapon, "deagle")) player_data[killer][DEAGLE_KILLS] += HEADSHOT_POINT;
  203.                 else if (equali(weapon, "usp")) player_data[killer][USP_KILLS] += HEADSHOT_POINT;
  204.                 else if (equali(weapon, "glock18")) player_data[killer][GLOCK_KILLS] += HEADSHOT_POINT;
  205.                 else if (equali(weapon, "knife")) player_data[killer][KNIFE_KILLS] += HEADSHOT_POINT;
  206.                
  207.                 set_hudmessage(0, 255, 0, -0.9, 0.15, 0, 6.0, 1.0);
  208.                 show_hudmessage(killer, "+%i Pont", HEADSHOT_POINT);
  209.         }
  210.         else {
  211.                 if (equali(weapon, "awp")) player_data[killer][AWP_KILLS] += KILL_POINT;
  212.                 else if (equali(weapon, "scout")) player_data[killer][SCOUT_KILLS] += KILL_POINT;
  213.                 else if (equali(weapon, "deagle")) player_data[killer][DEAGLE_KILLS] += KILL_POINT;
  214.                 else if (equali(weapon, "usp")) player_data[killer][USP_KILLS] += KILL_POINT;
  215.                 else if (equali(weapon, "glock18")) player_data[killer][GLOCK_KILLS] += KILL_POINT;
  216.                 else if (equali(weapon, "knife")) player_data[killer][KNIFE_KILLS] += KILL_POINT;
  217.                
  218.                 set_hudmessage(0, 255, 0, -0.9, 0.15, 0, 6.0, 1.0);
  219.                 show_hudmessage(killer, "+%i Pont", KILL_POINT);
  220.         }
  221. }
  222.  
  223. public pontrendszerfut() print_color(0, "!g[%s]!y Szerverünkön !tSkincsomag Rendszer!y fut, írd be: !t/menu", PREFIX)
  224.  
  225. public ShowMenu(id) {
  226.         new temp[128];
  227.         formatex(temp, charsmax(temp), "\r[%s] \wFegyver Skinek", PREFIX);
  228.         new menu = menu_create(temp, "mh_MyMenu");
  229.  
  230.         formatex(temp, charsmax(temp), "AWP Skinek");
  231.         menu_additem(menu, temp, "0", 0);
  232.         formatex(temp, charsmax(temp), "Scout Skinek");
  233.         menu_additem(menu, temp, "1", 0);
  234.         formatex(temp, charsmax(temp), "Deagle Skinek");
  235.         menu_additem(menu, temp, "2", 0);
  236.         formatex(temp, charsmax(temp), "USP Skinek");
  237.         menu_additem(menu, temp, "3", 0);
  238.         formatex(temp, charsmax(temp), "Glock Skinek");
  239.         menu_additem(menu, temp, "4", 0);
  240.         formatex(temp, charsmax(temp), "Kés Skinek");
  241.         menu_additem(menu, temp, "5", 0);
  242.  
  243.  
  244.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  245.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  246.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  247.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  248.  
  249.         menu_display(id, menu, 0);
  250.         return PLUGIN_HANDLED;
  251. }
  252.  
  253. public mh_MyMenu(id, menu, item) {
  254.         if(item == MENU_EXIT)
  255.         {
  256.                 menu_cancel(id);
  257.                 return PLUGIN_HANDLED;
  258.         }
  259.        
  260.         new command[6], name[64], access, callback;
  261.        
  262.         menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  263.        
  264.         switch(item) {
  265.                 case 0: awp_menu(id)
  266.                 case 1: scout_menu(id)
  267.                 case 2: deagle_menu(id)
  268.                 case 3: usp_menu(id)
  269.                 case 4: glock_menu(id)
  270.                 case 5: knife_menu(id)
  271.         }
  272.        
  273.         return PLUGIN_HANDLED;
  274. }
  275.  
  276. public awp_menu(id) {
  277.         new temp[128], temp2[64];
  278.         formatex(temp, charsmax(temp), "\r[%s] \wAWP Skinek ^nPontok: \y%d", PREFIX, player_data[id][AWP_KILLS]);
  279.         new menu = menu_create(temp, "awp_handler");
  280.                
  281.         formatex(temp, charsmax(temp), "Alap AWP %s", player_data[id][AWP_MENU] == 0 ? "\y|AKTÍV|":"");
  282.         menu_additem(menu, temp, "0", 0);
  283.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[0]);
  284.         formatex(temp, charsmax(temp), "Rozsdás AWP %s", player_data[id][AWP_MENU] == 1 ? "\y|AKTÍV|":temp2);
  285.         menu_additem(menu, temp, "1", 0);
  286.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[1]);
  287.         formatex(temp, charsmax(temp), "Ezüst AWP %s", player_data[id][AWP_MENU] == 2 ? "\y|AKTÍV|":temp2);
  288.         menu_additem(menu, temp, "2", 0);
  289.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[2]);
  290.         formatex(temp, charsmax(temp), "Arany AWP %s", player_data[id][AWP_MENU] == 3 ? "\y|AKTÍV|":temp2);
  291.         menu_additem(menu, temp, "3", 0);
  292.        
  293.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  294.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  295.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  296.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  297.  
  298.         menu_display(id, menu, 0);
  299.         return PLUGIN_HANDLED;
  300. }
  301. public awp_handler(id, menu, item) {
  302.         if(item == MENU_EXIT)
  303.         {
  304.                 menu_cancel(id);
  305.                 return PLUGIN_HANDLED;
  306.         }
  307.        
  308.         new command[6], name[64], access, callback;
  309.        
  310.         menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  311.        
  312.         switch(item)
  313.         {
  314.                 case 0: {
  315.                         player_data[id][AWP_MENU] = 0;
  316.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  317.                 }
  318.                 case 1: {
  319.                         if(player_data[id][AWP_KILLS] >= POINTS[0]) {
  320.                         player_data[id][AWP_MENU] = 1;
  321.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  322.                         }
  323.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  324.                 }
  325.                 case 2: {
  326.                         if(player_data[id][AWP_KILLS] >= POINTS[1]) {
  327.                         player_data[id][AWP_MENU] = 2;
  328.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  329.                         }
  330.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  331.                 }
  332.                 case 3: {
  333.                         if(player_data[id][AWP_KILLS] >= POINTS[2]) {
  334.                         player_data[id][AWP_MENU] = 3;
  335.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  336.                         }
  337.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  338.                 }
  339.         }
  340.         menu_destroy(menu);
  341.         return PLUGIN_HANDLED;
  342. }
  343.  
  344. public scout_menu(id) {
  345.         new temp[128], temp2[64];
  346.         formatex(temp, charsmax(temp), "\r[%s] \wScout Skinek ^nPontok: \y%d", PREFIX, player_data[id][SCOUT_KILLS]);
  347.         new menu = menu_create(temp, "scout_handler");
  348.                
  349.         formatex(temp, charsmax(temp), "Alap Scout %s", player_data[id][SCOUT_MENU] == 0 ? "\y|AKTÍV|":"");
  350.         menu_additem(menu, temp, "0", 0);
  351.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[0]);
  352.         formatex(temp, charsmax(temp), "Rozsdás Scout %s", player_data[id][SCOUT_MENU] == 1 ? "\y|AKTÍV|":temp2);
  353.         menu_additem(menu, temp, "1", 0);
  354.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[1]);
  355.         formatex(temp, charsmax(temp), "Ezüst Scout %s", player_data[id][SCOUT_MENU] == 2 ? "\y|AKTÍV|":temp2);
  356.         menu_additem(menu, temp, "2", 0);
  357.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[2]);
  358.         formatex(temp, charsmax(temp), "Arany Scout %s", player_data[id][SCOUT_MENU] == 3 ? "\y|AKTÍV|":temp2);
  359.         menu_additem(menu, temp, "3", 0);
  360.        
  361.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  362.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  363.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  364.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  365.  
  366.         menu_display(id, menu, 0);
  367.         return PLUGIN_HANDLED;
  368. }
  369. public scout_handler(id, menu, item) {
  370.         if(item == MENU_EXIT)
  371.         {
  372.                 menu_cancel(id);
  373.                 return PLUGIN_HANDLED;
  374.         }
  375.        
  376.         new command[6], name[64], access, callback;
  377.        
  378.         menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  379.        
  380.         switch(item)
  381.         {
  382.                 case 0: {
  383.                         player_data[id][SCOUT_MENU] = 0;
  384.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  385.                 }
  386.                 case 1: {
  387.                         if(player_data[id][SCOUT_KILLS] >= POINTS[0]) {
  388.                         player_data[id][SCOUT_MENU] = 1;
  389.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  390.                         }
  391.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  392.                 }
  393.                 case 2: {
  394.                         if(player_data[id][SCOUT_KILLS] >= POINTS[1]) {
  395.                         player_data[id][SCOUT_MENU] = 2;
  396.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  397.                         }
  398.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  399.                 }
  400.                 case 3: {
  401.                         if(player_data[id][SCOUT_KILLS] >= POINTS[2]) {
  402.                         player_data[id][SCOUT_MENU] = 3;
  403.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  404.                         }
  405.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  406.                 }
  407.         }
  408.         menu_destroy(menu);
  409.         return PLUGIN_HANDLED;
  410. }
  411.  
  412. public deagle_menu(id) {
  413.         new temp[128], temp2[64];
  414.         formatex(temp, charsmax(temp), "\r[%s] \wDeagle Skinek ^nPontok: \y%d", PREFIX, player_data[id][DEAGLE_KILLS]);
  415.         new menu = menu_create(temp, "deagle_handler");
  416.                
  417.         formatex(temp, charsmax(temp), "Alap Deagle %s", player_data[id][DEAGLE_MENU] == 0 ? "\y|AKTÍV|":"");
  418.         menu_additem(menu, temp, "0", 0);
  419.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[3]);
  420.         formatex(temp, charsmax(temp), "Rozsdás Deagle %s", player_data[id][DEAGLE_MENU] == 1 ? "\y|AKTÍV|":temp2);
  421.         menu_additem(menu, temp, "1", 0);
  422.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[4]);
  423.         formatex(temp, charsmax(temp), "Ezüst Deagle %s", player_data[id][DEAGLE_MENU] == 2 ? "\y|AKTÍV|":temp2);
  424.         menu_additem(menu, temp, "2", 0);
  425.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[5]);
  426.         formatex(temp, charsmax(temp), "Arany Deagle %s", player_data[id][DEAGLE_MENU] == 3 ? "\y|AKTÍV|":temp2);
  427.         menu_additem(menu, temp, "3", 0);
  428.        
  429.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  430.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  431.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  432.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  433.  
  434.         menu_display(id, menu, 0);
  435.         return PLUGIN_HANDLED;
  436. }
  437. public deagle_handler(id, menu, item) {
  438.         if(item == MENU_EXIT)
  439.         {
  440.                 menu_cancel(id);
  441.                 return PLUGIN_HANDLED;
  442.         }
  443.        
  444.         new command[6], name[64], access, callback;
  445.        
  446.         menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  447.        
  448.         switch(item)
  449.         {
  450.                 case 0: {
  451.                         player_data[id][DEAGLE_MENU] = 0;
  452.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  453.                 }
  454.                 case 1: {
  455.                         if(player_data[id][DEAGLE_KILLS] >= POINTS[3]) {
  456.                         player_data[id][DEAGLE_MENU] = 1;
  457.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  458.                         }
  459.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  460.                 }
  461.                 case 2: {
  462.                         if(player_data[id][DEAGLE_KILLS] >= POINTS[4]) {
  463.                         player_data[id][DEAGLE_MENU] = 2;
  464.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  465.                         }
  466.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  467.                 }
  468.                 case 3: {
  469.                         if(player_data[id][DEAGLE_KILLS] >= POINTS[5]) {
  470.                         player_data[id][DEAGLE_MENU] = 3;
  471.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  472.                         }
  473.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  474.                 }
  475.         }
  476.         menu_destroy(menu);
  477.         return PLUGIN_HANDLED;
  478. }
  479.  
  480. public usp_menu(id) {
  481.         new temp[128], temp2[64];
  482.         formatex(temp, charsmax(temp), "\r[%s] \wUSP Skinek ^nPontok: \y%d", PREFIX, player_data[id][USP_KILLS]);
  483.         new menu = menu_create(temp, "usp_handler");
  484.                
  485.         formatex(temp, charsmax(temp), "Alap USP %s", player_data[id][USP_MENU] == 0 ? "\y|AKTÍV|":"");
  486.         menu_additem(menu, temp, "0", 0);
  487.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[3]);
  488.         formatex(temp, charsmax(temp), "Rozsdás USP %s", player_data[id][USP_MENU] == 1 ? "\y|AKTÍV|":temp2);
  489.         menu_additem(menu, temp, "1", 0);
  490.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[4]);
  491.         formatex(temp, charsmax(temp), "Ezüst USP %s", player_data[id][USP_MENU] == 2 ? "\y|AKTÍV|":temp2);
  492.         menu_additem(menu, temp, "2", 0);
  493.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[5]);
  494.         formatex(temp, charsmax(temp), "Arany USP %s", player_data[id][USP_MENU] == 3 ? "\y|AKTÍV|":temp2);
  495.         menu_additem(menu, temp, "3", 0);
  496.        
  497.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  498.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  499.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  500.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  501.  
  502.         menu_display(id, menu, 0);
  503.         return PLUGIN_HANDLED;
  504. }
  505. public usp_handler(id, menu, item) {
  506.         if(item == MENU_EXIT)
  507.         {
  508.                 menu_cancel(id);
  509.                 return PLUGIN_HANDLED;
  510.         }
  511.        
  512.         new command[6], name[64], access, callback;
  513.        
  514.         menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  515.        
  516.         switch(item)
  517.         {
  518.                 case 0: {
  519.                         player_data[id][USP_MENU] = 0;
  520.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  521.                 }
  522.                 case 1: {
  523.                         if(player_data[id][USP_KILLS] >= POINTS[3]) {
  524.                         player_data[id][USP_MENU] = 1;
  525.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  526.                         }
  527.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  528.                 }
  529.                 case 2: {
  530.                         if(player_data[id][USP_KILLS] >= POINTS[4]) {
  531.                         player_data[id][USP_MENU] = 2;
  532.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  533.                         }
  534.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  535.                 }
  536.                 case 3: {
  537.                         if(player_data[id][USP_KILLS] >= POINTS[5]) {
  538.                         player_data[id][USP_MENU] = 3;
  539.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  540.                         }
  541.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  542.                 }
  543.         }
  544.         menu_destroy(menu);
  545.         return PLUGIN_HANDLED;
  546. }
  547.  
  548. public glock_menu(id) {
  549.         new temp[128], temp2[64];
  550.         formatex(temp, charsmax(temp), "\r[%s] \wGlock Skinek ^nPontok: \y%d", PREFIX, player_data[id][GLOCK_KILLS]);
  551.         new menu = menu_create(temp, "glock_handler");
  552.                
  553.         formatex(temp, charsmax(temp), "Alap Glock %s", player_data[id][GLOCK_MENU] == 0 ? "\y|AKTÍV|":"");
  554.         menu_additem(menu, temp, "0", 0);
  555.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[3]);
  556.         formatex(temp, charsmax(temp), "Rozsdás Glock %s", player_data[id][GLOCK_MENU] == 1 ? "\y|AKTÍV|":temp2);
  557.         menu_additem(menu, temp, "1", 0);
  558.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[4]);
  559.         formatex(temp, charsmax(temp), "Ezüst Glock %s", player_data[id][GLOCK_MENU] == 2 ? "\y|AKTÍV|":temp2);
  560.         menu_additem(menu, temp, "2", 0);
  561.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[5]);
  562.         formatex(temp, charsmax(temp), "Arany Glock %s", player_data[id][GLOCK_MENU] == 3 ? "\y|AKTÍV|":temp2);
  563.         menu_additem(menu, temp, "3", 0);
  564.        
  565.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  566.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  567.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  568.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  569.  
  570.         menu_display(id, menu, 0);
  571.         return PLUGIN_HANDLED;
  572. }
  573. public glock_handler(id, menu, item) {
  574.         if(item == MENU_EXIT)
  575.         {
  576.                 menu_cancel(id);
  577.                 return PLUGIN_HANDLED;
  578.         }
  579.        
  580.         new command[6], name[64], access, callback;
  581.        
  582.         menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  583.        
  584.         switch(item)
  585.         {
  586.                 case 0: {
  587.                         player_data[id][GLOCK_MENU] = 0;
  588.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  589.                 }
  590.                 case 1: {
  591.                         if(player_data[id][GLOCK_KILLS] >= POINTS[3]) {
  592.                         player_data[id][GLOCK_MENU] = 1;
  593.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  594.                         }
  595.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  596.                 }
  597.                 case 2: {
  598.                         if(player_data[id][GLOCK_KILLS] >= POINTS[4]) {
  599.                         player_data[id][GLOCK_MENU] = 2;
  600.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  601.                         }
  602.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  603.                 }
  604.                 case 3: {
  605.                         if(player_data[id][GLOCK_KILLS] >= POINTS[5]) {
  606.                         player_data[id][GLOCK_MENU] = 3;
  607.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  608.                         }
  609.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  610.                 }
  611.         }
  612.         menu_destroy(menu);
  613.         return PLUGIN_HANDLED;
  614. }
  615.  
  616. public knife_menu(id) {
  617.         new temp[128], temp2[64];
  618.         formatex(temp, charsmax(temp), "\r[%s] \wKés Skinek ^nPontok: \y%d", PREFIX, player_data[id][KNIFE_KILLS]);
  619.         new menu = menu_create(temp, "knife_handler");
  620.                
  621.         formatex(temp, charsmax(temp), "Alap Kés %s", player_data[id][KNIFE_MENU] == 0 ? "\y|AKTÍV|":"");
  622.         menu_additem(menu, temp, "0", 0);
  623.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[6]);
  624.         formatex(temp, charsmax(temp), "Rozsdás Kés %s", player_data[id][KNIFE_MENU] == 1 ? "\y|AKTÍV|":temp2);
  625.         menu_additem(menu, temp, "1", 0);
  626.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[7]);
  627.         formatex(temp, charsmax(temp), "Ezüst Kés %s", player_data[id][KNIFE_MENU] == 2 ? "\y|AKTÍV|":temp2);
  628.         menu_additem(menu, temp, "2", 0);
  629.         formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[8]);
  630.         formatex(temp, charsmax(temp), "Arany Kés %s", player_data[id][KNIFE_MENU] == 3 ? "\y|AKTÍV|":temp2);
  631.         menu_additem(menu, temp, "3", 0);
  632.        
  633.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  634.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  635.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  636.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  637.  
  638.         menu_display(id, menu, 0);
  639.         return PLUGIN_HANDLED;
  640. }
  641. public knife_handler(id, menu, item) {
  642.         if(item == MENU_EXIT)
  643.         {
  644.                 menu_cancel(id);
  645.                 return PLUGIN_HANDLED;
  646.         }
  647.        
  648.         new command[6], name[64], access, callback;
  649.        
  650.         menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  651.        
  652.         switch(item)
  653.         {
  654.                 case 0: {
  655.                         player_data[id][KNIFE_MENU] = 0;
  656.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  657.                 }
  658.                 case 1: {
  659.                         if(player_data[id][KNIFE_KILLS] >= POINTS[6]) {
  660.                         player_data[id][KNIFE_MENU] = 1;
  661.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  662.                         }
  663.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  664.                 }
  665.                 case 2: {
  666.                         if(player_data[id][KNIFE_KILLS] >= POINTS[7]) {
  667.                         player_data[id][KNIFE_MENU] = 2;
  668.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  669.                         }
  670.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  671.                 }
  672.                 case 3: {
  673.                         if(player_data[id][KNIFE_KILLS] >= POINTS[8]) {
  674.                         player_data[id][KNIFE_MENU] = 3;
  675.                         print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
  676.                         }
  677.                         else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
  678.                 }
  679.         }
  680.         menu_destroy(menu);
  681.         return PLUGIN_HANDLED;
  682. }
  683.  
  684. public client_putinserver(id) {
  685.         if(is_user_bot(id)) return;
  686.        
  687.         arrayset(player_data[id], 0, 13)
  688.  
  689.         load(id);
  690. }
  691.  
  692. public client_disconnect(id) {
  693.         if(is_user_bot(id)) return;
  694.  
  695.         save(id);
  696. }
  697.  
  698. load(id) {
  699.         new szData[128];
  700.         get_user_authid(id, player_data[id][STEAMID], charsmax(player_data[][STEAMID]));
  701.         if (containi(player_data[id][STEAMID], "_ID_LAN") != -1 || containi(player_data[id][STEAMID], "HLTV") != -1) get_user_ip(id, player_data[id][STEAMID], charsmax(player_data[][STEAMID]), 1);
  702.  
  703.         fvault_get_data( szVaultName, player_data[id][STEAMID], szData, 127 );
  704.         new kills[6][16], menus[6][16];
  705.         parse( szData, kills[0], 15, kills[1], 15, kills[2], 15, kills[3], 15, kills[4], 15, kills[5], 15, menus[0], 15, menus[1], 15, menus[2], 15, menus[3], 15, menus[4], 15, menus[5], 15 );
  706.         player_data[id][AWP_KILLS] = str_to_num( kills[0] );
  707.         player_data[id][SCOUT_KILLS] = str_to_num( kills[1] );
  708.         player_data[id][DEAGLE_KILLS] = str_to_num( kills[2] );
  709.         player_data[id][USP_KILLS] = str_to_num( kills[3] );
  710.         player_data[id][GLOCK_KILLS] = str_to_num( kills[4] );
  711.         player_data[id][KNIFE_KILLS] = str_to_num( kills[5] );
  712.         player_data[id][AWP_MENU] = str_to_num( menus[0] );
  713.         player_data[id][SCOUT_MENU] = str_to_num( menus[1] );
  714.         player_data[id][DEAGLE_MENU] = str_to_num( menus[2] );
  715.         player_data[id][USP_MENU] = str_to_num( menus[3] );
  716.         player_data[id][GLOCK_MENU] = str_to_num( menus[4] );
  717.         player_data[id][KNIFE_MENU] = str_to_num( menus[5] );
  718. }
  719.  
  720. save(id) {
  721.         new szData[128];
  722.         get_user_authid(id, player_data[id][STEAMID], charsmax(player_data[][STEAMID]));
  723.         if (containi(player_data[id][STEAMID], "_ID_LAN") != -1 || containi(player_data[id][STEAMID], "HLTV") != -1) get_user_ip(id, player_data[id][STEAMID], charsmax(player_data[][STEAMID]), 1);
  724.  
  725.         formatex(szData, 127, "%i %i %i %i %i %i %i %i %i %i %i %i", player_data[id][AWP_KILLS], player_data[id][SCOUT_KILLS], player_data[id][DEAGLE_KILLS], player_data[id][USP_KILLS], player_data[id][GLOCK_KILLS], player_data[id][KNIFE_KILLS], player_data[id][AWP_MENU], player_data[id][SCOUT_MENU], player_data[id][DEAGLE_MENU], player_data[id][USP_MENU], player_data[id][GLOCK_MENU], player_data[id][KNIFE_MENU]);
  726.         fvault_set_data( szVaultName, player_data[id][STEAMID], szData );
  727. }
  728.  
  729. stock print_color(const id, const input[], any:...)
  730. {
  731.         new count = 1, players[32]
  732.         static msg[191]
  733.         vformat(msg, 190, input, 3)
  734.  
  735.         replace_all(msg, 190, "!g", "^4")
  736.         replace_all(msg, 190, "!y", "^1")
  737.         replace_all(msg, 190, "!t", "^3")    
  738.  
  739.         if (id) players[0] = id; else get_players(players, count, "ch")
  740.         {
  741.                 for (new i = 0; i < count; i++)
  742.                 {
  743.                         if (is_user_connected(players[i]))
  744.                         {
  745.                                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  746.                                 write_byte(players[i])
  747.                                 write_string(msg)
  748.                                 message_end()
  749.                         }
  750.                 }
  751.         }
  752.         return PLUGIN_HANDLED
  753. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement