Difference between revisions of "Script - Escort Reticle"

From FreeSpace Wiki
Jump to: navigation, search
m (Now it's good.)
(Undo revision 38729 by Hired (Talk))
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Function==
 
 
Creates an additional reticle around all ships in the escort list. This script needs a nightly build revision 5834 or later to work.
 
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==
 
==Table Entry==
Line 32: Line 31:
 
if missiontime ~= nil then
 
if missiontime ~= nil then
 
if hu.HUDDrawn then
 
if hu.HUDDrawn then
                if oldmissiontime ~= missiontime then
+
missiontime = mn.getMissionTime()
 +
if oldmissiontime ~= missiontime then
 
         if mn.EscortShips ~= nil then
 
         if mn.EscortShips ~= nil then
 
        NumberEscorted = #mn.EscortShips
 
        NumberEscorted = #mn.EscortShips
Line 42: Line 42:
 
         end
 
         end
 
        end
 
        end
                end
+
end
 
end
 
end
 
oldmissiontime = missiontime
 
oldmissiontime = missiontime
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