hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.23. 10:05



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot], Majestic-12 [Bot] 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  [ 6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Bolt rendszer
HozzászólásElküldve: 2017.07.14. 13:06 
Offline
Fanatikus

Csatlakozott: 2015.07.05. 12:18
Hozzászólások: 172
Megköszönt másnak: 41 alkalommal
Megköszönték neki: 1 alkalommal
Sziasztok csináltam nem rég magamnak 1 bolt rendszert de néha buggol a pénz -ba megy
  1. public BoltVasarlas(id) {
  2.     if(g_Bejelentkezve[id])
  3.     {
  4.         new String[128]
  5.         format(String, charsmax(String), MENUSZOVEG[14][Nyelv[id]], Dollar[id])
  6.         new menu = menu_create(String, "BoltVasarlash" )
  7.        
  8.         format(String, charsmax(String), "\r[\dV.I.P\r]")
  9.         menu_additem(menu, String, "1")
  10.        
  11.         menu_display(id, menu)
  12.     }
  13.     else
  14.         showMenu_Main(id)
  15. }
  16. public BoltVasarlash(id, menu, item){
  17.    
  18.    
  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.     switch(key)
  31.     {
  32.         case 1 : {
  33.             vipvesz(id)
  34.         }
  35.     }
  36. }
  37. public vipvesz(id) {
  38.     new String[96]
  39.     format(String, charsmax(String),"Bolt^nDollar: %3.1f", Dollar[id])
  40.     new menu = menu_create(String, "vipveszh" )
  41.    
  42.     formatex(String, charsmax(String), "\r[\wV,I,P\r] \r| \y5000$")
  43.     menu_additem(menu, String, "1")
  44.    
  45.     formatex(String, charsmax(String), "\r[\wV.I.P\r] \r| \y2500 FegyverLáda 1")
  46.     menu_additem(menu, String, "2")
  47.    
  48.     formatex(String, charsmax(String), "\r[\wV.I.P\r] \r| \y1500 FegyverLáda 2")
  49.     menu_additem(menu, String, "3")
  50.    
  51.     menu_display(id, menu)
  52. }
  53. public vipveszh(id, menu, item){
  54.    
  55.     new Nev[32]
  56.     get_user_name(id, Nev, 31)
  57.     if(item == MENU_EXIT)
  58.     {
  59.         menu_destroy(menu)
  60.         return
  61.     }
  62.    
  63.     new data[9], szName[64]
  64.     new access, callback
  65.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  66.     new key = str_to_num(data)
  67.    
  68.     switch(key)
  69.     {
  70.         case 1 : {
  71.             if(Dollar[id] > 4999.9)
  72.             {
  73.                 g_VipRang[id]++
  74.                 Dollar[id] -= 5000.0
  75.                 ColorChat(id, GREEN, "[lsT#] ^3%s^1 Vett ^3V.I.P^1-et 3000$-Ă©rt!", Nev)
  76.                
  77.             }
  78.         }
  79.         case 2 : {
  80.             if(Lada[id][0] > 2500)
  81.             {
  82.                 g_VipRang[id]++
  83.                 Lada[id][0] -= 2500
  84.                 ColorChat(id, GREEN, "[lsT#] ^3%s^1 Vett ^3V.I.P^1-et 1000 FegyverLáda 1-Ă©rt!", Nev)
  85.             }
  86.         }
  87.         case 3 : {
  88.             if(Lada[id][1] > 1500)
  89.             {
  90.                 g_VipRang[id]++
  91.                 Lada[id][1] -= 1500
  92.                 ColorChat(id, GREEN, "[lsT#] ^3%s^1 Vett egy ^3V.I.P^1-et 500 FegyverLáda 2-Ă©rt!", Nev)
  93.             }
  94.         }
  95.     }
  96. }


valaki tudná javítani 2 jajta fizető ezköz van egy 2 tizedes értékü dollár ami 1 dollár sqlben 100
meg pl ládaid 1 ami sima egész szám
meg jó lenne ha írná hogy nincs elég pénzed
előrei is köszönöm
nem leszek hálátlan


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Bolt rendszer
HozzászólásElküldve: 2017.07.15. 13:41 
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
Nemtudom mit makogsz de valamenyire értettem, tessék :D

► Spoiler mutatása

_________________
Global Offensive modok:

Global Offensive Mode 1.0
Global Offensive Mode 3.0
exodus Global Offensive 4.0

Ők köszönték meg exodus nek ezt a hozzászólást: $weeT (2017.07.15. 15: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: Bolt rendszer
HozzászólásElküldve: 2017.07.15. 15:51 
Offline
Fanatikus

Csatlakozott: 2015.07.05. 12:18
Hozzászólások: 172
Megköszönt másnak: 41 alkalommal
Megköszönték neki: 1 alkalommal
fegyver vásárlásnál boltot hogy tudom egyszerűsíteni mert 100+ fegyverről van szó


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Bolt rendszer
HozzászólásElküldve: 2017.07.15. 17:15 
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
$weeT írta:
fegyver vásárlásnál boltot hogy tudom egyszerűsíteni mert 100+ fegyverről van szó


Kiszedsz 98-at és akkor egyszerűbb lesz. :xicon_e_biggrin:

Forrás nélkül nem látjuk hogy alkottál és mit lehet "egyszerűsíteni".


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Bolt rendszer
HozzászólásElküldve: 2017.07.15. 17:44 
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
$weeT írta:
fegyver vásárlásnál boltot hogy tudom egyszerűsíteni mert 100+ fegyverről van szó


A lehető legegyszerűbb megoldást vázolom fel neked.

Létrehozzuk a tömböket, amik szükségesek nekünk:

  1. #define FGY 4 //Hogy ha módosítunk ne kelljen mindenhol átirogatni (az egyszerűség kedvéért)
  2.  
  3. new Fegyo[FGY][33]; //Tömb a fegyvereknek
  4. new Dollar[33]; //Tömb a fizetőeszköznek


A fegyverek neveit tároljuk constba, hogy könnyü legyen a módosítás (Most enummal tesszük mivel ára is lesz a fegyvernek)

  1. enum _:Valami { Nev[32], Ar[8] };
  2. new FegyoNevek[FGY][Valami]=
  3. {
  4. //  { "Fegyver neve", "Ára" }
  5.     { "AK47 | Piros", 25 },
  6.     { "AK47 | Kék", 16 },
  7.     { "AK47 | Fekete", 19 },
  8.     { "AK47 | Lila", 64 }
  9. };


Majd maga a bolt része, itt soha nem kell módosítani semmit mivel a ciklus úgy fut le, hogy a FegyoNevek constból kiolvassa az összes sort, tehát ha 2 ezer fegyvert teszel be sem kell itt módosítani semmit.
  1. public m_Bolt(id)
  2. {
  3. new String[121];
  4. formatex(String, charsmax(String), "Bolt");
  5. new menu = menu_create(String, "h_Bolt");
  6.  
  7. for(new i;i < sizeof(FegyoNevek); i++)
  8. {
  9.     new a[6]; num_to_str(i, a, 5);
  10.     formatex(String, charsmax(String), "%s (%d Dollár)", FegyoNevek[Nev][i], FegyoNevek[Ar][i]);
  11.     menu_additem(menu, String, a);
  12. }
  13.  
  14. menu_display(id, menu, 0);
  15. return PLUGIN_HANDLED;
  16. }


Aztán jön maga a bolt lényege, a handler ami így néz ki(Itt szintén soha nem kell modosítani semmit ha esetleg fegyvert szeretnél hozzá tenni vagy elvenni):
  1. public h_Bolt(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.     if(Dollar[id] >= FegyoNevek[Ar][key])
  15.     {
  16.         Fegyo[key][id]++; //Hogy megkapjuk az adott vegyvert (A key helyettesíti a leütött gombot, tehát ha 2-es gombot nyomunk Fegyo[2][id]-t kapunk.
  17.         Dollar[id] -= Fegyonevek[Ar][key]; //Hogy el vegye tölünk a dollárt, ne csak úgy ingyen kapjuk a fegyvert
  18.         ColorChat(id, GREEN, "[Információ] ^1Vásároltál egy ^4%s^1-t ^4%d ^1Dollárért.", Fegyonevek[Nev][key], FegyoNevek[Ar][key])
  19.     }
  20.     else
  21.     {
  22.         m_Bolt(id)
  23.         ColorChat(id, GREEN, "[Információ] ^1Nincs elég dollárod ennek a megvásárlásához.")
  24.     }
  25. }


Ha esetleg így nem érthető akkor itt a teljes forráskód:
► Spoiler mutatása


Ha valamit rosszul írtam nyugodtan kövezzetek meg :D

_________________
Global Offensive modok:

Global Offensive Mode 1.0
Global Offensive Mode 3.0
exodus Global Offensive 4.0

Ők köszönték meg exodus nek ezt a hozzászólást: $weeT (2017.07.16. 10:18)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Bolt rendszer
HozzászólásElküldve: 2017.07.16. 10:18 
Offline
Fanatikus

Csatlakozott: 2015.07.05. 12:18
Hozzászólások: 172
Megköszönt másnak: 41 alkalommal
Megköszönték neki: 1 alkalommal
kÖSZÖNÖM SZÉPEN


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  [ 6 hozzászólás ] 


Ki van itt

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