Difference between revisions of "Script - Escort Reticle"
From FreeSpace Wiki
m (Now it's good.) |
|||
| (3 intermediate revisions by 2 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 | ||
| − | + | 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 | ||
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