GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Norbivar - 2013. május 29. - 20:58:04

Cím: Array-ek
Írta: Norbivar - 2013. május 29. - 20:58:04
Sziasztok!
Nekem egy olyan egyszerû kérdésem lenne, hogy létezik-e olyan array, aminek 3 \'slotja\' van.
Teszemazt példának a GF:   PlayerInfo[playerid][pInfo].
Na most a kérdésem az igazából az lenne, hogy ehhez lehet-e még rakni egy változót?
Mondjuk  Bag[playerid][bSlot][bItemID], vagy valami ilyesmit.
// Gondoltam megkérdezem, hátha valaki már járt errefele a témában. Mondjuk sokáig tartott rájönni hogy ez a gebasz a scriptembe, mivel errort nem kapok rá, és kifagyasztani se fagyasztja a szervert ha strmid-elek bele mondjuk.
Cím: Array-ek
Írta: Zsolesszka - 2013. május 29. - 21:07:24
Nem teljesen világos mit akarsz tudni, de ha arra amire gondolok akkor igen írhatsz hozzá de már csak számokkal illetve definíciókkal hivatkozhatsz rá.
 

enum pInfo
{
    array[3]
};
new PlayerInfo[MAX_PLAYERS][pInfo];
//majd így hivatkozhatsz rá:
PlayerInfo[playerid][array][0] = 10;
PlayerInfo[playerid][array][1] = 20;
PlayerInfo[playerid][array][2] = 30;
Cím: Array-ek
Írta: Norbivar - 2013. május 29. - 21:10:37
Igen, igen, pontosan erre gondoltam.
Kipróbáltam, sajnos ugyanúgy nemképes beolvasni. Semmi error, semmi warning,csak simán nem olvassa be.
Apropó még egy kérdés: PlayerInfo[playerid][array][0] = 20
                                        Ilyen helyett én string tárolására gondoltam. Nem vagyok egy nagy zseni (vagy legalább is nem tapasztaltam még ilyet hogy tudjam), ilyet lehet csinálni?
Na jó, konkrétan:
 
enum itemInfo
{
iName[128],
iAmount,  // A cucc mennyisége
};
new Taska[MAX_PLAYERS][MAX_INVENTORY_ITEMS][itemInfo];

 
Van itt nekem ez.  És pl. ez a kód hogy :
 
strmid(Taska[playerid][itemtoload][iName],itemstringasload,0,strlen(itemstringasload));
//tehát pl. a 0-ás IDJü playernek, az 1. item slotjának, a nevét írná át. Elméletben. Csak hogy ez nem akar mûködni sehogysem.

 
 Nehéz kifejeznem amire gondolok sajnos, de megvalósítani így akartam. Egy háromdimenziós array kell, csak string változóval.. És itt valahogy nem tudja betölteni a 3. részbe.
Még nem sikerült ezt megoldanom sajnos, és kezdek elpártolni ennek a megoldhatóságától.
Cím: Array-ek
Írta: Zsolesszka - 2013. május 30. - 09:17:29
A strmid az mintha bugos lenne 0.3x-nél, nekem se mûködik.
Próbáld így:
 
strcat(Taska[playerid][itemtoload][iName], itemstringasload, 128);

 
vagy format-tal.
Cím: Array-ek
Írta: Norbivar - 2013. május 30. - 18:07:07
Köszi, nagyon-nagyon sokat segítettél :)
//Formattal sikerült megcsinálni, bár míg rájöttem hogy a hossznál strlen-t ilyenre nemszabad használni az is volt 2-3 crash ideje :D