[Idea] extended scripts.user output
Right now, there is some information about scripts that is returned in the #up return, but that isn't accessible in scripts at all. For example:
1) how many chars long the script is
2) what sector the script is in (if the script is public, you can find it, but if the script is private, determining what sector it is in is impossible programmatically)
Char length of a script is useful (for example to make sure you have enough characters to upload w/o having to test an upload), and generally it'd be nice to have a better overview of your scripts (scripts.user is kinda... sparse)
My thought: to avoid breaking backwards compatibility, add a `Nfull`:`Vtrue` mode similar to sys.upgrades. On the command line, it would return something like this
`A>>``Fscripts``A.``Luser`{`Nfull`:`Vtrue`}
`Csudo`.`Lbig_red_button` 365 FULLSEC PUBLIC `IVOID``I_ZETA_4`
`Csudo`.`Lbinmat` 79 NULLSEC PRIVATE
`Csudo`.`Lbot_brain` 221 NULLSEC PRIVATE
`Csudo`.`Lbot_scam_do_not_run` 279 NULLSEC PUBLIC `IVOID``I_ZETA_3`
`Csudo`.`Ldb` 534 FULLSEC PUBLIC `NKIN``N_EPSILON_8`
`Csudo`.`Ldb_backup` 464 FULLSEC PUBLIC `FCHOICE``F_ZETA_5`
`Csudo`.`Lkill` 401 NULLSEC PUBLIC `qDATA``q_ZETA_4`
`Csudo`.`Lldd` 7540 FULLSEC PUBLIC `qDATA``q_EPSILON_9`
`Csudo`.`Lldd_help` 2477 FULLSEC PRIVATE
`Csudo`.`Lmake_me_a_sandwich` 757 FULLSEC PUBLIC `IVOID``I_ZETA_4`
`Csudo`.`Lp_hftq7c` 290 NULLSEC PUBLIC `NKIN``N_ZETA_5`
`Csudo`.`Lrm` 1078 NULLSEC PRIVATE `qDATA``q_ZETA_4`
`Csudo`.`Lstack` 816 FULLSEC PRIVATE
`Csudo`.`Lz` 3068 FULLSEC PRIVATE
( where columns are script, chars, `Fscripts`.`Lget_level`, `Fscripts`.`Lget_access_level`, and sector; note `Csudo`.`Lrm`, which is private and in a sector )
This gives a very convenient overview of your scripts, plus includes the sector and chars (not currently available to scripts at all)
In a script with `Nfull`:`Vtrue`, it would return an array of objects like this:
{
`Nname`:`V"``Csudo``V.``Lbig_red_button``V"`,
`Nchars`: `V365`,
`Nsecurity_level`: `V4`,
`Npublic`: `Vtrue`,
`Nhidden`: `Vfalse`,
`Ntrust`: `Vfalse`,
`Nsector`: `V"``IVOID``I_ZETA_4``V"`
}
By making this part of `Fscripts`.`Luser`, the data exists and we can check it (and log it easily), but you can't look up stats of scripts you don't own (unless the owner runs at least a midsec script you own so you can call `Fscripts`.`Luser`).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -