Skip to content

Instantly share code, notes, and snippets.

@bloxgate
Created February 4, 2015 13:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bloxgate/67fbbeb456e42287885e to your computer and use it in GitHub Desktop.
Save bloxgate/67fbbeb456e42287885e to your computer and use it in GitHub Desktop.
Space tracking
@name Space Tracking System
@inputs EGP:wirelink
@outputs
@persist Player:entity
@trigger
#ifdef rdInstalled()
runOnChat(1)
if(chatClk() & lastSpoke() == owner()){
Msg = lastSaid():explode(" ")
if(Msg:string(1) == "#track"){
hideChat(1)
Player = findPlayerByName(Msg:string(2))
print("Found player: " + Player:name())
function updatePlayer(){
EGP:egpClear()
EGP:egpText(1, "Tracking: " + Player:name(), vec2(0,0))
EGP:egpText(2, Player:name() + " is on "+Player:sbEnvName(), vec2(0,12))
if(Player:sbOxygen() < 5){
EGP:egpText(3, "CURRENT PLANET HAS NO OXYGEN", vec2(0,24))
EGP:egpColor(3, vec(0,255,255))
if(Player:sbSuitO2() < 1){
EGP:egpColor(3, vec(255,0,0))
EGP:egpText(4, "EMERGENCY PLAYER SUIT OXYGEN CRITICAL", vec2(1,36))
EGP:egpColor(4, vec(255,0,0))
ECond1 = 1
}else{
EGP:egpText(4, "Player suit oxygen nominal (" + Player:sbSuitO2() + ")", vec2(0,36))
EGP:egpColor(3, vec(0,255,0))
Econd1 = 0
}
}
else{
EGP:egpText(3, "Planet has oxygen", vec2(1,24))
EGP:egpText(4, "Player does not need suit oxygen", vec2(1,36))
EGP:egpColor(3, vec(0,255,0))
Econd1 = 0
}
if(Player:sbTemperature() > 304){
if(Player:sbSuitCoolant() > 1){
EGP:egpText(5, "Planet temperature acceptable and/or LS systems functional.", vec2(1,48))
EGP:egpColor(5, vec(0,255,0))
Econd2 = 0
}else{
EGP:egpText(5, "Planet temperature exceeding 303 Kelvin. Coolant failure.", vec2(1,48))
EGP:egpColor(5, vec(255,0,0))
Econd2 = 1
}
}elseif(Player:sbTemperature() > 283 || Player:sbSuitEnergy() > 1){
EGP:egpText(5, "Planet temperature acceptable and/or LS systems functional.", vec2(1,48))
EGP:egpColor(5, vec(0,255,0))
Econd2 = 0
}
elseif(Player:sbTemperature() < 283 || Player:sbSuitEnergy() < 1){
EGP:egpText(5, "Planet temperature below 283 Kelvin. Heating system failing.", vec2(1,48))
EGP:egpColor(5, vec(0,0,255))
Econd2 = 1
}
if(Player:health() <= 0){
EGP:egpText(6, "Player deceased. Body retreival team on route", vec2(1,60))
EGP:egpColor(6, vec(0,0,255))
}elseif(ECond1 ==1 || Econd2 == 1){
EGP:egpText(6, "Player situation critical!!! Recomend immediate evacuation!!!", vec2(1,60))
EGP:egpColor(6, vec(255,0,0))
}else{
EGP:egpText(6, "Player situation nominal. Player is alive.", vec2(1,60))
EGP:egpColor(6, vec(0,255,0))
}
timer("track update", 2000)
}
updatePlayer()
}
}
runOnTick(1)
if(clk() == 1 || clkName() == "track update"){
updatePlayer()
#print("Debug tracking: " + Player:name() + " O2 Lvl: " + Player:sbOxygen())
timer("track update", 2000)
}
#else
print("ALERT: THIS SERVER IS MISSING THE RD3/LS3 E2 Extension. Please notify an admin")
selfDestruct()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment