hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 307 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 307 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Tömb dimenziós felsorolás
HozzászólásElküldve: 2019.04.05. 17:44 
Offline
Tud valamit
Avatar

Csatlakozott: 2018.01.28. 19:04
Hozzászólások: 135
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 44 alkalommal
Sziasztok,
Éppen egy körvégi zene pluginon dolgozom, ahova szeretnék a listából random 20 számot kiválasztani minden pályaváltáskor.
A problémám az volna, hogy így próbáltam megoldani:

Kód:
   for(new i; i < 20; i++)
   {
      musics[i] = random_num(0, sizeof(music_list))
      
      if(i == 0)
         continue
      
      while(musics[i] == musics[(0..i-1)])
         musics[i] = random_num(0, sizeof(music_list))
   }


csakhogy a "0..i-1" rész nem működik, mivel dimenzióban nem lehet így felsorolni.
Kérdésem az volna, hogy ez lehetséges-e valami más módon(a felsorolás maga)

_________________
[ MasterGaming ]

[ TS3 -- Discord ]
[ FB Oldal -- FB Csoport ]

[ CS1.6 Szerverek ]

Hamarosan


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Tömb dimenziós felsorolás
HozzászólásElküldve: 2019.04.05. 19:43 
Offline
Jómunkásember
Avatar

Csatlakozott: 2016.02.10. 12:46
Hozzászólások: 429
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 157 alkalommal
Üdv. Parancsolj. Nem teszteltem, de ha bármiféle gond adódna, akkor írj. Megpróbáltam részletesen leírni, hogy mi mit csinál.

  1. //Az első változó azt fogja tárolni, hogy ki van-e választva már az illető szám, azaz ne legyen kétszer úgyan az kiválasztva
  2. //A második a 20 zenének az azonosítóját fogja tárolni, azaz a const-ban, hogy hányadik.
  3. new g_iMusic_Already_Choosed[sizeof(g_cMusic_List)], g_iChoosed_Musics_Id[20];
  4.  
  5. public plugin_init(){
  6.     new iSize = sizeof(g_cMusic_List);
  7.     //Minden map elején beállítjuk, hogy egyik szám sincs kiválasztva.
  8.     for(new iNum; iNum < iSize; iNum++)
  9.         g_iMusic_Already_Choosed[iNum] = 0;
  10.    
  11.     //Meghívjuk a függvényünket, amely kiválasztja a 20 véletlenszerü számot.
  12.     Choose_Random_Musics();
  13. }
  14.  
  15. public Choose_Random_Musics(){
  16.     //Lekezeljük azt a hiba lehetőséget, hogy ha kevesebb szám van mint 20, akkor ne generáljon egyet sem, mivel végtelen ciklusba fog lépni, ettől meg kifagy a szerver.
  17.     if(sizeof(g_cMusic_List) < 20){
  18.         set_fail_state("Legalább 20 számot kell tartalmaznia a const-nak!");
  19.         return; //Lehetséges, hogy a return nem kell ide, mivel a set_fail_state miatt leáll a plugin.
  20.     }
  21.  
  22.     new iMusic_Id;
  23.     for(new iNum; iNum < 20; iNum++){
  24.         //Addig generálja a véletlenszerü számokat a const-ból, amig talál egy olyant, ami még nincs kiválasztva.
  25.         do{
  26.             iMusic_Id = random_num(0, sizeof(g_cMusic_List) - 1);
  27.         }while(g_iMusic_Already_Choosed[iMusic_Id] == 1);
  28.        
  29.         //Ha talál olyan zenét, ami még nincs kiválasztva akkor beállítja, hogy ki van választva, illetve elmenti az azonosítóját
  30.         g_iMusic_Already_Choosed[iMusic_Id] = 1;
  31.         g_iChoosed_Musics_Id[i] = iMusic_Id;
  32.     }
  33. }

Ők köszönték meg Dooz nek ezt a hozzászólást (összesen 2): Tomii (2019.04.05. 19:49) • Vieni (2019.04.05. 20:19)
  Népszerűség: 4.55%


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


Ki van itt

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