SA-MP Forums Archive
BUG no /assaltar - 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: BUG no /assaltar (/showthread.php?tid=480812)



BUG no /assaltar - LeoFigueiredo - 12.12.2013

Galera, quando o marginal vai assaltar, ele dб o /assaltar, atй ai tudo bem.
O problema й que, se ele botar 999999999999999999999999999999999 e a vitima nгo tiver, a vitima fica devendo o valor e o marginal ganha a grana.

Por favor me dкm uma luz.

pawn Код:
if(strcmp(cmd,"/assaltar",true)==0)
    {
        if(PlayerInfo[playerid][pJailed] != 0 || PlayerPaintballing[playerid] != 0)
        {
           SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode assaltar agora!");
           return 1;
        }
        if(PlayerInfo[playerid][pMembro] != 5 && PlayerInfo[playerid][pLider] != 5 && PlayerInfo[playerid][pMembro] != 14 && PlayerInfo[playerid][pLider] != 14
        && PlayerInfo[playerid][pMembro] != 17 && PlayerInfo[playerid][pLider] != 17 && PlayerInfo[playerid][pMembro] != 18 && PlayerInfo[playerid][pLider] != 18
        && PlayerInfo[playerid][pMembro] != 19 && PlayerInfo[playerid][pLider] != 19 && PlayerInfo[playerid][pMembro] != 20 && PlayerInfo[playerid][pLider] != 20
        && PlayerInfo[playerid][pMembro] == 21 && PlayerInfo[playerid][pLider] == 21)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode usar esse comando!" );
            return 1;
        }
        if(IsPlayerConnected(playerid))
        {
            if(UsouComando[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "Vocк jб usou esse comando uma vez, espere mais 5 minutos!");
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /assaltar [id] [Quantia]");
                return 1;
            }
            //giveplayerid = strval(tmp);
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /assaltar [id] [Quantia]");
                return 1;
            }
            new money = strval(tmp);
            if(money < 1|| money > 99999999) { SendClientMessage(playerid, COLOR_GREY, " O Preзo Tem que ser entre R$ 1 e R$ 99999999!"); return 1; }
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(PlayerInfo[giveplayerid][pLevel] == 2)
                    {
                        SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode assaltar novatos!");
                        return 1;
                    }
                    if (ProxDetectorS(5.0, playerid, giveplayerid))
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* Vocк estб assaltando $%d de %s.", money, giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* %s: Isso й um assalto,pague $%d! nгo seja Ant-RPG.", sendername, money);
                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/aceitar assalto para aceitar");
                        format(string, sizeof(string), "*%s estб assaltando %s!", sendername,giveplayer);
                        ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        OfAssalto[giveplayerid] = playerid;
                        precoassalto[giveplayerid] = money;
                        SetPlayerCriminal(playerid,255, "Tentativa de Assalto");
                        UsouComando[playerid] = 1;
                        SetTimerEx("UsarNovamente",300000,0,"d",playerid);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Esse jogador nгo estб perto de vocк!");
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   ID/Nome Invalido !");
                    return 1;
                }
            }
        }
        return 1;
    }



Re: BUG no /assaltar - NurbWill - 12.12.2013

pawn Код:
if(strcmp(cmd,"/assaltar",true)==0)
    {
        if(PlayerInfo[playerid][pJailed] != 0 || PlayerPaintballing[playerid] != 0)
        {
           SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode assaltar agora!");
           return 1;
        }
        if(PlayerInfo[playerid][pMembro] != 5 && PlayerInfo[playerid][pLider] != 5 && PlayerInfo[playerid][pMembro] != 14 && PlayerInfo[playerid][pLider] != 14
        && PlayerInfo[playerid][pMembro] != 17 && PlayerInfo[playerid][pLider] != 17 && PlayerInfo[playerid][pMembro] != 18 && PlayerInfo[playerid][pLider] != 18
        && PlayerInfo[playerid][pMembro] != 19 && PlayerInfo[playerid][pLider] != 19 && PlayerInfo[playerid][pMembro] != 20 && PlayerInfo[playerid][pLider] != 20
        && PlayerInfo[playerid][pMembro] == 21 && PlayerInfo[playerid][pLider] == 21)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode usar esse comando!" );
            return 1;
        }
        if(IsPlayerConnected(playerid))
        {
            if(UsouComando[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "Vocк jб usou esse comando uma vez, espere mais 5 minutos!");
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /assaltar [id] [Quantia]");
                return 1;
            }
            //giveplayerid = strval(tmp);
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /assaltar [id] [Quantia]");
                return 1;
            }
            new money = strval(tmp);
            if(money < 1|| money > 99999999) { SendClientMessage(playerid, COLOR_GREY, " O Preзo Tem que ser entre R$ 1 e R$ 99999999!"); return 1; }
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(PlayerInfo[giveplayerid][pLevel] == 2)
                    {
                        SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode assaltar novatos!");
                        return 1;
                    }
                   
                    if(GetPlayerMoney(giveplayerid) < money)
                        return SendClientMessage(playerid, COLOR_GRAD1, "A vitima nгo tem esse dinheiro.");
                       
                    if (ProxDetectorS(5.0, playerid, giveplayerid))
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* Vocк estб assaltando $%d de %s.", money, giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* %s: Isso й um assalto,pague $%d! nгo seja Ant-RPG.", sendername, money);
                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/aceitar assalto para aceitar");
                        format(string, sizeof(string), "*%s estб assaltando %s!", sendername,giveplayer);
                        ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        OfAssalto[giveplayerid] = playerid;
                        precoassalto[giveplayerid] = money;
                        SetPlayerCriminal(playerid,255, "Tentativa de Assalto");
                        UsouComando[playerid] = 1;
                        SetTimerEx("UsarNovamente",300000,0,"d",playerid);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Esse jogador nгo estб perto de vocк!");
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   ID/Nome Invalido !");
                    return 1;
                }
            }
        }
        return 1;
    }
@Edit - Pronto agora sim : )


Re: BUG no /assaltar - LeoFigueiredo - 12.12.2013

Obrigado NurbWill !!
Funcionou direitinho;


Re: BUG no /assaltar - Input - 12.12.2013

Sу um jeito de organizar melhor seu script!
pawn Код:
if(!strcmp(cmd,"/assaltar",true))
    {
        if(PlayerInfo[playerid][pJailed] != 0 || PlayerPaintballing[playerid] != 0)
           return SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode assaltar agora!");
        if(PlayerInfo[playerid][pMembro] != 5 && PlayerInfo[playerid][pLider] != 5 && PlayerInfo[playerid][pMembro] != 14 && PlayerInfo[playerid][pLider] != 14
        && PlayerInfo[playerid][pMembro] != 17 && PlayerInfo[playerid][pLider] != 17 && PlayerInfo[playerid][pMembro] != 18 && PlayerInfo[playerid][pLider] != 18
        && PlayerInfo[playerid][pMembro] != 19 && PlayerInfo[playerid][pLider] != 19 && PlayerInfo[playerid][pMembro] != 20 && PlayerInfo[playerid][pLider] != 20
        && PlayerInfo[playerid][pMembro] == 21 && PlayerInfo[playerid][pLider] == 21)
            return SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode usar esse comando!" );
        if(IsPlayerConnected(playerid))
        {
            if(UsouComando[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "Vocк jб usou esse comando uma vez, espere mais 5 minutos!");
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
                return SendClientMessage(playerid, COLOR_GRAD2, "USE: /assaltar [id] [Quantia]");
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
                return SendClientMessage(playerid, COLOR_GRAD2, "USE: /assaltar [id] [Quantia]");
            new money = strval(tmp);
            if(money < 1|| money > 99999999) { SendClientMessage(playerid, COLOR_GREY, " O Preзo Tem que ser entre R$ 1 e R$ 99999999!"); return 1; }
            if (IsPlayerConnected(giveplayerid)) {
                if(giveplayerid != INVALID_PLAYER_ID) {
                    if(PlayerInfo[giveplayerid][pLevel] == 2)
                        return SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode assaltar novatos!");
                    if(GetPlayerMoney(giveplayerid) < money)
                        return SendClientMessage(playerid, COLOR_GRAD1, "A vitima nгo tem esse dinheiro.");

                    if (ProxDetectorS(5.0, playerid, giveplayerid)) {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* Vocк estб assaltando $%d de %s.", money, giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* %s: Isso й um assalto,pague $%d! nгo seja Ant-RPG.", sendername, money);
                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/aceitar assalto para aceitar");
                        format(string, sizeof(string), "*%s estб assaltando %s!", sendername,giveplayer);
                        ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        OfAssalto[giveplayerid] = playerid;
                        precoassalto[giveplayerid] = money;
                        SetPlayerCriminal(playerid,255, "Tentativa de Assalto");
                        UsouComando[playerid] = 1;
                        SetTimerEx("UsarNovamente",300000,0,"d",playerid);
                    }
                    else
                        return SendClientMessage(playerid, COLOR_GREY, "Esse jogador nгo estб perto de vocк!");
                }
                else
                    return SendClientMessage(playerid, COLOR_GREY, "   ID/Nome Invalido !");
            }
        }
        return 1;
    }