Page 92 of 115

Re: Scripters cove

Posted: Wed Apr 26, 2017 2:51 pm
by Day
I am currently thinking about the map visualization of the diverse alliances / antagonisms in my Diplomacy OXP.

To begin, I thought about drawing a line in red between two opposed systems, and a line in green between two allied systems; depending on the player knowledge, of course.

First, I would take any proposition of graphical improvement, over using lines, to represent alliances and oppositions.

Foremost (why should it always be the same thing?), is it possible to draw lines between systems on the full map? I only found the markSystem() functionality.

Barring that, I'll have to use system marks to signal alliances.

Re: Scripters cove

Posted: Fri Apr 28, 2017 9:24 pm
by Day
I've found it!

Code: Select all

SystemInfo.setInterstellarProperty(galaxyNumber, dta[j], dta[k], 2, "link_color", this._regionColor);
Thanks to phkb and his galactic registry :p

Re: Scripters cove

Posted: Wed May 31, 2017 1:08 am
by phkb
How does one work out the dimensions of a docking port? That is, the max width and height of the docking slit? Is the "boundingBox" property sufficient for this?

Re: Scripters cove

Posted: Wed May 31, 2017 6:57 am
by Norby
phkb wrote: Wed May 31, 2017 1:08 am
the max width and height of the docking slit? Is the "boundingBox" property sufficient for this?
In the case of the old dock model with brick shape, yes. I use only this in ILS because this is the only way that I found in js.

A more complex way would be if you open every dock models in wings3d to measure the inner sizes of the gates and make an array of dimensions based on the datakey of stations. Note there are non-rectangular inlets in Rock Hermits and Superhubs.

Somewhere we discussed that there is a validator in the core which put a message into the log when a too big NPC made an unsuccessful attempt to launch through a small dock. This part probably use a more accurate code for the size check.

Re: Scripters cove

Posted: Wed May 31, 2017 7:34 am
by phkb
Ah, I thought that might have been the answer. I was just planning on updating some stats on the wiki and was hoping for an easy option.

Might be time for a quick hack'n'slash of the source code...

Re: Scripters cove

Posted: Wed May 31, 2017 8:04 am
by Norby
Here is my data table:

Dock sizes (W x H x L) in Oolite 1.77:
Main stations: 192.000 x 64.000 x 250.000
Rock-hermit: 138.001 x 138.001 x 250.120

From 1.79:
cori: 241.888 x 103.412 x 250.000
dodo: 210.362 x 81.027 x 250.000
ico: 238.546 x 82.108 x 273.278
rock: 194.688 x 108.567 x 253.500 (but only 64.8m height at full width)

Re: Scripters cove

Posted: Tue Jul 25, 2017 2:20 pm
by Phasted
Okay, re: galactic jumps...

What's the earliest point in the galactic jump sequence that Oolite knows FOR SURE which system the player will arrive in?

Can I, for example, read player.ship.targetSystem in playerEnteredNewGalaxy?

The idea here is to get the system ID before Oolite calculates prices and quantities...

And how exactly are prices calculated? It seems that price_economic and price_random are working opposite sides of the street. I need to know what the highest possible price [max_p] and the lowest possible price [min_p] for each commodity will be, and it's just not making any sense...

Re: Scripters cove

Posted: Sun Jul 30, 2017 4:41 pm
by Cody
I guess no-one knows, Phasted.

Re: Scripters cove

Posted: Sun Jul 30, 2017 4:49 pm
by another_commander
Here is a quick snippet from the log during a galactic jump:
18:44:21.794 [test]: shipWillEnterWitchSpace [G:0 S:206]
18:44:21.893 [test]: playerWillEnterWitchspace [G:0 S:206]
18:44:27.902 [test]: playerEnteredNewGalaxy [G:1 S:118]
18:44:27.905 [test]: shipWillExitWitchspace [G:1 S:118]
18:44:31.126 [test]: shipExitedWitchspace [G:1 S:118]
As you can see, the system information is updated with the destination data when the playerEnteredNewGalaxy event is executed.

Re: Scripters cove

Posted: Sun Jul 30, 2017 4:56 pm
by Cody
<chortles>

Re: Scripters cove

Posted: Sat Sep 02, 2017 1:38 pm
by Astrobe
I want to change the location and probability of Kyota stations provided by Wildships OXP.

I'm thinking I could wait until the OXP is loaded, then replace the script's systemWillPopulate() function with my own version. Knowing that the function refers to this, will it work?

Re: Scripters cove

Posted: Tue Sep 05, 2017 11:53 pm
by phkb
Astrobe wrote:
Knowing that the function refers to this, will it work?
Yes, it will work. If you replace a function in another script, any reference to "this" will be in that script, not yours. (And apologies for the late reply!)

Re: Scripters cove

Posted: Tue Sep 05, 2017 11:55 pm
by phkb
Before I go and do something rash (you know, like changing the source code :D), is there any way to get the equipment key of the currently primed equipment item?

Re: Scripters cove

Posted: Wed Sep 06, 2017 6:22 am
by Norby
I do not know any. The logical way would be two new event listeners in Equipment scripts, for example this.primed and this.unprimed .

Re: Scripters cove

Posted: Thu Sep 07, 2017 4:23 am
by Astrobe
phkb wrote: Tue Sep 05, 2017 11:53 pm
Astrobe wrote:
Knowing that the function refers to this, will it work?
Yes, it will work. If you replace a function in another script, any reference to "this" will be in that script, not yours. (And apologies for the late reply!)
No worries, I had other ideas to explore. Thanks for the answer.