[Pedido] Comando /admmultar
#1

Ae galera alguem ajuda ae, tipo queria um comando (/admmultar) que sу admins acima do level 1337 possam usar, que seja +- assim:
AdmCmd: Admins X multou o player X em R$(QUANTIA) Motivo: X

e o player multado nгo presisa usar o /aceitar multa
a multa ser cobrada altomaticamente, se ele nгo tiver a grana cobrada na multa, ele que fique sem, Alguem pode ajudar ?
Reply
#2

pawn Код:
//TOPO:
new IdMulta[MAX_PLAYERS];
new ValorMulta[MAX_PLAYERS];

// Na callback OnPlayerCommandText
if(strcmp(cmdtext,"/admmultar",true) == 0)
{
    if(NivelAdm[playerid] >= 1337) //Configura aqui com a Variavel do nivel de ADM!!!!!
    {
        ShowPlayerDialog(playerid,DIALOG_MULTA_ID,DIALOG_STYLE_INPUT,"Multar Player","Digite o ID do player a ser multado","CONFIRMA","Sair");
    }
    else
    {
        SendClientMessage(playerid,-1,"[ ! ] Vocк nгo й um Admin ou nгo й um Admin nivel 1337 para multar um player!");
    }
}

//Na callback OnDialogResponse
if(dialogid == DIALOG_MULTA_ID)
{
    if(response)
    {
        IdMulta[playerid] = strval(inputtext);
        ShowPlayerDialog(playerid,DIALOG_MULTA_VALOR,DIALOG_STYLE_INPUT,"Multar Player","Digite o valor da multa","MULTAR","Sair");
    }
}
if(dialogid == DIALOG_MULTA_VALOR)
{
    if(response)
    {
        new NomeMultador[MAX_PLAYER_NAME],NomeMultado[MAX_PLAYER_NAME];
        GetPlayerName(playerid,NomeMultador,MAX_PLAYER_NAME);
        GetPlayerName(IdMulta[playerid],NomeMultado,MAX_PLAYER_NAME);
        GivePlayerMoney(IdMulta[playerid],strval(inputtext));
        ValorMulta[playerid] = strval(inputtext);
        SendClientMessageToAll(-1,"AdmCmd: O Admin %s multou o player %s no valor de %d",NomeMultador,NomeMultado,ValorMulta[playerid]);
    }
}

Taк, mas assim cara, o pessoal aqui nгo costuma dar na mгo assim oque os visitantes pedem, eu sу fiz um pra vocк aqui porque eu realmente nгo tinha nada importante a fazer. Mas mesmo assim, eu recomendo vocк comeзar a dar uma estudada em Pawn e aprender pra criar seus proprios sistemas blza manolo? (:
Aew manolo, espero ter ajudado!
Reply
#3

@EDIT

Malz Double Post Aqui!!!
Reply
#4

Код:
C:\Users\Felipe\Desktop\GTA SERVER\gamemodes\BML.pwn(1903) : error 017: undefined symbol "DIALOG_MULTA_ID"
C:\Users\Felipe\Desktop\GTA SERVER\gamemodes\BML.pwn(1908) : error 017: undefined symbol "DIALOG_MULTA_VALOR"
C:\Users\Felipe\Desktop\GTA SERVER\gamemodes\BML.pwn(1908) : error 017: undefined symbol "G_STYLE_INPUT"
C:\Users\Felipe\Desktop\GTA SERVER\gamemodes\BML.pwn(1908) : error 029: invalid expression, assumed zero
C:\Users\Felipe\Desktop\GTA SERVER\gamemodes\BML.pwn(1908) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


5 Errors.
Reply
#5

pawn Код:
//TOPO:
#define DIALOG_MULTA_VALOR  9898
#define DIALOG_MULTA_ID     9797

new IdMulta[MAX_PLAYERS];
new ValorMulta[MAX_PLAYERS];

// Na callback OnPlayerCommandText
if(strcmp(cmdtext,"/admmultar",true) == 0)
{
    if(NivelAdm[playerid] >= 1337) //Configura aqui com a Variavel do nivel de ADM!!!!!
    {
        ShowPlayerDialog(playerid,DIALOG_MULTA_ID,DIALOG_STYLE_INPUT,"Multar Player","Digite o ID do player a ser multado","CONFIRMA","Sair");
    }
    else
    {
        SendClientMessage(playerid,-1,"[ ! ] Vocк nгo й um Admin ou nгo й um Admin nivel 1337 para multar um player!");
    }
}

//Na callback OnDialogResponse
if(dialogid == DIALOG_MULTA_ID)
{
    if(response)
    {
        if(IsPlayerConnected(strval(inputtext)))
        {
            IdMulta[playerid] = strval(inputtext);
            ShowPlayerDialog(playerid,DIALOG_MULTA_VALOR,DIALOG_STYLE_INPUT,"Multar Player","Digite o valor da multa","MULTAR","Sair");
        }
        else
        {
            SendClientMessage(playerid,-1,"[ ! ] Este player nгo estб connectado!");
        }
    }
}
if(dialogid == DIALOG_MULTA_VALOR)
{
    if(response)
    {
        if(IsPlayerConnected(IdMulta[playerid]) // Coloquei condiзгo do player conectado aqui tambйm!
        {
            new NomeMultador[MAX_PLAYER_NAME],NomeMultado[MAX_PLAYER_NAME];
            GetPlayerName(playerid,NomeMultador,MAX_PLAYER_NAME);
            GetPlayerName(IdMulta[playerid],NomeMultado,MAX_PLAYER_NAME);
            GivePlayerMoney(IdMulta[playerid],strval(inputtext));
            ValorMulta[playerid] = strval(inputtext);
            SendClientMessageToAll(-1,"[ ! ] O Admin %s multou o player %s no valor de %d",NomeMultador,NomeMultado,ValorMulta[playerid]);
        }
        else
        {
            SendClientMessage(playerid,-1,"[ ! ] Este player nгo estб conectado!");
        }
    }
}
Malz, esqueci de por essas #defines no topo... E esse erro do G_STYLE_INPUT vocк coloco errado, muda por DIALOG_STYLE_INPUT

Posta ae o resultado! (:

@EDIT
Coloquei uma condiзгo ae no code, da uma olhada marquei com //, й a condiзгo se o player estiver conectado, se ele nгo tiver vai returnar a mensagem e nгo vai dar pra multar ele! ^_^
Reply
#6

pawn Код:
//Topo GM
new strmultar[256];

//OnPlayerCommandText
if(strcmp(cmd, "/admmultar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pAdmin] >= 1)
            {
                SendClientMessage(playerid, 0x33CCFFAA, "Vocк nгo estб autorizado a usar o comando!");
                return true;
            }
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, 0x33CCFFAA, "USE: /multar [ID] [Custo] [Razao]");
                return true;
            }
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, 0x33CCFFAA, "USE: /multar [ID] [Custo] [Razao]");
                return true;
            }
            if(IsPlayerConnected(giveplayerid))
            {
                if(IsACop(giveplayerid))
                {
                    SendClientMessage(playerid, 0x33CCFFAA, "Vocк nгo pode multar Policiais!");
                    return true;
                }
                if(PlayerInfo[giveplayerid][pJailed] > 0)
                {
                    SendClientMessage(playerid, 0x33CCFFAA, "Vocк nгo pode multar jogadores que estejam presos!");
                    return true;
                }
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if (ProxDetectorS(25.0, playerid, giveplayerid))
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        new length = strlen(cmdtext);
                        while ((idx < length) && (cmdtext[idx] <= ' '))
                        {
                            idx++;
                        }
                        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(playerid, 0x33CCFFAA, "USE: /multar [ID] [Custo] [Razao]");
                            return true;
                        }
                        format(string, sizeof(string), "*Admin %s Vocк multou %s por R$%d, Razao: %s", PlayerName(playerid), giveplayer, moneys, (result));
                        SendClientMessageToAll(0x33CCFFAA, strmultar);
                        return true;
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, 0x33CCFFAA, "O jogador estб Offline !");
                return true;
            }
        }
        return true;
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)