/setskin help
#1

Hey there

Iґve scripted this:

Код:
	if(strcmp(cmd, "/setskin", true) == 0) // Sets the playerґs skin
	{
	 	if (AccountInfo[playerid][AdminLevel] > 1 || IsPlayerAdmin(playerid))
	 	{
   	    SetPlayerSkin
	  	SendClientMessage(playerid, GREEN, "|- Skin changed -|");
	 	}
	 	else SendClientMessage(playerid, RED, "Not for you, Sir");
		return 1;
	}
How to add the playerґs ID and the skin-ID now?
Reply
#2

explain plz
what you want exactly ?
Reply
#3

here u go
Код:
Under OnPlayerCommandText.
dcmd(setskin,7,cmdtext);

dcmd_setskin(playerid, params[])
{
	new pName[MAX_PLAYER_NAME], ID, skin, string[128]; //**
	GetPlayerName(ID, pName, sizeof(pName));
	if (sscanf(params, "dd", ID,skin)){
		return SendClientMessage(playerid, COLOR_RED, "Correct Usage: /setskin [ID] [SkinID]");
	}
	if (!IsPlayerConnected(ID)){
		return SendClientMessage(playerid, COLOR_RED, "Incorrect playerid.");
	}
	skin = strval(params); //*
	SetPlayerSkin(ID, skin);
	format(string, sizeof(string),"Your skin was set to id %d",skin);
	SendClientMessage(ID,COLOR_BLUE, string);
	return 1;
}
Reply
#4

Many errors, and I gotta need the command in the same format as I posted above
Reply
#5

try this:

Код:
if(!strcmp(cmd,"/setskin",true))
{
	if(!pInfo[playerid][Admin]) return aerror(playerid);
	new tmp[128];
	tmp=strtok(cmdtext,idx);
	if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_GREY,"USAGE: /setskin [playername/id] [skinid]");
	id=ReturnUser(tmp);
	if(!IsPlayerConnected(id)) return error(playerid);
	tmp=strtok(cmdtext,idx);
	if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_GREY,"USAGE: /setskin [playername/id] [skinid]");
	new skin=strval(tmp);
	SetPlayerSkin(id,skin);
	format(string,sizeof(string),"Admin %s has changed your skin to %d.",PlayerName(playerid),skin);
	SendClientMessage(id,COLOR_RED,string);
	format(string,sizeof(string),"You've changed %s's skin to %d.",PlayerName(id),skin);
	SendClientMessage(playerid,COLOR_RED,string);
	return 1;
}
Reply
#6

Now the compiler even crashes while compiling
Reply
#7

Код:
(strcmp(cmd, "/setskin", true) == 0)
	{
	  if(IsPlayerConnected(playerid))
	  {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /setskin [playerid/PartOfName] [skin model]");
				return 1;
			}
			new playa;
			new skin;
			playa = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			skin = strval(tmp);
			if(skin < 0 || skin > 299)
			{
				SendClientMessage(playerid, COLOR_GREY, "The Skin ID can't be below 0 or above 300 !");
				return 1;
			}
			if (AccountInfo[playerid][AdminLevel] > 1 || IsPlayerAdmin(playerid))
			{
			  if(IsPlayerConnected(playa))
			  {
			    if(playa != INVALID_PLAYER_ID)
			    {
						GetPlayerName(playa, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						giveplayerid = ReturnUser(tmp);
						PlayerInfo[playa][pModel] = skin;
						PlayerInfo[playa][pChar] = skin;
						SetPlayerSkin(playa, PlayerInfo[playa][pChar]);
						format(string, sizeof(string), "* You have changed the skin to %s !", giveplayer);
						SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), "* %s has changed your skin !", sendername);
						SendClientMessage(playa, COLOR_LIGHTBLUE, string);
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, ADMIN_TEXT);
				return 1;
			}
		}
		return 1;
Reply
#8

try this..

Код:
if(strcmp(cmd, "/setskin", true) == 0) // Sets the playerґs skin
{
	if(IsPlayerConnected(playerid))
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /setskin [playerid/PartOfName] [skin id]");
			return 1;
		}
		new para1;
		new level;
		para1 = ReturnUser(tmp);
		tmp = strtok(cmdtext, idx);
		level = strval(tmp);
		if(level > 299 || level < 1) { SendClientMessage(playerid, COLOR_GREY, "Wrong skin ID!"); return 1; }
	 	if (AccountInfo[playerid][AdminLevel] > 1 || IsPlayerAdmin(playerid))
	 	{
	 	  if(IsPlayerConnected(para1))
			{
			  if(para1 != INVALID_PLAYER_ID)
			  {
			  	GetPlayerName(para1, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), "Your skin has been changed by Admin %s", sendername);
					SendClientMessage(para1, GREEN, string);
					format(string, sizeof(string), "You have given %s skin to %d.", giveplayer,level);
					SendClientMessage(playerid, GREEN, string);
			 		SetPlayerSkin(para1, level);
	 			}
	 		}
	 	}
	 	else
	 	{
	 	  SendClientMessage(playerid, RED, "  you are not authorized to use that command!");
	 	}
	}
	return 1;
}
Reply
#9

Код:
C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\admin.pwn(1066) : error 017: undefined symbol "giveplayer"
C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\admin.pwn(1066) : error 017: undefined symbol "giveplayer"
C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\admin.pwn(1066) : error 029: invalid expression, assumed zero
Reply
#10

Quote:
Originally Posted by Mo3
Код:
C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\admin.pwn(1066) : error 017: undefined symbol "giveplayer"
C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\admin.pwn(1066) : error 017: undefined symbol "giveplayer"
C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\admin.pwn(1066) : error 029: invalid expression, assumed zero
add
pawn Код:
new giveplayer[32];
next to paral
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)