hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.29. 00:49



Jelenlévő felhasználók

Jelenleg 209 felhasználó van jelen :: 0 regisztrált, 1 rejtett és 208 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  [ 33 hozzászólás ]  Oldal 1 2 3 4 Következő
Szerző Üzenet
 Hozzászólás témája: Ciklus
HozzászólásElküldve: 2016.09.19. 17:14 
Offline
Senior Tag
Avatar

Csatlakozott: 2016.09.16. 13:41
Hozzászólások: 226
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 35 alkalommal
üdv én azt szeretném kérdezni hogy neki álltam egy ujj módnak és ezt az ujj módot már több dimenzios tömbel szeretném csak egyszerűen nem jövök rá hogyan tudom azt megoldani hogy ki cserélje nekünk a skint valaki esetleg?
vagy esetleg tudnátok nekem abba segiteni hogy megírni erre a 3 db ra?
  1. new const Fegyverek[3][] =
  2. {
  3. {"\\rTerepmintás | \wM4A1"},
  4. {"\\rTerepmintás | \wAK47"},
  5. {"\\rTerepmintás | \wAWP"}
  6. }
  7. new const Terep_Modelek[][] =
  8. {
  9. {"models/kmgGU/terep/m4a1"},
  10. {"models/kmgGU/terep/ak47"},
  11. {"models/kmgGU/terep/awp"}
  12. }


  1. public plugin_precache()
  2. {
  3. for(new i;i < sizeof(Terep_Modelek); i++){
  4. precache_model(Terep_Modelek[i]);
  5. }
  6. }

_________________
Global Unison 2019 3X Event
Vissza Tértem


A hozzászólást 1 alkalommal szerkesztették, utoljára GudDevil 2016.09.19. 17:56-kor.

Ők köszönték meg GudDevil nek ezt a hozzászólást: jocikahehe (2017.10.12. 08:49)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ciklus
HozzászólásElküldve: 2016.09.19. 17:56 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.08.24. 18:28
Hozzászólások: 584
Megköszönt másnak: 122 alkalommal
Megköszönték neki: 120 alkalommal
Here you go:
LyleChriss @ Enum az enumban [MEGOLDVA]
Edit: Tudom, nem 100%-ban az amit kértél, de ki lehet belőle hámozni, hogy lehet enummal több dimenziós tömböt csinálni.

Ők köszönték meg LyleChriss nek ezt a hozzászólást: jocikahehe (2017.10.12. 08:50)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ciklus
HozzászólásElküldve: 2016.09.19. 18:04 
Offline
Senior Tag
Avatar

Csatlakozott: 2016.09.16. 13:41
Hozzászólások: 226
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 35 alkalommal
[Edit]

Edig eljutotam velle de még mindig nem jo :D

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>
  5. #include <dhudmessage>
  6. #include <colorchat>
  7. #include <hamsandwich>
  8. #include <fakemeta>
  9. #include <engine>
  10. #include <sqlx>
  11.  
  12. #pragma tabsize 0
  13.  
  14. #define MAX 3
  15. new szint[33],arany[33], Tapasztalat[33]
  16.  
  17. //fegyverek
  18. new OsszesSkin[3][33], OsszesNev[3], Skin[33];
  19. new Gun[4][33]
  20. new const PLUGIN [] = "Global Unison"
  21. new const VERSION[] = "1.0"
  22. new const  AUTHOR[] = "GudDevil"
  23.  
  24. new const Fegyverek[MAX][][] =
  25. {
  26. {"\\rTerepmintás | \wM4A1"},
  27. {"\\rTerepmintás | \wAK47"},
  28. {"\\rTerepmintás | \wAWP"}
  29. }
  30. new const Terep_Modelek[][] =
  31. {
  32. {"terep/m4a1.mdl"},
  33. {"terep/ak47.mdl"},
  34. {"terep/awp.mdl"}
  35. }
  36. new const FOMENU[][]=
  37. {
  38. { "\\rGlobal \rUnison - \dFĹ‘menĂĽ ^n \wSzint: %d | \wTapasztalat: %d%% | \wArany: %d " },
  39. { "\\iGyakorlás" },
  40. { "\\iRaktár" }
  41. }
  42.  
  43. public plugin_init() {
  44.     register_plugin(PLUGIN, VERSION, AUTHOR)
  45.    
  46. register_clcmd("say /menu","fomenu")
  47. register_impulse(201, "fomenu")
  48. register_clcmd("say /add", "cmdAddolas")
  49. register_event("CurWeapon", "ChangeWeapon", "be", "1=1")
  50. }
  51. public plugin_precache() {
  52.     new Cim[121]
  53. for(new i;i < MAX; i++) {
  54. format(Cim, charsmax(Cim), "models/KmgGU/%s", Terep_Modelek[i])
  55. precache_model(Cim)
  56. }
  57. }
  58. public ChangeWeapon(id) {
  59.     new Cim[121]
  60.     new fgy =get_user_weapon(id)
  61.     {
  62.     if(Gun[1][id] == 0 && fgy == CSW_M4A1 && Skin[id] == 1) {
  63.         format(Cim, charsmax(Cim), "models/%s.mdl", Terep_Modelek[0])
  64.         set_pev(id, pev_viewmodel2, Cim)
  65.     }
  66.     if(Gun[2][id] == 0 && fgy == CSW_AK47 && Skin[id] == 1) {
  67.         format(Cim, charsmax(Cim), "models/%s.mdl", Terep_Modelek[1])
  68.         set_pev(id, pev_viewmodel2, Cim)
  69.     }
  70.     if(Gun[3][id] == 0 && fgy == CSW_AWP && Skin[id] == 1) {
  71.         format(Cim, charsmax(Cim), "models/%s.mdl", Terep_Modelek[2])
  72.         set_pev(id, pev_viewmodel2, Cim)
  73.     }
  74. }
  75. }
  76. public fomenu(id)
  77. {
  78.     new cim[121]
  79.     format(cim, charsmax(cim), FOMENU[0][id],szint[id],arany[id],Tapasztalat[id])
  80.     new menu = menu_create(cim, "fomenu_h")
  81.    
  82.     format(cim, charsmax(cim), "%s", FOMENU[1][id])
  83.     menu_additem(menu, cim, "1",0)
  84.     format(cim, charsmax(cim), "%s", FOMENU[2][id])
  85.     menu_additem(menu, cim, "2",0)
  86.  
  87. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  88. menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  89.    
  90. menu_display(id, menu, 0)
  91. return PLUGIN_HANDLED
  92. }
  93.  
  94. public fomenu_h(id, menu, item)
  95. {
  96.     if(item == MENU_EXIT) {
  97.     menu_destroy(menu)
  98.     return PLUGIN_HANDLED
  99. }    
  100. switch(item)
  101. {          
  102.     case 0:{kikepzes(id)
  103.     }
  104.     case 1:{raktar_menu(id)
  105.     }
  106. }
  107. }
  108. public kikepzes(id)
  109. {
  110. }
  111. public raktar_menu(id) {
  112.     new cim[121]
  113.     format(cim, charsmax(cim), FOMENU[0][id])
  114.     new menu = menu_create(cim, "raktar_h")
  115.    
  116.     for(new i; i < MAX; i++) {
  117.         if(OsszesSkin[i][id]> 0)
  118.         {
  119.             new Num[6]
  120.             num_to_str(i, Num, 5)
  121.             formatex(cim, charsmax(cim), "\y%s \r(%d) ", Fegyverek[i][id], OsszesSkin[i][id])
  122.             menu_additem(menu, cim, Num)
  123.         }
  124.     }
  125.     menu_display(id, menu)
  126. }
  127. public cmdAddolas(id) {
  128.     if(get_user_flags(id) & ADMIN_LEVEL_H){
  129.        
  130.         for(new i; i < MAX; i++) {
  131.             OsszesSkin[i][id]++
  132.         }
  133.     }
  134. }
  135. public raktar_h(id, menu, item){
  136.    
  137.     if(item == MENU_EXIT)
  138.     {
  139.         menu_destroy(menu)
  140.         return
  141.     }
  142.    
  143.     new data[9], szName[64]
  144.     new access, callback
  145.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  146.     new key = str_to_num(data)
  147.    
  148.     switch(key)
  149.     {
  150.         case 0: Gun[1][id] = 1;
  151.         case 1: Gun[2][id] = 2;
  152.         case 2: Gun[3][id] = 3;
  153. }
  154. }

_________________
Global Unison 2019 3X Event
Vissza Tértem

Ők köszönték meg GudDevil nek ezt a hozzászólást: jocikahehe (2017.10.12. 08:51)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ciklus
HozzászólásElküldve: 2016.09.19. 18:58 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.08.24. 18:28
Hozzászólások: 584
Megköszönt másnak: 122 alkalommal
Megköszönték neki: 120 alkalommal
Először tömbről kajabáltál, azért linkeltem azt.
Tessék, ez a for ciklusos menü tutorial:
[Tut] For ciklusos menü


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ciklus
HozzászólásElküldve: 2016.09.19. 19:01 
Offline
Beavatott
Avatar

Csatlakozott: 2016.09.04. 01:53
Hozzászólások: 80
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 1 alkalommal
Szerintem így joblene a menü.
  1. public menu(id)
  2. {
  3.     new txt[128]
  4.    
  5.     new menu = menu_create("Példa menü", "menu_h")
  6.  
  7.     //elindítjuk a for ciklust
  8.     for(new i; i<sizeof(SKINS) ; i++)
  9.     {
  10.         //minden skin nevet egyessével a "txt" tömbbe másolunk
  11.         formatex(txt, charsmax(txt), "%s", SKINS[i][Name])
  12.         //majd a additemmel új menüelemként hozzáadjuk a menühöz
  13.         menu_additem(menu, txt, "", 0)
  14.     }
  15.    
  16.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  17.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  18.     menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  19.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  20.        
  21.     menu_display(id, menu, 0)
  22.    
  23. }
  24.  
  25. public menu_h(id, menu, item)
  26. {
  27.     if(item == MENU_EXIT) {
  28.         menu_destroy(menu);
  29.         return PLUGIN_HANDLED;
  30.     }
  31.    
  32.     //az item egyenlő a fenti for ciklusban szereplő i-vel
  33.     //Azaz az első menü elemnél az item=0; másodiknál item=1; stb...
  34.     client_print(id, print_chat, "Kiválasztottad a %s skint!", SKINS[item][Name])
  35.    
  36.     menu_destroy(menu);
  37.     return PLUGIN_HANDLED;
  38. }

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ciklus
HozzászólásElküldve: 2016.09.19. 19:04 
Offline
Senior Tag
Avatar

Csatlakozott: 2016.09.16. 13:41
Hozzászólások: 226
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 35 alkalommal
tudom hogy egyszerunek hangzik :D de meg csak most kezdtem elsonek ezt a ciklusos dolgot :D esetleg valaki segitene benne? :D elöre is köszönöm :)

_________________
Global Unison 2019 3X Event
Vissza Tértem

Ők köszönték meg GudDevil nek ezt a hozzászólást: jocikahehe (2017.10.12. 08:52)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ciklus
HozzászólásElküldve: 2016.09.19. 19:07 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.08.24. 18:28
Hozzászólások: 584
Megköszönt másnak: 122 alkalommal
Megköszönték neki: 120 alkalommal
Az a tutorial KB egy copy-paste szintű menüt kínál. Te már csak azt akarod, hogy valaki egy az egyben megcsinálja neked. :lol: :evil:

Ők köszönték meg LyleChriss nek ezt a hozzászólást: MasTerS (2016.09.19. 19:19)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ciklus
HozzászólásElküldve: 2016.09.19. 19:58 
Offline
Nagyúr
Avatar

Csatlakozott: 2016.03.05. 20:56
Hozzászólások: 663
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 124 alkalommal
  1. Skin[33]


Mivel többdimenziós tömbökkel akarsz dolgozni akkor ne így hozd létre a tömböt.

Szval:

  1. Skin[1][33]


ez:
  1. new Gun[4][33]

nem is értem minek, felesleges.. :D

  1. public ChangeWeapon(id) {
  2.     new Cim[121]
  3.     new fgy =get_user_weapon(id)
  4.     {
  5.     if(Gun[1][id] == 0 && fgy == CSW_M4A1 && Skin[id] == 1) {
  6.         format(Cim, charsmax(Cim), "models/%s.mdl", Terep_Modelek[0])
  7.         set_pev(id, pev_viewmodel2, Cim)
  8.     }
  9.     if(Gun[2][id] == 0 && fgy == CSW_AK47 && Skin[id] == 1) {
  10.         format(Cim, charsmax(Cim), "models/%s.mdl", Terep_Modelek[1])
  11.         set_pev(id, pev_viewmodel2, Cim)
  12.     }
  13.     if(Gun[3][id] == 0 && fgy == CSW_AWP && Skin[id] == 1) {
  14.         format(Cim, charsmax(Cim), "models/%s.mdl", Terep_Modelek[2])
  15.         set_pev(id, pev_viewmodel2, Cim)
  16.     }
  17. }
  18. }


csak, hogy egyszerűbb legyen:

  1. new const Terep_Modelek_Ak47[][] =
  2. {
  3. {"models/KmgGU/terep/ak47_alap.mdl"},
  4. {"models/KmgGU/terep/ak47_terep.mdl"}
  5. }
  6.  
  7. public ChangeWeapon(id)
  8. {
  9. new fegyoka =get_user_weapon(id)
  10.  
  11. for(new i;i < sizeof(Terep_Modelek_Ak47); i++)
  12. {
  13.     if(Skin[0][id] == i && fegyoka == CSW_AK47)
  14.     {
  15.         set_pev(id, pev_viewmodel2, Terep_Modelek_Ak47[i]);
  16.     }
  17. }
  18. }

persze ezt nem kötelező külön constokkal kezelni, mivel ugye ez csak egy példa, hogy egyszerűbb legyen. :D

és jelen esetben:
  1. skin[0][id] = 0 //az alap ak47 model
  2. skin[0][id] = 1 //pedig az ak47_terep.mdl


tehát a raktár handlernek így kellene kinéznie:
  1. public raktar_h(id, menu, item){
  2.    
  3.     if(item == MENU_EXIT)
  4.     {
  5.         menu_destroy(menu)
  6.         return
  7.     }
  8.    
  9.     new data[9], szName[64]
  10.     new access, callback
  11.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  12.     new key = str_to_num(data)
  13.    
  14.     switch(key)
  15.     {
  16.         case 0: Skin[0][id] = 1; //azért 1 mivel gondolom az alap ak47 skint nem akarod felszerelni :D
  17. }
  18. }


Szerk:

Ja és tabot használd.. :D
szebb lesz a forráskód és jobban átfogod látni teis..


Csatolmányok:
asddssdsdsdsd.sma [3.79 KiB]
Letöltve 117 alkalommal.

_________________
Global Offensive modok:

Global Offensive Mode 1.0
Global Offensive Mode 3.0
exodus Global Offensive 4.0
Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ciklus
HozzászólásElküldve: 2016.09.19. 20:34 
Offline
Őstag
Avatar

Csatlakozott: 2015.07.27. 22:56
Hozzászólások: 1367
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 351 alkalommal
De miért curweapont használtok?
Az nem csak fegyóváltáskor fut le, hanem ha töltesz és lősz is, feleslegesen állítja a skint amikor elég lenne fegyverváltáskor is.

Hamsandwich-ben van erre register, igaz fegyverenként kell funkciózni, de legalább nem terheli folyamat a szervert (és a kliens sem kap állandóan parancsot hogy mást mutasson) csak ha váltasz az adott fegyverre ahogy annak lennie is kell.

Amúgy miért hívsz meg minden include-ot?
A kódodban csak ez a 4 kell és az Osszesnev tömböt nem használtad fel.
  1. #include <amxmodx>
  2. #include <colorchat>
  3. #include <fakemeta>
  4. #include <engine>


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ciklus
HozzászólásElküldve: 2016.09.19. 20:38 
Offline
SM Fejlesztő
Avatar

Csatlakozott: 2012.10.18. 15:58
Hozzászólások: 2486
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 132 alkalommal
Jézus haragja sújtson le, ennyire bonyolultan megoldani egy ilyet..

_________________
www.akosvagyok.hu


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  [ 33 hozzászólás ]  Oldal 1 2 3 4 Következő


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 25 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