Jump to content

Text adden in multi-param cmd.


Recommended Posts

Geplaatst: (bewerkt)

Hallo,

Ik maak een cellphone script en daar moet natuurlijk een sms-functie bij. Ik heb de onderstaande code al:

   new cmd[256], idx, tmp[256];
cmd = strtok(cmdtext, idx);
       if(strcmp(cmd, "/sms", true)==0)
{
	new giveplayerid, text;
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp))
	{
		SendClientMessage(playerid, COLOR_RED, "USAGE: /sms [playerid] (text)"); return 1;
		}
		giveplayerid = strval(tmp);

	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp))
	{
			SendClientMessage(playerid, 0xFF0000AA, "USAGE: /sms [playerid] (text)"); return 1;
	}
               text = strval(tmp);

	if(!IsPlayerConnected(giveplayerid))
	{
      		SendClientMessage(playerid, COLOR_RED, "That player is offline"); return 1;
	}
	new pname[MAX_PLAYER_NAME];
	new string[256];
	GetPlayerName(playerid, pname, sizeof (pname));
	format(string, sizeof(string), "* SMS: %s Sender %s (%d)",text,pname,playerid);
	SendClientMessage(giveplayerid, COLOR_WHITE, string);
	return 1;
}

Stel dat je sms't: eikel! naar id 0. Dan zie ik * SMS: Sender: sean5874. Kortom, het lukt dus niet om de text te verzenden/te laten zien. Misschien omdat multi-param normaal met cijfers werkt? Weet iemand hier een oplossing voor??

Greetz,

sean5874

Bewerkt: door sean5874
Geplaatst:

stel je command is /sms [id] [text] dan moet je eerst met strtok eerst het id ophalen en dan voor de text gebruik je het variabele cmdtext[8], dit is dus wat er ingevoerd is zonder de eerste acht tekens (/sms id).

Geplaatst:

@Goudewup: Dat gaat niet lukken omdat 'id' kan bestaan uit 1, 2, of 3 getallen dus in sommige gevallen werkt 'cmdtext[8]' niet.

Geplaatst:

@Goudewup: ik krijg het er niet error-loos in, en als het gaat doet ie het nog steeds niet.

@Megadreams: dcmd vond ik altijd al ingewikkeld, heb een paar tuts gelezen. Zou dit niet met strcmp mogelijk zijn?

Geplaatst:

@Goudewup: ik krijg het er niet error-loos in, en als het gaat doet ie het nog steeds niet.

@Megadreams: dcmd vond ik altijd al ingewikkeld, heb een paar tuts gelezen. Zou dit niet met strcmp mogelijk zijn?

Geloof mij dcmd is vele makkelijker, handiger en sneller dan strcmp ;)

Geplaatst:

	if (strcmp("/sms", cmd, true) == 0)
{
	new string[128], id;                    //variabelen aanmaken
	tmp = strtok(cmdtext, idx);             //het id vinden
	id = strval(tmp);                       //het id bruikbaar maken
	if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /sms [id] [text]"); //checken of er een id is ingevuld
	format(string, sizeof(string), "(([sMS] %s: %s ))", name, cmdtext[7]); //het bericht maken
	SendClientMessage(id, 0xFFFFFFFF, string); //het bericht verzenden
	return 1;
}

Dit zou moeten werken

Geplaatst:

@Goudewup: Dat gaat niet lukken omdat 'id' kan bestaan uit 1, 2, of 3 getallen dus in sommige gevallen werkt 'cmdtext[8]' niet.

Geplaatst:

(Sandra's post is verdwenen? :|)

Vaak zijn het maar 2 getallen, en als je echt zeker wil zijn maak je er cmdtext[9] van, nadeel is dan wel dat er bij 1-getal-ids letters worden afgesneden...

En ik weet eigenlijk geen andere manier met strcmp :bonk:

Geplaatst:

(Sandra's post is verdwenen? :|)

Vaak zijn het maar 2 getallen, en als je echt zeker wil zijn maak je er cmdtext[9] van, nadeel is dan wel dat er bij 1-getal-ids letters worden afgesneden...

En ik weet eigenlijk geen andere manier met strcmp :bonk:

Sandra's post is er nog ;)

En via strcmp is het veel te moeilijk, hij kan beter dcmd of zcmd gebruiken en die zijn echt makkelijker ;)

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