SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Closed Thread
 
Thread Tools Display Modes
Old 23/10/2015, 09:45 PM   #11
Kuddy
High-roller
 
Kuddy's Avatar
 
Join Date: Jun 2011
Location: Brasil / Paraná
Posts: 2,876
Reputation: 313
Default Re: Dúvida simples "IsPlayerInRangeOfPoint"

Quote:
Originally Posted by Abravanel View Post
Destaquei bem para você ler novamente o que eu escrevi. E gostaria de saber, como meu código está completamente errado?!?! Não tem nada de errado. Único equívoco foi eu não ter igualado ao ponto ( <= | >= ), fator que não tem muita importância já que funciona quase da mesma forma. E sinceramente, o código está bastante claro, se você não consegue enxergar, desfaça-o e recria de uma forma mais simples, se isso for possível rs.
Cheio da marra hein. Então irei provar que você está errado.

Aqui está em C#:

PHP Code:
class Teste {
    public 
Texture2D textureDr;
    public 
Texture2D textureAbravanel;
    
    
void Start() {
        
int sizeX 201;
        
int sizeY 201;

        
textureDr = new Texture2D(sizeXsizeY);
        
textureAbravanel = new Texture2D(sizeXsizeY);

        
Vector2 point = new Vector2(100100);

        for(
int x 0sizeXx++) {
            for(
int y 0sizeYy++) {
                if(
IsPointInRangeOfPoint2D(new Vector2(xy), point10F))
                    
textureDr.SetPixel(xyColor.green);
                else
                    
textureDr.SetPixel(xyColor.red);

                if(
IsPlayerInRangeOfXY(xy10Fpoint.xpoint.y))
                    
textureAbravanel.SetPixel(xyColor.green);
                else
                    
textureAbravanel.SetPixel(xyColor.red);
            }
        }

        
textureDr.Apply();
        
textureAbravanel.Apply();
    }

    
bool IsPointInRangeOfPoint2D(Vector2 point1Vector2 point2float range) {
        
Vector2 newPoint = new Vector2(point1.point2.xpoint1.point2.y);
        
float distance Mathf.Abs(Mathf.Sqrt((newPoint.newPoint.x) + (newPoint.newPoint.y)));
        if(
distance <= range)
            return 
true;
        return 
false;
    }

    
bool IsPlayerInRangeOfXY(int pointXint pointYfloat radiusfloat xfloat y) {
        
        
float[] velha = new float[3];
        
float[] nova = new float[2];
        
//GetPlayerPos(playerid, velha[0], velha[1], velha[2]);
        
velha[0] = pointX;
        
velha[1] = pointY;
        
nova[0] = (velha[0]-x);
        
nova[1] = (velha[1]-y);

        if (((
nova[0] < radius) && (nova[1] > -radius))) return true;

        return 
false;
    }


JS:

PHP Code:
var textureDr;
var 
textureAbravanel;

    
function 
Start() {
    var 
sizeX 201;
    var 
sizeY 201;

    
textureDr = new Texture2D(sizeXsizeY);
    
textureAbravanel = new Texture2D(sizeXsizeY);

    var 
point = new Vector2(100100);

    for(var 
0sizeXx++) {
        for(var 
0sizeYy++) {
            if(
IsPointInRangeOfPoint2D(xypoint.xpoint.y10))
                    
textureDr.SetPixel(xyColor.green);
                else
                    
textureDr.SetPixel(xyColor.red);

            if(
IsPlayerInRangeOfXY(xy10point.xpoint.y))
                    
textureAbravanel.SetPixel(xyColor.green);
                else
                    
textureAbravanel.SetPixel(xyColor.red);
        }
    }

    
textureDr.Apply();
    
textureAbravanel.Apply();
}

function 
IsPointInRangeOfPoint2D(x,ypx,pyrange) {
    var 
newPoint = new Vector2(pxpy);
    var 
distance Mathf.Abs(Mathf.Sqrt((newPoint.newPoint.x) + (newPoint.newPoint.y)));
    if(
distance <= range)
        return 
true;
    return 
false;
}

function 
IsPlayerInRangeOfXY(pointXpointYradiusxy) {
    var 
velha = new float[3];
    var 
nova = new float[2];
    
//GetPlayerPos(playerid, velha[0], velha[1], velha[2]);
    
velha[0] = pointX;
    
velha[1] = pointY;
    
nova[0] = (velha[0]-x);
    
nova[1] = (velha[1]-y);

    if (((
nova[0] < radius) && (nova[1] > -radius))) return true;

    return 
false;
}

function 
OnGUI() {
    
GUI.DrawTexture(new Rect(Screen.width 0.5 250Screen.height 0.5 100201201), textureDr);
    
GUI.DrawTexture(new Rect(Screen.width 0.5 50Screen.height 0.5 100201201), textureAbravanel);

Não entendo bulhufas nenhuma de JS más mesmo assim reproduzi seu código. Está errado.
Não importa a linguagem, o erro é o mesmo. Você está errado.
Você está errado em corrigir o Dr_Pawno.
Você está errado em me corrigir.

Você está completamente errado. Só aceite.
__________________
"CRIANÇÃ GAMER OTAKO QUE SOFREU BULLYING NA ESCOLA E AINDA É BV"
Kuddy is offline  
Old 23/10/2015, 10:21 PM   #12
Abravanel
Gangsta
 
Abravanel's Avatar
 
Join Date: Jan 2012
Location: Copacabana, RJ, Brazil
Posts: 783
Reputation: 116
Default Re: Dúvida simples "IsPlayerInRangeOfPoint"

@Kuddy
Sinceramente, quase cheguei a ri na parte que você disse que estou errado em te corrigir. Digo e repito, meu código está certo. Crie qualquer área e use-o.

Você está focando no círculo sendo que já afirmei no mesmo post que respondi sua redundante afirmação, que houve um equívoco da minha parte em relação a verificação circular, mas que de qualquer forma, no raio correto, é possível sim verificar a posição dentro do circulo, porém com uma pequena margem de erro. Olha a imagem que postei!

Fazer e desfazer o código seja qual for a linguagem, não há problema, o problema é você dizer que meu código está completamente errado quando na verdade você quis dizer que ele não funciona 100% em relação à circulos. Portanto, na verdade, o errado aqui está sendo suas afirmações generalizadas.

Não quero ser punido por flamewar, se quiser continuar isso, vou continuar repetindo a mesma coisa mil vezes se necessário até você entender, me chame em PM .

@EDIT

Sobre seu post abaixo, qual a parte que você não entendeu quando eu disse que você está focando na verificação circular na qual eu já disse que houve um equívoco?
pawn Code:
((nX - X) << 2) + ((nY - Y) << 2) = (raio << 2)
Acabou.
__________________
Valente Brasil
Abravanel is offline  
Old 23/10/2015, 10:27 PM   #13
Kuddy
High-roller
 
Kuddy's Avatar
 
Join Date: Jun 2011
Location: Brasil / Paraná
Posts: 2,876
Reputation: 313
Default Re: Dúvida simples "IsPlayerInRangeOfPoint"

Quote:
Originally Posted by Abravanel View Post
@Kuddy
Sinceramente, quase cheguei a ri na parte que você disse que estou errado em te corrigir. Digo e repito, meu código está certo. Crie qualquer área e use-o.

Você está focando no círculo sendo que já afirmei no mesmo post que respondi sua redundante afirmação, que houve um equívoco da minha parte em relação a verificação circular, mas que de qualquer forma, no raio correto, é possível sim verificar a posição dentro do circulo, porém com uma pequena margem de erro. Olha a imagem que postei!

Fazer e desfazer o código seja qual for a linguagem, não há problema, o problema é você dizer que meu código está completamente errado quando na verdade você quis dizer que ele não funciona 100% em relação à circulos. Portanto, na verdade, o errado aqui está sendo suas afirmações generalizadas.

Não quero ser punido por flamewar, se quiser continuar isso, vou continuar repetindo a mesma coisa mil vezes se necessário, me chame em PM .
Seu código pega todo X > playerX como true. Está errado e pronto cara.

Em outra resolução e com outro centro.



Agora você entende que está errado?
__________________
"CRIANÇÃ GAMER OTAKO QUE SOFREU BULLYING NA ESCOLA E AINDA É BV"

Last edited by Lós; 24/10/2015 at 08:17 PM.
Kuddy is offline  
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Como usar o "IsPlayerInRangeOfPoint" ? Thompsoon Português/Portuguese 11 12/08/2014 09:28 AM
5 Dialog errors - Input line too long, undefined symbol "t","is" and "only" Deal-or-die Scripting Help 6 01/05/2012 12:08 PM
[Ajuda] undefined symbol "IsPlayerInRangeOfPoint" Spencer1 Português/Portuguese 2 30/10/2011 01:39 AM
[HELP]undefined symbol "IsPlayerInRangeOfPoint" bboytimix Help Archive 4 01/10/2010 12:53 PM


All times are GMT. The time now is 03:33 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.