[Ajuda] Sistema Anti-DM
#1

Estou com um problema galera.
PHP Code:
stock IsPlayerInRC(playerid)
{
    new 
Float:xFloat:yFloat:z;
    
GetPlayerPos(playeridxyz);
    if(
>= 1435.4246 && >= -1720.3379 && <= 1522.1321 && <= -1600.3434) return 1// Prefeitura
    
if(>= 1290.7766 && >= -1720.0077 && <= 1034.1986 && <= -1842.6490) return 1// Spawn Civil
    
if(>= 1249.3438 && >= -1288.7474 && <= 1069.0786 && <= -1387.2887) return 1// Hospital
    
else return 0;

Acontece que sу esse da Prefeitura funciona, os outros nгo. Tem que colocar uma espйcie de || ? se puderem ajudar, agradeзo.
Reply
#2

Tente usar com else if.
Reply
#3

pq retornar cada linha e nгo usar apenas return 1;
Reply
#4

Faзa o que o Luan disse ou mude "else return 0;" por "return 0;"

PHP Code:
stock IsPlayerInRC(playerid

    new 
Float:xFloat:yFloat:z
    
GetPlayerPos(playeridxyz);
    if(
>= 1435.4246 && >= -1720.3379 && <= 1522.1321 && <= -1600.3434) return 1// Prefeitura 
    
if(>= 1290.7766 && >= -1720.0077 && <= 1034.1986 && <= -1842.6490) return 1// Spawn Civil 
    
if(>= 1249.3438 && >= -1288.7474 && <= 1069.0786 && <= -1387.2887) return 1// Hospital 
    
return 0

Reply
#5

Primeiro, por que usar "stock"?

PHP Code:
IsPlayerInRC(playerid)  
{
    new 
Float:pos[3]; 
    
GetPlayerPos(playeridpos[0], pos[1], pos[2]); 
    
    if(
pos[0] >= 1435.4246 && pos[1] >= -1720.3379 && pos[0] <= 1522.1321 && pos[1] <= -1600.3434) return 1// Prefeitura  
    
else if(pos[0] >= 1290.7766 && pos[1] >= -1720.0077 && pos[0] <= 1034.1986 && pos[1] <= -1842.6490) return 1// Spawn Civil  
    
else if(pos[0] >= 1249.3438 && pos[1] >= -1288.7474 && pos[0] <= 1069.0786 && pos[1] <= -1387.2887) return 1// Hospital  
    
else return 0;  

Reply
#6

Eu faria assim:

Code:
stock IsPlayerInRC(playerid) 
{ 
    new Float:x, Float:y, Float:z; 
    GetPlayerPos(playerid, x, y, z); 
    return ((x >= 1435.4246 && y >= -1720.3379 && x <= 1522.1321 && y <= -1600.3434) // Prefeitura 
    || (x >= 1290.7766 && y >= -1720.0077 && x <= 1034.1986 && y <= -1842.6490) // Spawn Civil 
    || (x >= 1249.3438 && y >= -1288.7474 && x <= 1069.0786 && y <= -1387.2887)); // Hospital 
}
Reply
#7

Quote:
Originally Posted by JeffSantos2
View Post
Eu faria assim:

Code:
stock IsPlayerInRC(playerid) 
{ 
    new Float:x, Float:y, Float:z; 
    GetPlayerPos(playerid, x, y, z); 
    return ((x >= 1435.4246 && y >= -1720.3379 && x <= 1522.1321 && y <= -1600.3434) // Prefeitura 
    || (x >= 1290.7766 && y >= -1720.0077 && x <= 1034.1986 && y <= -1842.6490) // Spawn Civil 
    || (x >= 1249.3438 && y >= -1288.7474 && x <= 1069.0786 && y <= -1387.2887)); // Hospital 
}
Vocк tem certeza do que estб fazendo?
Reply
#8

Quote:
Originally Posted by Undef1ned
View Post
Vocк tem certeza do que estб fazendo?
Analisando no grosso, o algoritmo dele funciona. Basicamente o que ele faz й retornar o resultado da condiзгo imposta pelo return...
Reply
#9

Quote:
Originally Posted by Artista
View Post
Analisando no grosso, o algoritmo dele funciona. Basicamente o que ele faz й retornar o resultado da condiзгo imposta pelo return...
Tem certeza que estб tudo bem? O que funciona? Й um cуdigo ruim.

E tambйm, por que verificar se "x" й igual ou maior que uma coordenada e, ao mesmo tempo, verificar se "x" й maior ou menor que outras coordenadas?
Reply
#10

Quote:
Originally Posted by Undef1ned
View Post
Tem certeza que estб tudo bem? O que funciona? Й um cуdigo ruim.

E tambйm, por que verificar se "x" й igual ou maior que uma coordenada e, ao mesmo tempo, verificar se "x" й maior ou menor que outras coordenadas?
Vocк estб cagando pelos dedos.
Como isso й uma gangzone, й necessбrio pegar os dois pontos extremos de X e Y.
Reply
#11

Quote:
Originally Posted by Undef1ned
Посмотреть сообщение
Tem certeza que estб tudo bem? O que funciona? Й um cуdigo ruim.
Se tratando de desempenho o cуdigo dele й exatamente igual ao o que vocк postou, na hora disso tudo ser compilado darб no mesmo.

Se tratando de elegвncia e sustentabilidade, o cуdigo й terrнvel! Mas o seu tambйm nгo estб bacana, na verdade os dois sу nгo sгo piores ao o que eu postei. rs

Quote:
Originally Posted by Undef1ned
Посмотреть сообщение
E tambйm, por que verificar se "x" й igual ou maior que uma coordenada e, ao mesmo tempo, verificar se "x" й maior ou menor que outras coordenadas?
Nгo me atentei as regras de negуcio do sistema, mas pelo o que me parece, ele estб tentando verificar se o jogador estб dentro de uma determinada бrea, logo verificar se estб dentro dos limites impostos das бreas (tanto inferior, quanto superior) das coordenadas x e y seria uma soluзгo para isso.
Reply
#12

Ok, deixo-te com a tua lуgica. Agora vocк me diz se isso faz algum sentido ou se vai funcionar.

PHP код:
>= -1720.3379 && <= -1600.3434 
Reply
#13

Quote:
Originally Posted by Undef1ned
Посмотреть сообщение
Ok, deixo-te com a tua lуgica. Agora vocк me diz se isso faz algum sentido ou se vai funcionar.

PHP код:
>= -1720.3379 && <= -1600.3434 
E por que nгo funcionaria?
Reply
#14

Quote:
Originally Posted by Undef1ned
Посмотреть сообщение
Ok, deixo-te com a tua lуgica. Agora vocк me diz se isso faz algum sentido ou se vai funcionar.

PHP код:
>= -1720.3379 && <= -1600.3434 
Leia aqui e pare de falar mais bosta.
E volte para os seus descendentes venezuelanos, por favor.
Reply
#15

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Leia aqui e pare de falar mais bosta.
E volte para os seus descendentes venezuelanos, por favor.
Eu acho que ele viu "y >= -1720.3379 && y <= -1600.3434" e achou esquisito, deve ter esquecido o fato de que eram nъmeros negativos hihihihihi.
Reply
#16

Quote:
Originally Posted by Artista
Посмотреть сообщение
Eu acho que ele viu "y >= -1720.3379 && y <= -1600.3434" e achou esquisito, deve ter esquecido o fato de que eram nъmeros negativos hihihihihi.
Tнpico de quem nгo sabe de nada e acha que sabe.
Reply
#17

Quote:
Originally Posted by Artista
Посмотреть сообщение
Eu acho que ele viu "y >= -1720.3379 && y <= -1600.3434" e achou esquisito, deve ter esquecido o fato de que eram nъmeros negativos hihihihihi.
Sim, agora vejo que estava errado, lol. Eu fiquei confuso, acho que fiquei louco.

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Leia aqui e pare de falar mais bosta.
E volte para os seus descendentes venezuelanos, por favor.
Hб algo de errado comigo por ser Venezolano?
Reply
#18

Meu Deus do cйu, o tуpico й de Ajuda e nгo de Brigas...
Reply
#19

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Leia aqui e pare de falar mais bosta.
E volte para os seus descendentes venezuelanos, por favor.
Nгo gostei disso cara, o que tem a ver o amigo ser venezuelano ? Somos todos bastardos sul americanos
Reply
#20

Quote:
Originally Posted by Artista
Посмотреть сообщение
Se tratando de desempenho o cуdigo dele й exatamente igual ao o que vocк postou, na hora disso tudo ser compilado darб no mesmo.

Se tratando de elegвncia e sustentabilidade, o cуdigo й terrнvel! Mas o seu tambйm nгo estб bacana, na verdade os dois sу nгo sгo piores ao o que eu postei. rs



Nгo me atentei as regras de negуcio do sistema, mas pelo o que me parece, ele estб tentando verificar se o jogador estб dentro de uma determinada бrea, logo verificar se estб dentro dos limites impostos das бreas (tanto inferior, quanto superior) das coordenadas x e y seria uma soluзгo para isso.
Defina "Sustentabilidade" KKK
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)