All pastes #345021 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-02-08 05:18 UTC
rendered paste body
#Global Hooks

$Simulation:
[

if camerainit == nil then
		blankOri = mn.Ships[1].Orientation
		blankOri["p"] = 0
		blankOri["b"] = 0
		blankOri["h"] = 0
		cCameraPos = ba.createVector(0,0,-20)
		cCameraOri = blankOri
		chaseCamera = ts.createCamera("chaseCamera1",cCameraPos, cCameraOri)
		ts.setCamera(chaseCamera)
		camerainit = 42
end

	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
		currentSpeed = me.Physics.Velocity["z"]
		
		--Get where the Camera is supposed to be
			cCameraPos["x"] = (0.1*currentPos["x"])
			cCameraPos["y"] = (0.1*currentPos["y"])
			cCameraPos["z"] = ((currentPos["z"] - 20) - (0.33 * currentSpeed))
			chaseCamera:setPosition(cCameraPos)
	
		--Angle Limit
		if math.sqrt(math.pow(currentOri["p"],2) + math.pow(currentOri["h"],2)) > 0.524 then
			currentOri = lastOri
		end
	
		--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 Check
	
]

$HUD:
[

gr.setColor(255,255,255)

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)

]

#End