17.10.2010, 16:13
Quote:
(off topic)
El callback OnPlayerClickPlayer lo podes utilizar para mejorar las herramientas de los administradores. Ejemplo: pawn Код:
Espero que a alguien le sirva... |
pawn Код:
#define dialogo_AdminMenu 0
new clicked[MAX_PLAYERS];
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
if(IsPlayerAdmin(playerid))
{
if(IsPlayerAdmin(clickedplayerid)) { SendClientMessage(playerid, 0xFFFFFF, "No podes modificar estadisticas de otros admins."); return 1; }
new aLista[128];
new clickedName[MAX_PLAYER_NAME];
new aListTitulo[MAX_PLAYER_NAME + 18];
clicked[playerid] = clickedplayerid;
GetPlayerName(playerid, clickedName, sizeof(clickedName));
format(aListTitulo, sizeof(aListTitulo), "ID: %d Nombre: %s", clickedplayerid, clickedName);
format(aLista, sizeof(aLista), "Advertir\nIr a\nVer\nCallar\nBan\nKick\nDar vida\nDar armadura\nDar Armas");
ShowPlayerDialog(playerid, dialogo_AdminMenu, DIALOG_STYLE_LIST, aListTitulo, aLista, "Siguiente", "Cerrar");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == dialogo_AdminMenu)
{
if (response == 1)
{
switch(listitem)
{
case 0: SendClientMessage(playerid, color_Rojo, "Advertir"); // En cada "case" podes modificar su funcion.
case 1: SendClientMessage(playerid, color_Rojo, "Ir a"); // Si es mas de una funcion escribi como en "case 2".
case 2:
{
SendClientMessage(playerid, color_Rojo, "Ver");
}
case 3: SendClientMessage(playerid, color_Rojo, "Callar"); // Si necesitas hacer una llamada al jugador clickeado usa clicked[playerid] en vez de clickedplayerid
case 4: SendClientMessage(playerid, color_Rojo, "Kick"); // ya que este ultimo es una variable de otro callback.
}
}
}
return 1;
}