SA-MP Forums Archive
[Ajuda] Corregedoria !!! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Corregedoria !!! (/showthread.php?tid=516893)



Corregedoria !!! - TeercioFelipe - 02.06.2014

Olб pessoal,

Estou aqui mais uma vez, com um novo erro no meu sistema de corregedoria...
O erro й o seguinte...
Quando eu uso o comando /punir ! nгo ta punindo.
Fica dando erro " Vocк nгo pode punir menos de 1 level ou mais de 10 "
Mais nгo й a quantidade errada, eu coloquei /punir ID 1../punir ID 2../punir ID 3.. e etc.
Entгo й algum bug que eu nao consegui resolver.

CODE TA AI DO COMANDO, SE TIVER FALTANDO ALGUMA COISA ME AVISEM, E SE CONSEGUIREM RESOLVER AGRADEЗO.
Код:
if(strcmp(cmd,"/Punir", true)==0)
	{
		new aname[MAX_PLAYER_NAME];
		GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
		format(file, sizeof(file), PASTA_CONTAS, aname);
		if(dini_Int(file, "Profissao") == corregedor)
		{
			new tmp[256];
			new plid,tempo;
			tmp = strtok(cmdtext, idx);

			if(!strlen(tmp))
			{
				SendClientMessage(playerid, Vermelho, "* /Punir [id] [level]");
				return 1;
			}
			plid = strval(tmp);
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, Vermelho, "* /Punir [id] [level]");
				return 1;
			}
			if(tempo < 1 || tempo > 10)
			{
				SendClientMessage(playerid, Vermelho, "* Nгo й possivel punir mais de 10 leveis ou menos de 1!");
				return 1;
			}
			new pname[MAX_PLAYER_NAME];
			GetPlayerName(plid, pname, MAX_PLAYER_NAME);
			format(file2, sizeof(file2), PASTA_CONTAS, pname);
			if(IsPlayerConnected(plid))
			{
			    punidoo[plid] = 1;
				format(string, sizeof(string), "* O corregedor %s te puniu em %d leveis!", aname, tempo);
				SendClientMessage(plid, tcadm, string);
				format(string, sizeof(string), "* Vocк puniu %d leveis do jogador '%s'!", tempo, pname);
				SendClientMessage(playerid, Blue, string);
				
				format(file2, sizeof(file2), PASTA_CONTAS, GetPlayerNameEx(plid));
				dini_IntSet(file2, "Profissao", 0);
				dini_IntSet(file2, "pPunido", tempo);
				return 1;
			}
			else
			{
				SendClientMessage(playerid, Vermelho, "* Jogador nгo conectado.");
				return 1;
			}
		}
	}
Quero abrir meu servidor logo, ai apareceu esse bug, me ajudem !!!



Re: Corregedoria !!! - Stronda xD - 02.06.2014

pawn Код:
if(strcmp(cmd,"/Punir", true)==0)
    {
        new aname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
        format(file, sizeof(file), PASTA_CONTAS, aname);
        if(dini_Int(file, "Profissao") == corregedor)
        {
            new tmp[256];
            new plid,tempo;
            tmp = strtok(cmdtext, idx);

            if(!strlen(tmp))
            {
                SendClientMessage(playerid, Vermelho, "* /Punir [id] [level]");
                return 1;
            }
            plid = strval(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, Vermelho, "* /Punir [id] [level]");
                return 1;
            }
            tempo = strval(tmp);
            if(tempo < 1 || tempo > 10)
            {
                SendClientMessage(playerid, Vermelho, "* Nгo й possivel punir mais de 10 leveis ou menos de 1!");
                return 1;
            }
            new pname[MAX_PLAYER_NAME];
            GetPlayerName(plid, pname, MAX_PLAYER_NAME);
            format(file2, sizeof(file2), PASTA_CONTAS, pname);
            if(IsPlayerConnected(plid))
            {
                punidoo[plid] = 1;
                format(string, sizeof(string), "* O corregedor %s te puniu em %d leveis!", aname, tempo);
                SendClientMessage(plid, tcadm, string);
                format(string, sizeof(string), "* Vocк puniu %d leveis do jogador '%s'!", tempo, pname);
                SendClientMessage(playerid, Blue, string);
               
                format(file2, sizeof(file2), PASTA_CONTAS, GetPlayerNameEx(plid));
                dini_IntSet(file2, "Profissao", 0);
                dini_IntSet(file2, "pPunido", tempo);
                return 1;
            }
            else
            {
                SendClientMessage(playerid, Vermelho, "* Jogador nгo conectado.");
                return 1;
            }
        }
    }
tente isso.


Re: Corregedoria !!! - TeercioFelipe - 02.06.2014

Opa cara, deu certo! Agora outro bug, desculpa incomodar mano...
Mais se poder ajudar tbm..
Tipo, o tempo era pra ser assim, se puniu o cara 2 leveis, ai o tempo como se fosse o level, exemplo:
Eu to punido por 2 leveis, ai quando eu upar 2 leveis minha puniзгo acaba, entende?
Se poder ajudar nisso tbm agradeзo.
Rapido porfavor ajudaaaaaa