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: sticky2 - 2015. Augusztus 10. - 08:21:11

Cím: Változó méretének lekérdezése
Írta: sticky2 - 2015. Augusztus 10. - 08:21:11
Sziasztok!
Bárhogy nézem, nem tudok rájönni miért ír ki hibát...
Tudnátok egy pillantást vetni rá? :)
Az első sorral van gond.
 
      for(new i; i < sizeof(PlayerInfo[playerid][Car]); i++)
{
    if(PlayerInfo[playerid][Car] == 0)
    {
        PlayerInfo[playerid][Car] = vehicleid;
    }
}

 

D:\\Sa-Mp\\gamemodes\\grandlarc.pwn(3525) : error 001: expected token: \"]\", but found \"-identifier-\"
D:\\Sa-Mp\\gamemodes\\grandlarc.pwn(3525) : error 029: invalid expression, assumed zero
D:\\Sa-Mp\\gamemodes\\grandlarc.pwn(3525) : error 029: invalid expression, assumed zero
D:\\Sa-Mp\\gamemodes\\grandlarc.pwn(3525) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
4 Errors.
Cím: Változó méretének lekérdezése
Írta: huhboy - 2015. Augusztus 10. - 09:44:25
a hiba ott van, hogy a PlayerInfo tömböd az áll a PlayerInfo-ból, a MAX_PLAYERS-ből, és valószínűleg a Car-ból, jelen esetben. vagyis csak 2 tag van hozzá rendelve. de te a for ciklus alatt hozzá akarsz rendelni egy 3-at, de mivel a 3. tag nincs létrehozva a tömbnél, így nem tud vele mit kezdeni.
Cím: Változó méretének lekérdezése
Írta: sticky2 - 2015. Augusztus 10. - 09:54:51
És mit lehetne vele kezdeni?
Jelenleg így van:
[pawn]enum pData
{
Car[5]
}
new PlayerInfo[MAX_PLAYERS][pData];
[/pawn]
Cím: Változó méretének lekérdezése
Írta: huhboy - 2015. Augusztus 10. - 10:00:23
valahogy máshogy kéne átgondolni az egészet, mert ez ebben a formában aligha fog működni. de még én is gondolkozom rajta kicsit. hátha addig valaki más megtalálja a megoldást :D
viszont egyszerűbb lenne, ha elárulnád, mit is akarsz ezzel a kóddal. mert nekem nem igazán van ötletem, hogy mire használnád.
Cím: Változó méretének lekérdezése
Írta: divkn - 2015. Augusztus 10. - 10:03:18
Belebotlottál egy PAWN fordító bugba. sizeof esetében a tömb elemeknek üresnek kell lennie, így kérdezné le a méretét. Javítani tudtommal nem lehet, viszont ez a megoldás van csak.
 

#define MAX_CARS 30
enum playerInfo
{
playerName[20],
playerIp[15],
playerCar[MAX_CARS],
};
stock PlayerInfo[MAX_PLAYERS][playerInfo];
// Valahol a kódban:
for new i; i < MAX_CARS; i++ do
{
    PlayerInfo[playerid][Car] = 0
}
Cím: Változó méretének lekérdezése
Írta: sticky2 - 2015. Augusztus 10. - 10:29:42
Rendben, köszi a válaszokat majd kiötlök valamit. :/