10.11.2012, 14:50
Know everyone how to make a /changename cmd with ZCMD and SSCANF, and that only admins can use it?
CMD:setname(playerid.params[])
{
if(pInfo[playerid][Admin] >= 0 || IsPlayerAdmin(playerid)) // replace pinfo and admin by ur admin scripts admin var ...
{
new player1 = strval(params);
new name[24];
if(sscanf(params,"us",player1,name))return SendClientMessage(playerid,Red,"[Useage]: {FFFFFF}/setname [playerid] [name]");
new string[200];
format(string,sizeof(string),"{F30000}You Have Set The Name Of Player %s(Id: %d) To %s(Id: %d).",Playername(player1),player1,name,player1);
SendClientMessage(playerid,White,string);
SendClientMessage(playerid,White,"{F30000}The player will automatically register..");
format(string,sizeof(string),"{F30000}Admin %s(Id: %d) Has Set Your Name To %s(Id: %d).",Playername(playerid),playerid,name,player1);
SendClientMessage(player1,White,string);
SendClientMessage(player1,White,"{F30000}You need to register!");
return SetPlayerName(player1,name);
}
else return SendClientMessage(playerid,0xFF00FFFF,"You ARe Not Admin!");
}
//At end of ur script
stock Playername(playerid)
{
new pname[70];
GetPlayerName(playerid,pname,sizeof(pname));
return pname;
}
CMD:changename( playerid, params[ ] )
{
new
id,
new_name[ MAX_PLAYER_NAME ],
string[ 128 ]
;
if( !IsPlayerAdmin( playerid ) ) return SendClientMessage( playerid, -1, "You are not admin!" );
if( sscanf( params, "us", id, new_name ) ) return SendClientMessage( playerid, -1, "Usage: /changename <ID/Part Of Name> <New Name>" );
switch( SetPlayerName( id, new_name ) )
{
case -1:
{
format( string, sizeof( string ), "Unable to change his/her name, someone else is known as %s already.", new_name );
SendClientMessage( playerid, -1, string );
}
case 0:
{
format( string, sizeof( string ), "That player is already known as %s", new_name );
SendClientMessage( playerid, -1, string );
}
case 1:
{
format( string, sizeof( string ), "That player is now known as %s", new_name );
SendClientMessage( playerid, -1, string );
}
}
return 1;
}
CMD:changename(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) //You can replace this with your admin script.
return SendClientMessage(playerid, 0xFF0000FF, "You must login as RCON to use this command.");
new p2;
new name[24];
new Lname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Lname, sizeof(Lname));
if(sscanf(params,"us[24]", p2, name)) return SendClientMessage(playerid, 0xFF0000FF, "Usage: /changename [playerid] [new name]");
new pName[MAX_PLAYER_NAME];
GetPlayerName(p2, pName, sizeof(pName));
if(strlen(name < 3)) return SendClientMessage(playerid, 0xFF0000FF, "Low character level. Minimum:3");
if(strlen(name > 24)) return SendClientMessage(playerid, 0xFF0000FF, "High character level. Maximum:24");
SetPlayerName(p2, name);
new str[128][2];
format(str[0],sizeof(str[0]), "Your name has been set to %s by %s", name, Lname);
format(str[1],sizeof(str[1], "You have set %s's name to %s", pName, name);
SendClientMessage(p2, 0xFF0000, str[0]);
SendClientMessage(playerid, 0xFF0000, str[1]);
return 1;
}
pawn Код:
|