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: dexi - 2012. január 14. - 15:21:45
-
Ház rendszert próbálok írni és a tulaj nevét így tárolnám:
hInfo[houseid][tulaj] = GetPlayerName(playerid);
Tehát string-et tennék hozzá.
Hogy enumoljam hogy elfogadja mert így az array méretére panaszkodik.
-
http://wiki.sa-mp.com/wiki/Strmid
Vagy
http://wiki.sa-mp.com/wiki/Format
-
A format az ilyenekre nemjó, mivel lassú.
[pawn]
hInfo[houseid][tulaj][0] = EOS;
strcat(hInfo[houseid][tulaj], String_Amit_Bele_Akarsz_Irni, Hossz);
[/pawn]
Vagy strmid.
Megint kicsit elértettem a kérdést, szal feleslegesen szóltam hozzá :D
-
A format az ilyenekre nemjó, mivel lassú.
[pawn]
hInfo[houseid][tulaj][0] = EOS;
strcat(hInfo[houseid][tulaj], GetPlayerName(playerid), 24);
[/pawn]
Ez még jobb. :D
Nem hinném hogy túl sokat számítana a lassúsága szerver üzemelés terén nem egy annyira gyakran meghívott funkció akar lenni amit percenként ~30000 szer használnának. :D
Edit:
A GetPlayerName nem tér vissza a játékos nevével hanem a számára megadott változóba másolja a játékos nevet.
[pawn]enum blaenum
{
tulaj[24]
};
#define MAX_HOUSE 100 // csak írtam egy értéket
new hInfo[MAX_HOUSE][blaenum];[/pawn]
[pawn]new name[24];
GetPlayerName(playerid, name, sizeof name);
hInfo[houseid][tulaj] = EOS;
strcat(hInfo[houseid][tulaj], name);[/pawn]
És mivel a változóba másolja a nevet le is lehet egyszerûsíteni:
[pawn]GetPlayerName(playerid, hInfo[houseid][tulaj], 24); // Ha jól tudom panaszkodik a fordító ha enum típusu változó array méretét akarjuk lekérni sizeof-al ezért írtam a 24-et.
[/pawn]
-
Köszi! :)
Am maradtam format-nál. Egyszer hívodik meg az egész, ongamemode init-nél :D