SA-MP Forums Archive
[Ajuda] Comando simples - 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] Comando simples (/showthread.php?tid=472754)



Comando simples - Russo66 - 30.10.2013

Estou quebrando a cabeзa com um comando simples, nгo sei se estou errando em alguma coisa boba ou as vezes й algum conflito no meu game-mode.

pawn Код:
CMD:bomba(playerid, params[])
{
    for(new i; i <MAX_PLAYERS; i++) if(IsPlayerConnected(i)) //Percorre todos os players conectados.  
    {                    
        new Float:px,Float:py, Float:pz; //Declara umas floats.
        if(IsPlayerInRangeOfPoint(i, 25.0, px, py, pz))//Verifica se existe alguйm dentro do ponto.              
        {
            if(GetPlayerState(i) == PLAYER_STATE_DRIVER)//Verifica se existe alguйm dirigindo.
            {            
                GetPlayerPos(i, px, py, pz);//Se tiver pega a posiзгo da pessoa.
                if(GetPlayerVehicleID(i) == FavelaCar[0]) //se tiver com o carro especial causa a explosгo.              
                {                
                    CreateExplosion(px, py, pz, 7, 5.0); //cria a explosao.
                    return SendClientMessage(playerid, INFO, "[INFO]: Vocк soltou uma bomba!");// retorna o aviso a quem soltou.
                }
            }
            else return SendClientMessage(playerid, ERRO, "[ERRO]: Nгo existe ninguйm dirigindo o carro especial!");//Retorna caso nгo existe ninguйm dirigindo nas proximidades
        }                            
        else return SendClientMessage(playerid, ERRO, "[ERRO]: Nгo existe nenhum carro especial prуximo!");//Retorna se nгo tiver nenhum carro proximo
    }
    return 1;
}
To um belo tempinho sem codar, ando atualmente sem logicas.

Problema:

Explode o veнculo, dentro ou fora do ponto.


Re: Comando simples - BielCOP - 30.10.2013

Se for um cуdigo para a criaзao de uma bomba com o manuseio fбcil, use a minha include Big, Bang, Boom.

https://sampforum.blast.hk/showthread.php?tid=471366


Re: Comando simples - Russo66 - 30.10.2013

Biel, a minha funзгo nгo tem nada haver com a sua include, VOCК pelo menos olhou o cуdigo?

Sabe para fins serб usando?


Re: Comando simples - Zivo - 30.10.2013

Oq ta ocorrendo de errado?
ta compilando com erro ou nao ta funcionando do jeito que vocк quer?


Re: Comando simples - Russo66 - 30.10.2013

Zivo, simplesmente o veнculo explode dentro e fora do ponto da funзгo "IsPlayerInRangeOfPoint"

Jб tentei re-fazer as funзхes, porem nгo obtive muito sucesso.

Se tiver alguma dica.. pois aparenta nгo apresentar 'problemas' visivelmente!


Re: Comando simples - BielCOP - 30.10.2013

Quote:
Originally Posted by Russo66
Посмотреть сообщение
Biel, a minha funзгo nгo tem nada haver com a sua include, VOCК pelo menos olhou o cуdigo?

Sabe para fins serб usando?
Quote:
Originally Posted by BielCOP
Посмотреть сообщение
Se for um cуdigo para a criaзao de uma bomba com o manuseio fбcil, use a minha include Big, Bang, Boom.

https://sampforum.blast.hk/showthread.php?tid=471366
Cofoi, sу pq tu tб na Ips tu tem que ficar putinho comigo ?

Ta aн o seu cуdigo, sem educaзao.

pawn Код:
CMD:bomba(playerid)
{
    new Float:Posicao[3],bool:CarroEspecial = false; GetPlayerPos(playerid,Posicao[0],Posicao[1],Posicao[2]);
   
    SendClientMessage(playerid,INFO,"Voce soltou uma bomba!");
   
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerInRangeOfPoint(i,25.0,Posicao[0],Posicao[1],Posicao[2]))
            {
                if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
                {
                    if(GetPlayerVehicleID(i) == FavelaCar[0])
                    {
                        GetPlayerPos(i,Posicao[0],Posicao[1],Posicao[2]);
                        CreateExplosion(Posicao[0],Posicao[1],Posicao[2]),7,5.0);
                       
                        CarroEspecial = true;
                    }
                }
            }
        }
    }
    if(CarroEspecial == false)
    {
        SendClientMessage(playerid,INFO,"O carro especial nao esta sendo conduzido ou voce nao esta perto do mesmo!");
    }
    return 1;
}



Re: Comando simples - Russo66 - 30.10.2013

Biel, nгo sou da Ips, apenas admiro o trabalho deles, por este e outros motivos utilizo as includes e funзхes por eles.

Desculpe se te ofendi, й porque vocк posta muita besteira nos tуpicos atualmente e nem se quer deu o trabalho de ler meu 'cуdigo' antes.

Seu cуdigo serб testado, caso obtenha melhor resultado irei te reputar, pois jб tentei usando variбvel para o veiculo especial.


Re: Comando simples - Zivo - 30.10.2013

pawn Код:
CMD:bomba(playerid, params[])
{
    for(new i; i <MAX_PLAYERS; i++) if(IsPlayerConnected(i)) //Percorre todos os players conectados.  
    {                    
        new Float:px,Float:py, Float:pz; //Declara umas floats.
        GetPlayerPos(playerid, px, py, pz);
        if(IsPlayerInRangeOfPoint(i, 25.0, px, py, pz))//Verifica se existe alguйm dentro do ponto.              
        {
            if(GetPlayerState(i) == PLAYER_STATE_DRIVER)//Verifica se existe alguйm dirigindo.
            {            
                GetPlayerPos(i, px, py, pz);//Se tiver pega a posiзгo da pessoa.
                if(GetPlayerVehicleID(i) == FavelaCar[0]) //se tiver com o carro especial causa a explosгo.              
                {                
                    CreateExplosion(px, py, pz, 7, 5.0); //cria a explosao.
                    return SendClientMessage(playerid, INFO, "[INFO]: Vocк soltou uma bomba!");// retorna o aviso a quem soltou.
                }
            }
            else return SendClientMessage(playerid, ERRO, "[ERRO]: Nгo existe ninguйm dirigindo o carro especial!");//Retorna caso nгo existe ninguйm dirigindo nas proximidades
        }                            
        else return SendClientMessage(playerid, ERRO, "[ERRO]: Nгo existe nenhum carro especial prуximo!");//Retorna se nгo tiver nenhum carro proximo
    }
    return 1;
}



Re: Comando simples - Russo66 - 30.10.2013

Biel, faltou 1 return no seu cуdigo e o parametro do CreateExplosion estava errado.

OBS: mesmo problema.

Zivo, jб tentei declarando dentro do loop.


Re: Comando simples - PT - 30.10.2013

seu problema e que isto aqui

pawn Код:
new Float:px,Float:py, Float:pz; //Declara umas floats.
if(IsPlayerInRangeOfPoint(i, 25.0, px, py, pz))//Verifica se existe alguйm dentro do ponto.
nao ta fazendo sentido, qual ponto?