їpor quй mi actor no rota?
#1

PHP код:
stock SetActorFacingPoint(pedidFloat:xFloat:y// Gammix
{
    new 
Float:pXFloat:pYFloat:pZ;
    
GetActorPos(pedidpXpYpZ);
    new 
Float:angle;
    if( 
pY angle = (-acos((pX) / floatsqroot((pX)*(pX) + (pY)*(pY))) - 90.0);
    else if( 
pY && pX angle = (acos((pX) / floatsqroot((pX)*(pX) + (pY)*(pY))) - 450.0);
    else if( 
pY angle = (acos((pX) / floatsqroot((pX)*(pX) + (pY)*(pY))) - 90.0);
    if(
pXangle = (floatabs(floatabs(angle) + 180.0));
    else 
angle = (floatabs(angle) - 180.0);
 
    return 
SetActorFacingAngle(pedidangle);

Reply
#2

No creo que sea necesario tanto cуdigo. Prueba esto:

pawn Код:
stock SetActorFacingToPoint(pedid, Float:x, Float:y)
{
    new Float:pX, Float:pY, Float:pZ;
    GetActorPos(pedid, pX, pY, pZ);

    return SetActorFacingAngle(pedid, atan2(y - pY, x - pX) + 270.0); // O creo que era "atan2(pY - y, pX - x)"
}
Reply
#3

Quote:
Originally Posted by EnzoMetlc
Посмотреть сообщение
No creo que sea necesario tanto cуdigo. Prueba esto:

pawn Код:
stock SetActorFacingToPoint(pedid, Float:x, Float:y)
{
    new Float:pX, Float:pY, Float:pZ;
    GetActorPos(pedid, pX, pY, pZ);

    return SetActorFacingAngle(pedid, atan2(y - pY, x - pX) + 270.0); // O creo que era "atan2(pY - y, pX - x)"
}
Nop, no me funcionу ninguno de los dos u.u
Reply
#4

no rota por que hay que destruir y crearlo de nuevo al actor antes de utilizar SetActorFacingAngle,
no se por que pero asн es.

creo que deberнan de corregir eso, por que si no no tiene lуgica la funciуn.

saludos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)