Jump to content
Geplaatst:
comment_1491265

Omdat ik de laatste tijd veel topics zie met errors die makkelijk te fixen zijn, zal ik hier een paar "basis" errors neerzetten en hoe je die kan fixen en in de toekomst kan voorkomen.

We onderscheiden 3 soorten errors:

  • Fatal Errors (100 - 199)
  • Errors (1 - 99)
  • Warnings (200 - 299)

Ik ga hier niet alle errors en warnings neerzetten (moet je nagaan hoeveel werk dat is), alleen diegene die het meest voorkomen.


Fatal Errors.

Fatal Error 100: Can not read from file <file>

Fatale Fout 100: Kan niet lezen van bestand <bestand>

Deze komt vaak voor als je niet de benodigde include bestanden hebt voor een script. Zonder de juist includes kan je script niet compilen.

Vaak gaat het hier om dini of dutils of andere bekende includes.

Download:

Fatal Error 107: Too many error messages on one line

Fatale Fout 107: Te veel fouten op eén lijn

Druk op CTRL+G en typ het nummer van de lijn in waar de error zit. Vaak gaat het hier gepaard met andere soorten errors, als je die fixt, verdwijnt deze ook.


Errors

Error 001: Expected token: "token", but found "token"

Fout 001: Verwacht teken: "teken", maar gevonden "teken"

Je bent hoogstwaarschijnlijk vergeten een regel af te sluiten met een ')' en/of ';'

Error 017: Undefined symbol "symbol"

Fout 017: Symbool niet gedefiniëerd "symbool"

De variabele die je gebruikt hebt om een waarde/string in op te slaan is niet gedefiniëerd. Met andere woorden, je hebt nergens 'new symbool' staan. Meestal gaat het hier om een string om tekst in op te slaan.

Het eenvoudigste wat je kan doen, is gewoon een globale variabele aanmaken voor alle tekst die in de chat moeten worden verzonden.

// Bovenaan je script
new gString[128];

Error 021: Symbol already defined: "symbol"

Fout 021: Symbool werd al gedefiniëerd: "symbol"

Je hebt tweemaal een symbool met dezelfde naam, haal er een weg of hernoem er een. Indien het gaat om een callback, moet je die twee callbacks samenvoegen.

Error 030: Compound statement not closed at the end of file

samengestelde verklaring niet gesloten op het einde van het bestand

Onverwacht einde van het bestand. Een of meer samengestelde verklaringen zijn nog niet voltooid.

Dit wil zeggen dat het afsluitende haakje "}" niet kon worden gevonden.

Error 033: Array must be indexed (variabele "var")

Fout 033: Array moet geïndexeerd zijn (variabele "var")

Makkelijk op te lossen door je symbool aan te passen: new var[128];


Warnings

Warning 202: Number of arguments does not match definition

Waarschuwing 202: aantal argumenten komt niet overeen met declaratie

Deze komt voor als je foutief gebruikt maak van een functie/callback. Bijvoorbeeld:

SendClientMessage(playerid, "message"); // kleur ontbreekt, warning 202

Warning 203: Symbol is never used:"symbol"

Waarschuwing 203: Symbool is nooit gebruikt: "symbol"

Je hebt ergens een new symbol staan die nergens in je script gebruikt wordt. Als je er geen gebruik van gaat maken, kun je die het beste verwijderen.

Warning 217: Loose indentation

Waarschuwing 217: Verkeerde indentatie

Makkelijke manier om dit op te lossen (raad ik niet aan omdat je script zo erg onoverzichtelijk wordt en/of mogelijk niet meer goed werkt):

// Bovenaan
#pragma tabsize 0

Je code is niet goed geïndent. Na elke '{' spring je 4 spaties (1 tab) in, en na elke '}' ga je dat weer terug. Bijvoorbeeld:

// Fout:
public Functie()
{
anderefunctie();
noganderefunctie();
return 1;
}

// Goed:
public Functie()
{
anderefunctie();
noganderefunctie();
return 1;
}

Warning 225: Unreachable code

Waarschuwing 225: Onbereikbare code

Komt voor als de code nooit kan uitgevoerd worden. Oplossing: Code weghalen.

Bijvoorbeeld:

public Functie()
{
if(iets == true)
{
	// code
	return 1;
}
else
{
	// andere code
	return 1;
}
return 1; // <= Unreachable code
}

Warning 235: Public function lacks forward declaration

Waarschuwing 235: Public funtions hebben een forward declaratie nodig

Je hebt ergens een nieuwe public aangemaakt, maar hem niet geforwarded (bv. forward OnPropertyUpdate();)


Indien je wilt dat ik een error expliciet uitleg, plaats dan de error in dit topic.

Dit topic wordt nog geüpdate! (Sticky? :puh: )

Bewerkt: door Big Boss

  • Reacties 33
  • Bezichtigingen 8.5k
  • Created
  • Laatste reactie

Top Posters In This Topic

Featured Replies

Geplaatst:
comment_1645835

Ik heb hem nu zo

if (strcmp("/start", cmdtext, true, 10) == 0)

{

SendClientMessageToAll("COLOR_RED", "***LET OP: Iedereen in zijn positie Censuur en David in de Blade en Censuur alvast opstijgen met de heli!!!");

return 1;

}

return 0;

Maar nu geeft die deze error

D:\david\destkop\server gta\gamemodes\filmen.pwn(169) : error 035: argument type mismatch (argument 1)

Geplaatst:
comment_1645837

dan zegt die

D:\david\destkop\server gta\gamemodes\filmen.pwn(169) : error 017: undefined symbol "COLOR_RED"

en dit staat bovenaan

#define COLOR_RED 0xFF0000AA

Bewerkt: door dmbekker

  • 3 weken later...
Geplaatst:
comment_1658930

heey, ik ben bezig met script editen omdat ik pas sinds paar dagen dat doe.

Nu als ik op F5 wil drukke krijgen ik het volgende te zien.

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Header size: 14184 bytes

Code size: 2732752 bytes

Data size: 12537796 bytes

Stack/heap size: 16384 bytes; estimated max. usage=5383 cells (21532 bytes)

Total requirements:15301116 bytes

Kameraat zei iets met een loop ofzo?

B.V.D.

Geplaatst:
comment_1659034

Dit betekend dat je script teveel geheugen in beslag neemt. Dit topic op het SA-MP forum laat de gemakkelijkste manier zien om je script minder geheugen te laten gebruiken. Als je al goed kan scripten, kun je hier ook eens een kijkje nemen.

Veel succes!

Wanted.

Geplaatst:
comment_1659238

Dit betekend dat je script teveel geheugen in beslag neemt. Dit topic op het SA-MP forum laat de gemakkelijkste manier zien om je script minder geheugen te laten gebruiken. Als je al goed kan scripten, kun je hier ook eens een kijkje nemen.

Veel succes!

Wanted.

oke super :) is nu opgelost het bleek inderdaad iets anders te zijn waarom ik hem niet online kon krijgen

  • 3 weken later...
Geplaatst:
comment_1669484

gamemodes\RP.pwn(1382) : error 012: invalid function call, not a valid address

gamemodes\RP.pwn(1382) : warning 215: expression has no effect

gamemodes\RP.pwn(1382) : error 001: expected token: ";", but found ")"

gamemodes\RP.pwn(1382) : error 029: invalid expression, assumed zero

gamemodes\RP.pwn(1382) : fatal error 107: too many error messages on one line

Zit al een tijdje te vogelen XD

maar lukt niet echt.

	new tmpstr[256],File:carmods,tmp,tmpres[256],tmpcolor;
carmods=fopen("carmods",io_read);
tmpres[0]=0;
for(new i;i<700;i++)
	{
	for(new p;p<20;p++)
		{
		format(tmpstr,256,"%d_%d",i,p);
		while (fread(carmods,tmpres))
			{
			StripNewLine(tmpres);
[Regel 1382]				if (equal(dini_PRIVATE_ExtractKey(tmpres),tmpstr,true))
				{
				tmp = strval(dini_PRIVATE_ExtractValue(tmpres));
				break;
				}
			}
		Component[i][p] = tmp;
		if(p==16 && tmp) ChangeVehiclePaintjob(i,tmp);
		else if(p==18) tmpcolor = tmp;
		else if(p==19) ChangeVehicleColor(i,tmpcolor,tmp);
		else if(tmp) AddVehicleComponent(i,tmp);
		}
	}
}

Bewerkt: door MATHIJS

  • 2 maanden later...
Geplaatst:
comment_1712645

Hey, ik heb hier nog een error:

C:\Documents and Settings\XP\Bureaublad\New EditServer\Objecten.pwn(35 -- 93) : fatal error 102: table overflow: "staging buffer"
  • 2 weken later...
Geplaatst:
comment_1719862

wel handig voor mensen maar ik ben een basis scripter en ik heb vaak errors maar ook wel warnings en ik had 1 keer gehad dat ik een script zonder fouten had maar ik heb liever een warning dan een error wand bij een error maakt i alleen een pwn bestand aan dus niet de amx en dat is best wel kut

Geplaatst:
comment_1719883

wel handig voor mensen maar ik ben een basis scripter en ik heb vaak errors maar ook wel warnings en ik had 1 keer gehad dat ik een script zonder fouten had maar ik heb liever een warning dan een error wand bij een error maakt i alleen een pwn bestand aan dus niet de amx en dat is best wel kut

Wat is daar nu "kut" aan, dat is juist goed, want moest hij wel een .amx bestand aanmaken zou je script toch niet werken.

  • 3 maanden later...
Geplaatst:
comment_1779090

(6068) : error 029: invalid expression, assumed zero

(6068) : error 004: function "check_speed" is not implemented

(6071) : error 029: invalid expression, assumed zero

(6071) : error 004: function "check_speed" is not implemented

Geplaatst:
comment_1779154

(6068) : error 029: invalid expression, assumed zero

(6068) : error 004: function "check_speed" is not implemented

(6071) : error 029: invalid expression, assumed zero

(6071) : error 004: function "check_speed" is not implemented

jij gebruik ergens de functie "check_speed" alleen die heb je nergens gedefined

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.