• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Fixed Transfer Main Interface Error Log

Talisman

Smuggler
Storm Modder
I got these error logs. :shock :modding :shock

:shrug

PS - This is not the Ransack interface - it is the transfer between ships in the shipyard one. :yes
 

Attachments

  • error.log
    1.8 KB · Views: 131
  • compile.log
    4 KB · Views: 108
  • system.log
    1.2 KB · Views: 117
When you say shipyard, you mean the “select ship” screen? The transfer crew interface is the same if it’s ransack or not.

As for the bad stats, that’s to do with unique ships. I think Pieter made a related fix for the shipyard, I need to look into it.
 
Last edited:
When you say shipyard, you mean the “select ship” screen? The transfer crew interface is the same if it’s ransack or not.

I mean - in shipyard press F2 > ships > transfer between Ships -- then select the 2 ships to transfer between.

Wondered if it might be because the ship in @Pieter Boelen 's code above is the Cursed Dutchman & PIRATE -- Pirates are currently hostile to me. :shrug

:keith
 
Pirates hostile should not affect the shipyard nor ship transfer.
 
The Cursed Dutchman is a unique ship - there is (or was, and evidently is now with the new icons on the transfer screen) a problem displaying the stats properly, probably because they’re never set on the character since unique ships don’t get the nation multipliers. I think they should be set anyway on the character with the base values, that would maybe avoid such errors altogether.
 
Indeed if that does not currently happen, it would be better if it did.
 
@Talisman: I think that is an error on some new functionality that was added in the Beta 4.1 WIP.

I'd suggest the following as a fix:
Code:
void WasChangeData()
{
   ref shipRef = GetShipByType(GetCharacterShipType(refMyCharacter)); // PS
   aref arship; makearef(arship, refMyCharacter.ship); // PRS3
   GameInterface.pictures.myShip.tex  = GetShipTextureName(sti(shipRef.index)); // PS
   GameInterface.pictures.myShip.pic  = GetShipPicName(sti(shipRef.index)); // PS
   GameInterface.strings.MyShipType  = XI_ConvertString(shipRef.Sname); // PS
   GameInterface.strings.MyShipName  = refMyCharacter.ship.Name;
   GameInterface.strings.MyMaxHull  = GetCharacterShipHP(&refMyCharacter); // PRS3
   GameInterface.strings.MyHull  = MakeInt(refMyCharacter.ship.HP);
   GameInterface.strings.MyRig  = MakeInt(refMyCharacter.ship.SP);
   GameInterface.strings.MyShipSpeed  = FloatToString(stf(GetLocalShipAttrib(arship, &shipRef, "SpeedRate")),2); // PB
   GameInterface.strings.MyShipManeuver  = FloatToString(stf(GetLocalShipAttrib(arship, &shipRef, "TurnRate" )),2); // PB
   //GameInterface.strings.MyCrew  = MakeInt(refMyCharacter.ship.Crew.Quantity)+"/"+GetMaxCrewQuantity(&refMyCharacter); // PRS3
   GameInterface.strings.MyCrew  = MakeInt(refMyCharacter.ship.Crew.Quantity); // MM
   GameInterface.strings.MyCannons  = GetLocalShipAttrib(arship, &shipRef, "CurCanQty"); //NK can qty 05-04-18 shipRef.CannonsQuantity;
   //GameInterface.strings.Mincrewus  = XI_ConvertString("Min Crew") + ": " + GetMinCrewQuantity(&refMyCharacter); // PRS3
   GameInterface.strings.Mincrewus  = "Min/Max Crew: "+GetMinCrewQuantity(&refMyCharacter)+" / "+GetMaxCrewQuantity(&refMyCharacter); // MM

   shipRef = GetShipByType(GetCharacterShipType(refEnemyCharacter)); // PS
   makearef(arship, refEnemyCharacter.ship); // PRS3
   GameInterface.pictures.enemyShip.tex  = GetShipTextureName(sti(shipRef.index)); // PS
   GameInterface.pictures.enemyShip.pic  = GetShipPicName(sti(shipRef.index)); // PS
   GameInterface.strings.EnemyShipType  = XI_ConvertString(shipRef.Sname); // PS
   GameInterface.strings.EnemyShipName  = refEnemyCharacter.ship.Name;
   GameInterface.strings.EnemyMaxHull  = GetCharacterShipHP(&refEnemyCharacter); // PRS3
   GameInterface.strings.EnemyHull  = MakeInt(refEnemyCharacter.ship.HP);
   GameInterface.strings.EnemyRig  = MakeInt(refEnemyCharacter.ship.SP);
   GameInterface.strings.EnemyShipSpeed  = FloatToString(stf(GetLocalShipAttrib(arship, &shipRef, "SpeedRate")),2); // PB
   GameInterface.strings.EnemyShipManeuver = FloatToString(stf(GetLocalShipAttrib(arship, &shipRef, "TurnRate" )),2); // PB
   //GameInterface.strings.EnemyCrew  = makeint(refEnemyCharacter.ship.Crew.Quantity)+"/"+GetMaxCrewQuantity(&refEnemyCharacter); // PRS3
   GameInterface.strings.EnemyCrew  = makeint(refEnemyCharacter.ship.Crew.Quantity); // MM
   GameInterface.strings.EnemyCannons  = GetLocalShipAttrib(arship, &shipRef, "CurCanQty"); //NK can qty 05-04-18 shipRef.CannonsQuantity;
   //GameInterface.strings.Mincrewthem  = XI_ConvertString("Min Crew") + ": " + GetMinCrewQuantity(&refEnemyCharacter); // PRS3
   GameInterface.strings.Mincrewthem  = "Min/Max Crew: "+GetMinCrewQuantity(&refEnemyCharacter)+" / "+GetMaxCrewQuantity(&refEnemyCharacter); // MM
}
See the lines marked "PB".

This makes the interface behaviour here identical to the Shipyard Interface.
 
Extract attached to PROGRAM\INTERFACE to use this fix.

Also contains the same fix for a similar section of code in Ransack Main.
Additionally, I changed some reference variables in that second file to get everything in line there.
I think that is what it was meant to do. @Mere_Mortal should probably double-check though.
 

Attachments

  • transfer_ransack_main.zip
    16.5 KB · Views: 104
Back
Top