[Ajuda] Sistema de relatorio
#1

Quero um sistema que quando o player manda /relatorio abre uma caixa de dialogo para o player informa qual a prioridade do relatorio
Normal
Baixa
Alta

Consegui fazer atй o momento ( processo na print )
Sу que quando eu seleciono alguma opзгo ou atй mesmo fechar desconecta
edit
eu quero que ele abra uma nova caixa de dialogo e envie mensagem para o administrador
Exemplo: "O player NICK envio um relatorio de prioridade ALTA

Ai o adm digita um comando exemplo "/atender ID DO PLAYER" e abre uma conversa no Particular com ele
Quando finalizar o adm ou o player digita "/encerraratendimento e acaba"

Код:
CMD:relato(playerid, params[])return ForT:relatorio(playerid, params);
	CMD:relatorio(playerid, result[])
 	{
 	 	new DialogDiDi[1500];
format(DialogDiDi, sizeof(DialogDiDi),"{99FFFF}Normal \n {00FF00}Medio \n {FF0000}Alta",DialogDiDi);
ShowPlayerDialog(playerid, 8723, DIALOG_STYLE_INPUT, "{828282}Prioridade do Relatorio", DialogDiDi, "Fechar", "");
return true;
	        if(gPlayerLogged[playerid] == 0)
	        {
	            SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб logado!");
	            return true;
	        }
	        GetPlayerName(playerid, sendername, sizeof(sendername));
			if(isnull(result))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /relatorio [texto]");
				return true;
			}

			if(gettime() < GetPVarInt(playerid, #VarFlood1))
			    return SendClientMessage(playerid, COLOR_GRAD1, #Vocк nгo pode usar este comando com tanta frequencia);
			SetPVarInt(playerid, #VarFlood1, gettime()+5);

            new string[128];
            if(PlayerInfo[playerid][pVIP] == 1)
            {
                format(string, sizeof(string), "Relatуrio VIP de %s(ID: %d): %s ", sendername, playerid,(result));
				ABroadCast(TEAM_BLUE_COLOR,string,1);
				SendClientMessage(playerid, TEAM_BLUE_COLOR, "Seu relatуrio VIP foi enviado aos admins..");
            }
            else if(PlayerInfo[playerid][pVIP] == 2)
            {
                format(string, sizeof(string), "Relatуrio SUPER-VIP de %s(ID: %d): %s ", sendername, playerid, (result));
                ABroadCast(TEAM_BLUE_COLOR,string,1);
				SendClientMessage(playerid, TEAM_BLUE_COLOR, "Seu relatуrio SUPER-VIP foi enviado aos admins..");
            }
            else if(PlayerInfo[playerid][pVIP] == 5)
            {
                format(string, sizeof(string), "Relatуrio SУCIO de %s(ID: %d): %s ", sendername, playerid, (result));
                ABroadCast(TEAM_BLUE_COLOR,string,1);
				SendClientMessage(playerid, TEAM_BLUE_COLOR, "Seu relatуrio SУCIO foi enviado aos admins..");
            }
            else if(PlayerInfo[playerid][pVIP] == 6)
            {
                format(string, sizeof(string), "Relatуrio SУCIO PREMIUM de %s(ID: %d): %s ", sendername, playerid, (result));
                ABroadCast(TEAM_BLUE_COLOR,string,1);
				SendClientMessage(playerid, TEAM_BLUE_COLOR, "Seu relatуrio SУCIO PREMIUM foi enviado aos admins..");
            }
            else
            {
				format(string, sizeof(string), "Relatуrio de %s(ID: %d): %s ", sendername, playerid, (result));
                ABroadCast(COLOR_YELLOW,string,1);
				SendClientMessage(playerid, COLOR_YELLOW, "Seu relatorio foi enviado aos administradores, aguarde!");
			}
			BPCLogs("relatorio", string);
	    	return true;
	}
Reply
#2

PHP код:
    if(strcmp(cmd"/relatorio"true) == || strcmp(cmd"/relato"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
Player[playerid][pLogged] == false)
            {
                
SendClientMessage(playeridCOR_ERRO"Vocк nгo estб logado!");
                return 
1;
            }
            
            if(
Player[playerid][DelayRelato] == true)
                return 
SendClientMessage(playeridCOR_ERRO"ERRO: Por favor, sem floodar o '/Relato' ou '/Duvida', Espere 1 minuto.");
            
            
GetPlayerName(playeridsendernamesizeof(sendername));
            new 
length strlen(cmdtext);
            while ((
idx length) && (cmdtext[idx] <= ' '))
            {
                
idx++;
            }
            
            new 
Float:HPFloat:AM;
            
GetPlayerHealth(playeridHP);
            
GetPlayerArmour(playeridAM);
            
            new 
offset idx;
            new 
result[64];
            while ((
idx length) && ((idx offset) < (sizeof(result) - 1)))
            {
                
result[idx offset] = cmdtext[idx];
                
idx++;
            }
            
result[idx offset] = EOS;
            if(!
strlen(result))
            {
                
SendClientMessage(playeridCOR_USOCORRETO"USE: /relatorio [texto]");
                return 
1;
            }
            
            if(
HP <= 60.0 && AM == 0.0)
            {
                
SendClientMessage(playeridCOR_USOCORRETO"Vocк estб praticamente Morrendo, nгo pode mais pedir vida!");
                return 
1;
            }
            
            
format(stringsizeof(string), "{00FF00}» RELATУRIO DE %s [ID: %d]: %s"sendernameplayeridresult);
            
ABroadCast(0xFFFF66FF,string,1);
            
SendClientMessage(playerid0xA9A9A9AA"Seu relatуrio foi enviado com sucesso a Administraзгo.");
            
Player[playerid][DelayRelato] = true;
            
SetTimerEx("TempoRelato"600000"i"playerid);
        }
        return 
1;
    } 
Reply
#3

Quote:
Originally Posted by henriqueTL
Посмотреть сообщение
PHP код:
    if(strcmp(cmd"/relatorio"true) == || strcmp(cmd"/relato"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
Player[playerid][pLogged] == false)
            {
                
SendClientMessage(playeridCOR_ERRO"Vocк nгo estб logado!");
                return 
1;
            }
            
            if(
Player[playerid][DelayRelato] == true)
                return 
SendClientMessage(playeridCOR_ERRO"ERRO: Por favor, sem floodar o '/Relato' ou '/Duvida', Espere 1 minuto.");
            
            
GetPlayerName(playeridsendernamesizeof(sendername));
            new 
length strlen(cmdtext);
            while ((
idx length) && (cmdtext[idx] <= ' '))
            {
                
idx++;
            }
            
            new 
Float:HPFloat:AM;
            
GetPlayerHealth(playeridHP);
            
GetPlayerArmour(playeridAM);
            
            new 
offset idx;
            new 
result[64];
            while ((
idx length) && ((idx offset) < (sizeof(result) - 1)))
            {
                
result[idx offset] = cmdtext[idx];
                
idx++;
            }
            
result[idx offset] = EOS;
            if(!
strlen(result))
            {
                
SendClientMessage(playeridCOR_USOCORRETO"USE: /relatorio [texto]");
                return 
1;
            }
            
            if(
HP <= 60.0 && AM == 0.0)
            {
                
SendClientMessage(playeridCOR_USOCORRETO"Vocк estб praticamente Morrendo, nгo pode mais pedir vida!");
                return 
1;
            }
            
            
format(stringsizeof(string), "{00FF00}» RELATУRIO DE %s [ID: %d]: %s"sendernameplayeridresult);
            
ABroadCast(0xFFFF66FF,string,1);
            
SendClientMessage(playerid0xA9A9A9AA"Seu relatуrio foi enviado com sucesso a Administraзгo.");
            
Player[playerid][DelayRelato] = true;
            
SetTimerEx("TempoRelato"600000"i"playerid);
        }
        return 
1;
    } 
Nгo foi isso que eu pedi
Reply
#4


ASSIM
Reply
#5

Cara , nгo quero ser grosso, mais como sempre falo , por que vocк nгo tenta fazer o seu? seria mais pratico , alem de fazer do modo que vocк pretende ,vocк tambйm irar adquirir conhecimento...
Reply
#6

Quote:
Originally Posted by teteu99
Посмотреть сообщение
Cara , nгo quero ser grosso, mais como sempre falo , por que vocк nгo tenta fazer o seu? seria mais pratico , alem de fazer do modo que vocк pretende ,vocк tambйm irar adquirir conhecimento...
Essa print й minha '-'
Eu fiz o sistema
Sу que nгo to conseguindo sair dessa dela
Reply
#7

Й sу vocк colocar um showplayerdialog no comando que manda o relato!
Reply
#8

Quote:
Originally Posted by GMVega
Посмотреть сообщение
Essa print й minha '-'
Eu fiz o sistema
Sу que nгo to conseguindo sair dessa dela
Ao clicar no nнvel de prioridade (Quaisquer um dos 3), o que vocк quer que aconteзa? Que abra uma nova dialog para escrever a mensagem?
Reply
#9

Quote:
Originally Posted by Psicotico
Посмотреть сообщение
Ao clicar no nнvel de prioridade (Quaisquer um dos 3), o que vocк quer que aconteзa? Que abra uma nova dialog para escrever a mensagem?
Sim, eu quero que ele abra uma nova caixa de dialogo e envie mensagem para o administrador
Exemplo: "O player NICK envio um relatorio de prioridade ALTA

Ai o adm digita um comando exemplo "/atender ID DO PLAYER" e abre uma conversa no Particular com ele
Quando finalizar o adm ou o player digita "/encerraratendimento e acaba"
Reply
#10

upppp
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)