Advertisement
mforce

teszt

Feb 24th, 2016
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 32.61 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <engine>
  3. #include <hamsandwich>
  4. #include <cstrike>
  5. #include <sqlx>
  6.  
  7. #define PLUGIN "Weap kills"
  8. #define VERSION "1.666"
  9. #define AUTHOR "mforce"
  10.  
  11. new const PREFIX[] = "WorldSniper";
  12.  
  13. #define KILL_POINT 1
  14. #define HEADSHOT_POINT 2
  15.  
  16. new const SQL_INFO[][] = {
  17.     "127.0.0.1",    // HOST
  18.     "username",     // USERNAME
  19.     "password",     // PASSWORD
  20.     "database"      // DATABASE
  21. }
  22.  
  23. new Handle:g_SqlTuple;
  24.  
  25. new const POINTS[] = {
  26.     500,        // Rusty Snipers,   0. elem
  27.     1000,       // Silver Snipers,  1.
  28.     2000,       // Gold Snipers,    2.
  29.     100,        // Rusty Pistols,   3.
  30.     200,        // Silver Pistols,  4.
  31.     300,        // Gold Pistols,    5.
  32.     50,     // Rusty Knife,     6.
  33.     100,        // Silver Knife,    7.
  34.     150     // Gold Knife,      8.
  35. };
  36.  
  37. enum _:PLAYER_DATABASE
  38. {
  39.     USERNAME[32],
  40.     AWP_KILLS,
  41.     SCOUT_KILLS,
  42.     DEAGLE_KILLS,
  43.     USP_KILLS,
  44.     GLOCK_KILLS,
  45.     KNIFE_KILLS,
  46.     AWP_MENU,
  47.     SCOUT_MENU,
  48.     DEAGLE_MENU,
  49.     USP_MENU,
  50.     GLOCK_MENU,
  51.     KNIFE_MENU
  52. }
  53.  
  54. new player_data[33][PLAYER_DATABASE];
  55. new const WEAPONENTNAMES[][] = {"weapon_awp", "weapon_scout", "weapon_deagle", "weapon_usp", "weapon_glock18", "weapon_knife"};
  56.  
  57. public plugin_init() {
  58.     register_plugin(PLUGIN, VERSION, AUTHOR)
  59.     register_cvar("weap_kills", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY);
  60.     register_clcmd("say /menu", "ShowMenu")
  61.     register_event("DeathMsg", "halal", "a")
  62.     for(new i = 0; i < sizeof(WEAPONENTNAMES); i++) {
  63.         RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "OnItemDeployPost", 1);
  64.     }
  65.     set_task(172.0, "pontrendszerfut", 0, _, _, "b");
  66. }
  67.  
  68. new const fegyverek[][] = {
  69.     "models/weap_skins/p_rozsdas_awp.mdl",      // 0. elem
  70.     "models/weap_skins/v_rozsdas_awp.mdl",      // 1
  71.     "models/weap_skins/p_silver_awp.mdl",       // 2
  72.     "models/weap_skins/v_silver_awp.mdl",       // 3
  73.     "models/weap_skins/p_arany_awp.mdl",        // 4
  74.     "models/weap_skins/v_arany_awp.mdl",        // 5
  75.     "models/weap_skins/p_rozsdas_scout.mdl",    // 6
  76.     "models/weap_skins/v_rozsdas_scout.mdl",    // 7
  77.     "models/weap_skins/p_silver_scout.mdl",     // 8
  78.     "models/weap_skins/v_silver_scout.mdl",     // 9
  79.     "models/weap_skins/p_arany_scout.mdl",      // 10
  80.     "models/weap_skins/v_arany_scout.mdl",      // 11
  81.     "models/weap_skins/p_rozsdas_deagle.mdl",   // 12
  82.     "models/weap_skins/v_rozsdas_deagle.mdl",   // 13
  83.     "models/weap_skins/p_silver_deagle.mdl",    // 14
  84.     "models/weap_skins/v_silver_deagle.mdl",    // 15
  85.     "models/weap_skins/p_arany_deagle.mdl",     // 16
  86.     "models/weap_skins/v_arany_deagle.mdl",     // 17
  87.     "models/weap_skins/p_rozsdas_usp.mdl",      // 18
  88.     "models/weap_skins/v_rozsdas_usp.mdl",      // 19
  89.     "models/weap_skins/p_silver_usp.mdl",       // 20
  90.     "models/weap_skins/v_silver_usp.mdl",       // 21
  91.     "models/weap_skins/p_arany_usp.mdl",        // 22
  92.     "models/weap_skins/v_arany_usp.mdl",        // 23
  93.     "models/weap_skins/p_rozsdas_glock.mdl",    // 24
  94.     "models/weap_skins/v_rozsdas_glock.mdl",    // 25
  95.     "models/weap_skins/p_silver_glock.mdl",     // 26
  96.     "models/weap_skins/v_silver_glock.mdl",     // 27
  97.     "models/weap_skins/p_arany_glock.mdl",      // 28
  98.     "models/weap_skins/v_arany_glock.mdl",      // 29
  99.     "models/weap_skins/p_rozsdas_knife.mdl",    // 30
  100.     "models/weap_skins/v_rozsdas_knife.mdl",    // 31
  101.     "models/weap_skins/p_silver_knife.mdl",     // 32
  102.     "models/weap_skins/v_silver_knife.mdl",     // 33
  103.     "models/weap_skins/p_arany_knife.mdl",      // 34
  104.     "models/weap_skins/v_arany_knife.mdl"       // 35
  105. };
  106.  
  107. public OnItemDeployPost(ent) {
  108.     new id = entity_get_edict(ent, EV_ENT_owner);
  109.    
  110.     if(id) {
  111.         new weap = cs_get_weapon_id(ent);
  112.        
  113.         switch(weap) {
  114.             case CSW_AWP: {
  115.                 switch(player_data[id][AWP_MENU]) {
  116.                     case 1: {
  117.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[0])  // p_modell
  118.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[1])    // v_modell
  119.                     }
  120.                     case 2: {
  121.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[2])  // p_modell
  122.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[3])    // v_modell
  123.                     }
  124.                     case 3: {
  125.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[4])  // p_modell
  126.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[5])    // v_modell
  127.                     }
  128.                 }
  129.             }
  130.             case CSW_SCOUT: {
  131.                 switch(player_data[id][SCOUT_MENU]) {
  132.                     case 1: {
  133.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[6])  // p_modell
  134.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[7])    // v_modell
  135.                     }
  136.                     case 2: {
  137.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[8])  // p_modell
  138.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[9])    // v_modell
  139.                     }
  140.                     case 3: {
  141.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[10]) // p_modell
  142.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[11])   // v_modell
  143.                     }
  144.                 }
  145.             }
  146.             case CSW_DEAGLE: {
  147.                 switch(player_data[id][DEAGLE_MENU]) {
  148.                     case 1: {
  149.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[12]) // p_modell
  150.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[13])   // v_modell
  151.                     }
  152.                     case 2: {
  153.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[14]) // p_modell
  154.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[15])   // v_modell
  155.                     }
  156.                     case 3: {
  157.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[16]) // p_modell
  158.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[17])   // v_modell
  159.                     }
  160.                 }
  161.             }
  162.             case CSW_USP: {
  163.                 switch(player_data[id][USP_MENU]) {
  164.                     case 1: {
  165.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[18]) // p_modell
  166.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[19])   // v_modell
  167.                     }
  168.                     case 2: {
  169.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[20]) // p_modell
  170.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[21])   // v_modell
  171.                     }
  172.                     case 3: {
  173.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[22]) // p_modell
  174.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[23])   // v_modell
  175.                     }
  176.                 }
  177.             }
  178.             case CSW_GLOCK18: {
  179.                 switch(player_data[id][GLOCK_MENU]) {
  180.                     case 1: {
  181.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[24]) // p_modell
  182.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[25])   // v_modell
  183.                     }
  184.                     case 2: {
  185.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[26]) // p_modell
  186.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[27])   // v_modell
  187.                     }
  188.                     case 3: {
  189.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[28]) // p_modell
  190.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[29])   // v_modell
  191.                     }
  192.                 }
  193.             }
  194.             case CSW_KNIFE: {
  195.                 switch(player_data[id][KNIFE_MENU]) {
  196.                     case 1: {
  197.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[30]) // p_modell
  198.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[31])   // v_modell
  199.                     }
  200.                     case 2: {
  201.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[32]) // p_modell
  202.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[33])   // v_modell
  203.                     }
  204.                     case 3: {
  205.                         entity_set_string(id, EV_SZ_weaponmodel, fegyverek[34]) // p_modell
  206.                         entity_set_string(id, EV_SZ_viewmodel, fegyverek[35])   // v_modell
  207.                     }
  208.                 }
  209.             }
  210.         }
  211.     }
  212.     return HAM_IGNORED;
  213. }
  214.  
  215. public plugin_precache() {
  216.     for(new i; i<sizeof(fegyverek);i++) precache_model(fegyverek[i]);
  217. }
  218.  
  219. public halal() {
  220.     new killer = read_data(1);
  221.     new victim = read_data(2);
  222.     new headshot = read_data(3);
  223.  
  224.     if(killer != victim) {
  225.         new points = (headshot ? HEADSHOT_POINT:KILL_POINT);
  226.         new weapon[32]; read_data(4, weapon, charsmax(weapon));
  227.         format(weapon, charsmax(weapon), "weapon_%s", weapon);
  228.         new weapid = get_weaponid(weapon);
  229.        
  230.         switch(weapid) {
  231.             case CSW_AWP: player_data[killer][AWP_KILLS] += points;
  232.             case CSW_SCOUT: player_data[killer][SCOUT_KILLS] += points;
  233.             case CSW_DEAGLE: player_data[killer][DEAGLE_KILLS] += points;
  234.             case CSW_USP: player_data[killer][USP_KILLS] += points;
  235.             case CSW_GLOCK18:  player_data[killer][GLOCK_KILLS] += points;
  236.             case CSW_KNIFE: player_data[killer][KNIFE_KILLS] += points;
  237.         }
  238.        
  239.         set_hudmessage(0, 255, 0, -0.9, 0.15, 0, 6.0, 1.0);
  240.         show_hudmessage(killer, "+%i Ölés", points);
  241.     }
  242. }
  243.  
  244. public pontrendszerfut() ChatColor(0, "^4[%s]^1 Szerverünkön ^3Skincsomag Rendszer^1 fut, írd be: ^3/menu", PREFIX)
  245.  
  246. public ShowMenu(id) {
  247.     new temp[128];
  248.     formatex(temp, charsmax(temp), "\r[%s] \wFegyver Skinek", PREFIX);
  249.     new menu = menu_create(temp, "mh_MyMenu");
  250.  
  251.     formatex(temp, charsmax(temp), "AWP Skinek");
  252.     menu_additem(menu, temp, "0", 0);
  253.     formatex(temp, charsmax(temp), "Scout Skinek");
  254.     menu_additem(menu, temp, "1", 0);
  255.     formatex(temp, charsmax(temp), "Deagle Skinek");
  256.     menu_additem(menu, temp, "2", 0);
  257.     formatex(temp, charsmax(temp), "USP Skinek");
  258.     menu_additem(menu, temp, "3", 0);
  259.     formatex(temp, charsmax(temp), "Glock Skinek");
  260.     menu_additem(menu, temp, "4", 0);
  261.     formatex(temp, charsmax(temp), "Kés Skinek");
  262.     menu_additem(menu, temp, "5", 0);
  263.  
  264.  
  265.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  266.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  267.     menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  268.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  269.  
  270.     menu_display(id, menu, 0);
  271.     return PLUGIN_HANDLED;
  272. }
  273.  
  274. public mh_MyMenu(id, menu, item) {
  275.     if(item == MENU_EXIT) {
  276.         menu_destroy(menu);
  277.         return PLUGIN_HANDLED;
  278.     }
  279.  
  280.     switch(item) {
  281.         case 0: awp_menu(id);
  282.         case 1: scout_menu(id);
  283.         case 2: deagle_menu(id);
  284.         case 3: usp_menu(id);
  285.         case 4: glock_menu(id);
  286.         case 5: knife_menu(id);
  287.     }
  288.    
  289.     menu_destroy(menu);
  290.     return PLUGIN_HANDLED;
  291. }
  292.  
  293. public awp_menu(id) {
  294.         new temp[128], temp2[64];
  295.         formatex(temp, charsmax(temp), "\r[%s] \wAWP Skinek ^nÖlések: \y%d", PREFIX, player_data[id][AWP_KILLS]);
  296.         new menu = menu_create(temp, "awp_handler");
  297.  
  298.         formatex(temp, charsmax(temp), "Alap AWP %s", player_data[id][AWP_MENU] == 0 ? "\y|AKTÍV|":"");
  299.         menu_additem(menu, temp, "0", 0);
  300.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[0]);
  301.         formatex(temp, charsmax(temp), "Rozsdás AWP %s", player_data[id][AWP_MENU] == 1 ? "\y|AKTÍV|":temp2);
  302.         menu_additem(menu, temp, "1", 0);
  303.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[1]);
  304.         formatex(temp, charsmax(temp), "Ezüst AWP %s", player_data[id][AWP_MENU] == 2 ? "\y|AKTÍV|":temp2);
  305.         menu_additem(menu, temp, "2", 0);
  306.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[2]);
  307.         formatex(temp, charsmax(temp), "Arany AWP %s", player_data[id][AWP_MENU] == 3 ? "\y|AKTÍV|":temp2);
  308.         menu_additem(menu, temp, "3", 0);
  309.  
  310.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  311.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  312.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  313.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  314.  
  315.         menu_display(id, menu, 0);
  316.         return PLUGIN_HANDLED;
  317. }
  318. public awp_handler(id, menu, item) {
  319.         if(item == MENU_EXIT) {
  320.                 menu_destroy(menu);
  321.                 return PLUGIN_HANDLED;
  322.         }
  323.  
  324.         switch(item)
  325.         {
  326.                 case 0: {
  327.                         player_data[id][AWP_MENU] = 0;
  328.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  329.                 }
  330.                 case 1: {
  331.                         if(player_data[id][AWP_KILLS] >= POINTS[0]) {
  332.                         player_data[id][AWP_MENU] = 1;
  333.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  334.                         }
  335.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  336.                 }
  337.                 case 2: {
  338.                         if(player_data[id][AWP_KILLS] >= POINTS[1]) {
  339.                         player_data[id][AWP_MENU] = 2;
  340.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  341.                         }
  342.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  343.                 }
  344.                 case 3: {
  345.                         if(player_data[id][AWP_KILLS] >= POINTS[2]) {
  346.                         player_data[id][AWP_MENU] = 3;
  347.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  348.                         }
  349.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  350.                 }
  351.         }
  352.         menu_destroy(menu);
  353.         return PLUGIN_HANDLED;
  354. }
  355.  
  356. public scout_menu(id) {
  357.         new temp[128], temp2[64];
  358.         formatex(temp, charsmax(temp), "\r[%s] \wScout Skinek ^nÖlések: \y%d", PREFIX, player_data[id][SCOUT_KILLS]);
  359.         new menu = menu_create(temp, "scout_handler");
  360.  
  361.         formatex(temp, charsmax(temp), "Alap Scout %s", player_data[id][SCOUT_MENU] == 0 ? "\y|AKTÍV|":"");
  362.         menu_additem(menu, temp, "0", 0);
  363.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[0]);
  364.         formatex(temp, charsmax(temp), "Rozsdás Scout %s", player_data[id][SCOUT_MENU] == 1 ? "\y|AKTÍV|":temp2);
  365.         menu_additem(menu, temp, "1", 0);
  366.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[1]);
  367.         formatex(temp, charsmax(temp), "Ezüst Scout %s", player_data[id][SCOUT_MENU] == 2 ? "\y|AKTÍV|":temp2);
  368.         menu_additem(menu, temp, "2", 0);
  369.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[2]);
  370.         formatex(temp, charsmax(temp), "Arany Scout %s", player_data[id][SCOUT_MENU] == 3 ? "\y|AKTÍV|":temp2);
  371.         menu_additem(menu, temp, "3", 0);
  372.  
  373.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  374.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  375.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  376.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  377.  
  378.         menu_display(id, menu, 0);
  379.         return PLUGIN_HANDLED;
  380. }
  381. public scout_handler(id, menu, item) {
  382.         if(item == MENU_EXIT)
  383.         {
  384.                 menu_destroy(menu);
  385.                 return PLUGIN_HANDLED;
  386.         }
  387.  
  388.         switch(item)
  389.         {
  390.                 case 0: {
  391.                         player_data[id][SCOUT_MENU] = 0;
  392.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  393.                 }
  394.                 case 1: {
  395.                         if(player_data[id][SCOUT_KILLS] >= POINTS[0]) {
  396.                         player_data[id][SCOUT_MENU] = 1;
  397.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  398.                         }
  399.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  400.                 }
  401.                 case 2: {
  402.                         if(player_data[id][SCOUT_KILLS] >= POINTS[1]) {
  403.                         player_data[id][SCOUT_MENU] = 2;
  404.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  405.                         }
  406.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  407.                 }
  408.                 case 3: {
  409.                         if(player_data[id][SCOUT_KILLS] >= POINTS[2]) {
  410.                         player_data[id][SCOUT_MENU] = 3;
  411.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  412.                         }
  413.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  414.                 }
  415.         }
  416.         menu_destroy(menu);
  417.         return PLUGIN_HANDLED;
  418. }
  419.  
  420. public deagle_menu(id) {
  421.         new temp[128], temp2[64];
  422.         formatex(temp, charsmax(temp), "\r[%s] \wDeagle Skinek ^nÖlések: \y%d", PREFIX, player_data[id][DEAGLE_KILLS]);
  423.         new menu = menu_create(temp, "deagle_handler");
  424.  
  425.         formatex(temp, charsmax(temp), "Alap Deagle %s", player_data[id][DEAGLE_MENU] == 0 ? "\y|AKTÍV|":"");
  426.         menu_additem(menu, temp, "0", 0);
  427.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[3]);
  428.         formatex(temp, charsmax(temp), "Rozsdás Deagle %s", player_data[id][DEAGLE_MENU] == 1 ? "\y|AKTÍV|":temp2);
  429.         menu_additem(menu, temp, "1", 0);
  430.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[4]);
  431.         formatex(temp, charsmax(temp), "Ezüst Deagle %s", player_data[id][DEAGLE_MENU] == 2 ? "\y|AKTÍV|":temp2);
  432.         menu_additem(menu, temp, "2", 0);
  433.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[5]);
  434.         formatex(temp, charsmax(temp), "Arany Deagle %s", player_data[id][DEAGLE_MENU] == 3 ? "\y|AKTÍV|":temp2);
  435.         menu_additem(menu, temp, "3", 0);
  436.  
  437.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  438.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  439.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  440.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  441.  
  442.         menu_display(id, menu, 0);
  443.         return PLUGIN_HANDLED;
  444. }
  445. public deagle_handler(id, menu, item) {
  446.         if(item == MENU_EXIT)
  447.         {
  448.                 menu_destroy(menu);
  449.                 return PLUGIN_HANDLED;
  450.         }
  451.  
  452.         switch(item)
  453.         {
  454.                 case 0: {
  455.                         player_data[id][DEAGLE_MENU] = 0;
  456.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  457.                 }
  458.                 case 1: {
  459.                         if(player_data[id][DEAGLE_KILLS] >= POINTS[3]) {
  460.                         player_data[id][DEAGLE_MENU] = 1;
  461.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  462.                         }
  463.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  464.                 }
  465.                 case 2: {
  466.                         if(player_data[id][DEAGLE_KILLS] >= POINTS[4]) {
  467.                         player_data[id][DEAGLE_MENU] = 2;
  468.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  469.                         }
  470.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  471.                 }
  472.                 case 3: {
  473.                         if(player_data[id][DEAGLE_KILLS] >= POINTS[5]) {
  474.                         player_data[id][DEAGLE_MENU] = 3;
  475.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  476.                         }
  477.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  478.                 }
  479.         }
  480.         menu_destroy(menu);
  481.         return PLUGIN_HANDLED;
  482. }
  483.  
  484. public usp_menu(id) {
  485.         new temp[128], temp2[64];
  486.         formatex(temp, charsmax(temp), "\r[%s] \wUSP Skinek ^nÖlések: \y%d", PREFIX, player_data[id][USP_KILLS]);
  487.         new menu = menu_create(temp, "usp_handler");
  488.  
  489.         formatex(temp, charsmax(temp), "Alap USP %s", player_data[id][USP_MENU] == 0 ? "\y|AKTÍV|":"");
  490.         menu_additem(menu, temp, "0", 0);
  491.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[3]);
  492.         formatex(temp, charsmax(temp), "Rozsdás USP %s", player_data[id][USP_MENU] == 1 ? "\y|AKTÍV|":temp2);
  493.         menu_additem(menu, temp, "1", 0);
  494.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[4]);
  495.         formatex(temp, charsmax(temp), "Ezüst USP %s", player_data[id][USP_MENU] == 2 ? "\y|AKTÍV|":temp2);
  496.         menu_additem(menu, temp, "2", 0);
  497.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[5]);
  498.         formatex(temp, charsmax(temp), "Arany USP %s", player_data[id][USP_MENU] == 3 ? "\y|AKTÍV|":temp2);
  499.         menu_additem(menu, temp, "3", 0);
  500.  
  501.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  502.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  503.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  504.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  505.  
  506.         menu_display(id, menu, 0);
  507.         return PLUGIN_HANDLED;
  508. }
  509. public usp_handler(id, menu, item) {
  510.         if(item == MENU_EXIT)
  511.         {
  512.                 menu_destroy(menu);
  513.                 return PLUGIN_HANDLED;
  514.         }
  515.  
  516.         switch(item)
  517.         {
  518.                 case 0: {
  519.                         player_data[id][USP_MENU] = 0;
  520.                         ChatColor(id, "^4[%s]^1 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.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  526.                         }
  527.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed 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.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  533.                         }
  534.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed 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.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  540.                         }
  541.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed 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 ^nÖlések: \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| Ölés", 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| Ölés", 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| Ölés", 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_destroy(menu);
  577.                 return PLUGIN_HANDLED;
  578.         }
  579.  
  580.         switch(item)
  581.         {
  582.                 case 0: {
  583.                         player_data[id][GLOCK_MENU] = 0;
  584.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  585.                 }
  586.                 case 1: {
  587.                         if(player_data[id][GLOCK_KILLS] >= POINTS[3]) {
  588.                         player_data[id][GLOCK_MENU] = 1;
  589.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  590.                         }
  591.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  592.                 }
  593.                 case 2: {
  594.                         if(player_data[id][GLOCK_KILLS] >= POINTS[4]) {
  595.                         player_data[id][GLOCK_MENU] = 2;
  596.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  597.                         }
  598.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  599.                 }
  600.                 case 3: {
  601.                         if(player_data[id][GLOCK_KILLS] >= POINTS[5]) {
  602.                         player_data[id][GLOCK_MENU] = 3;
  603.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  604.                         }
  605.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  606.                 }
  607.         }
  608.         menu_destroy(menu);
  609.         return PLUGIN_HANDLED;
  610. }
  611.  
  612. public knife_menu(id) {
  613.         new temp[128], temp2[64];
  614.         formatex(temp, charsmax(temp), "\r[%s] \wKés Skinek ^nÖlések: \y%d", PREFIX, player_data[id][KNIFE_KILLS]);
  615.         new menu = menu_create(temp, "knife_handler");
  616.  
  617.         formatex(temp, charsmax(temp), "Alap Kés %s", player_data[id][KNIFE_MENU] == 0 ? "\y|AKTÍV|":"");
  618.         menu_additem(menu, temp, "0", 0);
  619.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[6]);
  620.         formatex(temp, charsmax(temp), "Rozsdás Kés %s", player_data[id][KNIFE_MENU] == 1 ? "\y|AKTÍV|":temp2);
  621.         menu_additem(menu, temp, "1", 0);
  622.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[7]);
  623.         formatex(temp, charsmax(temp), "Ezüst Kés %s", player_data[id][KNIFE_MENU] == 2 ? "\y|AKTÍV|":temp2);
  624.         menu_additem(menu, temp, "2", 0);
  625.         formatex(temp2, charsmax(temp2), "\r|%i| Ölés", POINTS[8]);
  626.         formatex(temp, charsmax(temp), "Arany Kés %s", player_data[id][KNIFE_MENU] == 3 ? "\y|AKTÍV|":temp2);
  627.         menu_additem(menu, temp, "3", 0);
  628.  
  629.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  630.         menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  631.         menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  632.         menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  633.  
  634.         menu_display(id, menu, 0);
  635.         return PLUGIN_HANDLED;
  636. }
  637. public knife_handler(id, menu, item) {
  638.         if(item == MENU_EXIT)
  639.         {
  640.                 menu_destroy(menu);
  641.                 return PLUGIN_HANDLED;
  642.         }
  643.  
  644.         switch(item)
  645.         {
  646.                 case 0: {
  647.                         player_data[id][KNIFE_MENU] = 0;
  648.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  649.                 }
  650.                 case 1: {
  651.                         if(player_data[id][KNIFE_KILLS] >= POINTS[6]) {
  652.                         player_data[id][KNIFE_MENU] = 1;
  653.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  654.                         }
  655.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  656.                 }
  657.                 case 2: {
  658.                         if(player_data[id][KNIFE_KILLS] >= POINTS[7]) {
  659.                         player_data[id][KNIFE_MENU] = 2;
  660.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  661.                         }
  662.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  663.                 }
  664.                 case 3: {
  665.                         if(player_data[id][KNIFE_KILLS] >= POINTS[8]) {
  666.                         player_data[id][KNIFE_MENU] = 3;
  667.                         ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
  668.                         }
  669.                         else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
  670.                 }
  671.         }
  672.         menu_destroy(menu);
  673.         return PLUGIN_HANDLED;
  674. }
  675.  
  676. public plugin_cfg() {
  677.     new Query[512], Len;
  678.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  679.  
  680.     Len += formatex(Query[Len], charsmax(Query)-Len, "CREATE TABLE IF NOT EXISTS `worldsniper` (`username` varchar(32) NOT NULL,`AWP_KILLS` int(11) NOT NULL,`SCOUT_KILLS` int(11) NOT NULL,`DEAGLE_KILLS` int(11) NOT NULL,`USP_KILLS` int(11) NOT NULL,`GLOCK_KILLS` int(11) NOT NULL,`KNIFE_KILLS` int(11) NOT NULL, ")
  681.     Len += formatex(Query[Len], charsmax(Query)-Len, "`AWP_MENU` int(11) NOT NULL,`SCOUT_MENU` int(11) NOT NULL,`DEAGLE_MENU` int(11) NOT NULL,`USP_MENU` int(11) NOT NULL,`GLOCK_MENU` int(11) NOT NULL,`KNIFE_MENU` int(11) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  682.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  683. }
  684.  
  685. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  686.     if(FailState == TQUERY_CONNECT_FAILED)
  687.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  688.     else if(FailState == TQUERY_QUERY_FAILED)
  689.         set_fail_state("Query Error");
  690.     if(Errcode)
  691.         log_amx("Hibat dobtam: %s",Error);
  692. }
  693.  
  694. public client_putinserver(id) {
  695.     if(!is_user_bot(id)) {
  696.         get_user_name(id, player_data[id][USERNAME], 31)
  697.         load(id);
  698.     }
  699. }
  700.  
  701. public load(id) {
  702.     new Query[512], Data[1];
  703.     Data[0] = id;
  704.     formatex(Query, charsmax(Query), "SELECT * FROM `worldsniper` WHERE username = ^"%s^";", player_data[id][USERNAME])
  705.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  706. }
  707.  
  708. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  709.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  710.         log_amx("%s", Error)
  711.         return
  712.     }
  713.     else {
  714.         new id = Data[0];
  715.  
  716.         if(SQL_NumRows(Query) > 0) {
  717.             player_data[id][AWP_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AWP_KILLS"));
  718.             player_data[id][SCOUT_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SCOUT_KILLS"));
  719.             player_data[id][DEAGLE_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "DEAGLE_KILLS"))
  720.             player_data[id][USP_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "USP_KILLS"))
  721.             player_data[id][GLOCK_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "GLOCK_KILLS"))
  722.             player_data[id][KNIFE_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "KNIFE_KILLS"))
  723.             player_data[id][AWP_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AWP_MENU"))
  724.             player_data[id][SCOUT_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SCOUT_MENU"))
  725.             player_data[id][DEAGLE_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "DEAGLE_MENU"))
  726.             player_data[id][USP_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "USP_MENU"))
  727.             player_data[id][GLOCK_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "GLOCK_MENU"))
  728.             player_data[id][KNIFE_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "KNIFE_MENU"))
  729.         }
  730.         else {
  731.             save(id)
  732.         }
  733.     }
  734. }
  735.  
  736. public save(id) {
  737.     new text[512];
  738.     formatex(text, charsmax(text), "INSERT INTO `worldsniper` (`username`, `AWP_KILLS`, `SCOUT_KILLS`, `DEAGLE_KILLS`, `USP_KILLS`, `GLOCK_KILLS`, `KNIFE_KILLS`, `AWP_MENU`, `SCOUT_MENU`, `DEAGLE_MENU`, `USP_MENU`, `GLOCK_MENU`, `KNIFE_MENU`) VALUES (^"%s^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^");", player_data[id][USERNAME])
  739.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  740. }
  741.  
  742. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  743.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  744.         log_amx("%s", Error)
  745.         return
  746.     }
  747. }
  748.  
  749. public update(id) {
  750.     new text[1024], Len;
  751.     Len += formatex(text[Len], charsmax(text)-Len, "UPDATE `worldsniper` SET AWP_KILLS = ^"%i^", SCOUT_KILLS = ^"%i^", DEAGLE_KILLS = ^"%i^", USP_KILLS = ^"%i^", GLOCK_KILLS = ^"%i^", KNIFE_KILLS = ^"%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])
  752.     Len += formatex(text[Len], charsmax(text)-Len, "AWP_MENU = ^"%i^", SCOUT_MENU = ^"%i^", DEAGLE_MENU = ^"%i^", USP_MENU = ^"%i^", GLOCK_MENU = ^"%i^", KNIFE_MENU = ^"%i^" WHERE username = ^"%s^";", 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], player_data[id][USERNAME])
  753.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  754. }
  755.  
  756. public client_disconnect(id) {
  757.     if(!is_user_bot(id)) {
  758.         update(id)
  759.     }
  760.     arrayset(player_data[id], 0, 12);
  761. }
  762.  
  763. public plugin_end() {
  764.     SQL_FreeHandle(g_SqlTuple);
  765. }
  766. stock ChatColor(const id, const szMessage[], any:...) {
  767.         static pnum, players[32], szMsg[190], IdMsg;
  768.         vformat(szMsg, charsmax(szMsg), szMessage, 3);
  769.        
  770.         if(!IdMsg) IdMsg = get_user_msgid("SayText");
  771.        
  772.         if(id) {
  773.                 if(!is_user_connected(id)) return;
  774.                 players[0] = id;
  775.                 pnum = 1;
  776.         }
  777.         else get_players(players, pnum, "ch");
  778.        
  779.         for(new i; i < pnum; i++) {
  780.                 message_begin(MSG_ONE, IdMsg, .player = players[i]);
  781.                 write_byte(players[i]);
  782.                 write_string(szMsg);
  783.                 message_end();
  784.         }
  785. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement