Adoxa's "Names" plugin
-
Concerns:
After all those years, this truly touches me It never ceases to amaze me how Jason creates these easy-to-implement plugins that change behavior previously considered unalterable.
Yet, I have some questions:
[olist]
-
How will this plugin affect existing Factions and Zones? Will they have to be accomodated with new ids_names that follow the new ‘rules’?
-
I can understand the convenience by using intervals of 10, but the game only uses like 4 entries per faction / game, right?
[/olist]Btw this is my first post after some years. Good to see people are still carrying this game, that in atmosphere was never surpassed by any other.
-
-
adoxa wrote:
1. Existing factions/zones within the 100/200 limit are unaffected, but ids outside that will be affected.Good to know, thanx.
Btw great job, this plugin!!
adoxa wrote:
2. The French version uses %F0v6.Iirc the system where 4 different varieties are used, have to do with the particle being capitalized “the Liberty Navy”, “The Liberty Navy” etc. French sometimes melds conjunctions and particles (like “du” instead of “de le”, so I can imagine it needs more entries.
-
Moonhead wrote:
Iirc the system where 4 different varieties are used, have to do with the particle being capitalized “the Liberty Navy”, “The Liberty Navy” etc. French sometimes melds conjunctions and particles (like “du” instead of “de le”, so I can imagine it needs more entries.
Yes, its language dependent. In German 5 lines are used.
-
Adoxa (and others interested), I have some possible good news for people who create systems in a way similar to mine (which might very well be noone):
I haven’t tested yet***** whether the game picks the correct ids_name entries as the Names plugin should make, but I did find that FLMM (1.4) accepts this code:
[zone] nickname = Zone_Li01_Albany_debris ids_name = 0;GENERATESTRRES(" Albany Debris Field ") ids_name1 = 0;GENERATESTRRES("Albany Debris Field") ids_name2 = 0;GENERATESTRRES("the Albany Debris Field")
which is then rendered into the system .ini as
[zone] nickname = Zone_Li01_Albany_debris ids_name = 589921 ids_name1 = 589922 ids_name2 = 589923
Which to me seems great news, as there’s no need to use another tool, an emtpy dll etc. There are no crashes, and not even entries in the FLSpew that ids_name1 and ids_name2 are unknown parameters or so. And the ids_names are indeed written.
Minor drawback is that I have to use spaces in the name displayed in space and on the NavMap, because FLMM won’t create identical ids_names (it will use the same reference number, which is usually a huge advantage, but not in this case).
Would there be any good reason not to do it this way?
And, it’s not really necessary to write zones’ names up to %Z0v9, is it? I think the game only uses the nameResources name (in-space) and the two varieties in OfferBribeResources to be displayed in mission texts. Not that it would be really inconvenient to go up to ids_name10…
*****(Tested: it works!! Now some fine tuning)
-
Actually it seems like creating the name that is seen on the NavMap, and the variation with the for it (“the Badlands” ) would be enough…
When would the game use the other instances?
I know (or at least, knew, and would sorta know ho to find it) how it works for Factions — why they need variations with the and The before it. But not zones…
-
Its only for mission descriptions. “Kill ships of the Order in the Blablubb cloud”.
-
Skotty. wrote:
Its only for mission descriptions. “Kill ships of the Order in the Blablubb cloud”.Yes, I know. But there are two entries in offer Bribe Resources (the first one, without the seems not be used), and Adoxa even allows for 10…
-
Those lines are still language dependent. In German, zones need 4 lines because there are multiple cases English doesn’t has. It’s the game which allows up to 10 cases, not adoxa
-
[zone] nickname = Zone_Li01_Albany_debris ids_name = 0;GENERATESTRRES(" Albany Debris Field ") ids_name1 = 0;GENERATESTRRES("Albany Debris Field") ids_name2 = 0;GENERATESTRRES("the Albany Debris Field")
Are you sure it worked? I add the v value directly to ids_name, so in this case ids_name is %Z0v0, ids_name1 is %Z0v1 and ids_name2 is %Z0v2. Since all the standard (English) job descriptions only use %Z0v1, that would mean a job would show up like “found in Albany Debris Field”, not “found in the Albany Debris Field”. i.e. you shouldn’t need ids_name, ids_name1 should be ids_name and ids_name2 should be ids_name1.
And, it’s not really necessary to write zones’ names up to %Z0v9, is it?
You only need as many as the highest value of v, so using the English version and this technique, you would only need ids_name and ids_name1. There is no actual requirement that zones be ten apart, or even grouped together, as long as a particular zone’s ids are consecutive.
Let’s use some actual numbers to demonstrate.
[zone] nickname = zone1 ids_name = 500000 ; "Zone1" ids_name1 = 500001 ; "the first Zone" [zone] nickname = zone2 ids_name = 500002 ; "Zone2" ids_name1 = 500003 ; "the second Zone" %Z0v0 zone1: 500000 -> "Zone1" zone2: 500002 -> "Zone2" %Z0v1 zone1: 500001 (500000 + 1) -> "the first Zone" zone2: 500003 (500002 + 1) -> "the second Zone" %Z0v2 (should it exist) zone1: 500002 (500000 + 2) -> "Zone2" zone2: 500004 (500002 + 2) -> ? ```(BTW, if 500004 doesn't exist, Freelancer will give you nothing, but using the Zones plugin will give you 500002 -> "Zone2".)
-
adoxa wrote:
Are you sure it worked? I add the v value directly to ids_name, so in this case ids_name is %Z0v0, ids_name1 is %Z0v1 and ids_name2 is %Z0v2. Since all the standard (English) job descriptions only use %Z0v1, that would mean a job would show up like “found in Albany Debris Field”, not “found in the Albany Debris Field”. i.e. you shouldn’t need ids_name, ids_name1 should be ids_name and ids_name2 should be ids_name1.
Yes, you are correct. What I, at the time of writing, meant with “it works” was that the game did produce any weird bugs and that the name showed up in a mission text. The surprise here was that the line ids_name1 = included in a system .ini file, did not cause a crash — which to me was thinkable, as it is not a variable that it is normally used in the .ini files.
You are right the ids_name1 in ‘my method’ should be the one containing the.
adoxa wrote:
And, it’s not really necessary to write zones’ names up to %Z0v9, is it?
You only need as many as the highest value of v, so using the English version and this technique, you would only need ids_name and ids_name1. There is no actual requirement that zones be ten apart, or even grouped together, as long as a particular zone’s ids are consecutive.
Cool!! So, it is indeed great news, as I presume a similar method can be used for creating factions, which means that the Names plugin (combined with FLMM 1.4) eliminate the need to use ResHacker or FLED-IDs (which, btw are very valuable tools that should be in every modder’s toolbox — but not convenient for mass creation of custom Systems and their Factions)
adoxa wrote:
Let’s use some actual numbers to demonstrate.[zone] nickname = zone1 ids_name = 500000 ; "Zone1" ids_name1 = 500001 ; "the first Zone" [zone] nickname = zone2 ids_name = 500002 ; "Zone2" ids_name1 = 500003 ; "the second Zone" %Z0v0 zone1: 500000 -> "Zone1" zone2: 500002 -> "Zone2" %Z0v1 zone1: 500001 (500000 + 1) -> "the first Zone" zone2: 500003 (500002 + 1) -> "the second Zone" %Z0v2 (should it exist) zone1: 500002 (500000 + 2) -> "Zone2" zone2: 500004 (500002 + 2) -> ? ```(BTW, if 500004 doesn't exist, Freelancer will give you nothing, but using the Zones plugin will give you 500002 -> "Zone2".)
That’s clear, but I don’t think the game ever calls on %Z0v2… Does it?
-
As we’ve said before, the English version only uses %Z0v1, but other languages may use more. The German version (at least the one that was sent to me) has only one %Z0v1, 40 %Z0v2 and 42 %Z0v3. The French version (from Stargate Infini) has 20 %Z0v1, 4 %Z0v2, 2 %Z0v3 and 57 %Z0v4.