Calculating Race Grid positions - Formula help
#1

Hello again!

okay one more time, i've tried to make a new way of calculating the the spawns with trigonometrical functions like this:

pawn Код:
stock GetXYForRacer(Float:xs, Float:ys, &Float:x, &Float:y, Float:angle, position, columns,  Float:sDistance, Float:rDistance)
{
    // we assume the index is starting at = 0 (Then we will get (0,0) as a start pos,
    //because of the calculations for I and J below) which is forwarded to the "calc_point"
    //Defs: xs & ys Should be the reference X&Y and
    //rDistance and sDistance is particularly the sideDistance (side offset) and rearDistance (rear offset)
    // x and y is forwarded to the arrays i added to hold the info.

    new i = position%columns;
    new j = floatround(position, floatround_floor) / columns;
    Calc_Point(xs, ys, Resultx, Resulty, sDistance, rDistance, angle, i, j);
    x = Resultx;
    y = Resulty;
   
}

stock Calc_Point(Float:xs, Float:ys, &Float:x, &Float:y, Float:sDistance, Float:rDistance, Float:angle, i, j)
{
    //rDistance = offset behind the front column
    //sDistance = side offset
    // X and Y gets sent back.
    //xs and ys is the position i am calculating this from. (xStock and yStock)
    //I og J is from the other funct


    x = xs - i * sDistance * floatcos(angle) + j * rDistance * floatsin(angle);
    y = ys + i * sDistance * floatsin(angle) + j * rDistance * floatcos(angle);
}
And it SHOULD look like this when testing it out;



But instead I end up with the results such as below:


How can i edit the formula to make it match the coordinate-system used in sa-mp ?

Thanks guys!
Reply
#2

Nevermind guys.

I found out what the problem as. I had to change the minuses to plusses in the last one and add
"floatcos(angle, degrees)" which mainly was my problem.

Solved!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)