All pastes #626245 Raw Edit

script

public lua v1 · immutable
·published 2007-07-19 14:51 UTC
rendered paste body
#Global Hooks$Global:[missionTime = mn.getMissionTime()if missionTime ~= nil and missionTime > 0.5 then--gr.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 missionTime < 0.5 then --camerainit == nil then      blankOri = mn.Ships[1].Orientation      blankOri["p"] = 0      blankOri["b"] = 0      blankOri["h"] = 0      cCameraPos = ba.createVector(0,15,-75)      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)      mn.createShip("Shootme",tb.ShipClasses["Target MK I"],nullorientation,beginningpos)      mn.createShip("ShootmeToo",tb.ShipClasses["Target MK I"],nullorientation,beginningpos)      mn.createShip("ShootmeAlso",tb.ShipClasses["Target MK I"],nullorientation,beginningpos)endif missionTime > 0.5 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/1.25)      mn.Ships["ShootmeAlso"].Position = newtargettingpos      newtargettingpos = currentPos + pointerVec/(1/2.5)      mn.Ships["Shootme"].Position = newtargettingpos      newtargettingpos = currentPos + pointerVec/(1/5)      mn.Ships["ShootmeToo"].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"] = cCameraPos["y"] - ((cCameraPos["y"] -15) - currentPos["y"]) / 150         cCameraPos["x"] = cCameraPos["x"] - (cCameraPos["x"] - currentPos["x"]) / 150         cCameraPos["z"] = currentPos["z"] - 75         chaseCamera:setPosition(cCameraPos)      --Angle Limit      shipAngle = math.sqrt(math.pow(currentOri["p"],2) + math.pow(currentOri["h"],2))      realRotVel = me.Physics.RotationalVelocity      --if shipAngle > 0.25 then      if math.pow(currentOri["h"],2) > math.pow(lastOri["h"],2) then         realRotVel[2] = realRotVel[2] - 1*(currentOri["h"])/3      else         realRotVel[2] = realRotVel[2] - 1*(currentOri["h"])/5      end      if math.pow(currentOri["p"],2) > math.pow(lastOri["p"],2) then         realRotVel[1] = realRotVel[1] - 1*(currentOri["p"])/3      else         realRotVel[1] = realRotVel[1] - 1*(currentOri["p"])/5      end      --end      --if shipAngle > 0.524 then         --currentOri = lastOri      --end      currentBank = currentOri["b"]      if currentBank ~= 0 then         realRotVel[3] = -2*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