Code:
@name 3D-Map-Creator-Made-By-Dark
@inputs Calculate GPS:vector GroundStation:vector HoloHeightParam
@inputs Scale_Y Scale_X Scale_Z
@outputs XOut YOut HightOut
@persist A:angle
@persist Range
@persist Clear Zout
@persist I I1 X Y Z ScaleX FeetX FeetY ScaleY
@trigger
if(first())
{
X = -ScaleX Y = -ScaleY
ScaleX = 500
ScaleY = 500
Scale = 0.5
FeetX = 5
FeetY = 40
I1 = 1
holoCreate(1)
holoCreate(2)
}
interval(10)
Range = ranger(10000,0,0):distance()
V = entity():toLocal(rotationVector(quat(ang(180,0,0))/quat(entity()))+entity():pos())
entity():applyTorque((150*V - 12*entity():angVelVector())*entity():inertia())
entity():applyForce(((vec(X + GPS:x(),Y + GPS:y(),Z + 1000) - entity():pos()) * entity():mass()) * 50 - entity():vel())
if(Calculate == 1)
{
holoPos(1,vec(X + GPS:x(),Y + GPS:y(),Z + 700))
holoPos(2,vec(X + GPS:x(),Y + GPS:y(),Z + 100))
holoScale(2,vec(FeetX / 5,FeetY / 5,1000))
holoScale(1,vec(FeetX / 5,FeetY / 5,1000))
if(I == 1)
{
X = -ScaleX * I1
Y = -ScaleY * I1
Z = 0
I = 0
}
X += FeetX * I1
if(X == (ScaleX * I1))
{
I1 = I1 * -1
X = -ScaleX * I1
Y += FeetY
}
if(Y >= ScaleY)
{
Y = -ScaleY
}
}elseif(Calculate == 0)
{
X = GroundStation:x() - GPS:x()
Y = GroundStation:y() - GPS:y()
Z = GroundStation:z() - GPS:z() + 15 - 900
I = 1
holoScale(1,vec(0,0,0))
holoScale(2,vec(0,0,0))
}
XOut = X * Scale_X
YOut = Y * Scale_Y
HightOut = -(((Range - 1000) * Scale_Z) - HoloHeightParam)