SA-MP Forums Archive
Colocar Comando /AdminDuty - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Colocar Comando /AdminDuty (/showthread.php?tid=360377)



Colocar Comando /AdminDuty - Juan_Morales - 17.07.2012

hola, Es que tengoun GM que no tiene Adminduty y la gente se confunde al reportar por que no saben si estan duty o no y necesito un codigo que les cambie de color el nick para que se pueda diferenciar.


Respuesta: Colocar Comando /AdminDuty - Zume - 17.07.2012

Код:
new AdminDuty
Код:
zcmd(adminduty, playerid, params[])
	{
	new stringasxd[100];

	if(PlayerInfo[playerid][pTuVariabledeAdmin] > 0 )
	{

	if(AdminDuty[playerid] == 0)
	{
	AdminDuty[playerid] = 1;
	SetPlayerColor(playerid,0xFFFF20FF);

	format(stringasxd, sizeof(stringasxd), "El administrador %s estб en servicio.",  PlayerName(playerid), playerid);
	SendClientMessageToAll(-1, stringasxd);
	return 1;
	}
	else
	{
	AdminDuty[playerid] = 0;
	
	
	SetHP(playerid, 100);
	SetPlayerColor(playerid,-1);

	format(stringasxd, sizeof(stringasxd), "El Administrador %s estб fuera de servicio", PlayerName(playerid), playerid);
	SendClientMessageToAll(-1, stringasxd);
	return 1;
	}
	} else SendClientMessage(playerid, -1,"No tenes poderes.");
	return 1;
	}
Код:
stock PlayerName(playerid)
	{
	new Nombre[24];
	GetPlayerName(playerid,Nombre,24);
	new N[24];
	strmid(N,Nombre,0,strlen(Nombre),24);
	for(new i = 0; i < MAX_PLAYER_NAME; i++)
	{
	if (N[i] == '_') N[i] = ' ';
	}
	return N;
	}
Asн ?


Respuesta: Colocar Comando /AdminDuty - oOFotherOo - 20.07.2012

Es facil amigo solo haz lo siguiente:

Defines:
pawn Код:
new AdminDuty;
Luego vas a la Callback OnPlayerConnect y pones esto:
pawn Код:
AdminDuty[playerid] = 0; // Valor 0 significa que cuando un admin se conecta estara off duty...
Luego ha la Callback OnPlayerDisconnect y pones lo siguiente:
pawn Код:
AdminDuty[playerid] = 0; // Valor 0 significa que cuando un admin se desconecta estara off duty...
Bueno ahora creamos el comando que iria asi:

pawn Код:
CMD:adminduty(playerid, params[])
{
    if( PlayerInfo[playerid][pAdmin] > 1 )
    {
      if(AdminDuty[playerid] == 0) // Verifica si el usuario esta off duty.
      {
            AdminDuty[playerid] = 1; // Pone al usuario On duty si este esta Off Duty
            SetPlayerHealth(playerid, 99999); // Vida infinita
            SetPlayerArmour(playerid, 99999); // Chaleco infinito
            SetPlayerSkin(playerid, 100);  // Skin administrativo
            return 1;
      }
      else if(AdminDuty[playerid] == 1)  // Verifica si el usuario esta on duty.
      {
             AdminDuty[playerid] = 0; // Pone al usuario Off Duty si este esta On Duty.
             SetPlayerHealth(playerid, 100); // Setea la vida a 100
             SetPlayerArmour(playerid, 0);  // Quita el chaleco
             return 1;
      }
    }
return 1;
}
Ahora si queres que un comando admin funcione solo cuando estes On Duty agrega esto al comando debajo de la variable if(PlayerInfo[playerid][pAdmin]):
pawn Код:
if(AdminDuty[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "[Error]: No estas en servicio.");
Un saludo cualquier duda MP..