Adoxa's "Territory" and "Zone" plugins
-
It can be done quite simply from the command line, using FRC (but you have to download again for this to work, otherwise an empty message stops new zones from showing up).
rem Assuming you're in the EXE directory (where Zone.dll is) rem and FRC is on the PATH. >copy con Zone.frc S 0 %Z S 1 ^Z (that's Ctrl+Z) >frc Zone
-
I have absolutely no idea what you just said, but it sounds good Adoxa! I feel like a monkey in a space capsule, there’s all these buttons but I’ve no idea which one to press, so I’ll just start bashing the keyboard until something happens
-
I got it, did what Moonhead suggested and used Res hacker, changed first line to just %Z and removed second line completely, works a charm. Many thanks guys and awesome sauce Adoxa!
-
adoxa wrote:
Another update, to recognise missing %Zv_n_ ids, using the name instead.Could you elaborate a bit on that? (As in: I don’t understand what you mean. What’s the %Zvn for?)
-
[Oops wrong thread]
-
@ Adoxa: Do you have any idea why these zones seem to trigger an “entered.” message (without a zone name)? I thought Zones.dll is supposed to ignore zones without an ids_name? And in other instances it does, but not here.
Presumably the first, as it’s only a small area
[zone] nickname = Zone_Li07_to_Li01 pos = 91750, 0, 83750 shape = SPHERE size = 8000 sort = 99.500000 [Object] nickname = Li07_to_Li01 ids_name = 0;GENERATESTRRES("Dakota -> New York") pos = 90000, 0, 86000 rotate = 0, 79, 0 archetype = jumpgate msg_id_prefix = gcs_refer_system_Li01 jump_effect = jump_effect_bretonia ids_info = 66145 reputation = li_n_grp behavior = NOTHING difficulty_level = 10 goto = Li01, Li01_to_Li07, gate_tunnel_bretonia loadout = jumpgate_li_01 pilot = pilot_solar_easy [zone] nickname = zone_Li07_pop_newyork_gate pos = 89000, 0, 85000 shape = SPHERE size = 4800 comment = New York Jumpgate sort = 13 toughness = 10 density = 9 repop_time = 10 max_battle_size = 6 pop_type = li_n_grp, single_base_law, jumpgate relief_time = 20 faction_weight = li_n_grp, 10 faction_weight = br_m_grp, 10 faction_weight = rh_m_grp, 10 faction_weight = gd_im_grp, 10 faction_weight = co_ss_grp, 10 faction_weight = co_me_grp, 10 density_restriction = 4, unlawfuls encounter = area_defend, 10, 0.090000 faction = li_n_grp, 1.000000 encounter = area_trade_freighter, 3, 0.120000 faction = br_m_grp, 0.250000 faction = rh_m_grp, 0.250000 faction = gd_im_grp, 0.250000 faction = co_ss_grp, 0.125000 faction = co_me_grp, 0.125000 encounter = area_trade_transport, 3, 0.100000 faction = br_m_grp, 0.250000 faction = rh_m_grp, 0.250000 faction = gd_im_grp, 0.250000 faction = co_ss_grp, 0.125000 faction = co_be_grp, 0.125000 encounter = area_trade_armored, 3, 0.040000 faction = br_m_grp, 0.333333 faction = rh_m_grp, 0.333333 faction = gd_im_grp, 0.333333
It’s not a biggie; I could give the zone a proper name. But I’m curious as to why Zones.dll wants to mention this zone.
-
Nothing happened when I copied the above into an existing system. Perhaps there’s another zone overlapping?
You’ll still get an empty name if ids_name is present, but its id is not - check the spew for a Failed to load ids warning. It may also only appear empty (such as containing nothing but a space), which you could detect more easily by adding quotes - Entered “%Zv1” (%Z). (may as well test ids_name explicitly, too).
-
adoxa wrote:
Nothing happened when I copied the above into an existing system. Perhaps there’s another zone overlapping?Yep:
[olist]* The entire system is a Nebula and Asteroid fields. so that’s two zones. Both do not have ids_names.
- In the System-wide Asteroid field there are a few great exclusion zones filled with different (what are planned to be mineable) asteroids. These zones do have ids_names.
- The zone in my ‘problem’ is a small exlusion zone where a tradelane ends, and a jump gate and a base are situated. It’s just outside the zones I describe at #2
- The gate and the base both have their own pop_zones, which have no ids_name.[/olist]
adoxa wrote:
You’ll still get an empty name if ids_name is present, but its id is not - check the spew for a Failed to load ids warning. It may also only appear empty (such as containing nothing but a space), which you could detect more easily by adding quotes - Entered “%Zv1” (%Z). (may as well test ids_name explicitly, too).Good ideas, thanks!
-
adoxa wrote:
You’ll still get an empty name if ids_name is present, but its id is not - check the spew for a Failed to load ids warning. It may also only appear empty (such as containing nothing but a space), which you could detect more easily by adding quotes - Entered “%Zv1” (%Z).I added ‘’ (single quotes) to the Zone.dll. It seems like there’s any empty space. So, what’s the significance of that? What should I like for now?
adoxa wrote:
(may as well test ids_name explicitly, too).The only zones with ids_names are three larges zones with the system-wide (nameless) zone. The problem zones (there is another, a similarly small one near a jumpgate) do not intersect with these.
-
Did you use the bracketed %Z as well? So did you see Entered ‘’ () (no spaces between quotes or brackets) or Entered ’ ’ ( ) (one space between quote and brackets). The latter means the name is really a space; the former means there is an ids_name, but it’s not assigned (you should see the Failed to load ids warning in the spew, which will tell you what the id number is). If it is a bug on my part, perhaps you could send me the whole system ini?
-
Another bug I had sometimes: In Sigma-13’s Yanagi Pocket (Station Helgoland) the message of “Yanagi Pocket entered” came again and again while I did not leave the zone.
-
adoxa wrote:Did you use the bracketed %Z as well? So did you see Entered ‘’ () (no spaces between quotes or brackets) or Entered ’ ’ ( ) (one space between quote and brackets). The latter means the name is really a space; the former means there is an ids_name, but it’s not assigned (you should see the Failed to load ids warning in the spew, which will tell you what the id number is).
There is a space. So, where does it come from? Is this easy or hard to solve?
adoxa wrote:
If it is a bug on my part, perhaps you could send me the whole system ini?I tried to isolate the file, and the files that I thought were connected, but it turns out that’s almost everyhting (because I’m building this over a framework I already built). So the only realistic way (without me having to edit the system file so thoroughly that it would hardly be the same file) to have you try it out, would be to send my entire mod, which you’d have to install using FLMM 1.4. I’m not sure whether you want to go thru all that trouble (and certainly understand you if you don’t want).
It is 63.1mb as a .7z archive (because there are a whole bunch of solar archetype files as well. I don’t know if files of such size are even allowed to be sent thru email…
But maybe the fact that there’s a space makes sending you the file not necessary anymore?
-
Btw even if the issues reported are bugs, I will use the plugin: these bugs could be though of as in-game, like the player’s board computer has some minor perceptional issues
-
@Skotty: Find attached a new version (I’ll hold off the release until Moonhead’s problem is sorted). It now ignores spherical zones >= 100k (assuming they’re system-wide) and it recognises when it replaces one of its own zones (which was the actual bug: e.g. display Zone A first, then replace it with Zone B, but Zone B was basically regarding Zone A as a system message, so it reset the zone; now it doesn’t reset).
@Moonhead: No, I’d rather hold off downloading the whole lot. All I can suggest is editing the system after you’ve installed it (turning off read-only mode) and replace all the zone ids_names with vanilla faction ids - that’ll at least tell you exactly which zone it is.
-
adoxa wrote:
@Moonhead: No, I’d rather hold off downloading the whole lot. All I can suggest is editing the system after you’ve installed it (turning off read-only mode) and replace all the zone ids_names with vanilla faction ids - that’ll at least tell you exactly which zone it is.You lost me here, I’m afraid… I thought we already established that there was no ids_name, because just a space is given?
From your answer to Skotty I understand you can have Zones.dll have ignore certain zones. Would it be an idea to ignore ALL spherical zones? I think zones that people want to name, are usually ellipsoids. And if we would want a spherical zone to have a name, we could still make it an ellipsoid with all equal sizes e.g.
shape = ELLIPSOID
size = 10000, 10000, 10000 -
Would it be an idea to ignore ALL spherical zones?
well, no. I would have to object to that because most hazard zones are spherical. I like being warned that I’m in a radiation zone or a gas pocket
-
Thaddeus wrote:
Would it be an idea to ignore ALL spherical zones?
well, no. I would have to object to that because most hazard zones are spherical. I like being warned that I’m in a radiation zone or a gas pocket
Whoops, now i have an idea specially for radiation, and may be drag/interference. Fl can’t handle too much zones in one place(hangs), so let’s define virtual zones that will be overriding “damage”. Plugin should start tracking player position when he’s got in a zone, once his ship in a magic XYZ inside it the damage value gonna be changed. Kind of smoothed change, but not quite smooth, just more variance offer.
-
I ignore spherical zones >= 100k, assuming they cover the entire system, so basically the system is the zone, there’s no need to say it twice (e.g. Chugoku/Okamura Cloud and Sigma-13/Crow Nebula). Mostly I did it so other zones would show up. E.g. Crow Nebula has interference, which would block the Yanagi Pocket.
You’ve got it the wrong way round - because it is a space, there must be an ids_name which points to it. The process would be:
-
activate your mod;
-
go to your real systems folder (I guess Freelancer\DATA\UNIVERSE\SYSTEMS\LI07)
-
turn off read-only on li07.ini (or change the option in FLMM before activating);
-
search each ids_name in [Zone];
-
I think you’ve kept vanilla factions (or at least their ids), so renumber starting from 196846;
[Zone]
ids_name = 458752 ;whatever FLMM generates[Zone]
ids_name = 458754replace with
[Zone]
ids_name = 196846 ;458752[Zone]
ids_name = 196847 ;458754 -
now when you visit the zone you should see a faction, which you can trace back to the zone;
-
alternatively, start with 1286, as that’s just A-N (and 0-9 if you’ve got a lot, or if you’ve only got less than 10 start at 1301 and you’ll get its number directly);
-
if it’s still a space, send me li07.ini and I’ll see if I can work with it.
-
-
@ Adoxa:
I did what you meant, and had some remarkable results:
[olist]* The test zone (of the previously ( ) space zones) now produced 9 as a name — Ids 1309, which is assigned to another zone at another (non-overlapping location). Significant here (I presume) is the fact that in the system .ini it is the zone immediatedly before the ( ) zone. Also note that both zones normally do not have an ids assigned to it.
- While testing, the display behaviour of Zones.dll was different: it kept repeating the Entered (9) message, even though my ship did not leave the zone. This is weird, as this did not happen before[/olist]
The zones’ code, as in the test .ini:
[zone] ids_name = 1309 nickname = zone_Li07_pop_colorado_gate pos = 99822.800000, 0, -15080.400000 shape = SPHERE size = 4800 comment = Omega7 Jumpgate sort = 1 toughness = 10 density = 9 repop_time = 10 max_battle_size = 6 pop_type = li_n_grp, single_base_law, jumpgate relief_time = 20 faction_weight = li_n_grp, 10 faction_weight = br_m_grp, 10 faction_weight = rh_m_grp, 10 faction_weight = gd_im_grp, 10 faction_weight = co_ss_grp, 10 faction_weight = co_me_grp, 10 density_restriction = 4, unlawfuls encounter = area_defend, 10, 0.090000 faction = li_n_grp, 1.000000 encounter = area_trade_freighter, 3, 0.120000 faction = br_m_grp, 0.250000 faction = rh_m_grp, 0.250000 faction = gd_im_grp, 0.250000 faction = co_ss_grp, 0.125000 faction = co_me_grp, 0.125000 encounter = area_trade_transport, 3, 0.100000 faction = br_m_grp, 0.250000 faction = rh_m_grp, 0.250000 faction = gd_im_grp, 0.250000 faction = co_ss_grp, 0.125000 faction = co_be_grp, 0.125000 encounter = area_trade_armored, 3, 0.040000 faction = br_m_grp, 0.333333 faction = rh_m_grp, 0.333333 faction = gd_im_grp, 0.333333 ;||||||||>>>>============================{ JG: to Li01 New York } ; [zone] ids_name = 1308 nickname = Zone_Li07_to_Li01 pos = 91750, 0, 83750 shape = SPHERE size = 8000 sort = 99.500000
EDIT: Btw I did not assign an ids_name to the patrol_path and tradelane zones.
–-------------------------
EDIT2: Some more testing indicating similar behaviour:
Ad #2: Even when my ship is stationary, the repeted display of the ‘entered’ line remains.
Ad #1: The usage of an ids_name from the zone directly before it (in the .ini file) happens with these zones too:
[zone] ids_name = 1293 nickname = zone_Li07_pop_Èllsworth_extend pos = -37644.400000, 0, -46815.600000 shape = ELLIPSOID size = 14400, 8400, 14400 comment = . Extend sort = 7 toughness = 10 density = 5 repop_time = 20 max_battle_size = 4 pop_type = extend_law relief_time = 30 faction_weight = li_n_grp, 20 encounter = area_scout, 10, 0.670000 faction = li_n_grp, 1.000000 ;||||||||>>>>============================{ Fargo Refinerey } ; [zone] ids_name = 1292 nickname = Zone_Li07_Fargo_exclusion pos = -47000, 0, 53000 shape = SPHERE size = 8000 property_flags = 131072 visit = 128 sort = 7