[Ajuda] /multar bugado
#1

Olб pessoal, meu /multar estб bugado, me ajudem !!!



Код:
if(strcmp(cmd, "/multar", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if(!IsACop(playerid))
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo й um policial!");
			    return true;
			}
			if(OnDuty[playerid] != 1)
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo Bateu o cartгo!");
			    return true;
			}
	    	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /multar [ID] [Custo] [Razao]");
				return true;
			}
			giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /multar [ID] [Custo] [Razao]");
				return true;
			}
			moneys = strval(tmp);
			if(moneys < 1000 || moneys > 3000) { SendClientMessage(playerid, COLOR_GREY, "Custo entre 1000 e 3000 !"); return true; }
			if(IsPlayerConnected(giveplayerid))
			{
				if(IsACop(giveplayerid))
				{
					SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode multar Policiais!");
					return true;
				}
				if(PlayerInfo[giveplayerid][pJailed] > 0)
				{
					SendClientMessage(playerid, COLOR_GRAD1, "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, COLOR_GRAD2, "USE: /multar [ID] [Custo] [Razao]");
							return true;
						}
						format(string, sizeof(string), "* Vocк multou %s por R$%d, Razao: %s", giveplayer, moneys, (result));
						SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), "* Oficial %s lhe deu uma multa no valor de R$%d, Razao: %s", sendername, moneys, (result));
						SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
						SendClientMessage(giveplayerid, COLOR_LIGHTRED, "* Use /aceitar multa, para aceita-la.");
						SendClientMessage(giveplayerid, COLOR_LIGHTRED, "* Se em 5 minutos vocк nгo pagar, irб preso!");
						TicketOffer[giveplayerid] = playerid;
						TicketMoney[giveplayerid] = moneys;
						SetTimerEx("PresoMulta", 300, false, "i", giveplayerid);
						return true;
					}
					else
					{
						SendClientMessage(playerid, COLOR_GREY, "O jogador estб longe !");
						return true;
					}
				}
			}
			else
			{
			    SendClientMessage(playerid, COLOR_GREY, "O jogador estб Offline !");
			    return true;
			}
		}
		return true;
    }
Reply
#2

E qual seria o bug?
Reply
#3

o bug й que nгo estб pegando o comando corretamente...
quando alguem manda a multa, vocк vai aceitar a multa sу que fala que vocк nгo levou multa.
e quando vocк nгo paga a multa em 5 minutos vocк fica preso 5000000000 segundos. o certo й ficar 300 sugundos.
Reply
#4

Poste o comando /aceitar.
Reply
#5

Код:
else if(strcmp(x_Emprego,"multa",true) == 0)
			{
			    if(TicketOffer[playerid] < 999)
			    {
			        if(IsPlayerConnected(TicketOffer[playerid]))
			        {
			            if (ProxDetectorS(5.0, playerid, TicketOffer[playerid]))
						{
				           	GetPlayerName(TicketOffer[playerid], giveplayer, sizeof(giveplayer));
							GetPlayerName(playerid, sendername, sizeof(sendername));
							format(string, sizeof(string), "* Vocк pagou a multa de R$%d para o Oficial %s.", TicketMoney[playerid], giveplayer);
							SendClientMessage(playerid, COLOR_WHITE, string);
							format(string, sizeof(string), "* %s pagou a multa de R$%d.", sendername, TicketMoney[playerid]);
							SendClientMessage(TicketOffer[playerid], COLOR_WHITE, string);
							GivePlayerMoney(playerid, - TicketMoney[playerid]);
							GivePlayerMoney(TicketOffer[playerid], TicketMoney[playerid]);
							TicketOffer[playerid] = 999;
							TicketMoney[playerid] = 0;
							return true;
						}
						else
						{
						    SendClientMessage(playerid, COLOR_GREY, "O policial nгo estб perto de vocк !");
						    return true;
						}
			        }
				}
				else
				{
				    SendClientMessage(playerid, COLOR_GREY, "Ninguem lhe deu uma multa !");
				    return true;
				}
			}
Reply
#6

Poste a public PresoMulta
Reply
#7

Код:
public PresoMulta(playerid)
{
	if(IsPlayerConnected(playerid))
	{
	    if(TicketOffer[playerid] < 999)
	    {
			TicketOffer[playerid] = 999;
			TicketMoney[playerid] = 0;
			PlayerInfo[playerid][pJailed] = 1;
            SetPlayerWantedLevel(playerid, 0);
            WantedPoints[playerid] = 0;
      		SetPlayerWantedLevel(playerid, 0);
            PlayerInfo[playerid][pJailTime] = 600000;
		}
	}
}
Reply
#8

Muda pela sua

pawn Код:
public PresoMulta(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        if(TicketOffer[playerid] < 999)
        {
            TicketOffer[playerid] = 999;
            TicketMoney[playerid] = 0;
            PlayerInfo[playerid][pJailed] = 1;
            SetPlayerWantedLevel(playerid, 0);
            WantedPoints[playerid] = 0;
            SetPlayerWantedLevel(playerid, 0);
            PlayerInfo[playerid][pJailTime] = 6000;
        }
    }
}
Reply
#9

pawn Код:
if(strcmp(cmd, "/multar", true) == 0)
{
    if(!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo й um policial!");
    if(OnDuty[playerid] != 1) return SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo Bateu o cartгo!");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /multar [ID] [Custo] [Razao]");
    giveplayerid = ReturnUser(tmp);
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "O jogador estб Offline !");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /multar [ID] [Custo] [Razao]");
    moneys = strval(tmp);
    if(moneys < 1000 || moneys > 3000) return SendClientMessage(playerid, COLOR_GREY, "Custo entre 1000 e 3000 !");
    if(IsPlayerConnected(giveplayerid))
    {
        if(giveplayerid != INVALID_PLAYER_ID)
        {
            if(IsACop(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode multar Policiais!");
            if(PlayerInfo[giveplayerid][pJailed] > 0) return SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode multar jogadores que estejam presos!");
            if(ProxDetectorS(25.0, playerid, giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "O jogador estб longe !");
            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)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /multar [ID] [Custo] [Razao]");
            format(string, sizeof(string), "* Vocк multou %s por R$%d, Razao: %s", giveplayer, moneys, result);
            SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
            format(string, sizeof(string), "* Oficial %s lhe deu uma multa no valor de R$%d, Razao: %s", sendername, moneys, result);
            SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
            SendClientMessage(giveplayerid, COLOR_LIGHTRED, "* Use /aceitar multa, para aceita-la.");
            SendClientMessage(giveplayerid, COLOR_LIGHTRED, "* Se em 5 minutos vocк nгo pagar, irб preso!");
            TicketOffer[giveplayerid] = playerid;
            TicketMoney[giveplayerid] = moneys;
            SetTimerEx("PresoMulta", 60*1000, false, "i", giveplayerid);
        }
    }
    return 1;
}
else if(strcmp(x_Emprego,"multa",true) == 0)
{
    if(!IsPlayerConnected(TicketOffer[playerid])) return SendClientMessage(playerid, COLOR_GREY, "Ninguem lhe deu uma multa !");
    if(TicketOffer[playerid] < 999)
    {
        if (!ProxDetectorS(5.0, playerid, TicketOffer[playerid])) return SendClientMessage(playerid, COLOR_GREY, "O policial nгo estб perto de vocк !");
        GetPlayerName(TicketOffer[playerid], giveplayer, sizeof(giveplayer));
        GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, sizeof(string), "* Vocк pagou a multa de R$%d para o Oficial %s.", TicketMoney[playerid], giveplayer);
        SendClientMessage(playerid, COLOR_WHITE, string);
        format(string, sizeof(string), "* %s pagou a multa de R$%d.", sendername, TicketMoney[playerid]);
        SendClientMessage(TicketOffer[playerid], COLOR_WHITE, string);
        GivePlayerMoney(playerid, - TicketMoney[playerid]);
        GivePlayerMoney(TicketOffer[playerid], TicketMoney[playerid]);
        TicketOffer[playerid] = 999;
        TicketMoney[playerid] = 0;
    }
    return 1;
}
public PresoMulta(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        if(TicketOffer[playerid] < 999)
        {
            TicketOffer[playerid] = 999;
            TicketMoney[playerid] = 0;
            PlayerInfo[playerid][pJailed] = 1;
            SetPlayerWantedLevel(playerid, 0);
            WantedPoints[playerid] = 0;
            SetPlayerWantedLevel(playerid, 0);
            PlayerInfo[playerid][pJailTime] = 60*1000;
        }
    }
    return 1;
}
Reply
#10

Obrigado a vocкs 2 por ter me ajudado, muito obrigado mesmo !!!

+++++++ REP PRA VOCКS 2 !!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)