All pastes #344411 Raw Edit

Someone

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

$Simulation:
[

	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
		
		blankOri = me.Orientation
		blankOri["p"] = 0
		blankOri["b"] = 0
		blankOri["h"] = 0
		
		if camerainit == nil then
			cCameraPos = ba.createVector(0,0,-50)
			cCameraOri = blankOri
			ts.createCamera(chaseCamera,cCameraPos, cCameraOri)
			ts.setCamera(chaseCamera)
			camerainit = 42
		end
		
		--Get where the Camera is supposed to be (50m behind the player)
			cCameraPos["z"] = currentPos["z"] - 50
		

			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"] > 50 then
			currentPos["x"] = 50
		elseif currentPos["x"] < -50 then
			currentPos["x"] = -50
		end
		
		--Vertical Position Limit
		if currentPos["y"] > 50 then
			currentPos["y"] = 50
		elseif currentPos["y"] < -50 then
			currentPos["y"] = -50
		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(me.Orientation["h"], 100,100)
gr.drawString(me.Orientation["p"], 100,110)
gr.drawString(me.Orientation["b"], 100,120)
gr.drawString(me.Position["x"],100,140)
gr.drawString(me.Position["y"],100,150)
gr.drawString(cCameraPos["x"],100,170)
gr.drawString(cCameraPos["y"],100,180)
gr.drawString(cCameraPos["z"],100,190)

]

#End