hlmod.hu
https://hlmod.hu/

Láda nyitás
https://hlmod.hu/viewtopic.php?f=9&t=26373
Oldal: 1 / 1

Szerző:  Pista. [ 2016.10.08. 11:44 ]
Hozzászólás témája:  Láda nyitás

Üdv!

Hogyan lehet egy láda nyitást egyszerűben meg oldani? Hogy ne álljon 100 sorból :D. Előre is köszönöm

Szerző:  exodus [ 2016.10.08. 12:17 ]
Hozzászólás témája:  Re: Láda nyitás

Pista. írta:
Üdv!

Hogyan lehet egy láda nyitást egyszerűben meg oldani? Hogy ne álljon 100 sorból :D. Előre is köszönöm


Tegyük fel, hogy 1 tömbből kezeljük a skineket mert okosak vagyunk, akkor:

  1. new OsszesSkin[100][33]; //Mondjuk van 100db skinünk
  2.  
  3. public m_nyitas(id)
  4. {
  5. new Szam = random_num(1, 100);
  6. OsszesSkin[Szam][id]++;
  7. }


Ez elég rövid, viszont mindent ugyan akkora eséllyel fog dobni.

Szerző:  Pista. [ 2016.10.08. 12:29 ]
Hozzászólás témája:  Re: Láda nyitás

és hogyan lehetne azt meg oldani hogy a fegyvert ritkán dobja? :D

Szerző:  GudDevil [ 2016.10.08. 12:36 ]
Hozzászólás témája:  Re: Láda nyitás

  1. //Itt beállítjuk a droppolási százalékot
  2. new const Float:DropItemLada[][] = { 2.0, 10.0, 50.0, 100.0 };
  3.  
  4. public Talal(id, key)
  5. {
  6. new Float:RandomSzam = random_float(0.01, 100.00);
  7.  
  8. if(RandomSzam <= DropItemLada[0][0]) //Ennek a függvénynek a lefutási esélye 2.0%
  9.     {
  10.         switch(random_num(1,1))
  11.         {
  12.             case 1:
  13.             {
  14.                 Valami++;
  15.             }
  16.         }
  17.     }
  18.     else if(RandomSzam <= DropItemLada[1][0]) //Ennek a függvénynek a lefutási esélye 10.0%
  19.     {
  20.         switch(random_num(1,1))
  21.         {
  22.             case 1:
  23.             {
  24.                 Valami2++;
  25.             }
  26.         }
  27.     }
  28.     else if(RandomSzam <= DropItemLada[2][0]) //Ennek a függvénynek a lefutási esélye 50.0%
  29.     {
  30.         switch(random_num(1,1))
  31.         {
  32.             case 1:
  33.             {
  34.                 Valami3++;
  35.             }
  36.         }
  37.     }
  38.     else if(RandomSzam <= DropItemLada[3][0])
  39.     //Ennek a függvénynek a lefutási esélye 100.0%
  40.     //Tehát ezt biztos, hogy kapunk, ha pl 80%-ra állítod akkor nem fog mindig droppolni
  41.     //Ha 80%-ra állítod akkor ugye 20% esélyünk lesz arra is, hogy nem kap semmit, tehát nem fut le 1 függvény se
  42.     {
  43.         switch(random_num(1,1))
  44.         {
  45.             case 1:
  46.             {
  47.                 Valami4++;
  48.             }
  49.         }
  50.     }
  51. }


ha jo akor viszon Exodusnak koszond meg mert o adta nekem is :D de nekem is koszonheted :D

Szerző:  exodus [ 2016.10.08. 13:27 ]
Hozzászólás témája:  Re: Láda nyitás

Pista. írta:
és hogyan lehetne azt meg oldani hogy a fegyvert ritkán dobja? :D


Akkor még 1 példa, tegyük fel, hogy 1-80-ig fegyverek vannak.
Valamint 80-tól 100-ig kések vannak, mert megint okosak vagyunk és így csináltuk meg.

Akkor ilyen esetben:

  1. public m_nyitas(id)
  2. {
  3. new Float:FloatSzam = random_float(0.01, 100.00);
  4. new FegyverID = random_num(1, 80); //mivel 80-ig fegyverek vannak jelen esetben
  5. new KesID = random_num(81, 100); //mivel 80-tól 100-ig kések vannak jelen esetben
  6.    
  7.     if(FloatSzam <= 1.0) //jelen esetben 1% esély ezekre a droppokra
  8.     {
  9.         OsszesSkin[KesID][id]++;
  10.     }
  11.    
  12.     else if(FloatSzam <= 100.0) //mindenképp adjon nekünk valamit ezért 100%
  13.     {
  14.         OsszesSkin[FegyverID][id]++;
  15.     }
  16. }

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