Všiml jsem si že některé z help topiců jsou uplně zbytečné, stačilo by se kouknout na wikinu a bylo by to, jenže někdteří místo toho radši jdou sem a postou si sem svůj topic, aniž by se třeba koukli jestli se to tu již neřešilo.
Hledal jsem zde, ale nenašel, jestli zde tento návod je, tak se omlouvám..
Jedná se o mírně upravený! překlad ze samp wiki (http://wiki.sa-mp.com/wiki/Errors_List) - jelikož jak jsem koukal tak většina lidí z help topicu angičtinu neovládaji, nebo jen základy...
Takže...
Error - Chyba, kdy kompilátor nemůže vygenerovat příslušný kód - Tyto chyby nesou čísla od 1 do 99
Fatal Error - Narazí-li kompilátor na tuto chybu, přeruší se kompilace a vypíše vám fatal error - Fatal Error-y nesou číla od 100 do 199
Warining - Kompilace se dokončí, ale funkce zdřejmě nebude fungovat jak má.. - Warning-y nesou čísla od 200-299
Errory (ty nejčastější)
001: expected token - Požadovaný výraz nebyl nalezen
Příklad:
cesta/file.pwn(18) : error 001: expected token ";", but found "return"
- číslo 18 je řádek, kde se tato chyba stala (vetšinout chyba bývá o řádek výš).
15| public OnPlayerConnect(playerid)
16| {
17| SendClientMessage(playerid, BARVA_BILA, "Vítej na serveru")
18| return 1;
19| }
- Zde si zkontrolujeme, kde nám chybí znaménko ";", jistě jste si všimli, že na konci řádku 17 chybí za závorkou ";", a to je ten problém, proč nám to nefunguje, oprava bude tedy vypadat takto:
17| SendClientMessage(playerid, BARVA_BILA, "Vitejte na serveru"); //doplnili jsme středník na konec řádku
002: only a single statement (or expression) can follow each “case” - Každé "case" muže ve "switch" pojmout jen jeden příkaz - Pokud chcete do case dát více příkazů, přidejte jej do složenýc závorek ( { } ), nebo jej musíte oddělit čárkou
Příklad: Takto vypadá tento error:
error 002: only a single statement (or expression) can follow each "case"
cesta/file.pwn(14) : error 002: only a single statement (or expression) can follow each "case"
cesta/file.pwn(14) : warning 215: expression has no effect
cesta/file.pwn(16) : error 010: invalid function or declaration
035: argument type mismatch (argument x) - Argument který jsme do funkce dosadili není správný
Příkad:
cesta/file.pwn(15) : error 035: argument type mismatch (argument 1)
15| Kick("playerid");
Opravíme (najdeme si třeba na wiki) a zjistíme, že tam nemají být uvozky, takže opravíme takto:
15| Kick(playerid);
047: array sizes do not match, or destination array is too small - Velikost array je příliš malá...
cesta/file.pwn(18) : error 047: array sizes do not match, or destination array is too small
14| new pozdrav[3];
15| new zprava[] = "Pawno.cz";
..|
18| pozdrav = zprava;
Jak vidíte, máme "pozdrav", který je o velikosti 3 (3charaktery - mezera se počítá tež jako charakter), ale zpráva "Pawno.cz", má 8 charakterů, tím pádem se zpráva nedá "dosadit" do pozdrav.
Tím pádem máme na výber, buď zvětšíme array, nebo zkrátíme zprávu (Mužete se s tím hudně setkat třeba u stringu..)
14| new pozdrav[9];
15| new zprava[] = "Pawno.cz";
..|
18| pozdrav = zprava;
Tip: Operátory na pravé a levé straně se musí rovnat, nebo musí být levá strana větší.
Fatal erorr-y (nejčastější)
100: cannot read from file: "<soubor>"
- Máte v souboru zapsané include, ale kompilátor nemohl tento soubor najít ve složce "<cesta>/pawno/include". Tip: Pokud máte v počítačí vícekrát program pawno, může vám to způsobovat tuto chybu (pracujete v "pawno(1)", ale include máte ve složce kde máte "pawno(2)").
Warning-y (nejčastější)
202: number of arguments does not match definition - Co k tomu říct..Máte moc nebo málo argumentů.. Ukáži:
- Pokud nevíte, tak správné znění je SendClientMessage(playerid, color, const message[]), tudíž zde máme jeden argument navíc, stačí jen porovnat podle wiki (například pokud neznáte danou funkci) a opravit jej
Dotaz
w.endelin 15
Všiml jsem si že některé z help topiců jsou uplně zbytečné, stačilo by se kouknout na wikinu a bylo by to, jenže někdteří místo toho radši jdou sem a postou si sem svůj topic, aniž by se třeba koukli jestli se to tu již neřešilo.
Hledal jsem zde, ale nenašel, jestli zde tento návod je, tak se omlouvám..
Jedná se o mírně upravený! překlad ze samp wiki (http://wiki.sa-mp.com/wiki/Errors_List) - jelikož jak jsem koukal tak většina lidí z help topicu angičtinu neovládaji, nebo jen základy...
Takže...
Error
- Chyba, kdy kompilátor nemůže vygenerovat příslušný kód
- Tyto chyby nesou čísla od 1 do 99
Fatal Error
- Narazí-li kompilátor na tuto chybu, přeruší se kompilace a vypíše vám fatal error
- Fatal Error-y nesou číla od 100 do 199
Warining
- Kompilace se dokončí, ale funkce zdřejmě nebude fungovat jak má..
- Warning-y nesou čísla od 200-299
Errory (ty nejčastější)
001: expected token
- Požadovaný výraz nebyl nalezen
Příklad:
- číslo 18 je řádek, kde se tato chyba stala (vetšinout chyba bývá o řádek výš).
- Zde si zkontrolujeme, kde nám chybí znaménko ";", jistě jste si všimli, že na konci řádku 17 chybí za závorkou ";", a to je ten problém, proč nám to nefunguje, oprava bude tedy vypadat takto:
002: only a single statement (or expression) can follow each “case”
- Každé "case" muže ve "switch" pojmout jen jeden příkaz
- Pokud chcete do case dát více příkazů, přidejte jej do složenýc závorek ( { } ), nebo jej musíte oddělit čárkou
Příklad:
Takto vypadá tento error:
Nám to nyní koplo tyto errory/warningy:
Opravíme jej takto:
035: argument type mismatch (argument x)
- Argument který jsme do funkce dosadili není správný
Příkad:
Opravíme (najdeme si třeba na wiki) a zjistíme, že tam nemají být uvozky, takže opravíme takto:
047: array sizes do not match, or destination array is too small
- Velikost array je příliš malá...
Jak vidíte, máme "pozdrav", který je o velikosti 3 (3charaktery - mezera se počítá tež jako charakter), ale zpráva "Pawno.cz", má 8 charakterů, tím pádem se zpráva nedá "dosadit" do pozdrav.
Tím pádem máme na výber, buď zvětšíme array, nebo zkrátíme zprávu (Mužete se s tím hudně setkat třeba u stringu..)
Tip: Operátory na pravé a levé straně se musí rovnat, nebo musí být levá strana větší.
Fatal erorr-y (nejčastější)
100: cannot read from file: "<soubor>"
- Máte v souboru zapsané include, ale kompilátor nemohl tento soubor najít ve složce "<cesta>/pawno/include".
Tip: Pokud máte v počítačí vícekrát program pawno, může vám to způsobovat tuto chybu (pracujete v "pawno(1)", ale include máte ve složce kde máte "pawno(2)").
Warning-y (nejčastější)
202: number of arguments does not match definition
- Co k tomu říct..Máte moc nebo málo argumentů.. Ukáži:
- Pokud nevíte, tak správné znění je SendClientMessage(playerid, color, const message[]), tudíž zde máme jeden argument navíc, stačí jen porovnat podle wiki (například pokud neznáte danou funkci) a opravit jej
203: symbol is never used: "<symbol>"
- V kodu je funkce, nebo proměnná která není použita.
- ale tuto proměnou nepoužiju, jeduše tedy jen najdu příslušný řádek, a smažu (nemusíme, pokud víme, že proměnnou použijeme)
Toto varovaní může být ignorováno
Návod označen jako platný
Ten to návod byl označen jako platný.Návod může být kdykoli označen jako nevhodný či neplatný
Návod není dokončen na 100% !
Link to comment
Share on other sites
4 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now