Szerző Téma: [TuT] Enum használata  (Megtekintve 4111 alkalommal)

GroX

  • Vendég
[TuT] Enum használata
« Dátum: 2010. március 25. - 21:39:56 »
+4 Show voters
Nos ez kb a 3. tutom.
Régen láttam ilyesféle tutot a forumon valószínuleg törölve lett.
Egy tároló használatát fogom leírni. Ami a fájlkezelést is kényelmesebbé teheti.
Eloször hozzuk létre:
 

enum Info //Mátrix létrehozása
{
Name[MAX_PLAYER_NAME], //Név tároló
Money, //Pénz tároló
Score, //Pont tároló
}; //Lezárjuk

 
A 3 tároló ezen belül lehet akármi, ha lebegopontos értéket akarunk beilleszteni akkor Float: elotag kell, ha esetleg logikai változót akarsz (bár nem ajánlom) akkor bool:
Lehet több tároló is nem csak 3.
Nos most egy tömböt hozzunk létre amivel felhasználhatjuk ezt az egészet:
 
new pInfo[MAX_PLAYERS][info];

 
A MAX_PLAYERS a méretet jelenti, az Info résszel beágyazzuk a tömbbe a mátrixot. Általában használatkor a MAX_PLAYERS helyére a játékos azonosító kerül, vagy ha mindenkire vonatkozzon akkor a ciklusban létrehozott azonosító.
Dolgozzunk vele egy kicsit (Egy kis fájlba mentés):
 
public OnPlayerConnect(playerid)
{
new str[128]; //Karakterlánc létrehozása
new player[MAX_PLAYER_NAME]; //Változó a játékos nevéhez
GetPlayerName(playerid,player,sizeof(player)); //Lekérdezzük a játékos nevét
format(str,sizeof(str),\"/account/%s.ini\",player); //Megformázzuk a karakterláncot a játékos fájlának a helyére
pInfo[playerid][score] = dini_Int(str,\"Score\"); //A Score tárolót beállítjuk a fájlban tárolt értékre
pInfo[playerid][Money] = dini_Int(Account(playerid),\"Money\"); //A Money tárolót beállítjuk a fájlban tárolt értékre
return 1;
}

 
Persze nem csak így lehet használni, lehet sokféle értéket megadni a tárolónak:
 
pInfo[playerid][Money] = 5000;

 (Csak példának)
Ez a tároló még ráadásul abban is jobb mint az átlagos lekérdezés, hogy el is tárolja rendesen, nem csak a függvényen/cikluson belül (Ugyebár elveszik az érték, a függvény végén, ha csak átlagosan lekérdezzük, de ennél nem.).
Remélem azért valamennyire értheto ;)
« Utoljára szerkesztve: 2010. április 04. - 15:17:25 írta GroX »

Nem elérhető Depi

  • 2259
  • Még mindig TrYp. :)
    • Profil megtekintése
[TuT] Enum használata
« Válasz #1 Dátum: 2010. március 25. - 21:47:32 »
0 Show voters
Ezt már eddig is tudtam használni,de hasznos és értheto Tutoriál,gratulálok  :)
« Utoljára szerkesztve: 2010. március 26. - 08:55:59 írta Hell »

[TuT] Enum használata
« Válasz #2 Dátum: 2010. március 26. - 06:36:20 »
0 Show voters
enum Info //Mátrix létrehozása
{
Name, //Név tároló
Money, //Pénz tároló
Score, //Pont tároló
}; //Lezárjuk

 
Az utolsó mellé nem kell \",\" \"vesszo\"
Tehát
 
enum Info //Mátrix létrehozása
{
Name, //Név tároló
Money, //Pénz tároló
Score //Pont tároló
}; //Lezárjuk
« Utoljára szerkesztve: 2010. március 26. - 22:48:46 írta TengeriMalac »

GroX

  • Vendég
[TuT] Enum használata
« Válasz #3 Dátum: 2010. március 26. - 13:06:13 »
0 Show voters
Idézetet írta: TengeriMalac date=1269581780\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1099\" data-ipsquote-contentclass=\"forums_Topic

enum Info //Mátrix létrehozása
{
Name, //Név tároló
Money, //Pénz tároló
Score, //Pont tároló
}; //Lezárjuk

 
Az utolsó mellé nem kell \",\" \"vesszo\"
Tehét
 
enum Info //Mátrix létrehozása
{
Name, //Név tároló
Money, //Pénz tároló
Score //Pont tároló
}; //Lezárjuk

 

Igaz nem kell de bajt sem okoz. :)
ALIEN, és hell kösz :D

[TuT] Enum használata
« Válasz #4 Dátum: 2010. március 26. - 16:06:00 »
0 Show voters
SZép TuT lett grat :)

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[TuT] Enum használata
« Válasz #5 Dátum: 2010. április 04. - 11:52:24 »
0 Show voters
Észre vettem egy apró hibát.
A név tárolónak nem adtál értéket, így nem fog tárolásra kerülni a játékos neve.
 

enum Info //Mátrix létrehozása
{
Name, //Név tároló
Money, //Pénz tároló
Score //Pont tároló
};  //Lezárjuk

 
Helyett:
 

enum Info //Mátrix létrehozása
{
Name[MAX_PLAYER_NAME], //Név tároló
Money, //Pénz tároló
Score //Pont tároló
};  //Lezárjuk

 
Kérlek javítsd!  :shy:
Amúgy szép leírás lenne.  ;)

GroX

  • Vendég
[TuT] Enum használata
« Válasz #6 Dátum: 2010. április 04. - 15:17:46 »
0 Show voters
Javítva. :)
El is felejtettem...
« Utoljára szerkesztve: 2010. április 04. - 15:24:31 írta GroX »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal