Script - Escort Reticle: Difference between revisions
| (4 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
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 mn.EscortShips ~= nil 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 | ||
end | end | ||
| Line 51: | 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