Pawno-Console Hibák
Üdv mivel sok kezdõ nem tudja mitõl lehetnek pár egyszerû error/warningok ezért leírok pár figyelmesztetéseket és errort amivel a pawno kijelezné ezeket a hibákat ez lehet Warning vagy Error. Ilyen leírtást még nem nagyon láttam azért készítettem szerintem hasznos és sokat lehet tanulni belõle! Más warningokat/errorokat szívesen írattok mivel frissítem és oda írom!Ez a hiba akkor jön elõ amikor egy sort rosszúl írunk úgymond sor eltolodás a hibája ez nem nagy warning ez csak egy egyszerû dolgok ezt lehet javítani egy egyszerû függvényel. warning 217: loose indentation
A sor eltolodás javítása amit a mód elejére írunk: #pragma tabsize 0
Ez a hiba akkor jön elõ amikor egy parancshoz vagy más függvényt nem zártunk le úgymond return 1; } error 010: invalid function or declaration
Ez a hiba akkor jön elõ a pawnoban ha egy bízonyos függvény nincs a módban létrehozva vagyis definálva.. ez lehet new vagy #define error 017: undefined symbol
Ez a hiba akkor jön elõ ha a módban már 1x újra lett definálva ez lehet new vagy #define vagy más kód ami ezt a hibát írhatja! Ilyenkor a tehendõ az, hogy kitöröljük a módból azt a sort ami már újra meg van mivel elég 1x benne legyen a módban! error 021: symbol already defined
Ez nem pawno hiba! Ez a konzólban léphet elõ ami elégé idegesítõ mivel nem tudjuk mi lehet a hiba! Ez azért írja meg a pluginok nincsenek betöltve a server.cfg textdocumetjében! Run time error 19: \"File or function is not found\"
Ez a hiba akkor jön elõ amikor a módban nem zártunk le egy sort ez lehet } vagy ; error 001: expected token: \";\", but found \"{\"
Ez a hiba akkor jön elõ amikor egy függvényt nem írtunk jól le vagyis egy kód vagy egy függvény hibás ez lehet példáúl ez:Ez a jó megoldás: Kick(playerid);
Ez a rossz megoldás: Kick(\"playerid\");
error 035: argument type mismatch (argument 1)
Ez a hiba akkor jön elõ amikor az egyenlõ helyett 1 egyenlõséget rakunk de nem csak akkor több helyen elõ jön ez a hiba! mondjuk van egy változó ami: if( test[ playerid ] = 1 ) ez hibás mivel mikor ellenõzirünk akkor persze, hogy 2 egyenlõség kell: if( test[ playerid ] == 1 ) 211: possibly unintended assignment
Ez a hiba akkor jön elõ amikor rossz függvényt írtunk vagy másoltunk be akkor ezt a warningot elõhívja a mód még jó csak a függvény ami rossz szerver befagyást vagy más hibát csinálhat! warning 213: tag mismatch
Egyenlõre ennyi! :D Ha nem írtam még le a többit akkor szívesen várom a válaszokat és bemásolom! Remélem segítettem!
Frissítve: 2013.02.8
A függvényed meghívásakor több a paraméter, mint amennyi a függvény paraméterlistáján van.
Pl:
Fuggveny(as,df)
{
return as+df;
}
main()
{
Fuggveny(5,6,7);
return 0;
}
Ezzel mit tudok kezdeni?
E:\\Bence\\teszt\\gamemodes\\teszt.pwn(5901) : error 029: invalid expression, assumed zero
E:\\Bence\\teszt\\gamemodes\\teszt.pwn(5901) : error 008: must be a constant expression; assumed zero
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
A hibás sor,és környéke ennyibõl áll:
public OnServerChangedHostName( );
new hostnames[ ][ ] =
{
\"Teszt\",
\"Adminfelvétel: OFF\",
};
De a 037-es kódnál hova kell az egyenlõség jel? nekem ezeknél irja:
new pName [MAX_PLAYER_NAME];
new string [256];
GetPlayerName(playerid, pName, sizeof (pName));
format(string, sizeof (string), \"*SZERVER*:%s[iD:%d] csatlakozott a szerverre!\", pName, playerid);
SendClientMessageToAll(\"COLOR_ORANGE\", string);
return 1;
new pName [MAX_PLAYER_NAME];
new string [256];
GetPlayerName(playerid, pName, sizeof (pName));
switch(reason)
{
case 0: format(string, sizeof(string), \"*SZERVER*: %s[iD:%d] lecsatlakozott a szerverrõl! Indok: Kilépés\", pName, playerid);
case 1: format(string, sizeof(string), \"*SZERVER*: %s[iD:%d] lecsatlakozott a szerverrõl! Indok: Idõtúllépés\", pName, playerid);
}
SendClientMessageToAll(\"COLOR_RED\", string);
return 1;
Szövegszín paramétert nem kell idézõjelbe rakni.
SendClientMessageToAll(COLOR_ORANGE, string);
D:\\Hungarian\\HungarianRP.pwn(19856) : warning 203: symbol is never used: \"strtok\"
Ezt mi okozza? Eddig jó volt és nem hiányzott a módból?
Tudom van rá megoldás..
#pragma unused strtok
Hozzátenném hogy újra lett telepítve a gépem és új pawno a módhoz lévõ inceket beraktam de biztos van olyan inc amihez még volt valami.
Ötlet?
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= \' \'))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}