rendered paste body#Global Hooks$Global:[missionTime = mn.getMissionTime()if missionTime ~= nil and missionTime > 0.5 thengr.setColor(255,255,0)gr.drawString(currentOri["h"],100,100)gr.drawString(currentOri["p"],100,110)gr.drawString(currentOri["b"],100,120)gr.drawString(currentPos["x"],100,140)gr.drawString(currentPos["y"],100,150)gr.drawString(currentPos["z"],100,160)gr.drawString(cCameraPos["x"],100,180)gr.drawString(cCameraPos["y"],100,190)gr.drawString(cCameraPos["z"],100,200)gr.drawString(me.Physics.RotationalVelocity[1],100,220)gr.drawString(me.Physics.RotationalVelocity[2],100,230)gr.drawString(me.Physics.RotationalVelocity[3],100,240)gr.drawString(me.Physics.RotationalVelocityDesired[1],100,260)gr.drawString(me.Physics.RotationalVelocityDesired[2],100,270)gr.drawString(me.Physics.RotationalVelocityDesired[3],100,280)directionVec = ba.createVector(0,0,100)pointerVec = currentOri:rotateVector(directionVec)gr.drawString(pointerVec[1],100,300)gr.drawString(pointerVec[2],100,310)gr.drawString(pointerVec[3],100,320)end]$Simulation:[missionTime = mn.getMissionTime()frameTime = ba.getFrametime(true)if camerainit == nil then blankOri = mn.Ships[1].Orientation blankOri["p"] = 0 blankOri["b"] = 0 blankOri["h"] = 0 cCameraPos = ba.createVector(0,0,-50) cCameraOri = blankOri chaseCamera = ts.createCamera("chaseCamera1",cCameraPos, cCameraOri) ts.setCamera(chaseCamera) camerainit = 42 directionVec = ba.createVector(0,0,100) nullVec = ba.createVector(0,0,0) aimTexture = gr.loadTexture("ParticleExp01",true) nullorientation = mn.Ships[1].Orientation nullorientation["b"] = 0 nullorientation["p"] = 0 nullorientation["h"] = 0 beginningpos = ba.createVector(10000,10000,10000) aimmodel = mn.createShip("Shootme",tb.ShipClasses["Target MK I"],nullorientation,beginningpos)endif missionTime > 0.25 then me = hv.Player if me:isValid() then if lastOri == nil then lastOri = me.Orientation end --Get Position and Orientation currentOri = me.Orientation currentPos = me.Position pointerVec = currentOri:unrotateVector(directionVec) newtargettingpos = currentPos + pointerVec/(1/2) mn.Ships["Shootme"].Position = newtargettingpos --ts.createParticle(currentPos + pointerVec/(1/2),nullVec,frameTime,1,PARTICLE_BITMAP,-1,false,aimTexture) --ts.createParticle(currentPos + pointerVec/(1/4),nullVec,frameTime,1,PARTICLE_BITMAP,-1,false,aimTexture) --ts.createParticle(currentPos + pointerVec/(1/6),nullVec,frameTime,1,PARTICLE_BITMAP,-1,false,aimTexture) --ts.createParticle(currentPos + pointerVec/(1/8),nullVec,frameTime,1,PARTICLE_BITMAP,-1,false,aimTexture) --ts.createParticle(currentPos + pointerVec/(1/10),nullVec,frameTime,1,PARTICLE_BITMAP,-1,false,aimTexture) --Get where the Camera is supposed to be (50m behind the player) cCameraPos["y"] = 15 cCameraPos["z"] = currentPos["z"] - 75 chaseCamera:setPosition(cCameraPos) --Angle Limit shipAngle = math.sqrt(math.pow(currentOri["p"],2) + math.pow(currentOri["h"],2)) if shipAngle > 0.524 then currentOri = lastOri end realRotVel = me.Physics.RotationalVelocity currentBank = currentOri["b"] if currentBank ~= 0 then realRotVel[3] = -1*currentBank/2 end me.Physics.RotationalVelocity = realRotVel --Horizontal Position Limit if currentPos["x"] > 30 then currentPos["x"] = 30 elseif currentPos["x"] < -30 then currentPos["x"] = -30 end --Vertical Position Limit if currentPos["y"] > 22.5 then currentPos["y"] = 22.5 elseif currentPos["y"] < -22.5 then currentPos["y"] = -22.5 end --Update Player Position and Orientation me.Position = currentPos me.Orientation = currentOri --Reference Orientation for next frame lastOri = me.Orientation end --Player Validity Checkend]#End