Jump to content

[Mod] Alpha! Carrier commands


Nexus

Recommended Posts

we have any eta on 1.7 ?

 

this is working really great cant wait for the mining version to get out.

 

Admittantly, i took a break for a few days....as for 1.7 SOON

 

EDIT: Currently fighting with the ui...attempting to use entitydbg.lua as an example but apparently either their is something special im missing. Or its just being annoying to be annoying as i cant do it the same way entitydbg.lua does..the script just stalls.

Link to comment
Share on other sites

  • Replies 151
  • Created
  • Last Reply

Top Posters In This Topic

One thing i thought about when using this mod, if perhaps there was a way to tie salvage fighters and mining fighters to the ranges of equipped mining modules and object detection modules respectively. Making them dependant on the mother ship infrastructure for seeking out wrecks and roids .

Link to comment
Share on other sites

One thing i thought about when using this mod, if perhaps there was a way to tie salvage fighters and mining fighters to the ranges of equipped mining modules and object detection modules respectively. Making them dependant on the mother ship infrastructure for seeking out wrecks and roids .

 

Technally, maybe possible but since fighters are actual piloted ships, they should be able to find targets on their own.

 

Also, PROGRESS the option to change the targeting perspective from the carrier to the fighter is done. And they spread out nicely.

ZiGnpqN.jpg

 

And yes, that's my now butchered carrier on testing branch...which I'm rebuilding.

 

And released, mind you one option didn't make it due to problems. Ill work on it as well as a new mining option.

Link to comment
Share on other sites

seems to be possible to have a single 'automate both' command - when you check available fighters and select a target in findAvailableFighter

 

 

launchedFighter.stoneEfficiency should tell if it's a salvager or a miner so it can target a wreck or an asteroid accordingly

Link to comment
Share on other sites

seems to be possible to have a single 'automate both' command - when you check available fighters and select a target in findAvailableFighter

 

 

launchedFighter.stoneEfficiency should tell if it's a salvager or a miner so it can target a wreck or an asteroid accordingly

 

Since the fighter is being passed as an entity, stoneEfficiency isn't accessible. When you try to run launchedFighter.stoneEfficiency, this happens 'property not found or not readable: Entity.stoneEfficiency'. I'm currently looking into another method...which is also making my head hurt...badly.

Link to comment
Share on other sites

Ok, I should note what is being done in 1.8 as well as future plans.

 

1.8 May or may not include the following:

- *35% Done* Rewrote most of the code to clean it up a bit, as well as add comments where needed.

- *35% Done* Added in some one-time notifications for the user to indicate what is happening when you issue a command.

- *Maybe* Attempting to add a wreck volume limiter and a fighter limiter

- *Maybe-Unlikely* I may have a way of making fighters go after loot, not certain.

- *Maybe-Unlikely* add a fighter option to make your non combat fighters invulnerable for a constant power cost

- *Maybe-Unlikely* Armed fighters will get a option to increase survivability for a constant power cost.

- *Maybe-Unlikely* Possible fighter pilot ejection method, to save them from death!

- *Maybe-Unlikely* Auto-replacement of lost fighters.

 

After 1.8 depending on what makes it in, I have been messing with the possibility for a long time to allow you to design your own fighters. Mind you, for awhile now I have had a way of doing this but it is quite terrible. Using the new carrier UI I intend to make it possible to start new fighter designs from it, as well as set fighter production and replacement stuff. The problem is that it is VERY complex to make work and to generate the fighters properly. So it will take quite a bit to get finished, far longer than 1.8 would take.

 

That being said, as most of you know launched fighters are bugged and don't have the proper health and shield stats when launched. This is something i hope to correct when i get around to making fighter designing a thing.

Link to comment
Share on other sites

Ok, I should note what is being done in 1.8 as well as future plans.

 

1.8 May or may not include the following:

- *35% Done* Rewrote most of the code to clean it up a bit, as well as add comments where needed.

- *35% Done* Added in some one-time notifications for the user to indicate what is happening when you issue a command.

- *Maybe* Attempting to add a wreck volume limiter and a fighter limiter

- *Maybe-Unlikely* I may have a way of making fighters go after loot, not certain.

- *Maybe-Unlikely* add a fighter option to make your non combat fighters invulnerable for a constant power cost

- *Maybe-Unlikely* Armed fighters will get a option to increase survivability for a constant power cost.

- *Maybe-Unlikely* Possible fighter pilot ejection method, to save them from death!

- *Maybe-Unlikely* Auto-replacement of lost fighters.

 

After 1.8 depending on what makes it in, I have been messing with the possibility for a long time to allow you to design your own fighters. Mind you, for awhile now I have had a way of doing this but it is quite terrible. Using the new carrier UI I intend to make it possible to start new fighter designs from it, as well as set fighter production and replacement stuff. The problem is that it is VERY complex to make work and to generate the fighters properly. So it will take quite a bit to get finished, far longer than 1.8 would take.

 

That being said, as most of you know launched fighters are bugged and don't have the proper health and shield stats when launched. This is something i hope to correct when i get around to making fighter designing a thing.

I'm excited to use your mod at some point. Very excited to see what 1.8 turns out to be!

Link to comment
Share on other sites

Haven't ran into any troubles with the mod yet,

only thing I can remark is that the symbol for the carrier commands is the same as the insurance one.

This is a little bit distracting, especially since they are placed next to eachother.

 

I have tried numerous times to change this. Sadly haven't figured it out yet.

Link to comment
Share on other sites

Haven't ran into any troubles with the mod yet,

only thing I can remark is that the symbol for the carrier commands is the same as the insurance one.

This is a little bit distracting, especially since they are placed next to eachother.

 

I have tried numerous times to change this. Sadly haven't figured it out yet.

 

Ah too bad, the sector overview mod is using another image type so maybe you can find more direction there.

 

Also we started to receive an error on player login, is that because that file doesn't need to be there on the client?

Sat Feb 25 14:28:57 2017| could not execute function 'initialize' in '"data/scripts/player/scriptloader.lua"':
Sat Feb 25 14:28:57 2017| data/scripts/player/scriptloader.lua:7: attempt to call global 'Server' (a nil value)
Sat Feb 25 14:28:57 2017| stack traceback:
Sat Feb 25 14:28:57 2017|     data/scripts/player/scriptloader.lua:7: in function <data/scripts/player/scriptloader.lua:4>
Sat Feb 25 14:28:57 2017| 
Sat Feb 25 14:28:57 2017| Setting script "data/scripts/player/scriptloader.lua" to invalid.

 

Link to comment
Share on other sites

Haven't ran into any troubles with the mod yet,

only thing I can remark is that the symbol for the carrier commands is the same as the insurance one.

This is a little bit distracting, especially since they are placed next to eachother.

 

I have tried numerous times to change this. Sadly haven't figured it out yet.

 

In carriercraftorders.lua adding this should allow you to change your icon.

function getIcon(seed, rarity)
    return "data/textures/icons/fighter.png"
end

Link to comment
Share on other sites

nice mod, at least a reason to use fighters at all (though you still need to babysit them quite a bit).

 

a few features i'd love to see which ain't named in the topic:

(allhtough i've got no idea how doable they are)

 

- target-priority by amount

- target-priority by quality

maybe even some kind of mathematical formula like amount * quality / distance. even better of course if it would be possible to tell them to ignore some kind of materials.

 

it's a bit sad if you see all squads run after a 5 iron-wreckage while there is a tasty 50k avorion-wreckage just 200m further the other direction. i'd love to be able to only mine/salvage the interesting stuff and after that let the worthless stuff despawn while i continue on. especially as it's a tad boring to wait to let all your fighters land again before you can jump again (not your mod's 'fault', but it would make salvaging/mining a bit less tedious)

Link to comment
Share on other sites

Haven't ran into any troubles with the mod yet,

only thing I can remark is that the symbol for the carrier commands is the same as the insurance one.

This is a little bit distracting, especially since they are placed next to eachother.

 

I have tried numerous times to change this. Sadly haven't figured it out yet.

 

Ah too bad, the sector overview mod is using another image type so maybe you can find more direction there.

 

Also we started to receive an error on player login, is that because that file doesn't need to be there on the client?

Sat Feb 25 14:28:57 2017| could not execute function 'initialize' in '"data/scripts/player/scriptloader.lua"':
Sat Feb 25 14:28:57 2017| data/scripts/player/scriptloader.lua:7: attempt to call global 'Server' (a nil value)
Sat Feb 25 14:28:57 2017| stack traceback:
Sat Feb 25 14:28:57 2017|     data/scripts/player/scriptloader.lua:7: in function <data/scripts/player/scriptloader.lua:4>
Sat Feb 25 14:28:57 2017| 
Sat Feb 25 14:28:57 2017| Setting script "data/scripts/player/scriptloader.lua" to invalid.

 

Is that occurring on the client or the server?

 

Also, it really only runs on the server, as its meant to handle applying the script to the player on the server. But the player still needs the scripts on his client for it to work.

 

EDIT: ask them if they are attempting to join with an older version by chance...

 

nice mod, at least a reason to use fighters at all (though you still need to babysit them quite a bit).

 

a few features i'd love to see which ain't named in the topic:

(allhtough i've got no idea how doable they are)

 

- target-priority by amount

- target-priority by quality

maybe even some kind of mathematical formula like amount * quality / distance. even better of course if it would be possible to tell them to ignore some kind of materials.

 

it's a bit sad if you see all squads run after a 5 iron-wreckage while there is a tasty 50k avorion-wreckage just 200m further the other direction. i'd love to be able to only mine/salvage the interesting stuff and after that let the worthless stuff despawn while i continue on. especially as it's a tad boring to wait to let all your fighters land again before you can jump again (not your mod's 'fault', but it would make salvaging/mining a bit less tedious)

 

Technically, filtering by material type isn't really that hard. As its a quick resource type compare. Amount pretty much falls into the same boat.

 

Ironicly, the hard one is limiting the number of fighters per wreck...as i need to maintain and compare two tables (arrays are tables in lua). One table contains all wrecks, another contains wreck id's as keys with the amount of fighters as its value, (So I can top off asteroids if they don't have the required number of fighters on them).

Link to comment
Share on other sites

Can I suggest another approach? Use the entity id multiplied by a large prime number modulo the amount of wrecks (or an arvitrary cap, say you want to limit to 5 wrecks, do modulo 5) then sort the wrecks by dostance and allocate the fighters according to the number that comes out of the module operation

Link to comment
Share on other sites

Can I suggest another approach? Use the entity id multiplied by a large prime number modulo the amount of wrecks (or an arvitrary cap, say you want to limit to 5 wrecks, do modulo 5) then sort the wrecks by dostance and allocate the fighters according to the number that comes out of the module operation

 

Nah, thought of a better way to do it, its still two tables but its a simpler way.

Link to comment
Share on other sites

Would it be possible to implement a function to call all fighters back at once?

That would make it even less tedious to operate them with your mod :D

 

You mean to dock or to idle? To idle probably, to dock? sadly no, that's part of fightercontroller component which I don't have access to.

Link to comment
Share on other sites

Hi, just wanted to say thanks for this mod. Really made my day when I realised what a pain in the backside managing the salvaging fighters was :)

 

Couple of behaviours I noticed that could do with some improvements if possible:

 

1. Your code iterates all the salvageable wrecks and sets this in a variable salvagableWreck. This is always the salvage closest to the player ship. This has problems if the pieces of salvage closest to the ship are on opposite sides quite a long way away, as the fighters treaverse huge distances for a pebble before heading back.

You also have code in localizedFighterTarget() that does it for salvage closest to the fighter, but this called by

 

if not fighterT then

findAvailableFighter()

elseif localizedFighterTarget() then

localizedFighterTarget()

end

 

So it's called twice based on a boolean response of itself that it doesn't seem to supply? I'm not really familiar with lua so my understanding could be wrong here but this looks like a bug :P

 

From what I witness in game I'm guessing this function is never called as the fighters behave like the algorithm in the first function. My suggestion would be to ditch this function if possible, and the multiple iterations of the wreck collections. Instead, it would be better to do something like, check for wrecks first time, set a first check boolean to true, assign the targets and then next time a target check is needed compare the distances between the fighter and the wreck and the ship and the wreck, if it's closer to the fighter pick that. Else pick the one closer to the ship. This would stop the behaviour where wreck selection involves a lot of needless travelling when better targets are much closer.

 

2. As the fighers are set to a defensive task, as soon as a ship attacks your ship all the salvaging fightters head off to attack it. This is a bit of a pain and means that I tend ot lose fighters when I havent noticed and they are vary easy to blow up and quite hard to come by. I'm not sure if anything can be done about this as I have no knowledge of the game and it's scripting side at all, but would be a nice improvment if they can just ignore the fight :)

 

Thanks again, this mod has saved me loads of faff

 

 

 

 

Link to comment
Share on other sites

Would it be possible to include the player name and location when a command activation is logged to the console?

Some players are abusing salvage fighters by using a shitload of them with high dps in salvage yards, creating giants amount of lag because the netcode can't handle that many updates.

Link to comment
Share on other sites

Still cant get 1.6 or 1.7 to work :

 

Wed Mar 08 19:39:07 2017| <Server> caught exception in script: error during first script execution: Script 'data/scripts/entity/carriercraftorders.lua' not found. Tried the following paths:

Wed Mar 08 19:39:07 2017| data/scripts/entity/data/scripts/entity/carriercraftorders.lua

Wed Mar 08 19:39:07 2017| data/scripts/entity/data/scripts/entity/carriercraftorders.lua.lua

Wed Mar 08 19:39:07 2017| data/scripts/entitydata/scripts/entity/carriercraftorders.lua

Wed Mar 08 19:39:07 2017| data/scripts/entitydata/scripts/entity/carriercraftorders.lua.lua

Wed Mar 08 19:39:07 2017| data/scripts/systems/data/scripts/entity/carriercraftorders.lua

Wed Mar 08 19:39:07 2017| data/scripts/systems/data/scripts/entity/carriercraftorders.lua.lua

Wed Mar 08 19:39:07 2017| data/scripts/systemsdata/scripts/entity/carriercraftorders.lua

Wed Mar 08 19:39:07 2017| data/scripts/systemsdata/scripts/entity/carriercraftorders.lua.lua

Wed Mar 08 19:39:07 2017| data/scripts/entity/carriercraftorders.lua

Wed Mar 08 19:39:07 2017| data/scripts/entity/carriercraftorders.lua.lua

Wed Mar 08 19:39:07 2017| data/scripts/data/scripts/entity/carriercraftorders.lua

Wed Mar 08 19:39:07 2017| data/scripts/data/scripts/entity/carriercraftorders.lua.lua

Wed Mar 08 19:39:07 2017| data/scriptsdata/scripts/entity/carriercraftorders.lua

Wed Mar 08 19:39:07 2017| data/scriptsdata/scripts/entity/carriercraftorders.lua.lua

Wed Mar 08 19:39:07 2017| at

Wed Mar 08 19:39:07 2017| [C]:-1: in function addScriptOnce

Wed Mar 08 19:39:07 2017| [string "function f() local ship = Entity() ship:addSc..."]:1: in function f

Wed Mar 08 19:39:07 2017| [string "function f() local ship = Entity() ship:addSc..."]:1: in function ?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...