28.07.2017, 22:09
Hello i need help whit making /changename [new name] command it will send a massage to online admins after that admins can use /setname [id] and it will change to new name.
#include zcmd
#include foreach
new namechangeTimer[MAX_PLAYERS];
// Put this at the top of your script.
CMD:requestname(playerid, params[])
{
if (isnull(params))
return SendClientMessage(playerid, -1, "Usage: /requestname [new name] to notify admins of a name change request.");
if(strlen(params) > MAX_PLAYER_NAME || strlen(params) < 3)
return SendClientMessage(playerid, -1, "** Your name must be at least 24 characters and greater than 3.");
// This checks the params' string length. https://sampwiki.blast.hk/wiki/SetPlayer...8.07258916
// Players are denied entry to the server if their name is below 3 chars.
if(gettime() - namechangeTimer[playerid] < 60)
return SendClientMessage(playerid, -1, "* You need to wait 60 seconds before sending another request.");
// This is just to avoid the command being spammable. Remove it if you don't want it.
// It'll make sure that 60 seconds have passed before the player can send in another request.
new string[128], currentName[MAX_PLAYER_NAME];
GetPlayerName(playerid, currentName, sizeof(currentName));
namechangeTimer[playerid] = gettime();
// Get the current time to use for the 60 second check above.
foreach (new i : Player)
{
if(IsPlayerAdmin(i))
{
format (string, sizeof(string), "[Admin] %s is requesting a namechange to %s.", currentName, params);
SendClientMessage(i, 0x0000FFFF, string);
}
}
// This checks if a player is an admin and sends them the notification.
// If you have your own variable for a player being an admin, change IsPlayerAdmin to that.
format (string, sizeof(string), "** You requested a namechange from %s to %s. Admins were notified.", currentName, params);
SendClientMessage(playerid, 0x0000FFFF, string);
return true;
}
#include a_samp
#include sscanf
#include zcmd
CMD:setname(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
new player1, tmp2[32];
if(sscanf(params,"is[32]",player1,tmp2)) return SendClientMessage(playerid, red, "USAGE: /setname [playerid] [new name]");
new length = strlen(tmp2), string[128];
if(length < 3 || length > MAX_PLAYER_NAME+1) return SendClientMessage(playerid,red,"ERROR: Incorrect Name Length");
if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
CMDMessageToAdmins(playerid,"SETNAME");
format(string, sizeof(string), "You have set \"%s's\" name to \"%s\" ", pName(player1), tmp2); SendClientMessage(playerid,blue,string);
if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your name to \"%s\" ", pName(playerid), tmp2); SendClientMessage(player1,blue,string); }
PlayerInfo[playerid][God] = 0;
SetPlayerHealth(player1, 100);
SetPlayerName(player1, tmp2);
return OnPlayerConnect(player1);
} else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
} else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
}
stock CMDMessageToAdmins(playerid,command[])
{
if(ServerInfo[AdminCmdMsg] == 0) return 0;
new string[128];
GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"[ADMIN] '%s' (Level: %d) | Command: %s",string,PlayerInfo[playerid][Level],command);
MessageToAdmins(blue,string);
return 1;
}
forward MessageToAdmins(color,const string[]);
public MessageToAdmins(color,const string[])
{
foreach (new i : Player) if(IsPlayerConnected(i) == 1) if (PlayerInfo[i][Level] >= 1 || IsPlayerAdmin(i)) SendClientMessage(i, color, string);
//return 1;
}
PHP код:
|
PHP код:
|