Jump to content

een Handig commando, maar het werkt niet


Recommended Posts

Geplaatst:

Ok, Ik heb een paar minuten geleden een Commando gemaakt "/popup [Popup Naam] [Text]"

De naam van het Commando zegt het al, Het laat een popup zien voor alle spelers.

maar nu het probleem.

Ik teste het met /popup announcement -uw text hier-

Maar de server crashte, maar omdat ik een Auto Restarter had ging ie wel weer aan, maar dat is een ander verhaal.

hier is het commando:

	if(strcmp(cmd, "/popup", true) == 0)
{
	tmp = strtok(cmdtext, idx);
       tmp2 = strtok(cmdtext, idx);
	if(!strlen(tmp))
	{
		SendClientMessage(playerid, COLOR_WHITE, "[uSAGE]: /popup [boxname] [text]");
		return 1;
	}
	if(!strlen(tmp2))
	{
		SendClientMessage(playerid, COLOR_WHITE, "[uSAGE]: /popup [boxname] [text]");
		return 1;
	}
	new MsgString1[256];
	new MsgString2[256];
	strval(tmp);
	tmp = strtok(cmdtext, idx);
	strval(tmp2);
	tmp2 = strtok(cmdtext, idx);
	if ((IsPlayerAdmin(playerid)) || Pinfo[playerid][Admin] >= 7)
	{
		SendClientMessage(playerid, 0xFFFFFFFF, "Box has been Generated");
		SetTimer("HideBox", 5000, 0);
		format(MsgString1,sizeof(MsgString1), "%s", tmp);
		format(MsgString2,sizeof(MsgString2), "%s", tmp2);
		TextDrawSetString(BoxName, MsgString1);
		TextDrawShowForAll(BoxName);
		TextDrawSetString(BoxText, MsgString2);
		TextDrawShowForAll(BoxText);
		TextDrawShowForAll(TextBox);
	}
	else
	{
		SendClientMessage(playerid, COLOR_RED, "You are not authorized to use that command!");
	}
	return 1;
}

alvast bedankt, Chan

Geplaatst:

Ik heb even zitten proberen, maar dat wil niet lukken doordat "Boxname", Boxtext" en "Textbox" bij mij "undefined symbol" geeft. Kun je die er even bijgeven?

Nog een kleine opmerking: bijna helemaal bovenaan staat "tmp = strtok(cmdtext, idx);"

wat me vrij overbodig lijkt? in dat gedeelte gebruik je alleen tmp2

btw, ik snap trouwens totaal niets van de bedoeling van deze command, maar dat kan aan mij liggen :puh:

Geplaatst:

Je hebt die

tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);

er 2 keer in staan, dat is niet de bedoeling.

Bij de eerste keer, bovenaan het commando, worden de boxnaam en de boxtext er wel correct uitgehaald, maar als je het nogmaals doet, dan krijg je 2 lege strings....

...en als je een lege string wil verzenden, crasht je server (of client).

En ook aan strval(tmp); en strval(tmp2) heb je niks, omdat je die 2 variabelen gewoon als string wilt gebruiken en niet als getal (integer).

'strval' converteerd namelijk een string naar een getal ;)

Dus haal eens deze 4 regels uit je script. (In die pastebin code is het regel 57 t/m regel 60.

strval(tmp);
tmp = strtok(cmdtext, idx);
strval(tmp2);
tmp2 = strtok(cmdtext, idx);

Geplaatst:

Ok =>Sandra<=

Het werkt :D Bedankt, maar dan kom ik bij een 2é Probleem :(

als ik doe /popup Warning You have been Spotted

Kom er alleen

Warning [als boxname]

you [als text]

meer niet, Hoe kan ik dat nou weer oplossen? :(

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