Jump to content

Featured Replies

Geplaatst:
comment_1436662

Er is een gewone team chat optie maar dit is een andere waar je meer mee kant veranderen:

Ergens bovenaan zoner public of return:

	SendRedMessage(color, text[]) {
for(new i = 0; i < MAX_PLAYERS; i ++) {
	if(IsPlayerConnected(i)) {
		admin = dini_Int(userfile, "adminlevel");
  if(gTeam[i] == Red) {
			SendClientMessage(i, color, text);
		}
	}
}
}
SendBlueMessage(color, text[]) {
for(new i = 0; i < MAX_PLAYERS; i ++) {
	if(IsPlayerConnected(i)) {
		admin = dini_Int(userfile, "adminlevel");
  if(gTeam[i] == Blue) {
			SendClientMessage(i, color, text);
		}
	}
}
}

Bij chat:

if(strcmp(cmd,"/tc",true)==0)
			{
if (gTeam[playerid] == Red)
	{
if ((strlen(cmdtext) >= 1)&&(strlen(cmdtext) <= 2)) { SendClientMessage(playerid,COLOR_RED, "Syntax: /tc <MESSAGE>"); return 1; }
GetPlayerName(playerid,name,sizeof(name));	format(string,sizeof(string),"Team 1 Chat(%s):%s",name,cmdtext[2]); SendRedMessage(COLOR_GREEN, string);

}
if (gTeam[playerid] == Blue)
	{
if ((strlen(cmdtext) >= 1)&&(strlen(cmdtext) <= 2)) { SendClientMessage(playerid,COLOR_RED, "Syntax: /tc <MESSAGE>"); return 1; }
GetPlayerName(playerid,name,sizeof(name));	format(string,sizeof(string),"Team 2 Chat(%s):%s",name,cmdtext[2]); SendBlueMessage(COLOR_PURPLE, string);

}

return 1;
}

Geplaatst:
comment_1437228
bedankt maar nog een vraagje, hoe kan ik het zo instellen dat je bij een class of als command, dat je je skin kunt verandere bv, /skin {ID}

Ik heb het nog niet getest maar het zou zo ongeveer moeten

zet dit bij onplayertextcommand

new cmd[256],tmp[256], tmp2[256], string[256];
new idx;
new giveplayerid;
new skinid;
cmd = strtok(cmdtext, idx);
if(strcmp("/skin", cmdtext,  true))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
	SendClientMessage(playerid, 0xFF0000AA, "GEBRUIK: /skin [SPELER ID] [skin id]");
	return 1;
}
giveplayerid = strval(tmp);
tmp2 = strtok(cmdtext, idx);
if(!strlen(tmp2))
{
	SendClientMessage(playerid, 0xFF0000AA, "GEBRUIK: /skin [speler id] [SKIN ID]");
	return 1;
}
if(IsPlayerConnected(giveplayerid))
{
	skinid = strval(tmp2);
	SetPlayerSkin(giveplayerid, skinid);
	format(string, sizeof(string), "je hebt id %d  skin naar skin id %d gezet", giveplayerid, skinid);
			SendClientMessage(playerid, 0xFF0000AA, string);
	return 1;
}
	else
	{
		   SendClientMessage(playerid, 0xFF00000AA, "Die speler id is niet in gebruik");
	   return 1;
	}
}

En zet dit onder aan je script

strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
	index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
	result[index - offset] = string[index];
	index++;
}
result[index - offset] = EOS;
return result;
}

ik hoop dat het werkt

Geplaatst:
comment_1437729
Wat nou als het een niet bestaande skin is? Dan crashed je server. Dat zal er nog bij moeten.

Deze skins crashen je server: 3, 4, 5, 6, 7, 8, 42, 65, 74, 86, 119, 149, 208, 268, 273, 289

Ja hmmm, dat zou zo kunnen.

Plaats dit onder "skinid = strval(tmp2);" ( niet uit gestest )

if( skinid = 3 || skinid = 4 || skinid = 5 || skinid = 6 || skinid = 7 || skinid = 8 || skinid = 42 || skinid = 65  || skinid = 74 || skinid = 86 || skinid = 119 || skinid = 149 || skinid = 208 || skinid = 268 || skinid = 273 || skinid = 289 )
{
	// SendClientMessage(playerid, 0xFF0000AA, "*Je hebt een niet bestaand skin id ingevoerd!!*");
	return 1;
}

Bewerkt: door Erryn

Geplaatst:
  • Auteur
comment_1437743
Wat nou als het een niet bestaande skin is? Dan crashed je server. Dat zal er nog bij moeten.

Deze skins crashen je server: 3, 4, 5, 6, 7, 8, 42, 65, 74, 86, 119, 149, 208, 268, 273, 289

Ja hmmm, dat zou zo kunnen.

Plaats dit onder "skinid = strval(tmp2);" ( niet uit gestest )

if( skinid = 3 || skinid = 4 || skinid = 5 || skinid = 6 || skinid = 7 || skinid = 8 || skinid = 42 || skinid = 65  || skinid = 74 || skinid = 86 || skinid = 119 || skinid = 149 || skinid = 208 || skinid = 268 || skinid = 273 || skinid = 289 )
{
	// SendClientMessage(playerid, 0xFF0000AA, "*Je hebt een niet bestaand skin id ingevoerd!!*");
	return 1;
}

thanks allemaal maar een ander vraagje, je hebt bv if(IsPlayerAdmin(playerid)) maar wat moet ik hieraan verandere als ik wil dat alle mensen die lvl 3 admin zijn die dingen kunnen?? want ik kan mensen admin lvls geven en ik weet dat dit kan maar ik kon niet meer terug vinden waar het stond :S

Geplaatst:
comment_1437774
thanks allemaal maar een ander vraagje, je hebt bv if(IsPlayerAdmin(playerid)) maar wat moet ik hieraan verandere als ik wil dat alle mensen die lvl 3 admin zijn die dingen kunnen?? want ik kan mensen admin lvls geven en ik weet dat dit kan maar ik kon niet meer terug vinden waar het stond :S

Hmmm, je hebt dan bv ( met sandra's account systeem ) adminlevel[playerid] == 3

Dat moet je zo plaatsen in een script zo kan alleen een level 3 admin dit zien

if(strcmp("/skin", cmdtext, true) )

{

if( adminlevel[playerid] == 3)

{

Je command moet hier

}

else

{

SendClientMessage(playerid, 0xFF0000AA, "*Je bent geen admin of je hebt geen level 3 admin rechten");

return 1;

}

return 1;

}

Geplaatst:
comment_1437800

Wanneer gaat iedereen nou eens een keertje beginnen met dcmd gebruiken? Die bovenstaande code kan ik in dcmd veel keer korter maken. Wat hier staat kan eigenlijk nog korter, maar dan gaat het de forum layout vern**ken.

dcmd_skin(playerid, params[])
{
new
	targetid,
	targetskin,
	string[128];

if(!IsPlayerAdmin(playerid))
{
	SendClientMessage(playerid, COLOR_RED, "You are not authorized to use this command!");
	return 1;
}
if(sscanf(params, "ui", targetid, targetskin))
{
	SendClientMessage(playerid, COLOR_RED, "USAGE: /skin [Playerid/PartOfName] [Skinid]");
	return 1;
}
if(!IsPlayerConnected(targetid))
{
	SendClientMessage(playerid, COLOR_RED, "ERROR: Target player not connected!");
	return 1;
}
if(IsInvalidSkin(targetskin))
{
	SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid skin");
	return 1;
}
SetPlayerSkin(targetid, targetskin);
format(string, sizeof(string), "* You have been switched to skin %d by an Admin!", targetskin);
SendClientMessage(targetid, COLOR_BLUE, string);
format(string, sizeof(string), "* You have switched id %d to skin %d", targetid, targetskin);
SendClientMessage(playerid, COLOR_BLUE, string);
return 1;
}

stock IsInvalidSkin(skinid)
{   
	// Created by Simon
// Checks whether the skinid parsed is crashable or not.

#define	MAX_BAD_SKINS   14

new badSkins[MAX_BAD_SKINS] = {
	3, 4, 5, 6, 8, 42, 65, 74, 86,
	119, 149, 208, 273, 289
};

for (new i = 0; i < MAX_BAD_SKINS; i++) {
	if (skinid == badSkins[i]) return true;
}

return false;
}

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.