HUDs, cloaks, and something to do with engines

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
JeffBTX
---- E L I T E ----
---- E L I T E ----
Posts: 366
Joined: Sun Dec 27, 2009 2:23 pm
Location: Abilene Texas

Post by JeffBTX »

Sorry. My usual long-winded style. My actual question is at the END of the post. First I wanted to "address the current thought". THEN I will "get to it".

My actual question is having to do with having the HUD indicate being_cloaked (in addition to the status indicator light).
-----
I haven't implemented an engine sound handling script yet, I just haven't gotten around to it. I WILL do it, though. Too busy with other things.

Also, I had the idea that INSTEAD OF "EngineUP" and "EngineDOWN", and also an "EngineRUNNING", why not just "slice up" my throttle extents into ranges (indirectly; actually the game directly checks the Player Ship Speed), and have different sounds (actually "variations on a theme") play depending on where the throttle is.

BTW I am using GoldWave 5.52 for audio processing/creation (registered; I've used GoldWave for years).

BTW I use a Saitek X52 Pro. There are "detents" on the throttle that you can feel at 25% and 75% (but I am not sure how accurate it is; testing would be required). There is a ring of little LEDs in parallel to the scale on the throttle; they are green at and below 75%, red above 75%. AS IT HAPPENS, "safe docking speed" is CLOSE to 25% (actually can go a TINY BIT faster).

(1) Fuel Injectors are covered; I am using the customsounds.plist with a custom afterburner1.ogg. This sound is "jet engine-y" (created from scratch within GoldWave with brown noise as a base), but with a "shaky rhythmic AM envelope", and a .WAV of "Fire Rumbling" mixed in (I downloaded FireRumbling from a public domain soundclip site). It's cool; "deep", "powerful", MODERATELY loud (not excessive) and you get the idea that when you are using Fuel Injectors, your ship is "shaking" a bit.

... then (just for example, I haven't created or implemented it yet):

(2) EngineIdling; player ship speed is less then (say) 2% (2% of player ship max speed).
(3) EngineLow; speed is between, say 3% and 25%.
(4) EngineMedium; 26% to 75%.
(5) EngineHigh; 76% to, say, 7x (Actually overlaps w/ afterburner1.ogg; maybe need to modify this).
((1)) ... above 100% up to 7x player ship max speed is covered by afterburner1.ogg
(7) From, say, 8x + player ship max speed = EngineTorus.

EngineIdling, EngineLow, EngineMedium and EngineHigh = "variations on a theme". There will be a "beat" mixed in with it. From Low to High the pitch increases and the "beat" increases. EngineTorus will be similar, but it will use a "different beat sound" to imply something different.

The exact "divisions" MAY be linked to where the 2 detents on my throttle are, or they MAY be linked to the color of the Oolite HUD Speed Bar (green/yellow/red)... I will have to play w/ it and see.

... just my thoughts. When I get it done I'll post the script. I will probably want advice; the script might WORK, but will it be EFFICIENT? "Elegant"?
--------
ANYWAY. Sorry. Wanted to post my thoughts on engine sounds in case anyone had advice, hints, "hidden gotchas" waiting to bite me.

My question for THIS POST.

The basic dynamic hud script that is being used by people; what would be the BEST way to detect being cloaked, and to display a cloak-specific hud?.

Shove "shipCloakActivated()" and "shipCloakDeactivated()" inside the "energyCheck" function? Can we do that (I assume so); nest functions inside other functions? This way, only one timer would be involved ("energyCheckTimer"). Don't know if that is "elegant"...

OR... use a seperate timer?

Here is the dynamic hud script I have, for reference (borrowed / modified from MilSpec HUD):

Code: Select all

this.name               = "genericHUDswitch.js";
this.author               = "Thargoid";
this.copyright            = "Do what you want with it";
this.description         = "Switches HUDs based on alert condition and ships energy";
this.version            = "1.01, modified by Wyvern";


this.alertConditionChanged = function(newCondition, oldCondition)
   {
   switch(newCondition)
      {
      case 0: // we're docked
         {
         player.ship.hud = "jbhuddck.plist"; // set the docked HUD
		 timeAccelerationFactor = 1.0; // Insure TAF is off when docked.
         break;
         }
      case 1: // we're at green alert
         {
         if(player.ship.energy > 108) // if we're not using the damaged HUD
            {
            player.ship.hud = "jbhudgrn.plist"; // set the standard HUD
            }
         break;
		 }
      case 2: // we're at yellow alert
         {
         if(player.ship.energy > 108) // if we're not using the damaged HUD
            {
            player.ship.hud = "jbhudyel.plist"; // set the yellow alert HUD
            }
         break;
         }
      case 3: // we're at red alert
         {
         if(player.alertHostiles && player.ship.energy > 108) // and under attack and not using the damaged HUD
            {
            player.ship.hud = "jbhudred.plist"; // set the combat HUD
			timeAccelerationFactor = 1.0; // Insure TAF is off when player is attacked.
            }
         break;
         }
      }
   }

this.shipLaunchedFromStation = function()
   {
   if(this.energyCheckTimer)
      {
      this.energyCheckTimer.start()
      }
   else
      {
      this.energyCheckTimer = new Timer(this, this.energyCheck,0,2)      // use a timer to keep an eye on the HUD state
      }
   }


this.energyCheck = function()
   {
   if(player.ship.docked)
      {
      this.energyCheckTimer.stop();
      }
   else
      {
      if(player.ship.energy < 109 )
         {
         player.ship.hud = "jbhudcrt.plist"; // display the damaged HUD
         return;
         }
      if(player.ship.energy > 108 && player.ship.hud == "jbhudcrt.plist")
         {
         this.alertConditionChanged(player.alertCondition,0); // if energy is >49 and we're still displaying the damaged HUD, use other code to repair
         }
      }             
   }

this.shipDied = function()
   {
   if(this.energyCheckTimer)
      {
      this.energyCheckTimer.stop()
      }
   }
   
this.shipExitedWitchspace = function()
{
        timeAccelerationFactor = 1.0;
}
My idea is to have a BLUE crosshair (I've already tested/verified that I can set it to blue), AND an effect similar to what I am doing with my Critical Condition Hud, see:
http://www.flickr.com/photos/34159828@N06/

... except less "intense", and ... "Blue".
Sword, thy name is Cobra. And Cobra has fangs!

User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

No. Nesting functions inside functions is not such a good ideatm

It looks like you find the concept of events a bit confusing. whatever commands you put inside the event function will be called whenever the event actually happens.

Have a look at where event functions are placed in any oxp, that's the level they need to be. There's no need to complicate things.

BTW, this is hardly a scripting request, any chance we could split it from this thread?
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)

User avatar
JeffBTX
---- E L I T E ----
---- E L I T E ----
Posts: 366
Joined: Sun Dec 27, 2009 2:23 pm
Location: Abilene Texas

Post by JeffBTX »

Sorry about that ... it seemed that Scripters Cove would have been the best place for the post.

Well... the block "this.alertConditionChanged", and whatever block that imposes a "Cloaked HUD" would have to communicate with each other, or they "run into each other" ... or... unless... the "Condition" is automatically "green" when cloaked"?

Argh. Been years since I seriously coded anything (mostly assembler, C, C++). I'll just do some experimenting.
Sword, thy name is Cobra. And Cobra has fangs!

User avatar
JeffBTX
---- E L I T E ----
---- E L I T E ----
Posts: 366
Joined: Sun Dec 27, 2009 2:23 pm
Location: Abilene Texas

Post by JeffBTX »

Okay, did some experimenting... being in a cloaked state and being in any given alert condition are two separate things.

This, in and of itself, works in the sense that it DOES turn on a "Cloaked HUD"... (and it let me tweak the alpha for the PNG that I am using for the "blue glow"):

Code: Select all

this.shipCloakActivated = function()
 {
	player.ship.hud = "jbhudclk.plist"; // set the cloaked HUD
 }
(I had to TEMPORARILY cheat to test this, my savegame is NOT progressed to where I would normally get a Cloaking Device).

jbhudclk.plist just turns the crosshair blue, and loads "cloak_glow.png", a sunburst gradient that goes from black/transparent at the middle to a SLIGHT but noticible (with the right alpha spec in the plist) blue at the edges of the screen. Looks and works real good.

I just don't know how/where exactly to put it in the dynamic hud script so that it works right. Right now it is "standing by itself" as a function, and DOES NOT "work with"Alert Condition Changed" like it needs to. The energy check is moot, since at low energy the cloak wouldn't be used anyway.... it's just that what I was thinking before... well, don't ask me to explain it.

Anyway... I am not sure of the BEST way for the dynamic HUD to change depending on alert condition (which it does now), AND for the Cloaked Hud to activate, AND to go to the *current alert condition HUD* when the cloak is deactivated / OR / the energy drops to the point that the cloak deactivates itself.

The current alert condition can *change* while the cloak is active. So just storing a variable for the "previous alert condition before the Cloak was activated" wouldn't be correct.

EDIT:
Stations have:
alertCondition
alertCondition : Number (read/write, integer)
Returns the current alert condition. 1 = Green, 2 = Yellow, 3 = Red.

It looks like that is what I need for this to work, but just looking at the Wiki, ships don't have it.
Sword, thy name is Cobra. And Cobra has fangs!

User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

If I understand this right, you want to have 6 separate hud looks depending on cloak status & alert status.
First of all create the extra 3 cloaked huds. In the example below I expect them to have similar names to the other ones

This kind of thing should do the trick:

Code: Select all

this.alertConditionChanged = function(newCondition, oldCondition)
   {
   switch(newCondition)
      {
      case 0: // we're docked
         {
         player.ship.hud = "jbhuddck.plist"; // set the docked HUD
       timeAccelerationFactor = 1.0; // Insure TAF is off when docked.
         break;
         }
      case 1: // we're at green alert
         {
         if(player.ship.energy > 108) // if we're not using the damaged HUD
            {
            player.ship.hud = player.ship.isCloaked ? "jbhudgrnC.plist" : "jbhudgrn.plist"; // set the standard HUD
            }
         break;
       }
      case 2: // we're at yellow alert
         {
         if(player.ship.energy > 108) // if we're not using the damaged HUD
            {
            player.ship.hud =  player.ship.isCloaked ? "jbhudyelC.plist" : "jbhudyel.plist"; // set the yellow alert HUD
            }
         break;
         }
      case 3: // we're at red alert
         {
         if(player.alertHostiles && player.ship.energy > 108) // and under attack and not using the damaged HUD
            {
            player.ship.hud =  player.ship.isCloaked ? "jbhudredC.plist" :"jbhudred.plist"; // set the combat HUD
         timeAccelerationFactor = 1.0; // Insure TAF is off when player is attacked.
            }
         break;
         }
      }
  }

this.shipCloakActivated = function()
 {
   var hud= "jbhudgrnC.plist"; //green alert
   if (player.alertCondition > 1){
     hud= player.alertCondition == 3 ? "jbhudredC.plist" : "jbhudyelC.plist";
   }

   player.ship.hud = hud; // set the cloaked HUD
 }

this.shipCloakDeactivated = function()
 {
   var hud= "jbhudgrn.plist"; //green alert
   if (player.alertCondition > 1){
     hud= player.alertCondition == 3 ? "jbhudred.plist" : "jbhudyel.plist";
   }

   player.ship.hud = hud; // set the cloaked HUD
 } 
I'm nowhere near my dev computer, but I suspect you need to add an extra check to the deactivated event to check if you're docked. Still, this should take you more than 90% of the way there..

The rest is left as an excercise for the reader, as they say! :P
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)

User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

JeffBTX wrote:Sorry about that ... it seemed that Scripters Cove would have been the best place for the post.
Probably. But you did put it in scripting requests instead.
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)

User avatar
JeffBTX
---- E L I T E ----
---- E L I T E ----
Posts: 366
Joined: Sun Dec 27, 2009 2:23 pm
Location: Abilene Texas

Post by JeffBTX »

Kaks; YES thanks...

I was looking on the wrong 2 pages on the Wiki; "Oolite JavaScript Reference: world script event handlers", and "Oolite JavaScript Reference: ship script event handlers". I overlooked "Oolite JavaScript Reference: Ship", and thus didn't know about "isCloaked". That changes everything.

Also, just found "Oolite JavaScript Reference: Player" -> "alertCondition : Number (read-only, integer)"; previously I thought that was only available for stations. That might help too.
-----
I did put my original post in Expansion Pack > Scripters Cove... NOT Suggestion Box > Scripting Requests... you can read the discussion leading up to here, on the last page of Scripters Cove... 'tis ok, no big deal.
Sword, thy name is Cobra. And Cobra has fangs!

User avatar
JeffBTX
---- E L I T E ----
---- E L I T E ----
Posts: 366
Joined: Sun Dec 27, 2009 2:23 pm
Location: Abilene Texas

Post by JeffBTX »

It took me a while to get to it; I am modding (or extending) someone else's OXP, and working on 3 of my own.

Anyway, with a little modification, got this script working perfectly. The HUD switches between "Docked", and Conditions Green, Yellow, Red, and Critical; and When Cloaked... perfectly under all conditions. I tested it with brute force under a variety of conditions, including "cat-and-mouse" combat.

Explanation: There are 7 HUD plists in this OXP (not listed in alphabetical order as the OS lists them, but in a logical order for clarity):

(1) JBHUDDCK.plist
The "Docked" HUD. Just a copy of the in-flight Condition Green HUD, except that a crosshair/contraster disk PNG and an instrument panel contraster PNG are NOT loaded. Of course, when docked, Oolite disables the crosshair.

(2) hud.plist
Just an exact copy of JBHUDDCK.plist. This forces Oolite to *start-up* with the docked hud.

(3) JBHUDGRN.plist; Condition Green; Crosshairs are set to greenColor.

(4) JBHUDYEL.plist; Condition Yellow; Crosshairs are set to yellowColor.

(5) JBHUDRED.plist; Condition Red; Crosshairs are set to redColor.

(6) JBHUDCRT.plist
Critical Condition. Crosshairs are set to redColor. A PNG is loaded; a semitransparent smooth "sunburst gradient" ranging from black (clear) in the middle to red at the edges of the image. When this HUD becomes active, the ship seems to be flying through "thin red fog", with the middle clear, but I have the alpha set to 0.20, so the pilot can still see very well. A subtle but noticible effect, and it DOES get one's attention.

(7) JBHUDCLK.plist
Player ship is cloaked. As per "JBHUDCRT", except that crosshairs are set to blueColor, and the PNG is a black (clear) to blue sunburst gradient. A subtle blue glow at the edges of the pilot's field of view. And the pilot definitely knows when the Cloak is out of energy; the alpha is set to 0.20, so it is very transparent, but when the subtle blue glow drops, the pilot has no trouble noticing.

When the cloak is deactivated, whether manually or due to insufficient energy, the ship switches to the proper HUD under all conditions.

There was no additional "When Docked" check necessary; no problem with it.

Screenshots; see "Cloaked1" and "Cloaked2":
http://www.flickr.com/photos/34159828@N06/

NOTE: The screenshot for "Critical Condition" is older. It uses a higher alpha / less transparency.

I've set aside my old Docked Hud, in favor of something simpler as described above.

The screenshots might give the impression "Well, yes, I can tell that it's blue, a little... " but trust me, in-game it is noticeable.

Here is the entire script:

Code: Select all


this.alertConditionChanged = function(newCondition, oldCondition)
   {
   switch(newCondition)
      {
      case 0: // we're docked
         {
         player.ship.hud = "JBHUDDCK.plist"; // set the docked HUD
		 timeAccelerationFactor = 1.0; // Insure TAF is off when docked.
         break;
         }
      case 1: // we're at green alert
         {
         if(player.ship.energy > 108) // if we're not using the damaged HUD
            {
            player.ship.hud = player.ship.isCloaked ? "JBHUDCLK.plist" : "JBHUDGRN.plist"; // set the standard HUD
            }
         break;
		 }
      case 2: // we're at yellow alert
         {
         if(player.ship.energy > 108) // if we're not using the damaged HUD
            {
            player.ship.hud = player.ship.isCloaked ? "JBHUDCLK.plist" : "JBHUDYEL.plist"; // set the yellow alert HUD
            }
         break;
         }
      case 3: // we're at red alert
         {
         if(player.alertHostiles && player.ship.energy > 108) // and under attack and not using the damaged HUD
            {
            player.ship.hud = player.ship.isCloaked ? "JBHUDCLK.plist" : "JBHUDRED.plist"; // set the combat HUD
			timeAccelerationFactor = 1.0; // Insure TAF is off when player is attacked.
            }
         break;
         }
      }
   }

this.shipCloakActivated = function() 
 { 
   player.ship.hud = "JBHUDCLK.plist"; // set the cloaked HUD 
 } 

this.shipCloakDeactivated = function() 
 { 
   var hud= "JBHUDGRN.plist"; //green alert 
   if (player.alertCondition > 1){ 
     hud= player.alertCondition == 3 ? "JBHUDRED.plist" : "JBHUDYEL.plist"; 
   } 

   player.ship.hud = hud; // set the cloaked HUD 
 }
   
this.shipLaunchedFromStation = function()
   {
   if(this.energyCheckTimer)
      {
      this.energyCheckTimer.start()
      }
   else
      {
      this.energyCheckTimer = new Timer(this, this.energyCheck,0,2)      // use a timer to keep an eye on the HUD state
      }
   }


this.energyCheck = function()
   {
   if(player.ship.docked)
      {
      this.energyCheckTimer.stop();
      }
   else
      {
      if(player.ship.energy < 109 )
         {
         player.ship.hud = "JBHUDCRT.plist"; // display the damaged HUD
         return;
         }
      if(player.ship.energy > 108 && player.ship.hud == "JBHUDCRT.plist")
         {
         this.alertConditionChanged(player.alertCondition,0); // if energy is >49 and we're still displaying the damaged HUD, use other code to repair
         }
      }             
   }

this.shipDied = function()
   {
   if(this.energyCheckTimer)
      {
      this.energyCheckTimer.stop()
      }
   }
   
this.shipExitedWitchspace = function()
{
        timeAccelerationFactor = 1.0;
}
Sword, thy name is Cobra. And Cobra has fangs!

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5465
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

So... where do we download it from?

User avatar
JeffBTX
---- E L I T E ----
---- E L I T E ----
Posts: 366
Joined: Sun Dec 27, 2009 2:23 pm
Location: Abilene Texas

Post by JeffBTX »

another_commander;

I don't have any storage for downloading... I guess I could get a box net account IF people are interested enough.

The problem (challenge) with HUDs is that everyone uses different resolutions. If you got MY HUD, then unless your resolution is 1680 x 1050, you would have to tweak it.

I'm guessing that's why there are suprisingly FEW HUDs on the Wiki. The ones that are there are excellent examples to learn from... but they are usually NOT "plug and play", depending on one's monitor.

The main thing is that the script works, if people are interested in a dynamic hud that indicates being cloaked in addition to the usual stuff.

The actual HUDs I am using are a little basic and easy to reconstruct from the images in that download link. Just the instruments, a "targeting disk" PNG, and an "Instruments Contraster" PNG (too "wide" to upload to Flicker, I'm afraid, they have a x = not-bigger-than 1024 restriction).

EDIT:
If enough interest is there, I just looked at Box Net... a free account seems easy enough. I can ZIP this HUD up and put it there. Bear in mind it is optimized for 1680 x 1050.

EDIT AGAIN:
Or, I can post one the plists (as code); say, the condition Green plist. All one then has to do to make Yellow and Red is to change the crosshair color. The Critical (red) and Cloaked (blue) images are 768 x 480, so I can upload them to Flicker (will do that shortly), and I can upload the targeting disk.

off to do that...

... done.

The targeting disk is 128 x 128, CLOAKED and CRITICAL are 768 x 480...
... and unfortunatley ARGH! the alpha channels do not download... I checked. ARGH! Argh.
Sword, thy name is Cobra. And Cobra has fangs!

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5465
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Well, I for one, am interested. Plus, finding upload space is very very easy, as you have already discovered. If you want even easier, try http://terrastorage.ath.cx. If you post one of the plists and the image files separately, it's no good because you make users work to reconstruct the OXP and that is bad practice in general. A user who wants to play the game and see the new eye-candy will not be bothered putting the pieces together, they just want to throw the OXP in AddOns and run the game.

The main reason not many dynamic HUDs exist, in my opinion, is that the feature went in just in version 1.74. I would even think that, considering the fact that this version is the newest, we already have plenty of dynamic HUDs to choose from and more will certainly come out. But this will only happen if the creators of these HUDs actually release their work.

User avatar
JeffBTX
---- E L I T E ----
---- E L I T E ----
Posts: 366
Joined: Sun Dec 27, 2009 2:23 pm
Location: Abilene Texas

Post by JeffBTX »

EDIT: Uploaded a new ZIP with a readme, header in the script, etc. Updated this link.

Okay:

http://www.box.net/shared/zq6hgs9ocl

Its CHEAP! No readme or nothing at this time. Free to use, modify, abuse, dissect, rant and rave at, kick, gouge, etc etc etc.

The main problem (but I guess people are used to that) is that it will need to be tweaked for resolution, except for 1680 x 1050 WS monitors.

EDIT:
Of course one can play with the alpha setting for the images CRITICAL and CLOAKED in the JBHUDCRT / JBHUDCLK plists... adjust for whatever transparency suits you.
Last edited by JeffBTX on Tue Dec 21, 2010 8:52 pm, edited 5 times in total.
Sword, thy name is Cobra. And Cobra has fangs!

User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

JeffBTX wrote: (2) hud.plist
Just an exact copy of JBHUDDCK.plist. This forces Oolite to *start-up* with the docked hud.
That does not work for me. I still have the default HUD until the first launch. Most likely because I have other oxps installed that also contain a HUD.plist and overwrite yours. Or to be mode precise: my own custom hud. But, adding:

Code: Select all

this.startUp = function ()
{
    player.ship.hud = "JBHUDDCK.plist"; // set the docked HUD
}
to you script already puts your HUD on the spinning cobra.
I was just trying, Had no idea if this fired for a world script. And looking in the log your script now registers as:

Code: Select all

JB_HUD.anon-script
Probably you should give it an official header with name, version etc.

EDIT;

Ignore my earlier remark about adding this.shipSpawned to the code. It triggers, but not as I expected. It keeps triggering every few seconds. It was not mend for worldScripts in the first place and I was even surprised that it worked. But now I realised its is a new 1.74 feature that makes that for every ship spawned, this handler triggers for the player.

User avatar
JeffBTX
---- E L I T E ----
---- E L I T E ----
Posts: 366
Joined: Sun Dec 27, 2009 2:23 pm
Location: Abilene Texas

Post by JeffBTX »

Eric;

Understood (not working at startup).

Official header; understood, but I didn't really intend to "release an OXP"; this all started as a question.
:)
... which lead to a solution (Thanks, Kaks!), and I posted the (slightly altered Kaks script) for the benefit of anyone.

I will change the script and add a header. And after thinking about it, I suppose I should visit the "OXP Making" section on the Wiki, put together a little readme, etc. When I get it done, I will delete the old ZIP, upload the new ZIP, and edit/update the link here. "Sometime Today". I'm kind of new to this OXP stuff. Apparantly 2 people did download it.
Eric Walch wrote: EDIT;

Ignore my earlier remark about adding this.shipSpawned to the code. It triggers, but not as I expected. It keeps triggering every few seconds. It was not mend for worldScripts in the first place and I was even surprised that it worked. But now I realised its is a new 1.74 feature that makes that for every ship spawned, this handler triggers for the player.
I don't know what you mean... I searched this thread for "spawned" and still didn't find it.
Sword, thy name is Cobra. And Cobra has fangs!

User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

JeffBTX wrote: I will delete the old ZIP, upload the new ZIP, and edit/update the link here. "Sometime Today". I'm kind of new to this OXP stuff. Apparantly 2 people did download it.
With a box account you also can just update your latest version. That way all old links stay valid. (And I must have been one of the two.)
JeffBTX wrote:I don't know what you mean... I searched this thread for "spawned" and still didn't find it.
My fault. I did edit my previous post. Some remarks pointed to already deleted text. There was nothing to understand left about my shipSpawned remarks.

Post Reply