hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.28. 08:08



Jelenlévő felhasználók

Jelenleg 547 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 547 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 7 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Összekötés
HozzászólásElküldve: 2017.10.28. 11:42 
Offline
Tag

Csatlakozott: 2017.09.23. 20:20
Hozzászólások: 34
Sziasztok valaki megtudná nekem csinálni azt ha megnyomjuk a t betüt akkor előzhoz egy menüt amiben 2 pont van: USP, Kés választás (mind a 2-t elküldöm) és azt kérném hogy van egy főmenü és ha belemegyünk akkor megnyissa azt az adott menüt. (usp)
/* Plugin generated by AMXX-Studio */
  1. /*Usp menu fixelt verzio*/
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <colorchat>
  6. #include <fakemeta>
  7.  
  8. #define PLUGIN "USPMenu"
  9. #define VERSION "0.1"
  10. #define AUTHOR "xy"
  11.  
  12. new pont[33]
  13. new usp[33]
  14.  
  15. new prefix[] = "USP"
  16.  
  17. new filename[128];
  18.  
  19. public plugin_init() {
  20.     register_plugin(PLUGIN, VERSION, AUTHOR)
  21.     register_clcmd("say /usp", "uspmenu")
  22.     register_clcmd("201", "uspmenu")
  23.     register_clcmd("say /pont", "pontokchat")
  24.     register_event("CurWeapon", "fegyvervaltas", "be", "1=1")
  25.     register_event("DeathMsg", "halal", "a")
  26.     get_localinfo("amxx_configsdir", filename, charsmax(filename))
  27.     format(filename, charsmax(filename), "%s/uspmentes.ini", filename)
  28. }
  29. public halal(){
  30.     new killer = read_data(1)
  31.     new victim = read_data(2)
  32.    
  33.     if(killer == victim)
  34.     {
  35.         return PLUGIN_HANDLED
  36.     }
  37.     pont[killer]++
  38.     return PLUGIN_HANDLED
  39. }
  40. public pontokchat(id)
  41. {
  42.     ColorChat(id, GREEN, "USP^3»^1 Pontjaid száma:^3 %i", pont[id])
  43. }
  44. public uspmenu(id)
  45. {
  46.     new cim[121]
  47.     new szCim[512]
  48.    
  49.     formatex(cim, charsmax(cim), "\rUSP\w menü^n\rPontok:\w%i^n\rOldal:\w", pont[id])
  50.     new menu = menu_create(cim, "usp_handler");
  51.    
  52.     menu_additem(menu, "\rUSP 1\d [1]\w [Megszerezve]", "1", 0);
  53.     if(pont[id] < 25)
  54.     {
  55.     formatex(szCim, charsmax(szCim), "\dUSP 2 [2] [%i/25 pont]", pont[id])
  56.     menu_additem(menu, szCim, "2",0)
  57.     }
  58.     else
  59.     menu_additem(menu, "\rUSP 2\d [2]\w [Megszerezve]", "2",0)
  60.     if(pont[id] < 50)
  61.     {
  62.     formatex(szCim, charsmax(szCim), "\dUSP 3 [3] [%i/50 pont]", pont[id])
  63.     menu_additem(menu, szCim, "3",0)
  64.     }
  65.     else
  66.     menu_additem(menu, "\rUSP 3\d [3]\w [Megszerezve]", "3", 0);
  67.     if(pont[id] < 75)
  68.     {
  69.     formatex(szCim, charsmax(szCim), "\dUSP 4 [4] [%i/75 pont]", pont[id])
  70.     menu_additem(menu, szCim, "4",0)
  71.     }
  72.     else
  73.     menu_additem(menu, "\rUSP 4\d [4]\w [Megszerezve]", "4",0)
  74.     if(pont[id] < 100)
  75.     {
  76.     formatex(szCim, charsmax(szCim), "\dUSP 5 [5] [%i/100 pont]", pont[id])
  77.     menu_additem(menu, szCim, "4",0)
  78.     }
  79.     else
  80.     menu_additem(menu, "\rUSP 5\d [5]\w [Megszerezve]", "5", 0);
  81.     if(pont[id] < 150)
  82.     {
  83.     formatex(szCim, charsmax(szCim), "\dUSP 6 [6] [%i/150 pont]", pont[id])
  84.     menu_additem(menu, szCim, "6",0)
  85.     }
  86.     else
  87.     menu_additem(menu, "\rUSP 6\d [6]\w [Megszerezve]", "6",0)
  88.     if(pont[id] < 200)
  89.     {
  90.     formatex(szCim, charsmax(szCim), "\dUSP 7 [7] [%i/200 pont]", pont[id])
  91.     menu_additem(menu, szCim, "7",0)
  92.     }
  93.     else
  94.     menu_additem(menu, "\rUSP 7\d [7]\w [Megszerezve]", "7", 0);
  95.     if(pont[id] < 300)
  96.     {
  97.     formatex(szCim, charsmax(szCim), "\dUSP 8 [8] [%i/300 pont]", pont[id])
  98.     menu_additem(menu, szCim, "8",0)
  99.     }
  100.     else
  101.     menu_additem(menu, "\rUSP 8\d [8]\w [Megszerezve]", "8", 0);
  102.    
  103.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  104.     menu_setprop(menu, MPROP_BACKNAME, "Előző");
  105.     menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  106.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  107.     menu_display(id, menu, 0);
  108.  
  109.     return PLUGIN_HANDLED;
  110. }
  111.  
  112. public usp_handler(id, menu, item)
  113. {
  114.     if(item == MENU_EXIT)
  115.     {
  116.         menu_cancel(id);
  117.         return PLUGIN_HANDLED;
  118.     }
  119.  
  120.     new command[6], name[64], access, callback;
  121.  
  122.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  123.  
  124.     switch(item)
  125.     {
  126.     case 0:{
  127.         if(pont[id] >= 0)
  128.         {
  129.             usp[id] = 1
  130.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 1^1-et!", prefix)
  131.         }
  132.         else
  133.         {
  134.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 2^1-ig hátravan még^3 %i^1 pont!", prefix, 0-pont[id])
  135.         }
  136.     }
  137.     case 1:{
  138.         if(pont[id] >= 25)
  139.         {
  140.             usp[id] = 2
  141.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 2^1-őt!", prefix)
  142.         }
  143.         else
  144.         {
  145.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 2^1-ig hátravan még^3 %i^1 pont!", prefix, 25-pont[id])
  146.         }
  147.     }
  148.     case 2:{
  149.         if(pont[id] >= 50)
  150.         {
  151.             usp[id] = 3
  152.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 3^1-mat!", prefix)
  153.         }
  154.         else
  155.         {
  156.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 3^1-ig hátravan még^3 %i^1 pont!", prefix, 50-pont[id])
  157.         }
  158.     }
  159.     case 3:{
  160.         if(pont[id] >= 75)
  161.         {
  162.             usp[id] = 4
  163.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 4^1-et!", prefix)
  164.         }
  165.         else
  166.         {
  167.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 4^1-ig hátravan még^3 %i^1 pont!", prefix, 75-pont[id])
  168.         }
  169.     }
  170.     case 4:{
  171.         if(pont[id] >= 100)
  172.         {
  173.             usp[id] = 5
  174.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 5^1-öt!", prefix)
  175.         }
  176.         else
  177.         {
  178.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 5^1-ig hátravan még^3 %i^1 pont!", prefix, 100-pont[id])
  179.         }
  180.     }
  181.     case 5:{
  182.         if(pont[id] >= 150)
  183.         {
  184.             usp[id] = 6
  185.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 6^1-ot!", prefix)
  186.         }
  187.         else
  188.         {
  189.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 6^1-ig hátravan még^3 %i^1 pont!", prefix, 150-pont[id])
  190.         }
  191.     }
  192.     case 6:{
  193.         if(pont[id] >= 200)
  194.         {
  195.             usp[id] = 7
  196.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 7^1-et!", prefix)
  197.         }
  198.         else
  199.         {
  200.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 7^1-ig hátravan még^3 %i^1 pont!", prefix, 200-pont[id])
  201.         }
  202.     }
  203.     case 7:{
  204.         if(pont[id] >= 300)
  205.         {
  206.             usp[id] = 8
  207.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 8^1-at!", prefix)
  208.         }
  209.         else
  210.         {
  211.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 8^1-ig hátravan még %i pont!", prefix, 300-pont[id])
  212.         }
  213.     }  
  214.     }
  215.  
  216.     menu_destroy(menu);
  217.  
  218.     return PLUGIN_HANDLED;
  219. }
  220. public plugin_precache()
  221. {
  222.     precache_model("models/uspmenu/v_usp_1.mdl")
  223.     precache_model("models/uspmenu/v_usp_2.mdl")
  224.     precache_model("models/uspmenu/v_usp_3.mdl")
  225.     precache_model("models/uspmenu/v_usp_4.mdl")
  226.     precache_model("models/uspmenu/v_usp_5.mdl")
  227.     precache_model("models/uspmenu/v_usp_6.mdl")
  228.     precache_model("models/uspmenu/v_usp_7.mdl")
  229.     precache_model("models/uspmenu/v_usp_8.mdl")
  230. }
  231. public fegyvervaltas(id)
  232. {
  233.     new weapon = get_user_weapon(id)
  234.    
  235.     if(usp[id] == 1 && weapon == CSW_USP)
  236.     {
  237.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_1.mdl")
  238.     }
  239.     if(usp[id] == 2 && weapon == CSW_USP)
  240.     {
  241.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_2.mdl")
  242.     }
  243.     if(usp[id] == 3 && weapon == CSW_USP)
  244.     {
  245.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_3.mdl")
  246.     }
  247.     if(usp[id] == 4 && weapon == CSW_USP)
  248.     {
  249.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_4.mdl")
  250.     }
  251.     if(usp[id] == 5 && weapon == CSW_USP)
  252.     {
  253.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_5.mdl")
  254.     }
  255.     if(usp[id] == 6 && weapon == CSW_USP)
  256.     {
  257.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_6.mdl")
  258.     }
  259.     if(usp[id] == 7 && weapon == CSW_USP)
  260.     {
  261.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_7.mdl")
  262.     }
  263.     if(usp[id] == 8 && weapon == CSW_USP)
  264.     {
  265.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_8.mdl")
  266.     }
  267. }
  268. stock get_data(const key[], data[], len) {
  269.     new vault = fopen(filename, "rt");
  270.     new _data[512], _key[64];
  271.    
  272.     while( !feof(vault) ) {
  273.         fgets(vault, _data, charsmax(_data));
  274.         parse(_data, _key, charsmax(_key), data, len);
  275.        
  276.         if( equal(_key, key) ) {
  277.             fclose(vault);
  278.             return 1;
  279.         }
  280.     }
  281.    
  282.     fclose(vault);
  283.     copy(data, len, "");
  284.    
  285.     return 0;
  286. }
  287.  
  288. stock set_data(const key[], const data[]) {
  289.     static const temp_vault_name[] = "set_data.txt";
  290.     new file = fopen(temp_vault_name, "wt");
  291.    
  292.     new vault = fopen(filename, "rt");
  293.     new _data[512], _key[64], _other[32];
  294.     new bool:replaced = false;
  295.    
  296.     while( !feof(vault) ) {
  297.         fgets(vault, _data, charsmax(_data));
  298.         parse(_data, _key, charsmax(_key), _other, charsmax(_other));
  299.        
  300.         if( equal(_key, key) && !replaced ) {
  301.             fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  302.            
  303.             replaced = true;
  304.         }
  305.         else {
  306.             fputs(file, _data);
  307.         }
  308.     }
  309.    
  310.     if( !replaced ) {
  311.         fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  312.     }
  313.    
  314.     fclose(file);
  315.     fclose(vault);
  316.    
  317.     delete_file(filename);
  318.    
  319.     while( !rename_file(temp_vault_name, filename, 1) ) { }
  320.    
  321.     //delete_file(temp_vault_name);
  322. }
  323. public client_disconnect(id) {
  324.     if(!is_user_bot(id) && !is_user_hltv(id)) {
  325.         save(id);
  326.     }
  327. }
  328.  
  329. public save(id) {
  330.     new szData[128];
  331.     new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  332.     if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
  333.    
  334.     formatex(szData, charsmax(szData), "%i %i", usp[id], pont[id]);
  335.     set_data(steamid, szData)
  336. }
  337. public client_authorized(id) {
  338.     if(!is_user_bot(id) && !is_user_hltv(id)) {
  339.         load(id);
  340.     }
  341. }
  342.  
  343. public load(id) {
  344.     new szData[128];
  345.     new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  346.     if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
  347.    
  348.     if(get_data(steamid, szData, charsmax(szData))) {
  349.         new valami[32], valami2[32];
  350.         parse(szData, valami, charsmax(valami), valami2, charsmax(valami2));
  351.         usp[id] = str_to_num(valami)  
  352.         pont[id] = str_to_num(valami2)
  353.     }
  354. }
  355. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  356. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  357. */

És a kés sma:
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <vault>
  5. #include <fun>
  6.  
  7. #define PLUGIN "Knife Mod"
  8. #define VERSION "1.0"
  9. #define AUTHOR "spunko"
  10.  
  11. #define TASK_INTERVAL 4.0  
  12. #define MAX_HEALTH 255  
  13.  
  14. new knife_model[33]
  15. new g_Menu
  16.  
  17. new CVAR_HIGHSPEED
  18. new CVAR_LOWSPEED
  19. new CVAR_LOWGRAV
  20. new CVAR_NORMGRAV
  21. new CVAR_HEALTH_ADD
  22. new CVAR_HEALTH_MAX
  23. new CVAR_DAMAGE
  24.  
  25. public plugin_init() {
  26.  
  27.     register_plugin(PLUGIN, VERSION, AUTHOR)
  28.  
  29.     register_event( "Damage", "event_damage", "be" )
  30.     register_event("CurWeapon","CurWeapon","be","1=1")
  31.  
  32.     g_Menu = register_menuid("Kes Mod")
  33.     register_menucmd(g_Menu, 1023, "knifemenu")
  34.  
  35.     register_clcmd("say /knife", "display_knife")
  36.  
  37.     CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
  38.     CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
  39.     CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
  40.     CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
  41.     CVAR_DAMAGE = register_cvar("km_damage", "2")
  42.     CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
  43.     CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
  44.  
  45.     set_task(480.0, "kmodmsg", 0, _, _, "b")
  46. }
  47.  
  48. public plugin_precache() {
  49.     precache_model("models/knife-mod/v_butcher.mdl")
  50.     precache_model("models/knife-mod/p_butcher.mdl")
  51.     precache_model("models/knife-mod/v_machete.mdl")
  52.     precache_model("models/knife-mod/p_machete.mdl")
  53.     precache_model("models/knife-mod/v_bak.mdl")
  54.     precache_model("models/knife-mod/p_bak.mdl")
  55.     precache_model("models/knife-mod/v_pocket.mdl")
  56.     precache_model("models/knife-mod/p_pocket.mdl")
  57.     precache_model("models/v_knife.mdl")
  58.     precache_model("models/p_knife.mdl")
  59. }
  60.  
  61. public display_knife(id) {
  62.     new menuBody[512]
  63.     add(menuBody, 511, "\rKes Modok\w^n^n")
  64.     add(menuBody, 511, "1. Machete \y(Tobb sebzes/Kis sebesseg)\w^n")
  65.     add(menuBody, 511, "2. Bak Kes \y(Nincs trappolas)\w^n")
  66.     add(menuBody, 511, "3. Zsebkes \y(Gyorsasag)\w^n")
  67.     add(menuBody, 511, "4. Hentes Bard \y(Nagyobb ugras)\w^n")
  68.     add(menuBody, 511, "5. Alap Kes \y(Elet ujratoltodes)\w^n^n")
  69.     add(menuBody, 511, "0. Kilepes^n")
  70.  
  71.     new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
  72.     show_menu(id, keys, menuBody, -1, "Kes Modok")
  73. }
  74.  
  75. public knifemenu(id, key) {
  76.     switch(key)
  77.     {
  78.         case 0: SetKnife(id , 4)
  79.         case 1: SetKnife(id , 2)
  80.         case 2: SetKnife(id , 3)
  81.         case 3: SetKnife(id , 1)
  82.         case 4: SetKnife(id , 0)
  83.         default: return PLUGIN_HANDLED
  84.     }
  85.     SaveData(id)
  86.     return PLUGIN_HANDLED
  87. }
  88.  
  89. public SetKnife(id , Knife) {
  90.     knife_model[id] = Knife
  91.  
  92.     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
  93.     if ( Weapon != CSW_KNIFE )
  94.         return PLUGIN_HANDLED
  95.  
  96.     new vModel[56],pModel[56]
  97.  
  98.     switch(Knife)
  99.     {
  100.         case 0: {
  101.             format(vModel,55,"models/v_knife.mdl")
  102.             format(pModel,55,"models/p_knife.mdl")
  103.         }
  104.         case 1: {
  105.             format(vModel,55,"models/knife-mod/v_butcher.mdl")
  106.             format(pModel,55,"models/knife-mod/p_butcher.mdl")
  107.         }
  108.         case 2: {
  109.             format(vModel,55,"models/knife-mod/v_bak.mdl")
  110.             format(pModel,55,"models/knife-mod/p_bak.mdl")
  111.         }
  112.         case 3: {
  113.             format(vModel,55,"models/knife-mod/v_pocket.mdl")
  114.             format(pModel,55,"models/knife-mod/p_pocket.mdl")
  115.         }
  116.         case 4: {
  117.             format(vModel,55,"models/knife-mod/v_machete.mdl")
  118.             format(pModel,55,"models/knife-mod/p_machete.mdl")
  119.         }
  120.     }
  121.  
  122.     entity_set_string(id, EV_SZ_viewmodel, vModel)
  123.     entity_set_string(id, EV_SZ_weaponmodel, pModel)
  124.  
  125.     return PLUGIN_HANDLED;  
  126. }
  127.  
  128. public event_damage( id ) {
  129.  
  130.     new victim_id = id;
  131.     if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
  132.     new dmg_take = read_data( 2 );
  133.     new dmgtype = read_data( 3 );
  134.     new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
  135.     new Float:damage = dmg_take * multiplier;
  136.     new health = get_user_health( victim_id );
  137.  
  138.     new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
  139.  
  140.     if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
  141.         return PLUGIN_HANDLED
  142.     }
  143.  
  144.     if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
  145.  
  146.         if( floatround(damage) >= health ) {
  147.             if( victim_id == attacker_id ) {
  148.                 return PLUGIN_CONTINUE
  149.                 }else{
  150.                 log_kill( attacker_id, victim_id, "knife", 0 );
  151.             }
  152.  
  153.             return PLUGIN_CONTINUE
  154.             }else {
  155.             if( victim_id == attacker_id ) return PLUGIN_CONTINUE
  156.  
  157.             fakedamage( victim_id, "weapon_knife", damage, dmgtype );
  158.         }
  159.     }
  160.     return PLUGIN_CONTINUE
  161. }
  162.  
  163. public CurWeapon(id)
  164.     {
  165.     new Weapon = read_data(2)
  166.  
  167.     // Set Knife Model
  168.     SetKnife(id, knife_model[id])  
  169.  
  170.     // Task Options
  171.  
  172.     if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
  173.         set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
  174.     else if(task_exists(id))
  175.         remove_task(id)
  176.  
  177.     // Abilities
  178.     set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
  179.  
  180.     new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
  181.     set_user_gravity(id , Gravity)
  182.  
  183.     // Speed
  184.     new Float:Speed
  185.     if(Weapon != CSW_KNIFE || knife_model[id] < 3)
  186.         return PLUGIN_CONTINUE
  187.     else if(knife_model[id] == 3)
  188.         Speed = get_pcvar_float(CVAR_HIGHSPEED)
  189.     else if(knife_model[id] == 4)
  190.         Speed = get_pcvar_float(CVAR_LOWSPEED)
  191.  
  192.     set_user_maxspeed(id, Speed)
  193.  
  194.     return PLUGIN_HANDLED  
  195.  
  196. }
  197.  
  198. stock log_kill(killer, victim, weapon[],headshot) {
  199.     user_silentkill( victim );
  200.  
  201.     message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
  202.     write_byte( killer );
  203.     write_byte( victim );
  204.     write_byte( headshot );
  205.     write_string( weapon );
  206.     message_end();
  207.  
  208.     new kfrags = get_user_frags( killer );
  209.     set_user_frags( killer, kfrags++ );
  210.     new vfrags = get_user_frags( victim );
  211.     set_user_frags( victim, vfrags++ );
  212.  
  213.     return  PLUGIN_CONTINUE
  214. }
  215.  
  216.  
  217. public task_healing(id) {  
  218.     new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
  219.     if (!addhealth)
  220.         return  
  221.  
  222.     new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
  223.     if (maxhealth > MAX_HEALTH) {
  224.         set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
  225.         maxhealth = MAX_HEALTH
  226.     }  
  227.  
  228.     new health = get_user_health(id)  
  229.  
  230.     if (is_user_alive(id) && (health < maxhealth)) {
  231.         set_user_health(id, health + addhealth)
  232.         set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
  233.         show_hudmessage(id,"<< !!ELET TOLTODES!! >>")
  234.         message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
  235.         write_short(1<<10)
  236.         write_short(1<<10)
  237.         write_short(0x0000)
  238.         write_byte(0)
  239.         write_byte(200)
  240.         write_byte(0)
  241.         write_byte(75)
  242.         message_end()
  243.     }
  244.  
  245.     else {
  246.         if (is_user_alive(id) && (health > maxhealth))
  247.             remove_task(id)
  248.     }
  249. }  
  250.  
  251. public client_disconnect(id) {  
  252.     if(task_exists(id)) remove_task(id)  
  253. }  
  254.  
  255.  
  256. public kmodmsg() {
  257.  
  258.     client_print(0,print_chat,"[AMXX] Ird be /knife, hogy valaszthass a kesek kozul.")
  259. }  
  260.  
  261. public client_authorized(id)
  262.     {
  263.     LoadData(id)
  264. }
  265.  
  266. SaveData(id)
  267. {
  268.  
  269.     new authid[32]
  270.     get_user_authid(id, authid, 31)
  271.  
  272.     new vaultkey[64]
  273.     new vaultdata[64]
  274.  
  275.     format(vaultkey, 63, "KMOD_%s", authid)
  276.     format(vaultdata, 63, "%d", knife_model[id])
  277.     set_vaultdata(vaultkey, vaultdata)
  278. }
  279.  
  280. LoadData(id)
  281. {
  282.     new authid[32]
  283.     get_user_authid(id,authid,31)
  284.  
  285.     new vaultkey[64], vaultdata[64]
  286.  
  287.     format(vaultkey, 63, "KMOD_%s", authid)
  288.     get_vaultdata(vaultkey, vaultdata, 63)
  289.     knife_model[id] = str_to_num(vaultdata)
  290.  
  291. }
  292. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  293. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  294. */

tehát: 1 főmenübe legyen 2 almenü az 1-ikbe legyen az uspk a másikba pedig a kések:) én sajnos ezt nem értem... de ha valaki megcsinálná azt nagyon megköszönném :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Összekötés
HozzászólásElküldve: 2017.10.28. 15:49 
Offline
Őstag
Avatar

Csatlakozott: 2017.08.21. 15:51
Hozzászólások: 1109
Megköszönt másnak: 36 alkalommal
Megköszönték neki: 195 alkalommal
I3WhitE írta:
Sziasztok valaki megtudná nekem csinálni azt ha megnyomjuk a t betüt akkor előzhoz egy menüt amiben 2 pont van: USP, Kés választás (mind a 2-t elküldöm) és azt kérném hogy van egy főmenü és ha belemegyünk akkor megnyissa azt az adott menüt. (usp)
/* Plugin generated by AMXX-Studio */
  1. /*Usp menu fixelt verzio*/
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <colorchat>
  6. #include <fakemeta>
  7.  
  8. #define PLUGIN "USPMenu"
  9. #define VERSION "0.1"
  10. #define AUTHOR "xy"
  11.  
  12. new pont[33]
  13. new usp[33]
  14.  
  15. new prefix[] = "USP"
  16.  
  17. new filename[128];
  18.  
  19. public plugin_init() {
  20.     register_plugin(PLUGIN, VERSION, AUTHOR)
  21.     register_clcmd("say /usp", "uspmenu")
  22.     register_clcmd("201", "uspmenu")
  23.     register_clcmd("say /pont", "pontokchat")
  24.     register_event("CurWeapon", "fegyvervaltas", "be", "1=1")
  25.     register_event("DeathMsg", "halal", "a")
  26.     get_localinfo("amxx_configsdir", filename, charsmax(filename))
  27.     format(filename, charsmax(filename), "%s/uspmentes.ini", filename)
  28. }
  29. public halal(){
  30.     new killer = read_data(1)
  31.     new victim = read_data(2)
  32.    
  33.     if(killer == victim)
  34.     {
  35.         return PLUGIN_HANDLED
  36.     }
  37.     pont[killer]++
  38.     return PLUGIN_HANDLED
  39. }
  40. public pontokchat(id)
  41. {
  42.     ColorChat(id, GREEN, "USP^3»^1 Pontjaid száma:^3 %i", pont[id])
  43. }
  44. public uspmenu(id)
  45. {
  46.     new cim[121]
  47.     new szCim[512]
  48.    
  49.     formatex(cim, charsmax(cim), "\rUSP\w menü^n\rPontok:\w%i^n\rOldal:\w", pont[id])
  50.     new menu = menu_create(cim, "usp_handler");
  51.    
  52.     menu_additem(menu, "\rUSP 1\d [1]\w [Megszerezve]", "1", 0);
  53.     if(pont[id] < 25)
  54.     {
  55.     formatex(szCim, charsmax(szCim), "\dUSP 2 [2] [%i/25 pont]", pont[id])
  56.     menu_additem(menu, szCim, "2",0)
  57.     }
  58.     else
  59.     menu_additem(menu, "\rUSP 2\d [2]\w [Megszerezve]", "2",0)
  60.     if(pont[id] < 50)
  61.     {
  62.     formatex(szCim, charsmax(szCim), "\dUSP 3 [3] [%i/50 pont]", pont[id])
  63.     menu_additem(menu, szCim, "3",0)
  64.     }
  65.     else
  66.     menu_additem(menu, "\rUSP 3\d [3]\w [Megszerezve]", "3", 0);
  67.     if(pont[id] < 75)
  68.     {
  69.     formatex(szCim, charsmax(szCim), "\dUSP 4 [4] [%i/75 pont]", pont[id])
  70.     menu_additem(menu, szCim, "4",0)
  71.     }
  72.     else
  73.     menu_additem(menu, "\rUSP 4\d [4]\w [Megszerezve]", "4",0)
  74.     if(pont[id] < 100)
  75.     {
  76.     formatex(szCim, charsmax(szCim), "\dUSP 5 [5] [%i/100 pont]", pont[id])
  77.     menu_additem(menu, szCim, "4",0)
  78.     }
  79.     else
  80.     menu_additem(menu, "\rUSP 5\d [5]\w [Megszerezve]", "5", 0);
  81.     if(pont[id] < 150)
  82.     {
  83.     formatex(szCim, charsmax(szCim), "\dUSP 6 [6] [%i/150 pont]", pont[id])
  84.     menu_additem(menu, szCim, "6",0)
  85.     }
  86.     else
  87.     menu_additem(menu, "\rUSP 6\d [6]\w [Megszerezve]", "6",0)
  88.     if(pont[id] < 200)
  89.     {
  90.     formatex(szCim, charsmax(szCim), "\dUSP 7 [7] [%i/200 pont]", pont[id])
  91.     menu_additem(menu, szCim, "7",0)
  92.     }
  93.     else
  94.     menu_additem(menu, "\rUSP 7\d [7]\w [Megszerezve]", "7", 0);
  95.     if(pont[id] < 300)
  96.     {
  97.     formatex(szCim, charsmax(szCim), "\dUSP 8 [8] [%i/300 pont]", pont[id])
  98.     menu_additem(menu, szCim, "8",0)
  99.     }
  100.     else
  101.     menu_additem(menu, "\rUSP 8\d [8]\w [Megszerezve]", "8", 0);
  102.    
  103.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  104.     menu_setprop(menu, MPROP_BACKNAME, "Előző");
  105.     menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  106.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  107.     menu_display(id, menu, 0);
  108.  
  109.     return PLUGIN_HANDLED;
  110. }
  111.  
  112. public usp_handler(id, menu, item)
  113. {
  114.     if(item == MENU_EXIT)
  115.     {
  116.         menu_cancel(id);
  117.         return PLUGIN_HANDLED;
  118.     }
  119.  
  120.     new command[6], name[64], access, callback;
  121.  
  122.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  123.  
  124.     switch(item)
  125.     {
  126.     case 0:{
  127.         if(pont[id] >= 0)
  128.         {
  129.             usp[id] = 1
  130.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 1^1-et!", prefix)
  131.         }
  132.         else
  133.         {
  134.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 2^1-ig hátravan még^3 %i^1 pont!", prefix, 0-pont[id])
  135.         }
  136.     }
  137.     case 1:{
  138.         if(pont[id] >= 25)
  139.         {
  140.             usp[id] = 2
  141.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 2^1-őt!", prefix)
  142.         }
  143.         else
  144.         {
  145.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 2^1-ig hátravan még^3 %i^1 pont!", prefix, 25-pont[id])
  146.         }
  147.     }
  148.     case 2:{
  149.         if(pont[id] >= 50)
  150.         {
  151.             usp[id] = 3
  152.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 3^1-mat!", prefix)
  153.         }
  154.         else
  155.         {
  156.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 3^1-ig hátravan még^3 %i^1 pont!", prefix, 50-pont[id])
  157.         }
  158.     }
  159.     case 3:{
  160.         if(pont[id] >= 75)
  161.         {
  162.             usp[id] = 4
  163.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 4^1-et!", prefix)
  164.         }
  165.         else
  166.         {
  167.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 4^1-ig hátravan még^3 %i^1 pont!", prefix, 75-pont[id])
  168.         }
  169.     }
  170.     case 4:{
  171.         if(pont[id] >= 100)
  172.         {
  173.             usp[id] = 5
  174.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 5^1-öt!", prefix)
  175.         }
  176.         else
  177.         {
  178.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 5^1-ig hátravan még^3 %i^1 pont!", prefix, 100-pont[id])
  179.         }
  180.     }
  181.     case 5:{
  182.         if(pont[id] >= 150)
  183.         {
  184.             usp[id] = 6
  185.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 6^1-ot!", prefix)
  186.         }
  187.         else
  188.         {
  189.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 6^1-ig hátravan még^3 %i^1 pont!", prefix, 150-pont[id])
  190.         }
  191.     }
  192.     case 6:{
  193.         if(pont[id] >= 200)
  194.         {
  195.             usp[id] = 7
  196.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 7^1-et!", prefix)
  197.         }
  198.         else
  199.         {
  200.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 7^1-ig hátravan még^3 %i^1 pont!", prefix, 200-pont[id])
  201.         }
  202.     }
  203.     case 7:{
  204.         if(pont[id] >= 300)
  205.         {
  206.             usp[id] = 8
  207.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 8^1-at!", prefix)
  208.         }
  209.         else
  210.         {
  211.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 8^1-ig hátravan még %i pont!", prefix, 300-pont[id])
  212.         }
  213.     }  
  214.     }
  215.  
  216.     menu_destroy(menu);
  217.  
  218.     return PLUGIN_HANDLED;
  219. }
  220. public plugin_precache()
  221. {
  222.     precache_model("models/uspmenu/v_usp_1.mdl")
  223.     precache_model("models/uspmenu/v_usp_2.mdl")
  224.     precache_model("models/uspmenu/v_usp_3.mdl")
  225.     precache_model("models/uspmenu/v_usp_4.mdl")
  226.     precache_model("models/uspmenu/v_usp_5.mdl")
  227.     precache_model("models/uspmenu/v_usp_6.mdl")
  228.     precache_model("models/uspmenu/v_usp_7.mdl")
  229.     precache_model("models/uspmenu/v_usp_8.mdl")
  230. }
  231. public fegyvervaltas(id)
  232. {
  233.     new weapon = get_user_weapon(id)
  234.    
  235.     if(usp[id] == 1 && weapon == CSW_USP)
  236.     {
  237.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_1.mdl")
  238.     }
  239.     if(usp[id] == 2 && weapon == CSW_USP)
  240.     {
  241.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_2.mdl")
  242.     }
  243.     if(usp[id] == 3 && weapon == CSW_USP)
  244.     {
  245.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_3.mdl")
  246.     }
  247.     if(usp[id] == 4 && weapon == CSW_USP)
  248.     {
  249.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_4.mdl")
  250.     }
  251.     if(usp[id] == 5 && weapon == CSW_USP)
  252.     {
  253.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_5.mdl")
  254.     }
  255.     if(usp[id] == 6 && weapon == CSW_USP)
  256.     {
  257.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_6.mdl")
  258.     }
  259.     if(usp[id] == 7 && weapon == CSW_USP)
  260.     {
  261.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_7.mdl")
  262.     }
  263.     if(usp[id] == 8 && weapon == CSW_USP)
  264.     {
  265.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_8.mdl")
  266.     }
  267. }
  268. stock get_data(const key[], data[], len) {
  269.     new vault = fopen(filename, "rt");
  270.     new _data[512], _key[64];
  271.    
  272.     while( !feof(vault) ) {
  273.         fgets(vault, _data, charsmax(_data));
  274.         parse(_data, _key, charsmax(_key), data, len);
  275.        
  276.         if( equal(_key, key) ) {
  277.             fclose(vault);
  278.             return 1;
  279.         }
  280.     }
  281.    
  282.     fclose(vault);
  283.     copy(data, len, "");
  284.    
  285.     return 0;
  286. }
  287.  
  288. stock set_data(const key[], const data[]) {
  289.     static const temp_vault_name[] = "set_data.txt";
  290.     new file = fopen(temp_vault_name, "wt");
  291.    
  292.     new vault = fopen(filename, "rt");
  293.     new _data[512], _key[64], _other[32];
  294.     new bool:replaced = false;
  295.    
  296.     while( !feof(vault) ) {
  297.         fgets(vault, _data, charsmax(_data));
  298.         parse(_data, _key, charsmax(_key), _other, charsmax(_other));
  299.        
  300.         if( equal(_key, key) && !replaced ) {
  301.             fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  302.            
  303.             replaced = true;
  304.         }
  305.         else {
  306.             fputs(file, _data);
  307.         }
  308.     }
  309.    
  310.     if( !replaced ) {
  311.         fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  312.     }
  313.    
  314.     fclose(file);
  315.     fclose(vault);
  316.    
  317.     delete_file(filename);
  318.    
  319.     while( !rename_file(temp_vault_name, filename, 1) ) { }
  320.    
  321.     //delete_file(temp_vault_name);
  322. }
  323. public client_disconnect(id) {
  324.     if(!is_user_bot(id) && !is_user_hltv(id)) {
  325.         save(id);
  326.     }
  327. }
  328.  
  329. public save(id) {
  330.     new szData[128];
  331.     new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  332.     if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
  333.    
  334.     formatex(szData, charsmax(szData), "%i %i", usp[id], pont[id]);
  335.     set_data(steamid, szData)
  336. }
  337. public client_authorized(id) {
  338.     if(!is_user_bot(id) && !is_user_hltv(id)) {
  339.         load(id);
  340.     }
  341. }
  342.  
  343. public load(id) {
  344.     new szData[128];
  345.     new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  346.     if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
  347.    
  348.     if(get_data(steamid, szData, charsmax(szData))) {
  349.         new valami[32], valami2[32];
  350.         parse(szData, valami, charsmax(valami), valami2, charsmax(valami2));
  351.         usp[id] = str_to_num(valami)  
  352.         pont[id] = str_to_num(valami2)
  353.     }
  354. }
  355. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  356. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  357. */

És a kés sma:
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <vault>
  5. #include <fun>
  6.  
  7. #define PLUGIN "Knife Mod"
  8. #define VERSION "1.0"
  9. #define AUTHOR "spunko"
  10.  
  11. #define TASK_INTERVAL 4.0  
  12. #define MAX_HEALTH 255  
  13.  
  14. new knife_model[33]
  15. new g_Menu
  16.  
  17. new CVAR_HIGHSPEED
  18. new CVAR_LOWSPEED
  19. new CVAR_LOWGRAV
  20. new CVAR_NORMGRAV
  21. new CVAR_HEALTH_ADD
  22. new CVAR_HEALTH_MAX
  23. new CVAR_DAMAGE
  24.  
  25. public plugin_init() {
  26.  
  27.     register_plugin(PLUGIN, VERSION, AUTHOR)
  28.  
  29.     register_event( "Damage", "event_damage", "be" )
  30.     register_event("CurWeapon","CurWeapon","be","1=1")
  31.  
  32.     g_Menu = register_menuid("Kes Mod")
  33.     register_menucmd(g_Menu, 1023, "knifemenu")
  34.  
  35.     register_clcmd("say /knife", "display_knife")
  36.  
  37.     CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
  38.     CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
  39.     CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
  40.     CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
  41.     CVAR_DAMAGE = register_cvar("km_damage", "2")
  42.     CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
  43.     CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
  44.  
  45.     set_task(480.0, "kmodmsg", 0, _, _, "b")
  46. }
  47.  
  48. public plugin_precache() {
  49.     precache_model("models/knife-mod/v_butcher.mdl")
  50.     precache_model("models/knife-mod/p_butcher.mdl")
  51.     precache_model("models/knife-mod/v_machete.mdl")
  52.     precache_model("models/knife-mod/p_machete.mdl")
  53.     precache_model("models/knife-mod/v_bak.mdl")
  54.     precache_model("models/knife-mod/p_bak.mdl")
  55.     precache_model("models/knife-mod/v_pocket.mdl")
  56.     precache_model("models/knife-mod/p_pocket.mdl")
  57.     precache_model("models/v_knife.mdl")
  58.     precache_model("models/p_knife.mdl")
  59. }
  60.  
  61. public display_knife(id) {
  62.     new menuBody[512]
  63.     add(menuBody, 511, "\rKes Modok\w^n^n")
  64.     add(menuBody, 511, "1. Machete \y(Tobb sebzes/Kis sebesseg)\w^n")
  65.     add(menuBody, 511, "2. Bak Kes \y(Nincs trappolas)\w^n")
  66.     add(menuBody, 511, "3. Zsebkes \y(Gyorsasag)\w^n")
  67.     add(menuBody, 511, "4. Hentes Bard \y(Nagyobb ugras)\w^n")
  68.     add(menuBody, 511, "5. Alap Kes \y(Elet ujratoltodes)\w^n^n")
  69.     add(menuBody, 511, "0. Kilepes^n")
  70.  
  71.     new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
  72.     show_menu(id, keys, menuBody, -1, "Kes Modok")
  73. }
  74.  
  75. public knifemenu(id, key) {
  76.     switch(key)
  77.     {
  78.         case 0: SetKnife(id , 4)
  79.         case 1: SetKnife(id , 2)
  80.         case 2: SetKnife(id , 3)
  81.         case 3: SetKnife(id , 1)
  82.         case 4: SetKnife(id , 0)
  83.         default: return PLUGIN_HANDLED
  84.     }
  85.     SaveData(id)
  86.     return PLUGIN_HANDLED
  87. }
  88.  
  89. public SetKnife(id , Knife) {
  90.     knife_model[id] = Knife
  91.  
  92.     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
  93.     if ( Weapon != CSW_KNIFE )
  94.         return PLUGIN_HANDLED
  95.  
  96.     new vModel[56],pModel[56]
  97.  
  98.     switch(Knife)
  99.     {
  100.         case 0: {
  101.             format(vModel,55,"models/v_knife.mdl")
  102.             format(pModel,55,"models/p_knife.mdl")
  103.         }
  104.         case 1: {
  105.             format(vModel,55,"models/knife-mod/v_butcher.mdl")
  106.             format(pModel,55,"models/knife-mod/p_butcher.mdl")
  107.         }
  108.         case 2: {
  109.             format(vModel,55,"models/knife-mod/v_bak.mdl")
  110.             format(pModel,55,"models/knife-mod/p_bak.mdl")
  111.         }
  112.         case 3: {
  113.             format(vModel,55,"models/knife-mod/v_pocket.mdl")
  114.             format(pModel,55,"models/knife-mod/p_pocket.mdl")
  115.         }
  116.         case 4: {
  117.             format(vModel,55,"models/knife-mod/v_machete.mdl")
  118.             format(pModel,55,"models/knife-mod/p_machete.mdl")
  119.         }
  120.     }
  121.  
  122.     entity_set_string(id, EV_SZ_viewmodel, vModel)
  123.     entity_set_string(id, EV_SZ_weaponmodel, pModel)
  124.  
  125.     return PLUGIN_HANDLED;  
  126. }
  127.  
  128. public event_damage( id ) {
  129.  
  130.     new victim_id = id;
  131.     if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
  132.     new dmg_take = read_data( 2 );
  133.     new dmgtype = read_data( 3 );
  134.     new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
  135.     new Float:damage = dmg_take * multiplier;
  136.     new health = get_user_health( victim_id );
  137.  
  138.     new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
  139.  
  140.     if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
  141.         return PLUGIN_HANDLED
  142.     }
  143.  
  144.     if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
  145.  
  146.         if( floatround(damage) >= health ) {
  147.             if( victim_id == attacker_id ) {
  148.                 return PLUGIN_CONTINUE
  149.                 }else{
  150.                 log_kill( attacker_id, victim_id, "knife", 0 );
  151.             }
  152.  
  153.             return PLUGIN_CONTINUE
  154.             }else {
  155.             if( victim_id == attacker_id ) return PLUGIN_CONTINUE
  156.  
  157.             fakedamage( victim_id, "weapon_knife", damage, dmgtype );
  158.         }
  159.     }
  160.     return PLUGIN_CONTINUE
  161. }
  162.  
  163. public CurWeapon(id)
  164.     {
  165.     new Weapon = read_data(2)
  166.  
  167.     // Set Knife Model
  168.     SetKnife(id, knife_model[id])  
  169.  
  170.     // Task Options
  171.  
  172.     if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
  173.         set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
  174.     else if(task_exists(id))
  175.         remove_task(id)
  176.  
  177.     // Abilities
  178.     set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
  179.  
  180.     new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
  181.     set_user_gravity(id , Gravity)
  182.  
  183.     // Speed
  184.     new Float:Speed
  185.     if(Weapon != CSW_KNIFE || knife_model[id] < 3)
  186.         return PLUGIN_CONTINUE
  187.     else if(knife_model[id] == 3)
  188.         Speed = get_pcvar_float(CVAR_HIGHSPEED)
  189.     else if(knife_model[id] == 4)
  190.         Speed = get_pcvar_float(CVAR_LOWSPEED)
  191.  
  192.     set_user_maxspeed(id, Speed)
  193.  
  194.     return PLUGIN_HANDLED  
  195.  
  196. }
  197.  
  198. stock log_kill(killer, victim, weapon[],headshot) {
  199.     user_silentkill( victim );
  200.  
  201.     message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
  202.     write_byte( killer );
  203.     write_byte( victim );
  204.     write_byte( headshot );
  205.     write_string( weapon );
  206.     message_end();
  207.  
  208.     new kfrags = get_user_frags( killer );
  209.     set_user_frags( killer, kfrags++ );
  210.     new vfrags = get_user_frags( victim );
  211.     set_user_frags( victim, vfrags++ );
  212.  
  213.     return  PLUGIN_CONTINUE
  214. }
  215.  
  216.  
  217. public task_healing(id) {  
  218.     new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
  219.     if (!addhealth)
  220.         return  
  221.  
  222.     new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
  223.     if (maxhealth > MAX_HEALTH) {
  224.         set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
  225.         maxhealth = MAX_HEALTH
  226.     }  
  227.  
  228.     new health = get_user_health(id)  
  229.  
  230.     if (is_user_alive(id) && (health < maxhealth)) {
  231.         set_user_health(id, health + addhealth)
  232.         set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
  233.         show_hudmessage(id,"<< !!ELET TOLTODES!! >>")
  234.         message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
  235.         write_short(1<<10)
  236.         write_short(1<<10)
  237.         write_short(0x0000)
  238.         write_byte(0)
  239.         write_byte(200)
  240.         write_byte(0)
  241.         write_byte(75)
  242.         message_end()
  243.     }
  244.  
  245.     else {
  246.         if (is_user_alive(id) && (health > maxhealth))
  247.             remove_task(id)
  248.     }
  249. }  
  250.  
  251. public client_disconnect(id) {  
  252.     if(task_exists(id)) remove_task(id)  
  253. }  
  254.  
  255.  
  256. public kmodmsg() {
  257.  
  258.     client_print(0,print_chat,"[AMXX] Ird be /knife, hogy valaszthass a kesek kozul.")
  259. }  
  260.  
  261. public client_authorized(id)
  262.     {
  263.     LoadData(id)
  264. }
  265.  
  266. SaveData(id)
  267. {
  268.  
  269.     new authid[32]
  270.     get_user_authid(id, authid, 31)
  271.  
  272.     new vaultkey[64]
  273.     new vaultdata[64]
  274.  
  275.     format(vaultkey, 63, "KMOD_%s", authid)
  276.     format(vaultdata, 63, "%d", knife_model[id])
  277.     set_vaultdata(vaultkey, vaultdata)
  278. }
  279.  
  280. LoadData(id)
  281. {
  282.     new authid[32]
  283.     get_user_authid(id,authid,31)
  284.  
  285.     new vaultkey[64], vaultdata[64]
  286.  
  287.     format(vaultkey, 63, "KMOD_%s", authid)
  288.     get_vaultdata(vaultkey, vaultdata, 63)
  289.     knife_model[id] = str_to_num(vaultdata)
  290.  
  291. }
  292. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  293. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  294. */

tehát: 1 főmenübe legyen 2 almenü az 1-ikbe legyen az uspk a másikba pedig a kések:) én sajnos ezt nem értem... de ha valaki megcsinálná azt nagyon megköszönném :)


Menü készítés!
Próbálkozz vele, ha nagyon nem megy nyiss egy témát a Plugin kérése/keresése topicban. :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Összekötés
HozzászólásElküldve: 2017.10.28. 16:33 
Offline
Tag

Csatlakozott: 2017.09.23. 20:20
Hozzászólások: 34
Pika írta:
I3WhitE írta:
Sziasztok valaki megtudná nekem csinálni azt ha megnyomjuk a t betüt akkor előzhoz egy menüt amiben 2 pont van: USP, Kés választás (mind a 2-t elküldöm) és azt kérném hogy van egy főmenü és ha belemegyünk akkor megnyissa azt az adott menüt. (usp)
/* Plugin generated by AMXX-Studio */
  1. /*Usp menu fixelt verzio*/
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <colorchat>
  6. #include <fakemeta>
  7.  
  8. #define PLUGIN "USPMenu"
  9. #define VERSION "0.1"
  10. #define AUTHOR "xy"
  11.  
  12. new pont[33]
  13. new usp[33]
  14.  
  15. new prefix[] = "USP"
  16.  
  17. new filename[128];
  18.  
  19. public plugin_init() {
  20.     register_plugin(PLUGIN, VERSION, AUTHOR)
  21.     register_clcmd("say /usp", "uspmenu")
  22.     register_clcmd("201", "uspmenu")
  23.     register_clcmd("say /pont", "pontokchat")
  24.     register_event("CurWeapon", "fegyvervaltas", "be", "1=1")
  25.     register_event("DeathMsg", "halal", "a")
  26.     get_localinfo("amxx_configsdir", filename, charsmax(filename))
  27.     format(filename, charsmax(filename), "%s/uspmentes.ini", filename)
  28. }
  29. public halal(){
  30.     new killer = read_data(1)
  31.     new victim = read_data(2)
  32.    
  33.     if(killer == victim)
  34.     {
  35.         return PLUGIN_HANDLED
  36.     }
  37.     pont[killer]++
  38.     return PLUGIN_HANDLED
  39. }
  40. public pontokchat(id)
  41. {
  42.     ColorChat(id, GREEN, "USP^3»^1 Pontjaid száma:^3 %i", pont[id])
  43. }
  44. public uspmenu(id)
  45. {
  46.     new cim[121]
  47.     new szCim[512]
  48.    
  49.     formatex(cim, charsmax(cim), "\rUSP\w menü^n\rPontok:\w%i^n\rOldal:\w", pont[id])
  50.     new menu = menu_create(cim, "usp_handler");
  51.    
  52.     menu_additem(menu, "\rUSP 1\d [1]\w [Megszerezve]", "1", 0);
  53.     if(pont[id] < 25)
  54.     {
  55.     formatex(szCim, charsmax(szCim), "\dUSP 2 [2] [%i/25 pont]", pont[id])
  56.     menu_additem(menu, szCim, "2",0)
  57.     }
  58.     else
  59.     menu_additem(menu, "\rUSP 2\d [2]\w [Megszerezve]", "2",0)
  60.     if(pont[id] < 50)
  61.     {
  62.     formatex(szCim, charsmax(szCim), "\dUSP 3 [3] [%i/50 pont]", pont[id])
  63.     menu_additem(menu, szCim, "3",0)
  64.     }
  65.     else
  66.     menu_additem(menu, "\rUSP 3\d [3]\w [Megszerezve]", "3", 0);
  67.     if(pont[id] < 75)
  68.     {
  69.     formatex(szCim, charsmax(szCim), "\dUSP 4 [4] [%i/75 pont]", pont[id])
  70.     menu_additem(menu, szCim, "4",0)
  71.     }
  72.     else
  73.     menu_additem(menu, "\rUSP 4\d [4]\w [Megszerezve]", "4",0)
  74.     if(pont[id] < 100)
  75.     {
  76.     formatex(szCim, charsmax(szCim), "\dUSP 5 [5] [%i/100 pont]", pont[id])
  77.     menu_additem(menu, szCim, "4",0)
  78.     }
  79.     else
  80.     menu_additem(menu, "\rUSP 5\d [5]\w [Megszerezve]", "5", 0);
  81.     if(pont[id] < 150)
  82.     {
  83.     formatex(szCim, charsmax(szCim), "\dUSP 6 [6] [%i/150 pont]", pont[id])
  84.     menu_additem(menu, szCim, "6",0)
  85.     }
  86.     else
  87.     menu_additem(menu, "\rUSP 6\d [6]\w [Megszerezve]", "6",0)
  88.     if(pont[id] < 200)
  89.     {
  90.     formatex(szCim, charsmax(szCim), "\dUSP 7 [7] [%i/200 pont]", pont[id])
  91.     menu_additem(menu, szCim, "7",0)
  92.     }
  93.     else
  94.     menu_additem(menu, "\rUSP 7\d [7]\w [Megszerezve]", "7", 0);
  95.     if(pont[id] < 300)
  96.     {
  97.     formatex(szCim, charsmax(szCim), "\dUSP 8 [8] [%i/300 pont]", pont[id])
  98.     menu_additem(menu, szCim, "8",0)
  99.     }
  100.     else
  101.     menu_additem(menu, "\rUSP 8\d [8]\w [Megszerezve]", "8", 0);
  102.    
  103.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  104.     menu_setprop(menu, MPROP_BACKNAME, "Előző");
  105.     menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  106.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  107.     menu_display(id, menu, 0);
  108.  
  109.     return PLUGIN_HANDLED;
  110. }
  111.  
  112. public usp_handler(id, menu, item)
  113. {
  114.     if(item == MENU_EXIT)
  115.     {
  116.         menu_cancel(id);
  117.         return PLUGIN_HANDLED;
  118.     }
  119.  
  120.     new command[6], name[64], access, callback;
  121.  
  122.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  123.  
  124.     switch(item)
  125.     {
  126.     case 0:{
  127.         if(pont[id] >= 0)
  128.         {
  129.             usp[id] = 1
  130.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 1^1-et!", prefix)
  131.         }
  132.         else
  133.         {
  134.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 2^1-ig hátravan még^3 %i^1 pont!", prefix, 0-pont[id])
  135.         }
  136.     }
  137.     case 1:{
  138.         if(pont[id] >= 25)
  139.         {
  140.             usp[id] = 2
  141.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 2^1-őt!", prefix)
  142.         }
  143.         else
  144.         {
  145.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 2^1-ig hátravan még^3 %i^1 pont!", prefix, 25-pont[id])
  146.         }
  147.     }
  148.     case 2:{
  149.         if(pont[id] >= 50)
  150.         {
  151.             usp[id] = 3
  152.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 3^1-mat!", prefix)
  153.         }
  154.         else
  155.         {
  156.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 3^1-ig hátravan még^3 %i^1 pont!", prefix, 50-pont[id])
  157.         }
  158.     }
  159.     case 3:{
  160.         if(pont[id] >= 75)
  161.         {
  162.             usp[id] = 4
  163.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 4^1-et!", prefix)
  164.         }
  165.         else
  166.         {
  167.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 4^1-ig hátravan még^3 %i^1 pont!", prefix, 75-pont[id])
  168.         }
  169.     }
  170.     case 4:{
  171.         if(pont[id] >= 100)
  172.         {
  173.             usp[id] = 5
  174.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 5^1-öt!", prefix)
  175.         }
  176.         else
  177.         {
  178.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 5^1-ig hátravan még^3 %i^1 pont!", prefix, 100-pont[id])
  179.         }
  180.     }
  181.     case 5:{
  182.         if(pont[id] >= 150)
  183.         {
  184.             usp[id] = 6
  185.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 6^1-ot!", prefix)
  186.         }
  187.         else
  188.         {
  189.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 6^1-ig hátravan még^3 %i^1 pont!", prefix, 150-pont[id])
  190.         }
  191.     }
  192.     case 6:{
  193.         if(pont[id] >= 200)
  194.         {
  195.             usp[id] = 7
  196.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 7^1-et!", prefix)
  197.         }
  198.         else
  199.         {
  200.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 7^1-ig hátravan még^3 %i^1 pont!", prefix, 200-pont[id])
  201.         }
  202.     }
  203.     case 7:{
  204.         if(pont[id] >= 300)
  205.         {
  206.             usp[id] = 8
  207.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 8^1-at!", prefix)
  208.         }
  209.         else
  210.         {
  211.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 8^1-ig hátravan még %i pont!", prefix, 300-pont[id])
  212.         }
  213.     }  
  214.     }
  215.  
  216.     menu_destroy(menu);
  217.  
  218.     return PLUGIN_HANDLED;
  219. }
  220. public plugin_precache()
  221. {
  222.     precache_model("models/uspmenu/v_usp_1.mdl")
  223.     precache_model("models/uspmenu/v_usp_2.mdl")
  224.     precache_model("models/uspmenu/v_usp_3.mdl")
  225.     precache_model("models/uspmenu/v_usp_4.mdl")
  226.     precache_model("models/uspmenu/v_usp_5.mdl")
  227.     precache_model("models/uspmenu/v_usp_6.mdl")
  228.     precache_model("models/uspmenu/v_usp_7.mdl")
  229.     precache_model("models/uspmenu/v_usp_8.mdl")
  230. }
  231. public fegyvervaltas(id)
  232. {
  233.     new weapon = get_user_weapon(id)
  234.    
  235.     if(usp[id] == 1 && weapon == CSW_USP)
  236.     {
  237.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_1.mdl")
  238.     }
  239.     if(usp[id] == 2 && weapon == CSW_USP)
  240.     {
  241.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_2.mdl")
  242.     }
  243.     if(usp[id] == 3 && weapon == CSW_USP)
  244.     {
  245.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_3.mdl")
  246.     }
  247.     if(usp[id] == 4 && weapon == CSW_USP)
  248.     {
  249.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_4.mdl")
  250.     }
  251.     if(usp[id] == 5 && weapon == CSW_USP)
  252.     {
  253.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_5.mdl")
  254.     }
  255.     if(usp[id] == 6 && weapon == CSW_USP)
  256.     {
  257.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_6.mdl")
  258.     }
  259.     if(usp[id] == 7 && weapon == CSW_USP)
  260.     {
  261.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_7.mdl")
  262.     }
  263.     if(usp[id] == 8 && weapon == CSW_USP)
  264.     {
  265.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_8.mdl")
  266.     }
  267. }
  268. stock get_data(const key[], data[], len) {
  269.     new vault = fopen(filename, "rt");
  270.     new _data[512], _key[64];
  271.    
  272.     while( !feof(vault) ) {
  273.         fgets(vault, _data, charsmax(_data));
  274.         parse(_data, _key, charsmax(_key), data, len);
  275.        
  276.         if( equal(_key, key) ) {
  277.             fclose(vault);
  278.             return 1;
  279.         }
  280.     }
  281.    
  282.     fclose(vault);
  283.     copy(data, len, "");
  284.    
  285.     return 0;
  286. }
  287.  
  288. stock set_data(const key[], const data[]) {
  289.     static const temp_vault_name[] = "set_data.txt";
  290.     new file = fopen(temp_vault_name, "wt");
  291.    
  292.     new vault = fopen(filename, "rt");
  293.     new _data[512], _key[64], _other[32];
  294.     new bool:replaced = false;
  295.    
  296.     while( !feof(vault) ) {
  297.         fgets(vault, _data, charsmax(_data));
  298.         parse(_data, _key, charsmax(_key), _other, charsmax(_other));
  299.        
  300.         if( equal(_key, key) && !replaced ) {
  301.             fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  302.            
  303.             replaced = true;
  304.         }
  305.         else {
  306.             fputs(file, _data);
  307.         }
  308.     }
  309.    
  310.     if( !replaced ) {
  311.         fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  312.     }
  313.    
  314.     fclose(file);
  315.     fclose(vault);
  316.    
  317.     delete_file(filename);
  318.    
  319.     while( !rename_file(temp_vault_name, filename, 1) ) { }
  320.    
  321.     //delete_file(temp_vault_name);
  322. }
  323. public client_disconnect(id) {
  324.     if(!is_user_bot(id) && !is_user_hltv(id)) {
  325.         save(id);
  326.     }
  327. }
  328.  
  329. public save(id) {
  330.     new szData[128];
  331.     new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  332.     if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
  333.    
  334.     formatex(szData, charsmax(szData), "%i %i", usp[id], pont[id]);
  335.     set_data(steamid, szData)
  336. }
  337. public client_authorized(id) {
  338.     if(!is_user_bot(id) && !is_user_hltv(id)) {
  339.         load(id);
  340.     }
  341. }
  342.  
  343. public load(id) {
  344.     new szData[128];
  345.     new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  346.     if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
  347.    
  348.     if(get_data(steamid, szData, charsmax(szData))) {
  349.         new valami[32], valami2[32];
  350.         parse(szData, valami, charsmax(valami), valami2, charsmax(valami2));
  351.         usp[id] = str_to_num(valami)  
  352.         pont[id] = str_to_num(valami2)
  353.     }
  354. }
  355. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  356. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  357. */

És a kés sma:
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <vault>
  5. #include <fun>
  6.  
  7. #define PLUGIN "Knife Mod"
  8. #define VERSION "1.0"
  9. #define AUTHOR "spunko"
  10.  
  11. #define TASK_INTERVAL 4.0  
  12. #define MAX_HEALTH 255  
  13.  
  14. new knife_model[33]
  15. new g_Menu
  16.  
  17. new CVAR_HIGHSPEED
  18. new CVAR_LOWSPEED
  19. new CVAR_LOWGRAV
  20. new CVAR_NORMGRAV
  21. new CVAR_HEALTH_ADD
  22. new CVAR_HEALTH_MAX
  23. new CVAR_DAMAGE
  24.  
  25. public plugin_init() {
  26.  
  27.     register_plugin(PLUGIN, VERSION, AUTHOR)
  28.  
  29.     register_event( "Damage", "event_damage", "be" )
  30.     register_event("CurWeapon","CurWeapon","be","1=1")
  31.  
  32.     g_Menu = register_menuid("Kes Mod")
  33.     register_menucmd(g_Menu, 1023, "knifemenu")
  34.  
  35.     register_clcmd("say /knife", "display_knife")
  36.  
  37.     CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
  38.     CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
  39.     CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
  40.     CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
  41.     CVAR_DAMAGE = register_cvar("km_damage", "2")
  42.     CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
  43.     CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
  44.  
  45.     set_task(480.0, "kmodmsg", 0, _, _, "b")
  46. }
  47.  
  48. public plugin_precache() {
  49.     precache_model("models/knife-mod/v_butcher.mdl")
  50.     precache_model("models/knife-mod/p_butcher.mdl")
  51.     precache_model("models/knife-mod/v_machete.mdl")
  52.     precache_model("models/knife-mod/p_machete.mdl")
  53.     precache_model("models/knife-mod/v_bak.mdl")
  54.     precache_model("models/knife-mod/p_bak.mdl")
  55.     precache_model("models/knife-mod/v_pocket.mdl")
  56.     precache_model("models/knife-mod/p_pocket.mdl")
  57.     precache_model("models/v_knife.mdl")
  58.     precache_model("models/p_knife.mdl")
  59. }
  60.  
  61. public display_knife(id) {
  62.     new menuBody[512]
  63.     add(menuBody, 511, "\rKes Modok\w^n^n")
  64.     add(menuBody, 511, "1. Machete \y(Tobb sebzes/Kis sebesseg)\w^n")
  65.     add(menuBody, 511, "2. Bak Kes \y(Nincs trappolas)\w^n")
  66.     add(menuBody, 511, "3. Zsebkes \y(Gyorsasag)\w^n")
  67.     add(menuBody, 511, "4. Hentes Bard \y(Nagyobb ugras)\w^n")
  68.     add(menuBody, 511, "5. Alap Kes \y(Elet ujratoltodes)\w^n^n")
  69.     add(menuBody, 511, "0. Kilepes^n")
  70.  
  71.     new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
  72.     show_menu(id, keys, menuBody, -1, "Kes Modok")
  73. }
  74.  
  75. public knifemenu(id, key) {
  76.     switch(key)
  77.     {
  78.         case 0: SetKnife(id , 4)
  79.         case 1: SetKnife(id , 2)
  80.         case 2: SetKnife(id , 3)
  81.         case 3: SetKnife(id , 1)
  82.         case 4: SetKnife(id , 0)
  83.         default: return PLUGIN_HANDLED
  84.     }
  85.     SaveData(id)
  86.     return PLUGIN_HANDLED
  87. }
  88.  
  89. public SetKnife(id , Knife) {
  90.     knife_model[id] = Knife
  91.  
  92.     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
  93.     if ( Weapon != CSW_KNIFE )
  94.         return PLUGIN_HANDLED
  95.  
  96.     new vModel[56],pModel[56]
  97.  
  98.     switch(Knife)
  99.     {
  100.         case 0: {
  101.             format(vModel,55,"models/v_knife.mdl")
  102.             format(pModel,55,"models/p_knife.mdl")
  103.         }
  104.         case 1: {
  105.             format(vModel,55,"models/knife-mod/v_butcher.mdl")
  106.             format(pModel,55,"models/knife-mod/p_butcher.mdl")
  107.         }
  108.         case 2: {
  109.             format(vModel,55,"models/knife-mod/v_bak.mdl")
  110.             format(pModel,55,"models/knife-mod/p_bak.mdl")
  111.         }
  112.         case 3: {
  113.             format(vModel,55,"models/knife-mod/v_pocket.mdl")
  114.             format(pModel,55,"models/knife-mod/p_pocket.mdl")
  115.         }
  116.         case 4: {
  117.             format(vModel,55,"models/knife-mod/v_machete.mdl")
  118.             format(pModel,55,"models/knife-mod/p_machete.mdl")
  119.         }
  120.     }
  121.  
  122.     entity_set_string(id, EV_SZ_viewmodel, vModel)
  123.     entity_set_string(id, EV_SZ_weaponmodel, pModel)
  124.  
  125.     return PLUGIN_HANDLED;  
  126. }
  127.  
  128. public event_damage( id ) {
  129.  
  130.     new victim_id = id;
  131.     if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
  132.     new dmg_take = read_data( 2 );
  133.     new dmgtype = read_data( 3 );
  134.     new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
  135.     new Float:damage = dmg_take * multiplier;
  136.     new health = get_user_health( victim_id );
  137.  
  138.     new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
  139.  
  140.     if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
  141.         return PLUGIN_HANDLED
  142.     }
  143.  
  144.     if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
  145.  
  146.         if( floatround(damage) >= health ) {
  147.             if( victim_id == attacker_id ) {
  148.                 return PLUGIN_CONTINUE
  149.                 }else{
  150.                 log_kill( attacker_id, victim_id, "knife", 0 );
  151.             }
  152.  
  153.             return PLUGIN_CONTINUE
  154.             }else {
  155.             if( victim_id == attacker_id ) return PLUGIN_CONTINUE
  156.  
  157.             fakedamage( victim_id, "weapon_knife", damage, dmgtype );
  158.         }
  159.     }
  160.     return PLUGIN_CONTINUE
  161. }
  162.  
  163. public CurWeapon(id)
  164.     {
  165.     new Weapon = read_data(2)
  166.  
  167.     // Set Knife Model
  168.     SetKnife(id, knife_model[id])  
  169.  
  170.     // Task Options
  171.  
  172.     if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
  173.         set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
  174.     else if(task_exists(id))
  175.         remove_task(id)
  176.  
  177.     // Abilities
  178.     set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
  179.  
  180.     new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
  181.     set_user_gravity(id , Gravity)
  182.  
  183.     // Speed
  184.     new Float:Speed
  185.     if(Weapon != CSW_KNIFE || knife_model[id] < 3)
  186.         return PLUGIN_CONTINUE
  187.     else if(knife_model[id] == 3)
  188.         Speed = get_pcvar_float(CVAR_HIGHSPEED)
  189.     else if(knife_model[id] == 4)
  190.         Speed = get_pcvar_float(CVAR_LOWSPEED)
  191.  
  192.     set_user_maxspeed(id, Speed)
  193.  
  194.     return PLUGIN_HANDLED  
  195.  
  196. }
  197.  
  198. stock log_kill(killer, victim, weapon[],headshot) {
  199.     user_silentkill( victim );
  200.  
  201.     message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
  202.     write_byte( killer );
  203.     write_byte( victim );
  204.     write_byte( headshot );
  205.     write_string( weapon );
  206.     message_end();
  207.  
  208.     new kfrags = get_user_frags( killer );
  209.     set_user_frags( killer, kfrags++ );
  210.     new vfrags = get_user_frags( victim );
  211.     set_user_frags( victim, vfrags++ );
  212.  
  213.     return  PLUGIN_CONTINUE
  214. }
  215.  
  216.  
  217. public task_healing(id) {  
  218.     new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
  219.     if (!addhealth)
  220.         return  
  221.  
  222.     new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
  223.     if (maxhealth > MAX_HEALTH) {
  224.         set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
  225.         maxhealth = MAX_HEALTH
  226.     }  
  227.  
  228.     new health = get_user_health(id)  
  229.  
  230.     if (is_user_alive(id) && (health < maxhealth)) {
  231.         set_user_health(id, health + addhealth)
  232.         set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
  233.         show_hudmessage(id,"<< !!ELET TOLTODES!! >>")
  234.         message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
  235.         write_short(1<<10)
  236.         write_short(1<<10)
  237.         write_short(0x0000)
  238.         write_byte(0)
  239.         write_byte(200)
  240.         write_byte(0)
  241.         write_byte(75)
  242.         message_end()
  243.     }
  244.  
  245.     else {
  246.         if (is_user_alive(id) && (health > maxhealth))
  247.             remove_task(id)
  248.     }
  249. }  
  250.  
  251. public client_disconnect(id) {  
  252.     if(task_exists(id)) remove_task(id)  
  253. }  
  254.  
  255.  
  256. public kmodmsg() {
  257.  
  258.     client_print(0,print_chat,"[AMXX] Ird be /knife, hogy valaszthass a kesek kozul.")
  259. }  
  260.  
  261. public client_authorized(id)
  262.     {
  263.     LoadData(id)
  264. }
  265.  
  266. SaveData(id)
  267. {
  268.  
  269.     new authid[32]
  270.     get_user_authid(id, authid, 31)
  271.  
  272.     new vaultkey[64]
  273.     new vaultdata[64]
  274.  
  275.     format(vaultkey, 63, "KMOD_%s", authid)
  276.     format(vaultdata, 63, "%d", knife_model[id])
  277.     set_vaultdata(vaultkey, vaultdata)
  278. }
  279.  
  280. LoadData(id)
  281. {
  282.     new authid[32]
  283.     get_user_authid(id,authid,31)
  284.  
  285.     new vaultkey[64], vaultdata[64]
  286.  
  287.     format(vaultkey, 63, "KMOD_%s", authid)
  288.     get_vaultdata(vaultkey, vaultdata, 63)
  289.     knife_model[id] = str_to_num(vaultdata)
  290.  
  291. }
  292. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  293. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  294. */

tehát: 1 főmenübe legyen 2 almenü az 1-ikbe legyen az uspk a másikba pedig a kések:) én sajnos ezt nem értem... de ha valaki megcsinálná azt nagyon megköszönném :)


Menü készítés!
Próbálkozz vele, ha nagyon nem megy nyiss egy témát a Plugin kérése/keresése topicban. :)

4x olvastam el de nem értem hogy a többit hogyan kéne hozzá írni


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Összekötés
HozzászólásElküldve: 2017.10.28. 16:39 
Offline
Őstag
Avatar

Csatlakozott: 2017.08.21. 15:51
Hozzászólások: 1109
Megköszönt másnak: 36 alkalommal
Megköszönték neki: 195 alkalommal
I3WhitE írta:
Pika írta:
I3WhitE írta:
Sziasztok valaki megtudná nekem csinálni azt ha megnyomjuk a t betüt akkor előzhoz egy menüt amiben 2 pont van: USP, Kés választás (mind a 2-t elküldöm) és azt kérném hogy van egy főmenü és ha belemegyünk akkor megnyissa azt az adott menüt. (usp)
/* Plugin generated by AMXX-Studio */
  1. /*Usp menu fixelt verzio*/
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <colorchat>
  6. #include <fakemeta>
  7.  
  8. #define PLUGIN "USPMenu"
  9. #define VERSION "0.1"
  10. #define AUTHOR "xy"
  11.  
  12. new pont[33]
  13. new usp[33]
  14.  
  15. new prefix[] = "USP"
  16.  
  17. new filename[128];
  18.  
  19. public plugin_init() {
  20.     register_plugin(PLUGIN, VERSION, AUTHOR)
  21.     register_clcmd("say /usp", "uspmenu")
  22.     register_clcmd("201", "uspmenu")
  23.     register_clcmd("say /pont", "pontokchat")
  24.     register_event("CurWeapon", "fegyvervaltas", "be", "1=1")
  25.     register_event("DeathMsg", "halal", "a")
  26.     get_localinfo("amxx_configsdir", filename, charsmax(filename))
  27.     format(filename, charsmax(filename), "%s/uspmentes.ini", filename)
  28. }
  29. public halal(){
  30.     new killer = read_data(1)
  31.     new victim = read_data(2)
  32.    
  33.     if(killer == victim)
  34.     {
  35.         return PLUGIN_HANDLED
  36.     }
  37.     pont[killer]++
  38.     return PLUGIN_HANDLED
  39. }
  40. public pontokchat(id)
  41. {
  42.     ColorChat(id, GREEN, "USP^3»^1 Pontjaid száma:^3 %i", pont[id])
  43. }
  44. public uspmenu(id)
  45. {
  46.     new cim[121]
  47.     new szCim[512]
  48.    
  49.     formatex(cim, charsmax(cim), "\rUSP\w menü^n\rPontok:\w%i^n\rOldal:\w", pont[id])
  50.     new menu = menu_create(cim, "usp_handler");
  51.    
  52.     menu_additem(menu, "\rUSP 1\d [1]\w [Megszerezve]", "1", 0);
  53.     if(pont[id] < 25)
  54.     {
  55.     formatex(szCim, charsmax(szCim), "\dUSP 2 [2] [%i/25 pont]", pont[id])
  56.     menu_additem(menu, szCim, "2",0)
  57.     }
  58.     else
  59.     menu_additem(menu, "\rUSP 2\d [2]\w [Megszerezve]", "2",0)
  60.     if(pont[id] < 50)
  61.     {
  62.     formatex(szCim, charsmax(szCim), "\dUSP 3 [3] [%i/50 pont]", pont[id])
  63.     menu_additem(menu, szCim, "3",0)
  64.     }
  65.     else
  66.     menu_additem(menu, "\rUSP 3\d [3]\w [Megszerezve]", "3", 0);
  67.     if(pont[id] < 75)
  68.     {
  69.     formatex(szCim, charsmax(szCim), "\dUSP 4 [4] [%i/75 pont]", pont[id])
  70.     menu_additem(menu, szCim, "4",0)
  71.     }
  72.     else
  73.     menu_additem(menu, "\rUSP 4\d [4]\w [Megszerezve]", "4",0)
  74.     if(pont[id] < 100)
  75.     {
  76.     formatex(szCim, charsmax(szCim), "\dUSP 5 [5] [%i/100 pont]", pont[id])
  77.     menu_additem(menu, szCim, "4",0)
  78.     }
  79.     else
  80.     menu_additem(menu, "\rUSP 5\d [5]\w [Megszerezve]", "5", 0);
  81.     if(pont[id] < 150)
  82.     {
  83.     formatex(szCim, charsmax(szCim), "\dUSP 6 [6] [%i/150 pont]", pont[id])
  84.     menu_additem(menu, szCim, "6",0)
  85.     }
  86.     else
  87.     menu_additem(menu, "\rUSP 6\d [6]\w [Megszerezve]", "6",0)
  88.     if(pont[id] < 200)
  89.     {
  90.     formatex(szCim, charsmax(szCim), "\dUSP 7 [7] [%i/200 pont]", pont[id])
  91.     menu_additem(menu, szCim, "7",0)
  92.     }
  93.     else
  94.     menu_additem(menu, "\rUSP 7\d [7]\w [Megszerezve]", "7", 0);
  95.     if(pont[id] < 300)
  96.     {
  97.     formatex(szCim, charsmax(szCim), "\dUSP 8 [8] [%i/300 pont]", pont[id])
  98.     menu_additem(menu, szCim, "8",0)
  99.     }
  100.     else
  101.     menu_additem(menu, "\rUSP 8\d [8]\w [Megszerezve]", "8", 0);
  102.    
  103.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  104.     menu_setprop(menu, MPROP_BACKNAME, "Előző");
  105.     menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  106.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  107.     menu_display(id, menu, 0);
  108.  
  109.     return PLUGIN_HANDLED;
  110. }
  111.  
  112. public usp_handler(id, menu, item)
  113. {
  114.     if(item == MENU_EXIT)
  115.     {
  116.         menu_cancel(id);
  117.         return PLUGIN_HANDLED;
  118.     }
  119.  
  120.     new command[6], name[64], access, callback;
  121.  
  122.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  123.  
  124.     switch(item)
  125.     {
  126.     case 0:{
  127.         if(pont[id] >= 0)
  128.         {
  129.             usp[id] = 1
  130.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 1^1-et!", prefix)
  131.         }
  132.         else
  133.         {
  134.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 2^1-ig hátravan még^3 %i^1 pont!", prefix, 0-pont[id])
  135.         }
  136.     }
  137.     case 1:{
  138.         if(pont[id] >= 25)
  139.         {
  140.             usp[id] = 2
  141.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 2^1-őt!", prefix)
  142.         }
  143.         else
  144.         {
  145.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 2^1-ig hátravan még^3 %i^1 pont!", prefix, 25-pont[id])
  146.         }
  147.     }
  148.     case 2:{
  149.         if(pont[id] >= 50)
  150.         {
  151.             usp[id] = 3
  152.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 3^1-mat!", prefix)
  153.         }
  154.         else
  155.         {
  156.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 3^1-ig hátravan még^3 %i^1 pont!", prefix, 50-pont[id])
  157.         }
  158.     }
  159.     case 3:{
  160.         if(pont[id] >= 75)
  161.         {
  162.             usp[id] = 4
  163.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 4^1-et!", prefix)
  164.         }
  165.         else
  166.         {
  167.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 4^1-ig hátravan még^3 %i^1 pont!", prefix, 75-pont[id])
  168.         }
  169.     }
  170.     case 4:{
  171.         if(pont[id] >= 100)
  172.         {
  173.             usp[id] = 5
  174.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 5^1-öt!", prefix)
  175.         }
  176.         else
  177.         {
  178.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 5^1-ig hátravan még^3 %i^1 pont!", prefix, 100-pont[id])
  179.         }
  180.     }
  181.     case 5:{
  182.         if(pont[id] >= 150)
  183.         {
  184.             usp[id] = 6
  185.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 6^1-ot!", prefix)
  186.         }
  187.         else
  188.         {
  189.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 6^1-ig hátravan még^3 %i^1 pont!", prefix, 150-pont[id])
  190.         }
  191.     }
  192.     case 6:{
  193.         if(pont[id] >= 200)
  194.         {
  195.             usp[id] = 7
  196.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 7^1-et!", prefix)
  197.         }
  198.         else
  199.         {
  200.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 7^1-ig hátravan még^3 %i^1 pont!", prefix, 200-pont[id])
  201.         }
  202.     }
  203.     case 7:{
  204.         if(pont[id] >= 300)
  205.         {
  206.             usp[id] = 8
  207.             ColorChat(id, GREEN, "%s^3»^1 Sikeresen kiválasztottad a(z)^3 USP 8^1-at!", prefix)
  208.         }
  209.         else
  210.         {
  211.             ColorChat(id, GREEN, "%s^3»^1 A(z)^3 USP 8^1-ig hátravan még %i pont!", prefix, 300-pont[id])
  212.         }
  213.     }  
  214.     }
  215.  
  216.     menu_destroy(menu);
  217.  
  218.     return PLUGIN_HANDLED;
  219. }
  220. public plugin_precache()
  221. {
  222.     precache_model("models/uspmenu/v_usp_1.mdl")
  223.     precache_model("models/uspmenu/v_usp_2.mdl")
  224.     precache_model("models/uspmenu/v_usp_3.mdl")
  225.     precache_model("models/uspmenu/v_usp_4.mdl")
  226.     precache_model("models/uspmenu/v_usp_5.mdl")
  227.     precache_model("models/uspmenu/v_usp_6.mdl")
  228.     precache_model("models/uspmenu/v_usp_7.mdl")
  229.     precache_model("models/uspmenu/v_usp_8.mdl")
  230. }
  231. public fegyvervaltas(id)
  232. {
  233.     new weapon = get_user_weapon(id)
  234.    
  235.     if(usp[id] == 1 && weapon == CSW_USP)
  236.     {
  237.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_1.mdl")
  238.     }
  239.     if(usp[id] == 2 && weapon == CSW_USP)
  240.     {
  241.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_2.mdl")
  242.     }
  243.     if(usp[id] == 3 && weapon == CSW_USP)
  244.     {
  245.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_3.mdl")
  246.     }
  247.     if(usp[id] == 4 && weapon == CSW_USP)
  248.     {
  249.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_4.mdl")
  250.     }
  251.     if(usp[id] == 5 && weapon == CSW_USP)
  252.     {
  253.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_5.mdl")
  254.     }
  255.     if(usp[id] == 6 && weapon == CSW_USP)
  256.     {
  257.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_6.mdl")
  258.     }
  259.     if(usp[id] == 7 && weapon == CSW_USP)
  260.     {
  261.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_7.mdl")
  262.     }
  263.     if(usp[id] == 8 && weapon == CSW_USP)
  264.     {
  265.         set_pev(id, pev_viewmodel2, "models/uspmenu/v_usp_8.mdl")
  266.     }
  267. }
  268. stock get_data(const key[], data[], len) {
  269.     new vault = fopen(filename, "rt");
  270.     new _data[512], _key[64];
  271.    
  272.     while( !feof(vault) ) {
  273.         fgets(vault, _data, charsmax(_data));
  274.         parse(_data, _key, charsmax(_key), data, len);
  275.        
  276.         if( equal(_key, key) ) {
  277.             fclose(vault);
  278.             return 1;
  279.         }
  280.     }
  281.    
  282.     fclose(vault);
  283.     copy(data, len, "");
  284.    
  285.     return 0;
  286. }
  287.  
  288. stock set_data(const key[], const data[]) {
  289.     static const temp_vault_name[] = "set_data.txt";
  290.     new file = fopen(temp_vault_name, "wt");
  291.    
  292.     new vault = fopen(filename, "rt");
  293.     new _data[512], _key[64], _other[32];
  294.     new bool:replaced = false;
  295.    
  296.     while( !feof(vault) ) {
  297.         fgets(vault, _data, charsmax(_data));
  298.         parse(_data, _key, charsmax(_key), _other, charsmax(_other));
  299.        
  300.         if( equal(_key, key) && !replaced ) {
  301.             fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  302.            
  303.             replaced = true;
  304.         }
  305.         else {
  306.             fputs(file, _data);
  307.         }
  308.     }
  309.    
  310.     if( !replaced ) {
  311.         fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  312.     }
  313.    
  314.     fclose(file);
  315.     fclose(vault);
  316.    
  317.     delete_file(filename);
  318.    
  319.     while( !rename_file(temp_vault_name, filename, 1) ) { }
  320.    
  321.     //delete_file(temp_vault_name);
  322. }
  323. public client_disconnect(id) {
  324.     if(!is_user_bot(id) && !is_user_hltv(id)) {
  325.         save(id);
  326.     }
  327. }
  328.  
  329. public save(id) {
  330.     new szData[128];
  331.     new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  332.     if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
  333.    
  334.     formatex(szData, charsmax(szData), "%i %i", usp[id], pont[id]);
  335.     set_data(steamid, szData)
  336. }
  337. public client_authorized(id) {
  338.     if(!is_user_bot(id) && !is_user_hltv(id)) {
  339.         load(id);
  340.     }
  341. }
  342.  
  343. public load(id) {
  344.     new szData[128];
  345.     new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  346.     if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
  347.    
  348.     if(get_data(steamid, szData, charsmax(szData))) {
  349.         new valami[32], valami2[32];
  350.         parse(szData, valami, charsmax(valami), valami2, charsmax(valami2));
  351.         usp[id] = str_to_num(valami)  
  352.         pont[id] = str_to_num(valami2)
  353.     }
  354. }
  355. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  356. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  357. */

És a kés sma:
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <vault>
  5. #include <fun>
  6.  
  7. #define PLUGIN "Knife Mod"
  8. #define VERSION "1.0"
  9. #define AUTHOR "spunko"
  10.  
  11. #define TASK_INTERVAL 4.0  
  12. #define MAX_HEALTH 255  
  13.  
  14. new knife_model[33]
  15. new g_Menu
  16.  
  17. new CVAR_HIGHSPEED
  18. new CVAR_LOWSPEED
  19. new CVAR_LOWGRAV
  20. new CVAR_NORMGRAV
  21. new CVAR_HEALTH_ADD
  22. new CVAR_HEALTH_MAX
  23. new CVAR_DAMAGE
  24.  
  25. public plugin_init() {
  26.  
  27.     register_plugin(PLUGIN, VERSION, AUTHOR)
  28.  
  29.     register_event( "Damage", "event_damage", "be" )
  30.     register_event("CurWeapon","CurWeapon","be","1=1")
  31.  
  32.     g_Menu = register_menuid("Kes Mod")
  33.     register_menucmd(g_Menu, 1023, "knifemenu")
  34.  
  35.     register_clcmd("say /knife", "display_knife")
  36.  
  37.     CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
  38.     CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
  39.     CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
  40.     CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
  41.     CVAR_DAMAGE = register_cvar("km_damage", "2")
  42.     CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
  43.     CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
  44.  
  45.     set_task(480.0, "kmodmsg", 0, _, _, "b")
  46. }
  47.  
  48. public plugin_precache() {
  49.     precache_model("models/knife-mod/v_butcher.mdl")
  50.     precache_model("models/knife-mod/p_butcher.mdl")
  51.     precache_model("models/knife-mod/v_machete.mdl")
  52.     precache_model("models/knife-mod/p_machete.mdl")
  53.     precache_model("models/knife-mod/v_bak.mdl")
  54.     precache_model("models/knife-mod/p_bak.mdl")
  55.     precache_model("models/knife-mod/v_pocket.mdl")
  56.     precache_model("models/knife-mod/p_pocket.mdl")
  57.     precache_model("models/v_knife.mdl")
  58.     precache_model("models/p_knife.mdl")
  59. }
  60.  
  61. public display_knife(id) {
  62.     new menuBody[512]
  63.     add(menuBody, 511, "\rKes Modok\w^n^n")
  64.     add(menuBody, 511, "1. Machete \y(Tobb sebzes/Kis sebesseg)\w^n")
  65.     add(menuBody, 511, "2. Bak Kes \y(Nincs trappolas)\w^n")
  66.     add(menuBody, 511, "3. Zsebkes \y(Gyorsasag)\w^n")
  67.     add(menuBody, 511, "4. Hentes Bard \y(Nagyobb ugras)\w^n")
  68.     add(menuBody, 511, "5. Alap Kes \y(Elet ujratoltodes)\w^n^n")
  69.     add(menuBody, 511, "0. Kilepes^n")
  70.  
  71.     new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
  72.     show_menu(id, keys, menuBody, -1, "Kes Modok")
  73. }
  74.  
  75. public knifemenu(id, key) {
  76.     switch(key)
  77.     {
  78.         case 0: SetKnife(id , 4)
  79.         case 1: SetKnife(id , 2)
  80.         case 2: SetKnife(id , 3)
  81.         case 3: SetKnife(id , 1)
  82.         case 4: SetKnife(id , 0)
  83.         default: return PLUGIN_HANDLED
  84.     }
  85.     SaveData(id)
  86.     return PLUGIN_HANDLED
  87. }
  88.  
  89. public SetKnife(id , Knife) {
  90.     knife_model[id] = Knife
  91.  
  92.     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
  93.     if ( Weapon != CSW_KNIFE )
  94.         return PLUGIN_HANDLED
  95.  
  96.     new vModel[56],pModel[56]
  97.  
  98.     switch(Knife)
  99.     {
  100.         case 0: {
  101.             format(vModel,55,"models/v_knife.mdl")
  102.             format(pModel,55,"models/p_knife.mdl")
  103.         }
  104.         case 1: {
  105.             format(vModel,55,"models/knife-mod/v_butcher.mdl")
  106.             format(pModel,55,"models/knife-mod/p_butcher.mdl")
  107.         }
  108.         case 2: {
  109.             format(vModel,55,"models/knife-mod/v_bak.mdl")
  110.             format(pModel,55,"models/knife-mod/p_bak.mdl")
  111.         }
  112.         case 3: {
  113.             format(vModel,55,"models/knife-mod/v_pocket.mdl")
  114.             format(pModel,55,"models/knife-mod/p_pocket.mdl")
  115.         }
  116.         case 4: {
  117.             format(vModel,55,"models/knife-mod/v_machete.mdl")
  118.             format(pModel,55,"models/knife-mod/p_machete.mdl")
  119.         }
  120.     }
  121.  
  122.     entity_set_string(id, EV_SZ_viewmodel, vModel)
  123.     entity_set_string(id, EV_SZ_weaponmodel, pModel)
  124.  
  125.     return PLUGIN_HANDLED;  
  126. }
  127.  
  128. public event_damage( id ) {
  129.  
  130.     new victim_id = id;
  131.     if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
  132.     new dmg_take = read_data( 2 );
  133.     new dmgtype = read_data( 3 );
  134.     new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
  135.     new Float:damage = dmg_take * multiplier;
  136.     new health = get_user_health( victim_id );
  137.  
  138.     new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
  139.  
  140.     if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
  141.         return PLUGIN_HANDLED
  142.     }
  143.  
  144.     if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
  145.  
  146.         if( floatround(damage) >= health ) {
  147.             if( victim_id == attacker_id ) {
  148.                 return PLUGIN_CONTINUE
  149.                 }else{
  150.                 log_kill( attacker_id, victim_id, "knife", 0 );
  151.             }
  152.  
  153.             return PLUGIN_CONTINUE
  154.             }else {
  155.             if( victim_id == attacker_id ) return PLUGIN_CONTINUE
  156.  
  157.             fakedamage( victim_id, "weapon_knife", damage, dmgtype );
  158.         }
  159.     }
  160.     return PLUGIN_CONTINUE
  161. }
  162.  
  163. public CurWeapon(id)
  164.     {
  165.     new Weapon = read_data(2)
  166.  
  167.     // Set Knife Model
  168.     SetKnife(id, knife_model[id])  
  169.  
  170.     // Task Options
  171.  
  172.     if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
  173.         set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
  174.     else if(task_exists(id))
  175.         remove_task(id)
  176.  
  177.     // Abilities
  178.     set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
  179.  
  180.     new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
  181.     set_user_gravity(id , Gravity)
  182.  
  183.     // Speed
  184.     new Float:Speed
  185.     if(Weapon != CSW_KNIFE || knife_model[id] < 3)
  186.         return PLUGIN_CONTINUE
  187.     else if(knife_model[id] == 3)
  188.         Speed = get_pcvar_float(CVAR_HIGHSPEED)
  189.     else if(knife_model[id] == 4)
  190.         Speed = get_pcvar_float(CVAR_LOWSPEED)
  191.  
  192.     set_user_maxspeed(id, Speed)
  193.  
  194.     return PLUGIN_HANDLED  
  195.  
  196. }
  197.  
  198. stock log_kill(killer, victim, weapon[],headshot) {
  199.     user_silentkill( victim );
  200.  
  201.     message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
  202.     write_byte( killer );
  203.     write_byte( victim );
  204.     write_byte( headshot );
  205.     write_string( weapon );
  206.     message_end();
  207.  
  208.     new kfrags = get_user_frags( killer );
  209.     set_user_frags( killer, kfrags++ );
  210.     new vfrags = get_user_frags( victim );
  211.     set_user_frags( victim, vfrags++ );
  212.  
  213.     return  PLUGIN_CONTINUE
  214. }
  215.  
  216.  
  217. public task_healing(id) {  
  218.     new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
  219.     if (!addhealth)
  220.         return  
  221.  
  222.     new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
  223.     if (maxhealth > MAX_HEALTH) {
  224.         set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
  225.         maxhealth = MAX_HEALTH
  226.     }  
  227.  
  228.     new health = get_user_health(id)  
  229.  
  230.     if (is_user_alive(id) && (health < maxhealth)) {
  231.         set_user_health(id, health + addhealth)
  232.         set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
  233.         show_hudmessage(id,"<< !!ELET TOLTODES!! >>")
  234.         message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
  235.         write_short(1<<10)
  236.         write_short(1<<10)
  237.         write_short(0x0000)
  238.         write_byte(0)
  239.         write_byte(200)
  240.         write_byte(0)
  241.         write_byte(75)
  242.         message_end()
  243.     }
  244.  
  245.     else {
  246.         if (is_user_alive(id) && (health > maxhealth))
  247.             remove_task(id)
  248.     }
  249. }  
  250.  
  251. public client_disconnect(id) {  
  252.     if(task_exists(id)) remove_task(id)  
  253. }  
  254.  
  255.  
  256. public kmodmsg() {
  257.  
  258.     client_print(0,print_chat,"[AMXX] Ird be /knife, hogy valaszthass a kesek kozul.")
  259. }  
  260.  
  261. public client_authorized(id)
  262.     {
  263.     LoadData(id)
  264. }
  265.  
  266. SaveData(id)
  267. {
  268.  
  269.     new authid[32]
  270.     get_user_authid(id, authid, 31)
  271.  
  272.     new vaultkey[64]
  273.     new vaultdata[64]
  274.  
  275.     format(vaultkey, 63, "KMOD_%s", authid)
  276.     format(vaultdata, 63, "%d", knife_model[id])
  277.     set_vaultdata(vaultkey, vaultdata)
  278. }
  279.  
  280. LoadData(id)
  281. {
  282.     new authid[32]
  283.     get_user_authid(id,authid,31)
  284.  
  285.     new vaultkey[64], vaultdata[64]
  286.  
  287.     format(vaultkey, 63, "KMOD_%s", authid)
  288.     get_vaultdata(vaultkey, vaultdata, 63)
  289.     knife_model[id] = str_to_num(vaultdata)
  290.  
  291. }
  292. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  293. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  294. */

tehát: 1 főmenübe legyen 2 almenü az 1-ikbe legyen az uspk a másikba pedig a kések:) én sajnos ezt nem értem... de ha valaki megcsinálná azt nagyon megköszönném :)


Menü készítés!
Próbálkozz vele, ha nagyon nem megy nyiss egy témát a Plugin kérése/keresése topicban. :)

4x olvastam el de nem értem hogy a többit hogyan kéne hozzá írni


Menüpont case-nél a menü függvény szerepeljen ennyi.

Ennyi a logikája. A handlerben a menüpont a következő függvényt nyitja meg, amit a menünek adtál nevet. Remélem érthető.
Kód:
menu_1(id)
{
//menu
}
menu_1_handler
{
//handler
case 1:{
           menu_2(id)
}

menu_2(id)
{
//menu
}
menu_2_handler
{
//handler
case 1:{
           menu_3(id)
}
menu_3(id)
{
//menu
.......


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Összekötés
HozzászólásElküldve: 2017.10.28. 18:15 
Offline
Tag

Csatlakozott: 2017.09.23. 20:20
Hozzászólások: 34
Még mindig nem értem....


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Összekötés
HozzászólásElküldve: 2017.10.29. 14:06 
Offline
Nagyúr
Avatar

Csatlakozott: 2013.09.14. 08:21
Hozzászólások: 547
Megköszönt másnak: 95 alkalommal
Megköszönték neki: 71 alkalommal
proba cseresznye

1.
  1. #include <amxmodx>
  2. #include <engine>
  3.  
  4. public plugin_init()
  5. {
  6.     register_impulse(201, "FoMenu");
  7. }
  8.  
  9. public FoMenu(id)
  10. {
  11.     new menu = menu_create("FoMenu", "mh_MyMenu");
  12.  
  13.     menu_additem(menu, "menube 1", "1", 0); // case 0
  14.     menu_additem(menu, "menube 2", "2", 0); // case 1
  15.  
  16.     menu_display(id, menu, 0);
  17.     return PLUGIN_HANDLED;
  18. }
  19.  
  20. public mh_MyMenu(id, menu, item)
  21. {
  22.     if(item == MENU_EXIT)
  23.     {
  24.         menu_cancel(menu);
  25.         return PLUGIN_HANDLED;
  26.     }
  27.  
  28.     new command[6], name[64], access, callback;
  29.  
  30.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  31.  
  32.     switch(item)
  33.     {
  34.         case 0: client_cmd(id, "uspmenu");
  35.         case 1: client_cmd(id, "display_knife");
  36.     }
  37.  
  38.     menu_destroy(menu);
  39.     return PLUGIN_HANDLED;
  40. }


annyi h amaz 2 plugint is fel rakod hozzá. (ha igy jó vagy megfelel)

2.
második megoldás egybe irod.
mind a kettö plugint meg bele irod ezt.

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Összekötés
HozzászólásElküldve: 2017.10.29. 15:05 
Offline
Tiszteletbeli

Csatlakozott: 2010.02.04. 19:12
Hozzászólások: 3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
  1. case 0: client_cmd(id, "uspmenu");
  2. case 1: client_cmd(id, "display_knife");


-->

  1. case 0: client_cmd(id, "say /usp");
  2. case 1: client_cmd(id, "say /knife");

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 7 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 76 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole