Script - Escort Reticle: Difference between revisions

mNo edit summary
The Force (talk | contribs)
Undo revision 38729 by Hired (Talk)
 
(One intermediate revision by one other user not shown)
Line 53: Line 53:


[[Category:Scripting Examples|Escort Reticle]]
[[Category:Scripting Examples|Escort Reticle]]
==Alternative Table Entry==
<pre>#Conditional Hooks
$Application: FS2_Open
$On Game Init:
[
drawReticle = function(ship)
if    ship.Team.Name == "Hostile"  then gr.setColor(255,50,50,255)
elseif ship.Team.Name == "Friendly" then gr.setColor(0,255,0,255)
elseif ship.Team.Name == "Unknown"  then gr.setColor(255,255,0,255)
end
local x
local y
local x1
local y1
plr = hv.Player
if plr:isValid() then
distance = ship.Position:getDistance(plr.Position)
-- collision_pos = ship:checkRayCollision(plr.Position, ship.Position, false)
-- distance = collision_pos:getDistance(plr.Position)
end
hippo_pct = math.floor((ship.HitpointsLeft / ship.Class.HitpointsMax) * 100)
x,y,x1,y1 = gr.drawTargetingBrackets(ship, true)
if x ~= nil and y1 ~= nil then
gr.drawString(ship.Name, x+3, y+2)
gr.drawString(ship.Class.Name, x+3, y+11)
gr.drawString(hippo_pct, x+3, y+20)
gr.drawString(distance, x+3, y+29)
end
end
]
$On HUD Draw:
[
if missiontime == nil then
  missiontime = mn.getMissionTime()
  oldmissiontime = missiontime
end
if missiontime ~= nil then
if hu.HUDDrawn then
missiontime = mn.getMissionTime()
if oldmissiontime ~= missiontime then
        if mn.EscortShips ~= nil then
        NumberEscorted = #mn.EscortShips
        for i= 1,NumberEscorted do
        escortedship = mn.EscortShips[i]
        if escortedship.Position:getScreenCoords() ~= false then
        drawReticle(escortedship)
        end
        end
        end
end
end
oldmissiontime = missiontime
end
]
#End</pre>

Latest revision as of 08:44, 19 June 2012

Creates an additional reticle around all ships in the escort list. This script needs a nightly build revision 5834 or later to work.

Table Entry

#Conditional Hooks

$Application: FS2_Open

$On Game Init:
[
drawReticle = function(ship)
	if     ship.Team.Name == "Hostile"  then gr.setColor(255,50,50,255)
	elseif ship.Team.Name == "Friendly" then gr.setColor(0,255,0,255)
	elseif ship.Team.Name == "Unknown"  then gr.setColor(255,255,0,255)
	end
	local x 
	local y
	local x1
	local y1 
	x,y,x1,y1 = gr.drawTargetingBrackets(ship, true)
	if x ~= nil and y1 ~= nil then gr.drawString(ship.Name, x, y1 + 4) end
end
]

$On HUD Draw:
[

if missiontime == nil then
   missiontime = mn.getMissionTime()
   oldmissiontime = missiontime
end

if missiontime ~= nil then
	if hu.HUDDrawn then
	missiontime = mn.getMissionTime()
		if oldmissiontime ~= missiontime then
        		if mn.EscortShips ~= nil then
	        		NumberEscorted = #mn.EscortShips
		        	for i= 1,NumberEscorted do
	        			escortedship = mn.EscortShips[i]
        				if escortedship.Position:getScreenCoords() ~= false then
		        			drawReticle(escortedship)
			        	end
         			end
	        	end
		end
	end
	oldmissiontime = missiontime
end

]

#End


Alternative Table Entry

#Conditional Hooks

$Application: FS2_Open

$On Game Init:
[
drawReticle = function(ship)
	if     ship.Team.Name == "Hostile"  then gr.setColor(255,50,50,255)
	elseif ship.Team.Name == "Friendly" then gr.setColor(0,255,0,255)
	elseif ship.Team.Name == "Unknown"  then gr.setColor(255,255,0,255)
	end
	local x
	local y
	local x1
	local y1
	plr = hv.Player
	if plr:isValid() then
		distance = ship.Position:getDistance(plr.Position)
--		collision_pos = ship:checkRayCollision(plr.Position, ship.Position, false)
--		distance = collision_pos:getDistance(plr.Position)
	end
	hippo_pct = math.floor((ship.HitpointsLeft / ship.Class.HitpointsMax) * 100)
	x,y,x1,y1 = gr.drawTargetingBrackets(ship, true)
	if x ~= nil and y1 ~= nil then
		gr.drawString(ship.Name, x+3, y+2)
		gr.drawString(ship.Class.Name, x+3, y+11)
		gr.drawString(hippo_pct, x+3, y+20)
		gr.drawString(distance, x+3, y+29)
	end
end
]

$On HUD Draw:
[

if missiontime == nil then
   missiontime = mn.getMissionTime()
   oldmissiontime = missiontime
end

if missiontime ~= nil then
	if hu.HUDDrawn then
	missiontime = mn.getMissionTime()
		if oldmissiontime ~= missiontime then
        		if mn.EscortShips ~= nil then
	        		NumberEscorted = #mn.EscortShips
		        	for i= 1,NumberEscorted do
	        			escortedship = mn.EscortShips[i]
        				if escortedship.Position:getScreenCoords() ~= false then
		        			drawReticle(escortedship)
			        	end
         			end
	        	end
		end
	end
	oldmissiontime = missiontime
end

]

#End