Jump to content

Fout met cmd of strok


Recommended Posts

Geplaatst:

Ik krijg de volgende foutmeldingen:

 error 010: invalid function or declaration
error 017: undefined symbol "strtok"
error 033: array must be indexed (variable "tmp")
error 017: undefined symbol "giveplayerid"
error 017: undefined symbol "giveplayerid"
error 017: undefined symbol "giveplayerid"
warning 219: local variable "cmd" shadows a variable at a preceding level
warning 203: symbol is never used: "idx"

In het volgende stukje script:

if(strcmp(cmd, "/bevries", true) == 0)
{
if(!IsPlayerAdmin(playerid)) return 0;
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
if(!strlen(tmp))
{
	SendClientMessage(playerid,COLOR_RED,"Gebruik: /bevries[id]");
	return 1;
}
if(IsPlayerConnected(giveplayerid))
{
	TogglePlayerControllable(giveplayerid, 0);
}
else return SendClientMessage(playerid, COLOR_RED, "Deze speler is niet online");
return 1;
}

Wat is er precies fout?

Geplaatst: (bewerkt)

 error 010: invalid function or declaration
error 017: undefined symbol "strtok"

Je hebt strtok niet. Hier kun je hem vinden (SA-mp wiki :gaap:)

error 033: array must be indexed (variable "tmp")

Weet zoeven niet..

 error 017: undefined symbol "giveplayerid"
error 017: undefined symbol "giveplayerid"
error 017: undefined symbol "giveplayerid"

new giveplayerid; in je code zetten

 warning 219: local variable "cmd" shadows a variable at a preceding level

een ander..

warning 203: symbol is never used: "idx"

Je gebruikt nergens idx, maar staat ook niet in je code, zoek er eens naar en haal hem weg.

Bewerkt: door VWO-er
Geplaatst:

Het is gelukt! :tu: Me volgende vraag is als ik iemand bevries dat de gene die word bevroren kan zien door wie die is bevoren bevoorbeeld: Je bent bevroren door [Admin] Quincy

Geplaatst:
Het is gelukt! :tu: Me volgende vraag is als ik iemand bevries dat de gene die word bevroren kan zien door wie die is bevoren bevoorbeeld: Je bent bevroren door [Admin] Quincy

Je kan je naam van de admin krijgen door GetPlayerName te gebruiken.

Die zet je in een string met format(blablabla);

Geplaatst: (bewerkt)

In de chatbox of als grote tekst op het scherm? Als je hem in de chatbox wilt plaatsen doe je dit:

new melding;
format(melding, sizeof(melding), "Je bent bevroren door %d", playerid);
SendClientMessage(COLOR_RED, melding);

Als je hem op het scherm wilt hebben doe je dit:

new melding;
format(melding, sizeof(melding), "Je bent bevroren door %d", playerid);
GameTextForPlayer(giveplayerid, melding, 3000, 4);

Hier meer uitleg over de GameTextForPlayer-code.

@ hierboven: Jup, alleen de blablabla begrijp ik niet helemaal :?

@ Sandra hieronder: Ooit van sarcasme gehoord? :7

Bewerkt: door VWO-er
Geplaatst:

Ik krijg de foutmeldingen:

error 035: argument type mismatch (argument 1)

error 035: argument type mismatch (argument 1)

warning 202:n umber of arguments does not match definition

Geplaatst:
@ hierboven: Jup, alleen de blablabla begrijp ik niet helemaal :?

new PName[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, PName, sizeof(PName));
format(string, sizeof(string), "You're frozen by admin %s (ID: %d)", PName, playerid);
SendClientMessage(giveplayerid, 0xFF0000AA, string);

Geplaatst:
@ hierboven: Jup, alleen de blablabla begrijp ik niet helemaal :?

new PName[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, PName, sizeof(PName));
format(string, sizeof(string), "You're frozen by admin %s (ID: %d)", PName, playerid);
SendClientMessage(giveplayerid, 0xFF0000AA, string);

En waar moet ik dat precies plaatsen in het stukje script van mij?/

Geplaatst:
@ hierboven: Jup, alleen de blablabla begrijp ik niet helemaal :?

new PName[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, PName, sizeof(PName));
format(string, sizeof(string), "You're frozen by admin %s (ID: %d)", PName, playerid);
SendClientMessage(giveplayerid, 0xFF0000AA, string);

ik krijg nu een paar keer deze warning:

warning 219: local variable "string" shadows a variable at a preceding level

Geplaatst: (bewerkt)
haal

new string[128];

weg

Ik heb heel wat weggehaalt alleen nu moet ik hem nog weghalen bij:

strtok( const string[], &index, const seperator[] = " " )

alleen hoe doe ik dat wanmt als ik string weghaal krijg ik gewoon te veel errors

Bewerkt: door quincy225
Geplaatst: (bewerkt)

nee, moest alleen

new string[128];

weghalen uit die code die ik je gaf, want die veroorzaakte waarscheinlijk die warning.

Bewerkt: door =>Sandra<=
Geplaatst:

Oke heb ik nu gedaan geen warnings alleen, alleen nu krijg ik de tekst niej , als ik dan /bevries ID doe word ik wel bevroren maar ik krijg geen tekst bericht dit luidt het script:

if(strcmp(cmd, "/bevries", true) == 0)
{
if(!IsPlayerAdmin(playerid)) return 0;
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
if(!strlen(tmp))
{
		new PName[MAX_PLAYER_NAME];

GetPlayerName(playerid, PName, sizeof(PName));
format(string, sizeof(string), "You're frozen by admin %s (ID: %d)", PName, playerid);
SendClientMessage(giveplayerid, 0xFF0000AA, string);
	SendClientMessage(playerid,COLOR_RED,"Gebruik: /bevries[id]");

	return 1;
}

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...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...