Jump to content

Recommended Posts

Geplaatst:

Kan iemand mij hier mee helpen ik probeer dus een command te maken /setlevel [id] [level]

maar hoe werkt dat ik heb hier al gekeken en op wiki en op sa-mp.com maar ik snap er nog niks van kan iemand mij uitleggen hoe strtok werkt?

Geplaatst: (bewerkt)

Je kunt geen Engels zeker. Nou ik zal het even uitleggen.

Ga naar de

public OnPlayerCommandText(playerid, cmdtext[])

regel.

Zet dit onder de eerste { :

new cmd[30];
new idx;
cmd = strtok(cmdtext, idx);

Dan zet je daaronder je cmd bijv dit:

if(strcmp(cmd, "/sayhello", true) == 0)

Daar zet je dit onder.

{
	new tmp[30];
	tmp = strtok(cmdtext, idx);
	new anderespeler = strval(tmp);

En dan zet je eronder

		}
	return 1;
}
return 0;
}

Dan krijg je dit:

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[30];
new idx;
cmd = strtok(cmdtext, idx);

if(strcmp(cmd, "/sayhello", true) == 0)
{
	new tmp[30];
	tmp = strtok(cmdtext, idx);
	new anderespeler = strval(tmp);

//Hier is nu otherplayer de speler van het id wat iemand in 
//het spel achter /sayhello zet. En playerid degene die /sayhello in typt. 
//Hier kun je dus iets gaan doen met otherplayer en playerid

return 1;
}
return 0;
}

Ik hoop dat je het nu snapt.

En voor de duidelijkheid nog even een voorbeeld om iemand anders te vermoorden d.m.v. een cmd:

By =>Sandra<=:

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[30];
new idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/kill", true) == 0)
{
	new tmp[30];
	tmp = strtok(cmdtext, idx);
	new anderespeler = strval(tmp);
	new pname[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME];
	GetPlayerName(playerid, pname, sizeof(pname));
	GetPlayerName(anderespeler, aname, sizeof(aname));
	if(IsPlayerConnected(anderespeler))
	{
		new string[128],
		SetPlayerHealth(anderespeler, 0);
		format(string, sizeof(string), "%s has killed you!", pname);
		SendClientMessage(anderespeler, 0xE21D2CFF, string);
		format(string, sizeof(string), "You've killed %s!", aname);
		SendClientMessage(playerid, 0xE21D2CFF, string);
		format(string, sizeof(string), "%s has killed %s!", pname, aname);
		SendClientMessageToAll(0xE21D2CFF, string);
	}
	else
	{
		SendClientMessage(playerid, 0xFF0000AA, "This player is not online!");
	}
	return 1;
}
return 0;
}

Bewerkt: door Juwayri
Geplaatst:

Hier de code van hierboven, alleen dan zonder foutjes zover ik kon zien :puh:

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[30];
new idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/kill", true) == 0)
{
	new tmp[30];
	tmp = strtok(cmdtext, idx);
	new anderespeler = strval(tmp);
	new pname[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME];
	GetPlayerName(playerid, pname, sizeof(pname)); 
	GetPlayerName(anderespeler, aname, sizeof(aname)); 
	if(IsPlayerConnected(anderespeler))
	{
		new string[128],
		SetPlayerHealth(anderespeler, 0);
		format(string, sizeof(string), "%s has killed you!", pname);
		SendClientMessage(anderespeler, 0xE21D2CFF, string);
		format(string, sizeof(string), "You've killed %s!", aname);
		SendClientMessage(playerid, 0xE21D2CFF, string);
		format(string, sizeof(string), "%s has killed %s!", pname, aname);
		SendClientMessageToAll(0xE21D2CFF, string);
	}
	else
	{
		SendClientMessage(playerid, 0xFF0000AA, "This player is not online!");
	}
	return 1;
}
return 0;
}

Geplaatst:

Oeps, ik heb hem ook maar even snel in elkaar gezet en niet getest en dan maak je wel eens foutjes. Ik zal het meteen aanpassen.

Geplaatst:

ik kan wel engels

maar ik heb daar niks aan

want ik wil zo'n command /setlevel (id) (level)

en niet allen /heal {id}

Geplaatst:
ik kan wel engels

maar ik heb daar niks aan

want ik wil zo'n command /setlevel (id) (level)

en niet allen /heal {id}

Ik weet niet zeker hoor. Maar dan moet je geloof ik strok 2x gebruiken en dan moet je de variablen een andere naam geven.

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