Szerző Téma: Változók használata  (Megtekintve 860 alkalommal)

Nem elérhető Zsox

  • 140
    • Profil megtekintése
Változók használata
« Dátum: 2011. augusztus 26. - 00:49:19 »
0 Show voters
Ha mondjuk egy paranccsal letároljuk a játékos pozícióját sima Float változóba: GetPlayerPos(playerid, px, py, pz);, akkor az csak azé a játékosé lesz, vagy ha másik játékos is beírja ezt a parancsot, akkor az övé felülírja ezeket?
Vagy inkább így használjam?
new Float:px[MAX_PLAYERS];
new Float:py[MAX_PLAYERS];
new Float:pz[MAX_PLAYERS];
GetPlayerPos(playerid, px[playerid], py[playerid], pz[playerid]);

Nem elérhető smart

  • 136
    • Profil megtekintése
Változók használata
« Válasz #1 Dátum: 2011. augusztus 26. - 08:28:04 »
0 Show voters
Nem írják felül egymást, minden játékosnak külön mentõdik el a pozíciója.

Változók használata
« Válasz #2 Dátum: 2011. augusztus 26. - 09:39:19 »
0 Show voters
én az ilyen dolgokra mást,vagyis enumot használok pl.:
[pawn]enum SaveENUM { Float:sX, Float:sY, Float:sZ, Float:sA, SavedPos };
new Save[MAX_PLAYERS][saveENUM];[/pawn]

Változók használata
« Válasz #3 Dátum: 2011. augusztus 26. - 10:38:12 »
0 Show voters
Mindenféleképpen az utóbbit használd hiszen amennyi játékos van, annyi információt kell tárolni.
Tökéletes megoldás az enum is habár én erre a dologra pVar-t javasolnám, feltéve ha nem kell menteni ezeket az adatokat fájlba/adatbázisba.
Ezeknek a használata nem sokszor ismétlõdõ (5 percenként beírja valaki néha?), így nem okoz különösebb megterhelést a pozíció tárolásnál és felhasználásnál sem.
Itt most épp nem a sebességre kell gondolni, hanem a memória spórolásra.  :angel:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal