Planetfall 2.0 (apparently)
Moderators: winston, another_commander
- phkb
- Impressively Grand Sub-Admiral
- Posts: 4822
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: Planetfall 2.0 (apparently)
Version 2.8 of the main PF2 OXZ is now available. I've removed the planet rotation script and made it a separate OXP. In order to maintain it a as optional feature, the new OXP is not a requirement of PF2.
- phkb
- Impressively Grand Sub-Admiral
- Posts: 4822
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: Planetfall 2.0 (apparently)
Re: Planetfall 2.0 (apparently)
Just pulling the bottom of it up a tad has made that a lot better balanced. Better than moving the whole character up would have been
The bottom left corner of the '2' still has an oddness which jumps out at me. There appears to be a small thorn of white pointing south despite the lack of serif or any obvious aberration when zoomed.
I know it's not there, but at 1:1 I still see it. This may be an optical illusion caused by the hard corner in unavoidable proximity to the curved corner, or because the shadow ends short of west there.
Here, I've Gimp smudged/cloned that corner a bit, and for my eyes that has whacked the weirdness. Maybe I need to go to Specsavers.
</pedantry>
I'm loving PF2. Even without intent to land, the planet proximity turbulence is very immersive and serves to warn if one is too close. IMO that detail would fit well as a 'default on' option in the core game.
- phkb
- Impressively Grand Sub-Admiral
- Posts: 4822
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: Planetfall 2.0 (apparently)
- Cholmondely
- Archivist
- Posts: 5321
- Joined: Tue Jul 07, 2020 11:00 am
- Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
- Contact:
Re: Planetfall 2.0 (apparently)
Thumbs Up!
Comments wanted:
•Missing OXPs? What do you think is missing?
•Lore: The economics of ship building How many built for Aronar?
•Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
•Missing OXPs? What do you think is missing?
•Lore: The economics of ship building How many built for Aronar?
•Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
Re: Planetfall 2.0 (apparently)
I've added to my oxp script an F4 option after arriving at the Planetfall 2 royal court (either by directly landing or transfer by train) which takes the player to the Chancery where missions are offered. The script upon selecting F4 is:
this.shipWillDockWithStation = function(station) {
if (player.ship.docked && this.thePlayerShip.dockedStation.hasRole("planetFall2_mainSurface_FSRoyalCourt")) {
this.$initInterface(station);
}
}
That all works fine but I would like to display a message after the Plantfall2 landing confirmation screen so that the player is informed of the need to press the F4 key and select the Chancery for missions, i.e. I need my script to detect that Planetfall2 screens have finished and display my desired message - is that possible and what script command would I need to use?
this.shipWillDockWithStation = function(station) {
if (player.ship.docked && this.thePlayerShip.dockedStation.hasRole("planetFall2_mainSurface_FSRoyalCourt")) {
this.$initInterface(station);
}
}
That all works fine but I would like to display a message after the Plantfall2 landing confirmation screen so that the player is informed of the need to press the F4 key and select the Chancery for missions, i.e. I need my script to detect that Planetfall2 screens have finished and display my desired message - is that possible and what script command would I need to use?
- phkb
- Impressively Grand Sub-Admiral
- Posts: 4822
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: Planetfall 2.0 (apparently)
There are a couple of ways you can go here.DGill wrote: ↑Wed Jun 05, 2024 9:13 ambut I would like to display a message after the Plantfall2 landing confirmation screen so that the player is informed of the need to press the F4 key and select the Chancery for missions, i.e. I need my script to detect that Planetfall2 screens have finished and display my desired message - is that possible and what script command would I need to use?
The easiest would be to just add some text to the arrival report, telling the player what they need to do. So:
Code: Select all
player.addMessageToArrivalReport("After landing you can visit the Chancery for missions via the F4 screen.");
Code: Select all
this.shipWillDockWithStation = function(station) {
if (station.hasRole("planetFall2_mainSurface_FSRoyalCourt")) {
this.$initInterface(station);
player.addMessageToArrivalReport("After landing you can visit the Chancery for missions via the F4 screen.");
}
}
Re: Planetfall 2.0 (apparently)
When I tried missionScreenOpportunity I get the mission screen with "press space" but pressing space does nothing. I have to exit the game using shift-esc. So, yes, if you can provide a code sample I would be grateful.phkb wrote: ↑Thu Jun 06, 2024 9:34 am
If you want to get more fancy, you could use the "missionScreenOpportunity" world event to launch a custom mission screen that can pass on whatever information you like after the docking process has finished. Let me know if you want a code sample for this option.
- phkb
- Impressively Grand Sub-Admiral
- Posts: 4822
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: Planetfall 2.0 (apparently)
Code: Select all
this.missionScreenOpportunity = function() {
if (player.ship.dockedStation.hasRole("planetFall2_mainSurface_FSRoyalCourt" && !this.ShownMessage) {
this.ShownMessage = true;
mission.runScreen({
title: "Chancery Missions",
message: "For all missions pertaining to the Royal Court, please visit the Chancery, accessible via the F4 menu of your astrogation console.",
exitScreen: "GUI_SCREEN_STATUS"
});
}
}
Re: Planetfall 2.0 (apparently)
Alas, it did not work. I get the planetfall2 screen. On pressing space I'm returned to the status screen. No errors in the log file. I have placed the missionScreenOpportunity function at the start of the code:
this.missionScreenOpportunity = function() {
if (player.ship.dockedStation.hasRole("planetFall2_mainSurface_FSRoyalCourt" && !this.ShownMessage)) {
this.ShownMessage = true;
mission.runScreen({
title: "Chancery Missions",
message: "For all missions pertaining to the Royal Court, please visit the Chancery, accessible via the F4 menu of your astrogation console.",
exitScreen: "GUI_SCREEN_STATUS"
});
}
}
this.startUpComplete = function() {
if (player.ship.docked) {
this.shipWillDockWithStation(player.ship.dockedStation);
}
}
this.shipWillDockWithStation = function(station) {
if (player.ship.docked && this.thePlayerShip.dockedStation.hasRole("planetFall2_mainSurface_FSRoyalCourt")) {
this.$initInterface(station);
}
}
this.$initInterface = function(station) {
station.setInterface("FeudalStates0", {
title: "Spaceport Customs Office",
category: "Contracts",
summary: "Feudal State Customs Control. All pilots are required to register their arrival at the port superintendant’s office.",
callback: this.$initPage1.bind(this)
});
}
this.$initPage1 = function (){
this.missionScreens();
};
this.missionScreenOpportunity = function() {
if (player.ship.dockedStation.hasRole("planetFall2_mainSurface_FSRoyalCourt" && !this.ShownMessage)) {
this.ShownMessage = true;
mission.runScreen({
title: "Chancery Missions",
message: "For all missions pertaining to the Royal Court, please visit the Chancery, accessible via the F4 menu of your astrogation console.",
exitScreen: "GUI_SCREEN_STATUS"
});
}
}
this.startUpComplete = function() {
if (player.ship.docked) {
this.shipWillDockWithStation(player.ship.dockedStation);
}
}
this.shipWillDockWithStation = function(station) {
if (player.ship.docked && this.thePlayerShip.dockedStation.hasRole("planetFall2_mainSurface_FSRoyalCourt")) {
this.$initInterface(station);
}
}
this.$initInterface = function(station) {
station.setInterface("FeudalStates0", {
title: "Spaceport Customs Office",
category: "Contracts",
summary: "Feudal State Customs Control. All pilots are required to register their arrival at the port superintendant’s office.",
callback: this.$initPage1.bind(this)
});
}
this.$initPage1 = function (){
this.missionScreens();
};
- phkb
- Impressively Grand Sub-Admiral
- Posts: 4822
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: Planetfall 2.0 (apparently)
Ah, I had a slight bug in my code. Try this version:
Code: Select all
this.missionScreenOpportunity = function () {
if (player.ship.dockedStation.hasRole("planetFall2_mainSurface_FSRoyalCourt") && !this.ShownMessage) {
this.ShownMessage = true;
mission.runScreen({
title: "Chancery Missions",
message: "For all missions pertaining to the Royal Court, please visit the Chancery, accessible via the F4 menu of your astrogation console.",
exitScreen: "GUI_SCREEN_STATUS"
});
}
}
Re: Planetfall 2.0 (apparently)
That's great - all working now - thank you.