SA-MP Forums Archive
[Ajuda] Colisгo de NPCs - 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] Colisгo de NPCs (/showthread.php?tid=664217)



Colisгo de NPCs - Scorpion659 - 22.02.2019

Boa noite, eu vi em um servidor e fiquei curioso, lб eles colocaram pra quando o NPC, no caso o zumbi do servidor, encostar em uma parede, ele de um pulo, um mini voo, evitando que os zumbis fiquem atravessando as paredes atras das pessoas.

Ai, eu queria fazer algo parecido, eu jб tenho o zumbi criado com o FCNPC, mas eu queria saber qual funзгo ou callback que й chamado quando o NPC encosta em uma parece ou colide em algum objeto qualquer, alguйm sabe como й feito?

Obrigado por qualquer ajuda.


Re: Colisгo de NPCs - RenanMsV - 22.02.2019

talvez usaram colandreas


Re: Colisгo de NPCs - Scorpion659 - 22.02.2019

Bah, vlw, dei uma pesquisada e provavelmente й isso msm.


Re: Colisгo de NPCs - Scorpion659 - 22.02.2019

Eu tava vendo as funзхes e me deparei com algo que n sei direito.

Na funзгo

CA_RayCastLine(myposX, mypoY, myposZ, anotherPlayerposX, anotherPlayerposY, anotherPlayerposZ, &Floatx, &Float:y, &Float:z);

й para verificar se existe algum objeto entre uma posiзгo e outra, certo? mas pra que serve as ultimas 3 cordenadas nessa funзгo? uma й de um ponto, a outra de outro, mas e essa &Floarx,y,z..? Alguem sabe?


Re: Colisгo de NPCs - MultiKill - 22.02.2019

PHP код:
new FloatAx 1.0;
new 
FloatAy 0.5;
new 
FloatAz 0.2;
new 
FloatBx 2.0;
new 
FloatBx 1.0;
new 
FloatBz 0.1;
new 
FloatCxFloatCyFloatCz;
//Os ъltimos 3 parвmetros devem ser informadas vбriaveis para armazenar as coordenadas da colisгo:
//new ret = CA_RayCastLine(1.0, 0.5, 0.2, 2.0, 1.0, 0.1, Cx, Cy, Cz);
new ret CA_RayCastLine(AxAyAzBxByBzCxCyCz);
if(
ret){
    if(
ret == -1){
        print(
"Colide com a бgua");
    }
    else{
        
printf("Colide com obejto, modelo: %d"ret);
    }
    
printf("Coordenadas do ponto de colisгo:\nx: %f\ny: %f\nz: %f"CxCyCz);
}
else{
    print(
"Objeto nгo colide com nada");

No exemplo acima, ele verifica se existe algum objeto entre o ponto A e B.

"&" serve para passar uma variбvel por referкncia, assim nгo irб criar outra variбvel quando a funзгo for chamada. Permitindo o retorno com as coordenadas.

Caso queira saber mais sobre isso, pode olhar esse vнdeo sobre c/c++
https://www.%79o%75%74%75be.com/watch?v=cON246dVLhM


Link do wiki do ColAndreas:
https://github.com/Pottus/ColAndreas...ca_raycastline


Re: Colisгo de NPCs - Scorpion659 - 22.02.2019

Muito Obrigado