[Ajuda] Comando de dar adm
#1

Galer antes que postem um ctrl + c ctrol + v, eu andei vendo e os comandos dos outros server nao funciona no meu pois comecei a base dele do zero e o sistema de adm e inteirinho por mim, so que ainda sou iniciante em quesito comandos =/

й o seguinte eu criei o sistema de adm tentei me bassear em outros so que da erro!!
queria quando fosse digitado /daradm e o level de adm do cara fosse maior que 4 de adm para o id do carinha exemplo /daradm 2 5 que nem nos servidores rpg


eu estou usando isso para salvar e carregar os adm=

New's
Код:
enum pInfo
{
	Admin,
    Score,
    Deaths,
    Kills,
    ServerTime
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Carregar (funcionando)
Код:
    if(fexist(file)) {
        dini_IntSet(file,"Admin", PlayerInfo[playerid][Admin]);
}
Criar quando cria a acc=
Код:
                dini_IntSet(file,"Password", udb_hash(inputtext));
                dini_IntSet(file,"Admin", PlayerInfo[playerid][Admin]);
                dini_IntSet(file,"Score", GetPlayerScore(playerid));
                dini_IntSet(file,"Money", GetPlayerMoney(playerid));
                dini_IntSet(file,"Deaths", PlayerInfo[playerid][Deaths]);
                dini_IntSet(file,"Kills", PlayerInfo[playerid][Kills]);
                dini_IntSet(file,"ServerTime", PlayerInfo[playerid][ServerTime]);
E Salvar quando sai
Код:
                    SetPlayerScore(playerid, dini_Int(file,"Score"));
                    GivePlayerMoney(playerid, dini_Int(file,"Money"));
                    PlayerInfo[playerid][Deaths] = dini_Int(file,"Deaths");
                    PlayerInfo[playerid][Kills] = dini_Int(file,"Kills");
                    PlayerInfo[playerid][Admin] = dini_Int(file,"Admin");
                    PlayerInfo[playerid][ServerTime] = dini_Int(file,"ServerTime");
como sei devo disponibilizar uma base do comando
eu fis essa aqui: so que deu este erro

PHP код:
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 012invalid function callnot a valid address
C
:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : warning 215expression has no effect
C
:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 017undefined symbol "idx"
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 029invalid expressionassumed zero
C
:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : fatal error 107too many error messages on one line
Compilation aborted
.Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase
4 Errors

o comando
pawn Код:
new tmp[25];
    if(strcmp("/daradmin", cmdtext, true, 10) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);  // linha que esta dando o erro!!!  :picard:
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /daradmin [ID] [level(1-6)]");
                return 1;
            }
            if (PlayerInfo[giveplayerid][pAdmin] <= 6)
           {
               new pname[50];
              GetPlayerName(playerid, pname, sizeof(pname));
              SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode alterar o nivel de adm de um dono!.");
              format(string, sizeof(string), "O ADM %s tentou alterar seu ADM", pname);
              SendClientMessage(giveplayerid, COLOR_WHITE, string);
              return 1;
           }
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(PlayerInfo[playerid][pAdmin] => 4)
            {
                if(IsPlayerConnected(para1))
                {
                    if(para1 != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pAdmin] = level;
                        format(string, sizeof(string), "Vocк foi promovido a Admin Level %d por %s", level, sendername);
                        SendClientMessage(para1, COLOR_WHITE, string);
                        format(string, sizeof(string), "Vocк promoveu %s para Admin Level %d .", giveplayer,level);
                        SendClientMessage(playerid, COLOR_WHITE, string);
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб autorizado a usar esse comando !");
            }
        }
        return 1;
    }
Nunca apanhei tanto pra um comandos =x
Reply
#2

pawn Код:
new idx; // ONPLAYERCOMMANDTEXT.
Reply
#3

C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 017: undefined symbol "tmp"
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 012: invalid function call, not a valid address
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : warning 215: expression has no effect
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : warning 215: expression has no effect
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 001: expected token: ";", but found ")"
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : fatal error 107: too many error messages on one line

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


4 Errors.
Reply
#4

pawn Код:
new tmp[256]; // ONPLAYERCOMMANDTEXT.
Reply
#5

nada funcionou =/ os erros mudam e etc estou tentando ainda por favor me ajudem =/
Reply
#6

Use este, fiz do 0 nгo й ctrl c ctrl v relaxa.
pawn Код:
if(strcmp(cmd, "/daradmin", true) == 0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
        {
            new tmp[20], giveplayerid, nivel, string[91];
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) { SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /DarAdmin [id] [nнvel]"); return 1; }
            giveplayerid = strval(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) { SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /DarAdmin [id] [nнvel]"); return 1; }
            nivel = strval(tmp);
            if(nivel > 4 || nivel < 0) return SendClientMessage(playerid, Branco, "O nнvel nгo poderб ser menor que 0 nem maior que 4");
            if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб conectado");
            GetPlayerName(playerid, Entregador, sizeof(Entregador));
            GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
            format(string, sizeof(string), "Seu nнvel de admin foi setado para {1E90FF}%d{FFFFFF} por {1E90FF}%s", nivel, Entregador);
            SendClientMessage(giveplayerid, Branco, string);
            format(string, sizeof(string), "Vocк setou o nнvel de admin de {1E90FF}%s{FFFFFF} para {1E90FF}%d", Recebedor, nivel);
            SendClientMessage(playerid, Branco, string);
            PlayerInfo[giveplayerid][pAdmin] = nivel;
        } else { SendClientMessage(playerid, Branco, "Vocк nгo tem nнvel suficiente de admin para usar este comando"); }
        return 1;
    }
qualquer bug ou erro fale, provavelmente se tiver й por que seu GM falta algo pro funcionamento desse comando, como cmd, idx, strtok etc... mas enfim, tente.
Reply
#7

C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1512) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : error 012: invalid function call, not a valid address
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : warning 215: expression has no effect
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : error 017: undefined symbol "idx"
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : error 029: invalid expression, assumed zero
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : fatal error 107: too many error messages on one line

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


4 Errors.
Reply
#8

Concertado:
pawn Код:
if(strcmp(cmd, "/daradmin", true) == 0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
        {
            new tmp[20], idx, giveplayerid, nivel, sStr[91];
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) { SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /DarAdmin [id] [nнvel]"); return 1; }
            giveplayerid = strval(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) { SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /DarAdmin [id] [nнvel]"); return 1; }
            nivel = strval(tmp);
            if(nivel > 4 || nivel < 0) return SendClientMessage(playerid, Branco, "O nнvel nгo poderб ser menor que 0 nem maior que 4");
            if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб conectado");
            GetPlayerName(playerid, Entregador, sizeof(Entregador));
            GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
            format(sStr, sizeof(sStr), "Seu nнvel de admin foi setado para {1E90FF}%d{FFFFFF} por {1E90FF}%s", nivel, Entregador);
            SendClientMessage(giveplayerid, Branco, sStr);
            format(sStr, sizeof(sStr), "Vocк setou o nнvel de admin de {1E90FF}%s{FFFFFF} para {1E90FF}%d", Recebedor, nivel);
            SendClientMessage(playerid, Branco, sStr);
            PlayerInfo[giveplayerid][pAdmin] = nivel;
        } else { SendClientMessage(playerid, Branco, "Vocк nгo tem nнvel suficiente de admin para usar este comando"); }
        return 1;
    }
Reply
#9

NADA
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)