[SCR] Station Financial Manager Mk2
Moderators: Moderators for English X Forum, Scripting / Modding Moderators
Re: Ut's
Probably. Although, from the amount of effort it makes for the same effect, you may as well just change the UT's homebase to the station running the financial recording.
I don't particularly want to write ANOTHER overwatch script for UT's as they are already fairly computer intensive, and the more comprehensive option would require replacing stock scripts, which requires a mod (or the mod manager? -haven't tested with !xxxx.xml scripts)
So.. yeh, homebase, station. Awesomeness
I homebase all of mine, simply to hide them from in the properties window (With homebase display = no).
Probably. Although, from the amount of effort it makes for the same effect, you may as well just change the UT's homebase to the station running the financial recording.
I don't particularly want to write ANOTHER overwatch script for UT's as they are already fairly computer intensive, and the more comprehensive option would require replacing stock scripts, which requires a mod (or the mod manager? -haven't tested with !xxxx.xml scripts)
So.. yeh, homebase, station. Awesomeness
I homebase all of mine, simply to hide them from in the properties window (With homebase display = no).
I don't suppose any one wants to help debug/test the station financial manager?
Req: You need to know how to use the script editor, probably the message log or incoming messages or stuff like that.
I stuck in waits, pretty much everywhere I could think of so... it shouldn't kill the computer (I hope)
Req: You need to know how to use the script editor, probably the message log or incoming messages or stuff like that.
I stuck in waits, pretty much everywhere I could think of so... it shouldn't kill the computer (I hope)
I could but I have one exam from mat today and day after tomorrow another one from economic mat.I could try it tonight if I have free time.If I don't try tonight then for two or three days.I can not do better than that.
I know to open scipt editor,I know to make some simple scripts but I am in lower lige than you.Is that enough for this job?
I know to open scipt editor,I know to make some simple scripts but I am in lower lige than you.Is that enough for this job?
Last edited by Idea on Sat, 17. Jan 09, 09:10, edited 1 time in total.
*Laaaaaa-A Golden ray of light shines down with the sounds of angelic sirens*
I've managed to debug it enough, so it worked :):D
It did its first trade run! At an astounding 16 sectors away, it found the target and traded. (And it seems to be working properly, as initially 16 sectors was to far away until I bumped up the energy, and that was ok, so yeh, perfect!)
Although its still a ways from being finished, its now at a fairly stable proto type (filed with message logs thou...)
And the generic search flags are working better then expected, they only return sensible results (eg. Known stations, non enemy stations, etc). And due to the fact that I've made this script jump drive orientated, I can just forget about "safe path finding" astar and that stuff.
Any way, theres a boatload of changes and i can't be bothered to upload my post atm. But considering its day 2 and its working (just) already, I'd hope it'd be fully functional with all the tid bits by tommorow
I've managed to debug it enough, so it worked :):D
It did its first trade run! At an astounding 16 sectors away, it found the target and traded. (And it seems to be working properly, as initially 16 sectors was to far away until I bumped up the energy, and that was ok, so yeh, perfect!)
Spoiler
Show
*notes to others don't set up adv sat facts in omicron lyrae... majaglit... is far far away...*
And the generic search flags are working better then expected, they only return sensible results (eg. Known stations, non enemy stations, etc). And due to the fact that I've made this script jump drive orientated, I can just forget about "safe path finding" astar and that stuff.
Any way, theres a boatload of changes and i can't be bothered to upload my post atm. But considering its day 2 and its working (just) already, I'd hope it'd be fully functional with all the tid bits by tommorow
I need to do a bit more internal testing first
(And I want to actually make the command, add ship to station, cos I'm sick of doing it via the script editor, considering half the time the ship has flown off to god knows where) Hopefully by lunch (3-4hours?) , I'll have finished a satisfactory alpha.
But should you find your self completely unable to study (Be warned, Procrastination is dangerous!!!)
BE WARNED!!!, it will over write Financial recording, as its like v15 of it (no v11-14), most of the new features do work (remove all stations, add all complexes-needs work to find individual stations)
first you have to init the ships local variables, (note can't be run on player ship as their homebase = null even if they have a home base... so debugging is just adding LOTS of message logs round the place), by running the script
plugin.stat.fm.ship.add.xml on THIS (being w/e ship your testing it on, make sure HB exists first)
Next, run the actual script,
plugin.stat.fm.ship.loop.xml (Also on this)
And it should -fingers crossed- work
(Oh and make sure you've started financial what ever on the station first)
Quick run down of the loop script
Lines < 30, Does some basic checks, homebase exists, hb is saved on one of the local vars (from the add script) and its checked somewhere else. Currently the script restores the original homebase.
Line 35, Findware, This is... like the super awesome multipurpose script with 500 tools and tidbits included. It returns an array {ware,station,buy,amt,destination}
ware -next buy/sell ware (picks the best from an equation, in short, which ever is needed to be bought/sold the most, and is in range (and 2-jump range if jumper), oh and if a buy station exists.
station the station your will be buying/selling to
buy -boolean variable, whether to buy or sell the ware (this gets saved in local var plugin.stat.fm.config[1], i might consider changing to cmd target 2 thou, simply because saving it to the config[1].
amt (jump fuel adjusted if ware is energy and ship is SUPPOSE to be jump capable, ie jump is turned on)
destination where we are heading now (homebase, or station)
Line 44, setobj, sets all those configs on the ship, tells the station your landing on it
Line 50, moveone, If not in dest sect, move to next sector (or jump to sector if jumper- note self, bug, no escort jump check). If in destsect, but not in dest, dock, else do nothing. If it did nothing, it will return null, and it will skip the continue, otherwise, it'll continue, and re-findware (hopefully, its current ware should still be the highest priority, otherwise it'll fly off to the new ware)
Line 53 to seventy. TRANSACT!!! (finally?). returns null if "issues" arose (couldn't sell all, couldn't offload all, bug?).
64-68 Ill take these out later, but they are staying in for debugging atm.
Line 74+ This is run once the ship has exhausted all ware choices. Basic RTB command.
Bug note.... I haven't put in my moveone script in here yet... it's still using the stock script..
A super quick rundown of the script is
1. run checks (version, hb, etc)
2. logic check, (gets ware)
3. fly one step
4 logic check
repeat 3-4, until docked at destination (might not be original destination any more, its just what ever find ware priorities)
5. trade
6 repeat 1-5, if nothing then...
7 homebase
Known (fixed?) buglist
stat.fm.ship.add
FIXED line 4ish, pulling stat local var configs now pulls from correct array
futuremax
Fixed, line 70+, pulling shiplist array, from wrong variable
fixed did not factor buying/selling into eqn
---------------------------
future ideas list
Ships prioritze current ware, if HB is full, to prevent being looped, dump all wares into a single ship (if size >=2) prevents multiple ships being stuck with the same cargo (this way at most only one will be)will need to retask the return on... transact script (or write it into the actual transact script.. probably this way instead actually)
modify moveonescript, if docked *run fly away first* prevents crowding around the station when jumping.
(And I want to actually make the command, add ship to station, cos I'm sick of doing it via the script editor, considering half the time the ship has flown off to god knows where) Hopefully by lunch (3-4hours?) , I'll have finished a satisfactory alpha.
But should you find your self completely unable to study (Be warned, Procrastination is dangerous!!!)
BE WARNED!!!, it will over write Financial recording, as its like v15 of it (no v11-14), most of the new features do work (remove all stations, add all complexes-needs work to find individual stations)
first you have to init the ships local variables, (note can't be run on player ship as their homebase = null even if they have a home base... so debugging is just adding LOTS of message logs round the place), by running the script
plugin.stat.fm.ship.add.xml on THIS (being w/e ship your testing it on, make sure HB exists first)
Next, run the actual script,
plugin.stat.fm.ship.loop.xml (Also on this)
And it should -fingers crossed- work
(Oh and make sure you've started financial what ever on the station first)
Quick run down of the loop script
Lines < 30, Does some basic checks, homebase exists, hb is saved on one of the local vars (from the add script) and its checked somewhere else. Currently the script restores the original homebase.
Line 35, Findware, This is... like the super awesome multipurpose script with 500 tools and tidbits included. It returns an array {ware,station,buy,amt,destination}
ware -next buy/sell ware (picks the best from an equation, in short, which ever is needed to be bought/sold the most, and is in range (and 2-jump range if jumper), oh and if a buy station exists.
station the station your will be buying/selling to
buy -boolean variable, whether to buy or sell the ware (this gets saved in local var plugin.stat.fm.config[1], i might consider changing to cmd target 2 thou, simply because saving it to the config[1].
amt (jump fuel adjusted if ware is energy and ship is SUPPOSE to be jump capable, ie jump is turned on)
destination where we are heading now (homebase, or station)
Line 44, setobj, sets all those configs on the ship, tells the station your landing on it
Line 50, moveone, If not in dest sect, move to next sector (or jump to sector if jumper- note self, bug, no escort jump check). If in destsect, but not in dest, dock, else do nothing. If it did nothing, it will return null, and it will skip the continue, otherwise, it'll continue, and re-findware (hopefully, its current ware should still be the highest priority, otherwise it'll fly off to the new ware)
Line 53 to seventy. TRANSACT!!! (finally?). returns null if "issues" arose (couldn't sell all, couldn't offload all, bug?).
64-68 Ill take these out later, but they are staying in for debugging atm.
Line 74+ This is run once the ship has exhausted all ware choices. Basic RTB command.
Bug note.... I haven't put in my moveone script in here yet... it's still using the stock script..
A super quick rundown of the script is
1. run checks (version, hb, etc)
2. logic check, (gets ware)
3. fly one step
4 logic check
repeat 3-4, until docked at destination (might not be original destination any more, its just what ever find ware priorities)
5. trade
6 repeat 1-5, if nothing then...
7 homebase
Known (fixed?) buglist
stat.fm.ship.add
FIXED line 4ish, pulling stat local var configs now pulls from correct array
futuremax
Fixed, line 70+, pulling shiplist array, from wrong variable
fixed did not factor buying/selling into eqn
---------------------------
future ideas list
Ships prioritze current ware, if HB is full, to prevent being looped, dump all wares into a single ship (if size >=2) prevents multiple ships being stuck with the same cargo (this way at most only one will be)will need to retask the return on... transact script (or write it into the actual transact script.. probably this way instead actually)
modify moveonescript, if docked *run fly away first* prevents crowding around the station when jumping.
Last edited by s9ilent on Sun, 18. Jan 09, 08:42, edited 5 times in total.
[url]http://members.optuszoo.com.au/whyistha ... /scrfm.xls[/url
This might help, it has a list of all the local/global variables
And... the priority calculations
and other misc junk
This might help, it has a list of all the local/global variables
And... the priority calculations
and other misc junk
One thing.
I started the scripts but the ship dock on the homebase and do nothing.
First I stop recording on stations then start it agen.I set the homebase and start the sript.I have a lot messages logs they look like this every minute.
ARRAY(Energy Cells,Crystals,Silicon Wafers,Measteak Cahoonas)
ARRAY(0,0,0,0)
Nothing to do
My homebase is Crystal Fab M race Argon sector Argon Prime.
They station do not have ware on it.It is empty.
I started the scripts but the ship dock on the homebase and do nothing.
First I stop recording on stations then start it agen.I set the homebase and start the sript.I have a lot messages logs they look like this every minute.
ARRAY(Energy Cells,Crystals,Silicon Wafers,Measteak Cahoonas)
ARRAY(0,0,0,0)
Nothing to do
My homebase is Crystal Fab M race Argon sector Argon Prime.
They station do not have ware on it.It is empty.
Last edited by Idea on Sun, 18. Jan 09, 00:50, edited 1 time in total.
Hrm... set the ship to idle (so it leaves the station)
, and run the script
$ret = plugin.stat.fm.findware on the ship
write to logbook $ret
One of the things about how the script works, is that it ALWAYS works on wares in its inventory first. So if the station is full and it has wares, it will just sit there, trying to continuously unload. Thats the usual culprit for me
It should return the current objective, and also it might print off an array of all wares of the station, and a list of numbers with it.
Tell me what it gives you (Oh and whats the homebase)
, and run the script
$ret = plugin.stat.fm.findware on the ship
write to logbook $ret
One of the things about how the script works, is that it ALWAYS works on wares in its inventory first. So if the station is full and it has wares, it will just sit there, trying to continuously unload. Thats the usual culprit for me
It should return the current objective, and also it might print off an array of all wares of the station, and a list of numbers with it.
Tell me what it gives you (Oh and whats the homebase)
Yeh, just double checked my script, priority = 0 is returned when.. either the priority IS 0 (i.e stock is near 100 and/or distance is far away enough)
or when there is no station.
I'm going to change the no station priority to -1 thou to make it more distinguishable (Although the ship still won't act unless prio > min prio)
or when there is no station.
I'm going to change the no station priority to -1 thou to make it more distinguishable (Although the ship still won't act unless prio > min prio)
I set command on idle,the shup come out of the station and he do nothing.I start the script plugin.stat.fm.findware and still nothing.Then I start form
beginning plugin.stat.fm.ship.add.xml after that plugin.stat.fm.ship.loop.xml
And he start to go for Silicon Wafers in Silicon mine in Duke's Vision.
Message logs:
ARRAY(Energy Cells,Crystals,Silicon Wafers,Measteak Cahoonas
ARRAY(5,0,171,129)
765
null
416
764 then agen
ARRAY(Energy Cells,Crystals,Silicon Wafers,Measteak Cahoonas
ARRAY(5,0,171,129)
765
null
413
764 then he found the station were the ship go to
ARRAY(Silicon Wafers,Silicon Mine M beta(Duke's Vision) 1,764 Silicon Mine M beta(Duke's Vision))
Silicon Mine M beta(Duke's Vision)
flyin to sect
can jump
Then the ship jump 5 sectors form Argone Prime to Emperor Mines
I will be watching the behavior of the ship.The jump range I set is 20.Sory for my slow answer English is not my nativ language so I have difficulties to answer fast
beginning plugin.stat.fm.ship.add.xml after that plugin.stat.fm.ship.loop.xml
And he start to go for Silicon Wafers in Silicon mine in Duke's Vision.
Message logs:
ARRAY(Energy Cells,Crystals,Silicon Wafers,Measteak Cahoonas
ARRAY(5,0,171,129)
765
null
416
764 then agen
ARRAY(Energy Cells,Crystals,Silicon Wafers,Measteak Cahoonas
ARRAY(5,0,171,129)
765
null
413
764 then he found the station were the ship go to
ARRAY(Silicon Wafers,Silicon Mine M beta(Duke's Vision) 1,764 Silicon Mine M beta(Duke's Vision))
Silicon Mine M beta(Duke's Vision)
flyin to sect
can jump
Then the ship jump 5 sectors form Argone Prime to Emperor Mines
I will be watching the behavior of the ship.The jump range I set is 20.Sory for my slow answer English is not my nativ language so I have difficulties to answer fast