Hola gente quisiera pedir un cmd / reportar id razón para los usuarios y con un tiempo de 60 segundo para reportar de nuevo y un cmd para los administradores de /reportes y que salga un textdraw de todos los reportes sin atender y cuando un administrador acepte uno salga el administrador xx esta viendo el reporte. Gracias
2 participantes
pedido cmd / reportar y /reportes
Jeree10- Mensajes : 16
Fecha de inscripción : 10/04/2014
Edad : 27
- Mensaje n°1
pedido cmd / reportar y /reportes
4L3X- Mensajes : 1068
Fecha de inscripción : 15/01/2011
Edad : 28
Localización : Cuenca, España
- Mensaje n°2
Re: pedido cmd / reportar y /reportes
Necesito la variable del nivel admin. Ej: InfoPlayer[playerid][pAdmin] o Info[playerid][pAdminZC] o el que sea
Jeree10- Mensajes : 16
Fecha de inscripción : 10/04/2014
Edad : 27
- Mensaje n°3
Re: pedido cmd / reportar y /reportes
La variable es [PAdmin]4L3X escribió:Necesito la variable del nivel admin. Ej: InfoPlayer[playerid][pAdmin] o Info[playerid][pAdminZC] o el que sea
4L3X- Mensajes : 1068
Fecha de inscripción : 15/01/2011
Edad : 28
Localización : Cuenca, España
- Mensaje n°4
Re: pedido cmd / reportar y /reportes
Jeree10 escribió:La variable es [PAdmin]4L3X escribió:Necesito la variable del nivel admin. Ej: InfoPlayer[playerid][pAdmin] o Info[playerid][pAdminZC] o el que sea
InfoPlayer[playerid][pAdmin]
es esa? y para los comandos usas zcmd
Jeree10- Mensajes : 16
Fecha de inscripción : 10/04/2014
Edad : 27
- Mensaje n°5
Re: pedido cmd / reportar y /reportes
Si uso zcmd4L3X escribió:Jeree10 escribió:La variable es [PAdmin]4L3X escribió:Necesito la variable del nivel admin. Ej: InfoPlayer[playerid][pAdmin] o Info[playerid][pAdminZC] o el que sea
InfoPlayer[playerid][pAdmin]
es esa? y para los comandos usas zcmd
Edito: la variable es InfoPlayer [ playerid ] [ pAdmin ]
4L3X- Mensajes : 1068
Fecha de inscripción : 15/01/2011
Edad : 28
Localización : Cuenca, España
- Mensaje n°6
Re: pedido cmd / reportar y /reportes
VARS:
DIALOGS:
CMDS:
TIMERS:
Aqui te dejo el sistema, lo hice ahora en un momento tu cambiale los mensajes y los colores. Si no sabes como montarlo todo avisame y te explico paso a paso donde va cada cosa ok?
Casi me olvido, los comandos son:
/reportar [id] [razon] //comando para el jugador
/reportes //comando para administrador muestra dialogo con los reportes
/verreporte [id] //ve los detalles del reporte
/areporte [id] //acepta el reporte y como dijiste envia notificacion a los administradores al igual que cuando se realiza el reporte
- Código:
new ReportPLR_X[MAX_PLAYERS];
new ReportPLR_ACT[MAX_PLAYERS];
new ReportPLR_USER[MAX_PLAYERS];
new ReportPLR_MSG[MAX_PLAYERS][567];
DIALOGS:
- Código:
#define diaReportes 7580
#define diaReportesX 7581
CMDS:
- Código:
zcmd(reportar, playerid, params[]){
new xid_re;
new string_re[567];
new string_tot[567];
if(ReportPLR_X[MAX_PLAYERS] == 0)
{
if (!sscanf(params, "us[567]", xid_re, string_re))
{
if(IsPlayerConnected(xid_re)){return SendClientMessage(playerid, -1, "{ff0000}El jugador se encuentra fuera de linea !");}
ReportPLR_X[playerid] += 60;
ReportPLR_ACT[playerid] = 1;
ReportPLR_USER[playerid] = xid_re;
format(ReportPLR_MSG, sizeof(ReportPLR_MSG), "%s", string_re);
for(new aid; aid < MAX_PLAYERS; aid++)
{
if(InfoPlayer[aid][pAdmin] > 0)
{
format(string_tot, sizeof(string_tot), "[%s] Envio un reporte a %s por %s");
SendClientMessage(aid, -1, string_tot);
}
}
format(string_tot, sizeof(string_tot), "Has enviado un reporte a %s por %s");
SendClientMessage(playerid, -1, string_tot);
SetTimerEx("OnPLR_ReportTime", 1000, false, "u", playerid);
return true;
}else{SendClientMessage(playerid, -1, "{ff0000}Usa: /reportar [id] [razon]");}
}else{SendClientMessage(playerid, -1, "{ff0000}Tienes que esperar 60 segundos para volver a usar este comando!");}
return false;
}
zcmd(reportes, playerid, params[]){
if(InfoPlayer[playerid][pAdmin] > 0)
{
new string[567];
new PlayerName[70];
for(new xid; xid < MAX_PLAYERS; xid++)
{
if(ReportPLR_ACT[xid] != 0)
{
GetPlayerName(xid, PlayerName, sizeof(PlayerName));
format(string, sizeof(string), "%s Reporte: %s usa /verreporte %d\r\n", string, PlayerName, xid);
}
}
ShowPlayerDialog(playerid, diaReportes, DIALOG_STYLE_MSGBOX, "Reportes activos", string, "CERRAR", "");
return true;
}else return false;
}
zcmd(verreporte, playerid, params[]){
if(InfoPlayer[playerid][pAdmin] > 0)
{
new xid;
if (!sscanf(params, "u", xid))
{
if(ReportPLR_ACT[xid] == 0) return false;
new string[1024];
new PlayerName[70]; GetPlayerName(xid, PlayerName, sizeof(PlayerName));
new PlayerName2[70]; GetPlayerName(ReportPLR_USER[xid], PlayerName2, sizeof(PlayerName2));
format(string, sizeof(string), "Jugador: %s\r\nReportado: %s\r\nRazón: %s", PlayerName, PlayerName2, ReportPLR_MSG);
ShowPlayerDialog(playerid, diaReportesX, DIALOG_STYLE_MSGBOX, "Reporte", string, "CERRAR", "");
return true;
}else return SendClientMessage(playerid, -1, "{ff0000} Usa: /verreporte [id]");
}else return false;
}
zcmd(areporte, playerid, params[]){
if(InfoPlayer[playerid][pAdmin] > 0)
{
new sid;
if (!sscanf(params, "u", sid))
{
if(ReportPLR_ACT[sid] == 0) return false;
new string[1024];
new PlayerName[70]; GetPlayerName(xid, PlayerName, sizeof(PlayerName));
new PlayerName2[70]; GetPlayerName(ReportPLR_USER[xid], PlayerName2, sizeof(PlayerName2));
format(string, sizeof(string), "Jugador: %s\r\nReportado: %s\r\nRazón: %s\r\n{FFA500}Aviso:{ffffff} Revisa estos datos antes de comenzar a solucionar el reporte !", PlayerName, PlayerName2, ReportPLR_MSG);
for(new aid; aid < MAX_PLAYERS; aid++)
{
if(InfoPlayer[aid][pAdmin] > 0)
{
format(string_tot, sizeof(string_tot), "[%s] Ha aceptado el reporte de %s");
SendClientMessage(aid, -1, string_tot);
}
}
ReportPLR_X[playerid] = 0;ReportPLR_MSG[playerid] = "";ReportPLR_ACT[playerid] = 0;
ShowPlayerDialog(playerid, diaReportesX, DIALOG_STYLE_MSGBOX, "Reporte", string, "CERRAR", "");
return true;
}else return SendClientMessage(playerid, -1, "{ff0000} Usa: /areporte [id]");
}else return false;
}
TIMERS:
- Código:
forward OnPLR_ReportTime(playerid);
public OnPLR_ReportTime(playerid)
{
if(ReportPLR_X[playerid] > 0)
{
ReportPLR_X[playerid] -= 1;
if(ReportPLR_X[playerid] == 0){ReportPLR_MSG[playerid] = "";ReportPLR_ACT[playerid] = 0;}else{
SetTimerEx("OnPLR_ReportTime", 1000, false, "u", playerid);
}
}
}
Aqui te dejo el sistema, lo hice ahora en un momento tu cambiale los mensajes y los colores. Si no sabes como montarlo todo avisame y te explico paso a paso donde va cada cosa ok?
Casi me olvido, los comandos son:
/reportar [id] [razon] //comando para el jugador
/reportes //comando para administrador muestra dialogo con los reportes
/verreporte [id] //ve los detalles del reporte
/areporte [id] //acepta el reporte y como dijiste envia notificacion a los administradores al igual que cuando se realiza el reporte
Última edición por 4L3X el Sáb Abr 19, 2014 11:44 am, editado 1 vez (Razón : Se me olvido los detalles de los comandos xd)
Jeree10- Mensajes : 16
Fecha de inscripción : 10/04/2014
Edad : 27
- Mensaje n°7
Re: pedido cmd / reportar y /reportes
Hola si tengo 2 dudas:
1 en donde pongo los timer
2 creo que no se entendio lo que quería era que los administradores usen /reportes y salga un menú con todos los reportes sin atender y qe al darle doble click lo acepte
Igual muchísimas gracias por ayudar
1 en donde pongo los timer
2 creo que no se entendio lo que quería era que los administradores usen /reportes y salga un menú con todos los reportes sin atender y qe al darle doble click lo acepte
Igual muchísimas gracias por ayudar
4L3X- Mensajes : 1068
Fecha de inscripción : 15/01/2011
Edad : 28
Localización : Cuenca, España
- Mensaje n°8
Re: pedido cmd / reportar y /reportes
coloca los timers abajo del todo dentro del gamemode y si te entendi muy bien el problema es que para hacer una lista de los reportes actuales sin atender es muy sencillo pero la lista no guarda los reportes por id por lo tanto al hacer click no se puede saber a que reporte pertenece el id de la lista dialogo mostrada asi que le puse un msgbox pqra mostrar los reportes activos y con otro comando poder aceptar el reporte, cuando aceptas el reporte te aparece la info del reporte en un dialogo y pone el reporte del jugador como atendido y por si solo quieres ver la info del reporte puse el comando /verreporteJeree10 escribió:Hola si tengo 2 dudas:
1 en donde pongo los timer
2 creo que no se entendio lo que quería era que los administradores usen /reportes y salga un menú con todos los reportes sin atender y qe al darle doble click lo acepte
Igual muchísimas gracias por ayudar
pd: espero que te halla servido