Luckily I am not getting paid for this because I would have been fired a LONG time ago. I've sorted out the infinite loop (thanks Gnat) and I only need to sort out the positioning. When I spawn my anchor piece I get the other two pieces but they are off-set by dozens of meters. It's like having three ships sailing side by side but none of them are complete ships.

At least I got them to point in the right direction.
I need help understanding the position portion of the init script:
if (isServer) then {
_lpdspawn = _this select 0;
_lpddir = getdir _lpdspawn;
_lpdspawn setpos[getposasl _lpdspawn select 0, getposasl _lpdspawn select 1, 0];
_lpdspawnpoint = [getposasl _lpdspawn select 0, getposasl _lpdspawn select 1, 0];
_XSin = sin(_lpddir);
_XCos = cos(_lpddir);
_vx = (_lpdspawnpoint select 0); // + (_XSin * 19.916) + (_XCos * 8.87891);
_vy = (_lpdspawnpoint select 1); // + (_XCos * 19.916) - (_XSin * 8.87891);
_vxS1 = (_vx) + (_XSin * -100) + (_XCos * 0);
_vyS1 = (_vy) + (_XCos * 0) - (_XSin * 0);
_vxS2 = (_vx) + (_XSin * 0) + (_XCos * 0);
_vyS2 = (_vy) + (_XCos * 100) - (_XSin * 0);
I understand the mathematics behind this (cos of 0 = 1, etc) but what I don't get is what part of the equation relates to a given direction. I've been doing trial and error for about an hour and I don't feel any closer to understanding it.
What variable tells the object to move left/right/forward/back?