hlmod.hu
https://hlmod.hu/

Okos Kuka
https://hlmod.hu/viewtopic.php?f=10&t=31496
Oldal: 1 / 2

Szerző:  John Wick [ 2023.04.20. 01:38 ]
Hozzászólás témája:  Okos Kuka

Sziasztok azt hogyan tudom megcsinálni a kukánál hogy minden törlésnél megkérdezze azt hogy: Biztosan törölni akarod a %s skined?
1. Igen
2. Nem
A kód:

  1. public Kuka(id)
  2. {
  3.     new String[121];
  4.     formatex(String, charsmax(String), "%s \w- \dKuka", Prefix);
  5.     new menu = menu_create(String, "Kuka_h");
  6.    
  7.     for(new i;i < sizeof(Fegyverek); i++)
  8.     {
  9.         if(OsszesSkin[i][id] > 0)
  10.         {
  11.             new Sor[6]; num_to_str(i, Sor, 5);
  12.             formatex(String, charsmax(String), "%s \d| \y%d DB", Fegyverek[i][0], OsszesSkin[i][id]);
  13.             menu_additem(menu, String, Sor);
  14.         }
  15.     }
  16.     menu_display(id, menu, 0);
  17. }
  18. public Kuka_h(id, menu, item){
  19.     if(item == MENU_EXIT)
  20.     {
  21.         menu_destroy(menu);
  22.         return;
  23.     }
  24.    
  25.     new data[9], szName[64];
  26.     new access, callback;
  27.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  28.     new key = str_to_num(data);
  29.    
  30.     OsszesSkin[key][id] --;
  31.     ColorChat(id, GREEN, "%s ^1Sikeresen ^4Törölted^1 ezt a ^3%s ^1skint", C_Prefix, Fegyverek[key][0]);
  32.     Kuka(id);
  33. }

Szerző:  kiki [ 2023.04.24. 17:54 ]
Hozzászólás témája:  Re: Okos Kuka

Menüpont kiválasztása után hozz létre egy új menüt, ahol megkérdezi hogy akarod e törölni az adott skint, és csak utána töröld.

Szerző:  John Wick [ 2023.04.25. 14:38 ]
Hozzászólás témája:  Re: Okos Kuka

kiki írta:
Menüpont kiválasztása után hozz létre egy új menüt, ahol megkérdezi hogy akarod e törölni az adott skint, és csak utána töröld.

Szia, megírtam hozzá, elő is jön a menü, de viszont mindig csak 1-skint töröl, tehát hiába választom ki bármelyik skint a menüből a játékon belül, akkor is csak azt az 1-et törli.
Például: Törölni szeretném a M4A1 | Kamasuka Skint. De ezt törli helyette:
  1. { "AK47 | Red Force" }, //2

Bár lehet azért mert ez az egy skin el van benne csúszva és nem jelenik meg a menüben sem, hm.

  1. public Kuka(id)
  2. {
  3.     new String[121];
  4.     formatex(String, charsmax(String), "%s \w- \dKuka", Prefix);
  5.     new menu = menu_create(String, "Kuka_h");
  6.    
  7.     for(new i;i < sizeof(Fegyverek); i++)
  8.     {
  9.         if(OsszesSkin[i][id] > 0)
  10.         {
  11.             new Sor[6]; num_to_str(i, Sor, 5);
  12.             formatex(String, charsmax(String), "%s \d| \y%d DB", Fegyverek[i][0], OsszesSkin[i][id]);
  13.             menu_additem(menu, String, Sor);
  14.         }
  15.     }
  16.     menu_display(id, menu, 0);
  17. }
  18. public Kuka_h(id, menu, item){
  19.     if(item == MENU_EXIT)
  20.     {
  21.         menu_destroy(menu);
  22.         return;
  23.     }
  24.    
  25.     new data[9], szName[64];
  26.     new access, callback;
  27.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  28.     new key = str_to_num(data);
  29.     new String[121];
  30.     formatex(String, charsmax(String), "Biztosan torlod a Skint?");
  31.     new menu = menu_create(String, "Kuka_v");
  32.    
  33.     menu_additem(menu, "\wIGEN", "1", 0);
  34.     menu_additem(menu, "\wNEM", "2", 0);
  35.    
  36.     menu_display(id, menu, 0);
  37.    
  38. }
  39. public Kuka_v(id, menu, item)
  40. {
  41.     if(item == MENU_EXIT)
  42.     {
  43.         menu_destroy(menu);
  44.         return;
  45.     }
  46.    
  47.     new data[9], szName[64];
  48.     new access, callback;
  49.     menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  50.     new key = str_to_num(data);
  51.    
  52.     switch(key)
  53.     {
  54.         case 1:
  55.         {
  56.             OsszesSkin[key][id]--;
  57.             ColorChat(id, GREEN, "%s ^1Torolted a ^4%s ^1skined.", C_Prefix, Fegyverek[key][0]);
  58.             Kuka(id);
  59.         }
  60.         case 2:
  61.         {
  62.             Kuka(id);
  63.         }
  64.     }
  65.     menu_destroy(menu);
  66. }

Szerző:  kiki [ 2023.04.25. 19:26 ]
Hozzászólás témája:  Re: Okos Kuka

Ja, mert így törlöd:

  1. OsszesSkin[key][id]--;


De a key értéke az adott menüpont száma.

Tehát a menüdbe van
1 : Igen
2: Nem

Szóval ha Igent nyomsz, akkor az ÖsszesSkin[1][id]-t fogja törölni, szóval megoldás az az hogy a 2. menünél, ahol az igen és a nem közül lehet választani, ott a menü_additemnél 3. paraméternek nem "1"-et adsz, hanem az ottani key értékét, így azt fogja tovább adni. A nemnek pedig adsz egy olyan értéket, ami nincs a skinek között, pl 9999, és utána annak a handlerében nem switchet használsz, hanem sima ifet, és nézed hogy a key ha 9999, akkor viszalépsz kukára, ha pedig else, akkor az adott keyes cuccot törlöd. (Ez így müködni fog, de lehet van más megoldás is, de így kurvára fáradtan most ez jutott eszembe)

Szerző:  John Wick [ 2023.04.26. 00:02 ]
Hozzászólás témája:  Re: Okos Kuka

Köszönöm, de sajnos nem működik, ugyan is nem fordul le nekem, nem azért mert amxmodx v1.8.2-használok?

  1. new Event[33], Mod;
  2. new OsszesSkin[MAX][33], Lada[LADA][33], Kulcs[33], Dollar[33], Oles[33], Skin[11][33], bool:Gun[33], bool:Hud[33], DropOles[33], D_Oles[33], name[32][33], SMS[33], Erteke[33], kicucc[33], kirakva[33], pido;
  3. new bool:Belepve[33], bool:Beirtjelszot[33], bool:Beirtjelszot1[33], bool:Beirtfelhasznalot[33], bool:Beirtfelhasznalot1[33], Regisztralt[33], Felhasznalonev[33][100], Jelszo[33][100], regJelszo[33][100], regFh[33][100], Send[33], TempID;
  4. new Handle:g_SqlTuple;
  5. enum _:TEAMS {TE, CT};


  1. public Kuka(id)
  2. {
  3.     new String[121];
  4.     formatex(String, charsmax(String), "%s \w- \dKuka", Prefix);
  5.     new menu = menu_create(String, "Kuka_h");
  6.    
  7.     for(new i;i < sizeof(Fegyverek); i++)
  8.     {
  9.         if(OsszesSkin[i][id] > 0)
  10.         {
  11.             new Sor[6]; num_to_str(i, Sor, 5);
  12.             formatex(String, charsmax(String), "%s \d| \y%d DB", Fegyverek[i][0], OsszesSkin[i][id]);
  13.             menu_additem(menu, String, Sor);
  14.         }
  15.     }
  16.     menu_display(id, menu, 0);
  17. }
  18. public Kuka_h(id, menu, item){
  19.     if(item == MENU_EXIT)
  20.     {
  21.         menu_destroy(menu);
  22.         return;
  23.     }
  24.     new String[121];
  25.     new data[9], szName[64];
  26.     new access, callback;
  27. menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  28. new key = str_to_num(data);
  29.  
  30. formatex(String, charsmax(String), "\wBiztosan törölni szeretnéd a \y%s\w skint?", Fegyverek[key][0]);
  31. new menu_confirm = menu_create(String, "Kuka_confirm");
  32.  
  33. menu_additem(menu_confirm, "\wIGEN", key, 0);
  34. menu_additem(menu_confirm, "\wNEM", "2", 0);
  35.  
  36. menu_display(id, menu_confirm, 0);
  37.  
  38.  
  39.    
  40. }
  41. public Kuka_confirm(id, menu, item)
  42. {
  43.     if(item == MENU_EXIT)
  44.     {
  45.         menu_destroy(menu);
  46.         return;
  47.     }
  48.    
  49.     new data[9], szName[64];
  50.     new access, callback;
  51.     menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  52.     new key = str_to_num(data);
  53.    
  54.     switch(key)
  55.     {
  56.         case 1:
  57.         {
  58.             OsszesSkin[key][0] --;
  59.             ColorChat(id, GREEN, "%s ^1Törölted a ^4%s ^1skined.", C_Prefix, Fegyverek[key][0]);
  60.             Kuka(id);
  61.         }
  62.        
  63.         case 2:
  64.         {
  65.             Kuka(id);
  66.         }
  67.     }
  68.     menu_destroy(menu);
  69. }

Szerző:  kiki [ 2023.04.26. 16:47 ]
Hozzászólás témája:  Re: Okos Kuka

De nem azt csináltad, amit írtam, valahogy így próbáld meg: (De nemtom h így lefordul e, mert 10éve nem írtam pawn scriptet, de kiindulásnak jó lesz)


  1. public Kuka(id)
  2. {
  3.     new String[121];
  4.     formatex(String, charsmax(String), "%s \w- \dKuka", Prefix);
  5.     new menu = menu_create(String, "Kuka_h");
  6.    
  7.     for(new i;i < sizeof(Fegyverek); i++)
  8.     {
  9.         if(OsszesSkin[i][id] > 0)
  10.         {
  11.             new Sor[6]; num_to_str(i, Sor, 5);
  12.             formatex(String, charsmax(String), "%s \d| \y%d DB", Fegyverek[i][0], OsszesSkin[i][id]);
  13.             menu_additem(menu, String, Sor);
  14.         }
  15.     }
  16.     menu_display(id, menu, 0);
  17. }
  18. public Kuka_h(id, menu, item){
  19.     if(item == MENU_EXIT)
  20.     {
  21.         menu_destroy(menu);
  22.         return;
  23.     }
  24.    
  25.     new data[9], szName[64];
  26.     new access, callback;
  27.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  28.     new key = str_to_num(data);
  29.     new String[121];
  30.     formatex(String, charsmax(String), "Biztosan torlod a %s skint?" Fegyverek[key][id]); //Ide lehet az OsszesSkin kell, nem vágom, nem látok teljes sourcet.
  31.     new menu = menu_create(String, "Kuka_v");
  32.    
  33.     menu_additem(menu, "\wIGEN", key, 0);
  34.     menu_additem(menu, "\wNEM", "9999", 0);
  35.    
  36.     menu_display(id, menu, 0);
  37.    
  38. }
  39. public Kuka_v(id, menu, item)
  40. {
  41.     if(item == MENU_EXIT)
  42.     {
  43.         menu_destroy(menu);
  44.         return;
  45.     }
  46.    
  47.     new data[9], szName[64];
  48.     new access, callback;
  49.     menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  50.     new key = str_to_num(data);
  51.    
  52.     if(key==9999)
  53.     {
  54.         Kuka(id);
  55.     }
  56.     else
  57.     {
  58.         OsszesSkin[key][id]--;
  59.         ColorChat(id, GREEN, "%s ^1Torolted a ^4%s ^1skined.", C_Prefix, Fegyverek[key][0]);
  60.         Kuka(id);
  61.     }
  62.     menu_destroy(menu);
  63. }



Meg a menü amúgy nincs elcsúszva, hogy nem az első sortól tölti be a menübe a dolgokat?

Szerző:  John Wick [ 2023.04.27. 17:04 ]
Hozzászólás témája:  Re: Okos Kuka

Próbáltam kiki, nem fordult le, tehát a menu_additem(menu2, "\wIGEN", key, 0); től erre jelzett.
Be fogok másolni 2-kódot az egyik az amelyik nincsen át alakítva tehát nincs benne az hogy Biztosan szeretné e törölni a skint ez lesz az első a másik pedig az amit próbálunk megvalósítani:

Íme az első
  1. public Kuka(id)
  2. {
  3. new String[121];
  4. formatex(String, charsmax(String), "%s \w- \dKuka", Prefix);
  5. new menu = menu_create(String, "Kuka_h");
  6.  
  7. for(new i;i < sizeof(Fegyverek); i++)
  8. {
  9.     if(OsszesSkin[i][id] > 0)
  10.     {
  11.         new Sor[6]; num_to_str(i, Sor, 5);
  12.         formatex(String, charsmax(String), "%s \d| \y%d DB", Fegyverek[i][0], OsszesSkin[i][id]);
  13.         menu_additem(menu, String, Sor);
  14.     }
  15. }
  16. menu_display(id, menu, 0);
  17. }
  18. public Kuka_h(id, menu, item){
  19. if(item == MENU_EXIT)
  20. {
  21.     menu_destroy(menu);
  22.     return;
  23. }
  24.  
  25. new data[9], szName[64];
  26. new access, callback;
  27. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  28. new key = str_to_num(data);
  29.  
  30. OsszesSkin[key][id] --;
  31. ColorChat(id, GREEN, "%s ^1Törölted a ^3%s ^1skined.", C_Prefix, Fegyverek[key][0]);
  32. Kuka(id);
  33. }


A második:
  1. public Kuka(id) {
  2.     new String[121];
  3.     formatex(String, sizeof(String), "%s \w- \dKuka", Prefix);
  4.     new menu = menu_create(String, "Kuka_h");
  5.        
  6.     for (new i; i < sizeof(Fegyverek); i++) {
  7.         if (OsszesSkin[i][id] > 0) {
  8.             new Sor[6]; num_to_str(i, Sor, 5);
  9.             formatex(String, sizeof(String), "%s \d| \y%d DB", Fegyverek[i][0], OsszesSkin[i][id]);
  10.             menu_additem(menu, String, Sor);
  11.         }
  12.     }
  13.     menu_display(id, menu, 0);
  14. }
  15.  
  16. public Kuka_h(id, menu, item) {
  17.     if (item == MENU_EXIT) {
  18.         menu_destroy(menu);
  19.         return;
  20.     }
  21.     new data[9], szName[64];
  22.     new access, callback;
  23.     menu_item_getinfo(menu, item, access, data, sizeof(data), szName, sizeof(szName), callback);
  24.     new key = str_to_num(data);
  25.     new String[121];
  26.     formatex(String, sizeof(String), "Biztosan törölni akarod a(z) %s skint?", Fegyverek[key][0]);
  27.     new menu2 = menu_create(String, "Kuka_v");
  28.        
  29.     menu_additem(menu2, "\wIGEN", key, 0);
  30.     menu_additem(menu2, "\wNEM", "9999", 0);
  31.        
  32.     menu_display(id, menu2, 0);
  33. }
  34.  
  35. public Kuka_v(id, menu, item) {
  36.     if (item == MENU_EXIT) {
  37.         menu_destroy(menu);
  38.         return;
  39.     }
  40.     new data[9], szName[64];
  41.     new access, callback;
  42.     menu_item_getinfo(menu, item, access, data, sizeof(data), szName, sizeof(szName), callback);
  43.     new key = str_to_num(data);
  44.  
  45.     if (key == 1) {
  46.         OsszesSkin[item][id]--;
  47.         ColorChat(id, GREEN, "%s ^1Törölted a ^4%s ^1skin-t.", C_Prefix, Fegyverek[key][0]);
  48.     }
  49.     Kuka(id);
  50.     menu_destroy(menu);
  51. }

Szerző:  kiki [ 2023.04.27. 18:30 ]
Hozzászólás témája:  Re: Okos Kuka

Fordítsd azt amit én írtam. Ha arra hibát dob, mutasd mi a hibakód.

Szerző:  John Wick [ 2023.04.27. 19:38 ]
Hozzászólás témája:  Re: Okos Kuka

kiki írta:
Fordítsd azt amit én írtam. Ha arra hibát dob, mutasd mi a hibakód.

Rendben, itt a hiba kód:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Warning: Tag mismatch on line 878
Warning: Function "Fomenu_h" should return a value on line 1193
Warning: Function "SMS_Fomenu_h" should return a value on line 1573
Error: Argument type mismatch (argument 3) on line 1870
Warning: Tag mismatch on line 2419
Warning: Symbol is never used: "Temp" on line 2567
Warning: Symbol is never used: "Vip" on line 2567
Warning: Symbol is never used: "color" on line 2567

1 Error.
Could not locate output file C:\Users\JohnWick\OneDrive\Asztali gép\Tokeletes3.amx (compile failed).

Szerző:  kiki [ 2023.04.27. 19:51 ]
Hozzászólás témája:  Re: Okos Kuka

És mi van az 1870. sorban?

Oldal: 1 / 2 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/