SSGamers - Fique atualizado
Chegou o novo tema 6.1.3 / SSGames - Servidores online de qualidade - Inscreva-se Ja! é entre para nossa comunidade! - Ouça nossa web radio -Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

Mudar sistema de assalto.

Aluno_Obscure
--> Postador Iniciante
--> Postador Iniciante
Mensagens : 3
Moedas : 32
Data de inscrição : 30/05/2021
Idade : 18

Mensagem por Aluno_Obscure Dom 30 Maio 2021 - 1:36

esse cmd de assalto na minha gm está assim vc coloca a o dinheiro que você quer assaltr no player.
mais na vdd eu quero por que quando o cara aceita o assalto ele perca todo o money que ele tem

CMD:ASSALTAR NA MINHA GM
Código:
CMD:assaltar(playerid, params[])
   {
      if(PlayerInfo[playerid][pJailed] != 0 || PlayerPaintballing[playerid] != 0)
       {
        SendClientMessage(playerid,COLOR_YELLOW,"Você não pode assaltar agora!");
        return 1;
       }
      if(!IsAMember(playerid))
      {
          SendClientMessage(playerid, COLOR_GREY, "Você não pode usar esse comando!" );
           return 1;
        }
      if(IsPlayerConnected(playerid))
       {
         if(sscanf(params, "ud", giveplayerid, moneys))return SendClientMessage(playerid, COLOR_GREY, "USE: /assaltar [ID do Player] [quantia]");
         if(moneys < 1|| moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, " O Preço Tem que ser entre R$ 1000 e R$ 99999!"); return 1; }
         if (IsPlayerConnected(giveplayerid))
         {
            if(giveplayerid != INVALID_PLAYER_ID)
            {
               if(PlayerInfo[giveplayerid][pLevel] == 3)
               {
                  SendClientMessage(playerid, COLOR_GRAD1, "Você não pode assaltar novatos!");
                  return 1;
               }
               if (ProxDetectorS(5.0, playerid, giveplayerid))
               {
                   new string[128];
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                  GetPlayerName(playerid, sendername, sizeof(sendername));
                  format(string, sizeof(string), "* Você está assaltando $%d de %s.", moneys, giveplayer);
                  SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                  format(string, sizeof(string), "* Assaltante %s diz: Isso é um assalto, pague $%d! não seja Ant-RPG.", sendername, moneys);
                  SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                  SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/aceitar assalto para aceitar");
                       format(string, sizeof(string), "* %s está assaltando %s!", sendername,giveplayer);
                    SendClientMessageInRange(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    OfAssalto[giveplayerid] = playerid;
                  precoassalto[giveplayerid] = moneys;
                  SetPlayerCriminal(playerid,155, "Tentativa de Assalto");
               }
               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;
   }

NA OUTRA GM QUE FUCIONA DO JEITO QUE EU QUERO TA ASSIM:
Código:
CMD:assaltar(playerid, params[])
   {
      if(PlayerInfo[playerid][pJailed] != 0)
      {
         SendClientMessage(playerid,COR_AMARELO," Você não pode assaltar agora!");
         return 1;
      }
      if(PlayerInfo[playerid][pAdmin] >= 1 && PlayerInfo[playerid][pAdmin] <= 1339)
      {
         SendClientMessage(playerid, COR_GRAD1, "Você é um admin, não pode assaltar !");
         return 1;
      }
      if(IsACop(playerid))
      {
         SendClientMessage(playerid, COR_GREY, "Você não pode usar esse comando!" );
         return 1;
      }
      if(IsPlayerConnected(playerid))
      {
         if(UsouComando[playerid] == 1)
         {
            SendClientMessage(playerid, COR_VERMELHO, "Você já usou esse comando uma vez, espere mais 5 minutos!");
            return 1;
         }
         if(sscanf(params, "u", sscanfid))
         {
            SendClientMessage(playerid, COR_GRAD2, "{0099ff}×{ffffff} USE: /assaltar [id]");
            return 1;
         }
         if (IsPlayerConnected(sscanfid))
         {
            if(sscanfid != INVALID_PLAYER_ID)
            {
               if(PlayerInfo[sscanfid][pLevel] == 2)
               {
                  SendClientMessage(playerid, COR_GRAD1, "Você não pode assaltar novatos!");
                  return 1;
               }
               if(GetPlayerOrg(sscanfid) == GetPlayerOrg(playerid))
               {
                  SendClientMessage(playerid, COR_GRAD1, "Você não pode usar este comando na sua própria org!");
                  return 1;
               }
               if (ProxDetectorS(5.0, playerid, sscanfid))
               {
                  new dinheiro;
                  dinheiro = GetPlayerMoneyEx(sscanfid);
                  GetPlayerName(sscanfid, giveplayerZCMD, sizeof(giveplayerZCMD));
                  GetPlayerName(playerid, sendername, sizeof(sendername));
                  format(stringZCMD, sizeof(stringZCMD), "* Você está assaltando R$[%d] de %s.", dinheiro, giveplayerZCMD);
                  SendClientMessage(playerid, COR_LIGHTBLUE, stringZCMD);
                  format(stringZCMD, sizeof(stringZCMD), "* %s: Isso é um assalto, Use /aceitar assalto. Não seja ant-rpg.", sendername, dinheiro);
                  SendClientMessage(sscanfid, COR_LIGHTBLUE, stringZCMD);
                  SendClientMessage(sscanfid, COR_LIGHTBLUE, "/aceitar assalto para aceitar");
                  format(stringZCMD, sizeof(stringZCMD), "*%s está assaltando %s!", sendername,giveplayerZCMD);
                  ProxDetector(20.0, playerid, stringZCMD, COR_PURPLE,COR_PURPLE,COR_PURPLE,COR_PURPLE,COR_PURPLE);
                  OfAssalto[sscanfid] = playerid;
                  precoassalto[sscanfid] = dinheiro;
                  SetPlayerCriminal(playerid,255, "Tentativa de Assalto");
                  UsouComando[playerid] = 1;
                  PlayerInfo[playerid][pAssaltante] ++;
                  SetTimerEx("UsarNovamente",300000,0,"d",playerid);
               }
               else
               {
                  SendClientMessage(playerid, COR_GREY, "Esse jogador não está perto de você!");
               }
            }
            else
            {
               SendClientMessage(playerid, COR_GREY, "ID/Nome Invalido !");
               return 1;
            }
         }
      }
      return 1;
   }
HuemersonFMG
SS - Colaborador
SS - Colaborador
Steam Steam : http://familiagarcia-samp.forumeiros.com/
Mensagens : 118
Moedas : 1449
Data de inscrição : 14/03/2018
Idade : 48
Localização : Brasil - Minas Gerais

Mensagem por HuemersonFMG Sex 4 Jun 2021 - 19:25

Basta copiar o código para a sua gm, mudando apenas o cmd, por exemplo [assaltarteste], par não precisar deletar o original da sua gm, compila para ver os erros que vão dar.
Com certeza os erros serão devido a variáveis diferentes, então é só debugar e corrigir.


^
subir
Data/hora atual: Qui 24 Jun 2021 - 19:46