CAG, EST, CLS port/remake?

The place to discuss scripting and game modifications for X4: Foundations.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

Ship to ship transporter

Poll ended at Mon, 11. Feb 19, 15:03

Lump cost in with CLS software
3
25%
Create a new "Transporter" ware
3
25%
Use transporter research (no additional cost)
6
50%
Other (described in comments)
0
No votes
 
Total votes: 12

morbideth
Posts: 391
Joined: Sun, 9. Nov 08, 03:07
x3tc

Re: CAG, EST, CLS port/remake?

Post by morbideth » Tue, 26. Feb 19, 16:39

UniTrader wrote:
Mon, 25. Feb 19, 15:51
just a hint: your event will probably fail when you change the ship because the event object is on!y set up once (when the event is set up/starts listening), but you send the signal to the current player ship rather than the one which used to be it. Either use a better suited event object like the player.entity or re-register the event whenever the player changes the ship. Former way is imo better because it doesn't have edge cases (player riding a ship without control!ling it, player walking on station with possibly no player ship docked)
Yes, you can also use C.GetPlayerID() and player.entity if you are doing something where the player character needs to change ships. You can also use the player.entity with the NPCblackboard. This is useful as some things like true/false print differently if they are a Lua true vs a script true when they are printed. i.e. a table of {true, false} with print as {1LF, 0LF} for script values and {1, 0} for Lua values even though the Lua values are converted via the signal object function. This is useful for checking to make sure you have properly converted boolean values loaded from scripts into Lua boolean values.

Update Day 16: Continued work on the equipment menu. In hindsight, it would have been easier to start from scratch rather than mutilating the ship_configuration_menu into what I want. But then I wouldn't get to hear it scream as I rip chunks out of it, so a bit of a mixed bag either way. Lots of library functions have been created to support the equipment menu. I decided to go with searching for a nearby shipyard, instead of using the library/Encylopedia. I added a search for nearest shipyard function to the library for that. For the equipment menu, I added an option to select a specific place to resupply. For that, I added isshipyard, and canbuildships options to the select_object library. I left off working on the saving and loading, which is where the hindsight kicks in: getting it to display not a difference from the current loadout, but an absolute amount without considering the current loadout. I also spent a bit of time updating comments; muddling my way through the ship_configuration_menu reinforced the importance of having good comments.

morbideth
Posts: 391
Joined: Sun, 9. Nov 08, 03:07
x3tc

Re: CAG, EST, CLS port/remake?

Post by morbideth » Wed, 27. Feb 19, 17:40

Update Day 17: Mostly done with the equipment menu, still have to do cleanup code, but that's it. Added paint mods as an option. Not very useful right now, but once data storage and the global menu is done you will be able to mass set the paint mods of your ships. Poked around a bit on the aiscript side, mostly just planning though.

morbideth
Posts: 391
Joined: Sun, 9. Nov 08, 03:07
x3tc

Re: CAG, EST, CLS port/remake?

Post by morbideth » Thu, 28. Feb 19, 17:10

Update Day 18: Began working on aiscript side of auto-resupply, which is frustrating, inconsistent, and oh my god why doesn't this work right. It's ship.cargo.{$ware}.free and ship.cargo.{$ware}.count for the cargo hold but ammo is ship.ammostorage.{$ware}.free and ship.ammostorage.{$macro}.count?! Also, there doesn't seem to be a way to get the price of ammo, etc, via scripts. When buying ammo you don't go and say "hey, I want to buy x amount of ammo," because that would make way too much sense, you have to go "Hey, I want to have x amount of ammo." It also interrupts the order that is running if you resupply.

Thus far, I've gotten it to convert the macros to script versions, then check to see if you need to resupply, and then fly to a station and resupply. I have not done the searching for station part yet, nor the price, and logging of the price. I have to figure out some way around the interrupt thing too, as that displays the menu when it restarts the order, order_syncpoint maybe?

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Re: CAG, EST, CLS port/remake?

Post by UniTrader » Thu, 28. Feb 19, 19:47

regarding getting prices:
$macro.ware.averageprice
$ware.averageprice

(alternatively .minprice and .maxprice also exist, and the .pricerange )

see scriptproperties.html ;) (best extract game completely, open said file in firefox and slowly type the first expression i posted here in the input box on the top, then you understand how it works ;) )
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

morbideth
Posts: 391
Joined: Sun, 9. Nov 08, 03:07
x3tc

Re: CAG, EST, CLS port/remake?

Post by morbideth » Fri, 1. Mar 19, 09:14

UniTrader wrote:
Thu, 28. Feb 19, 19:47
regarding getting prices:
$macro.ware.averageprice
$ware.averageprice
$station.buyprice.{$ware} and $station.sellprice.{$ware} both return ware.averageprice, that's the problem. Ware.averageprice is not the price shown in the UI. And it isn't just some relation adjustment either; the price in the UI can be above or below ware.averageprice even at max rep. The 'real' price is only available from C.GetBuildWarePrice. If I knew how it was calculated... but I don't.

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Re: CAG, EST, CLS port/remake?

Post by UniTrader » Fri, 1. Mar 19, 09:54

ah, so you are referring to the Prices for the Player where the %s of commissions and rebates are included... For that you have to find the offer on the Station and get the price of the offer, because that's what the Player and all Trade ships see/look for.

I don't know why .buyprice and .sellprice return the average price, but it might be because the Ware is only traded there, not produced or consumed, which makes prices not depend on storage. Also these don't include aforementioned %s but rather represent the price setting of the station before they are applied.
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

morbideth
Posts: 391
Joined: Sun, 9. Nov 08, 03:07
x3tc

Re: CAG, EST, CLS port/remake?

Post by morbideth » Fri, 1. Mar 19, 17:27

UniTrader wrote:
Fri, 1. Mar 19, 09:54
ah, so you are referring to the Prices for the Player where the %s of commissions and rebates are included... For that you have to find the offer on the Station and get the price of the offer, because that's what the Player and all Trade ships see/look for.

I don't know why .buyprice and .sellprice return the average price, but it might be because the Ware is only traded there, not produced or consumed, which makes prices not depend on storage. Also these don't include aforementioned %s but rather represent the price setting of the station before they are applied.
You can't get a trade offer, because they are not trade wares. Entirely different category. Things that are built like ships' equipment are not stockpiled, thus the normal trading method does not work at all. In essence, the ware doesn't exist until after you have ordered it built. So you are not in fact trading at all, you are ordering a build, even if the build is for more ammo for an existing ship. I ran into this issue with my Sat Network mod and, had hoped they would have fixed this for 2.0, but they didn't. It doesn't look like ships that rearm at player shipyards would pay for their supplies, unless that is happening somewhere outside of the resupply interrupt. If it is, I can't find it.

Update Day 19: Found a work around for the price issue. It now charges you the same amount that you would see in the UI. Trying to find a way around the restarting order thing. add_build_to_modify_ship creates an order, which is what is causing the problem, and also a horrible design. Can you imagine trying to create a fleet command script like CODEA when every time a ship needs to rearm it wipes all of the variables and restarts? What a nightmare. Not to mention the inevitable performance hit from having to recalculate everything all over again.

Been sick that past few days, and getting worse, may not be an update for a day or three.

albysmith
Posts: 37
Joined: Thu, 6. Dec 18, 14:57
x4

Re: CAG, EST, CLS port/remake?

Post by albysmith » Mon, 4. Mar 19, 07:47

How did you add skills?

rosssack
Posts: 50
Joined: Fri, 8. Mar 19, 12:44
x4

Re: CAG, EST, CLS port/remake?

Post by rosssack » Wed, 13. Mar 19, 15:17

hi im one of them that played x3 ,really respect you for this mod wen ready ,will you be giving codea a shot ,this mod was epic in x3

regards

photomankc
Posts: 232
Joined: Wed, 16. Jul 14, 15:01

Re: CAG, EST, CLS port/remake?

Post by photomankc » Mon, 18. Mar 19, 17:51

Dear God thank you for working on bringing this to X4!

XTC0R
Posts: 401
Joined: Sat, 1. Dec 18, 19:58
x4

Re: CAG, EST, CLS port/remake?

Post by XTC0R » Sun, 24. Mar 19, 09:58

morbideth wrote:
Fri, 1. Mar 19, 17:27

Been sick that past few days, and getting worse, may not be an update for a day or three.
I hope you are ok. Seems it was more than just a cold. Get well soon!

Return to “X4: Foundations - Scripts and Modding”