I can do most of it but the old ATAN XZ and then Y system confuses me since LUA uses a X Y Z
So how would this translate into LUA's system:
Code: Select all
TransportPickup(id)
{
if(units_inside>=8 || dead == 1)
{
return;
}
if(get XZ_HYPOT(get PIECE_XZ(base) - get UNIT_XZ(id))<=MAX_LOAD_RADIUS)
{
set BUSY to 1;
turn lsho to y-axis get XZ_ATAN(get PIECE_XZ(lsho) - get UNIT_XZ(id)) now;
move larm to z-axis get XZ_HYPOT(get PIECE_XZ(lsho) - get UNIT_XZ(id)) now;
move larm to y-axis get UNIT_Y(id) - get PIECE_Y(lsho) now;
attach-unit id to larm;
move larm to z-axis 0 speed ((get XZ_HYPOT(get PIECE_XZ(lsho) - get UNIT_XZ(id)))/(LOAD_TIME))*1000;
move larm to y-axis get PIECE_Y(base) - get PIECE_Y(lsho) speed ((get PIECE_Y(base) - get UNIT_Y(id))/(LOAD_TIME))*1000;
sleep LOAD_TIME;
attach-unit id to 0 - 1;
units_inside = units_inside +1;
set BUSY to 0;
}
}
TransportDrop(id,xz)
{
if(get XZ_HYPOT(get PIECE_XZ(base) - get UNIT_XZ(id))<=MAX_UNLOAD_RADIUS)
{
set BUSY to 1;
call-script opendoor();
if (dead == 0)
{
UNLOAD_TIME = 1;
}
turn usho to y-axis get XZ_ATAN(get PIECE_XZ(usho) - xz) now;
move uarm to z-axis 0 now;
move uarm to y-axis get PIECE_Y(base) - get PIECE_Y(usho) now;
attach-unit id to uarm;
move uarm to z-axis get XZ_HYPOT(get PIECE_XZ(usho) - xz) speed ((get XZ_HYPOT(get PIECE_XZ(usho) - xz))/(UNLOAD_TIME))*1000;
move uarm to y-axis get GROUND_HEIGHT(xz) - get PIECE_Y(usho) speed ((get PIECE_Y(base) - get GROUND_HEIGHT(xz))/(UNLOAD_TIME))*1000;
sleep UNLOAD_TIME;
drop-unit id;
units_inside = units_inside - 1;
set BUSY to 0;
}
}