Weird NPC bug
-
I checked the first part of your files and there are some problems (i think):
npc_ship = xwing_fighter_d1-3
npc_ship = arc_170_fighter_d4-6
npc_ship = tridroid_fighter_d7-9
npc_ship = bwing_fighter_d10-12
npc_ship = ywing01_fighter_d13-19
npc_ship = cruiser_legacy01_d1-4
npc_ship = legacy01_d1-2
npc_ship = venator_bs_d3-4
npc_ship = mc_75_d5-6
npc_ship = mc_80b_d7-8
npc_ship = corellian_bs02_d9-10
npc_ship = corellian_bs01_d11-12
npc_ship = republic_bs01_d13-14
npc_ship = republic_bs02_d15-16So then: to avoid npc bugs like dissappearing you have to write the levels in order of crescent doesnt matter if you mix the shiptype classes:
npc_ship = legacy01_d1-2
next:
npc_ship = xwing_fighter_d1-3
next:
npc_ship = cruiser_legacy01_d1-4and so on…
Second part:
[NPCShipArch]
nickname = arc_170_fighter_d4-6
loadout = arc_170_loadout01
level = d19
ship_archetype = arc_170
pilot = pilot_outcast_ace
state_graph = FIGHTER
npc_class = lawful, class_fighter, d4, d5, d6Lets take a look at this:
nickname = arc_170_fighter_d4-6–->level=d19???—>npc_class = lawful, class_fighter, d4, d5, d6???The max/min level of the fighter and the last level doesnt match i ensure you this npc ship will never appears in the game. The right level this time: d4 or d6 (rather d6).
And the next npcshiparch has same problem…
I havent checked the entirely post of inis its just the first few entries.
Loadouts:
If you dont have crash or CTD, then there are no big problems with the loadouts i think.
I advise to check manually all of npcshiparches, i know its lovely work, and the end of the checking you will need eye-drop, and downer, but you must do it. -
Mindhunter wrote:
[Zone]
nickname = Zone_SW02_pop_ambient_04
pos = 28007, 0, 50098
rotate = 0, 0, 0
shape = SPHERE
size = 30000
sort = 99.500000
toughness = 10
density = 8
repop_time = 12
max_battle_size = 10
pop_type = background
relief_time = 8
faction_weight = nu_rebel_grp, 10encounter = rebel_patrol, 2, 0.250000
faction = nu_rebel_grp, 0.250000encounter = rebel_patrol, 5, 0.250000
faction = nu_rebel_grp, 0.250000encounter = rebel_patrol, 8, 0.250000
faction = nu_rebel_grp, 0.250000encounter = rebel_patrol, 11, 0.250000
faction = nu_rebel_grp, 0.250000encounter = rebel_patrol, 14, 0.250000
faction = nu_rebel_grp, 0.250000encounter = capitalships_cruiserescort01, 2, 0.250000
faction = nu_rebel_grp, 0.250000encounter = capitalships_cruiserescort01, 4, 0.250000
faction = nu_rebel_grp, 0.250000encounter = capitalships_single, 6, 0.250000
faction = nu_rebel_grp, 0.250000encounter = capitalships_single, 8, 0.250000
faction = nu_rebel_grp, 0.250000(I posted my example codes i mostly use 4 builds out of these list to spawn different ships in different systems).
Just my two cents on this, if that’s how the encounter is, that will never work in a month of sudays. You have nine encounters there, each set to 0,25. The total numbers of encounters can’t be more than 1 or 100% depending on how you look at it. so if you keep the encouters even for arguments sake, the most each one can be is 0.11 as 9 encounters times 1 will give you 0.99 in total.
encounter = rebel_patrol, 14, 0.110000
The other thing that’s totally fubar are the level requirements for the encounters which in the main code is set to 10. You can’t have level 14 encounters showing up in a level 10 encounter, they all need to be set to level 10!! Look at some of the vanilla encounters and see how they work.
encounter = capitalships_single, 8, 0.250000 –---- wrong
encounter = capitalships_single, 10, 0.110000 –----- right
-
@ Davis: Thanks fixed that both but it still crashes.
@ Gibbon: Sry that was a bad example i always set the zone lv to the max lv used by an encounter.
And I don’t have the zone in the order above its just the base code from my NU nickname and code archiv.
I alter this code every time I create a popzone.
Mostly i used 4 encounters out of all these posted above.
Than i have 4 x 0.250000 = 1 which is perfect from what i know.[Zone]
nickname = Zone_SW02_pop_ambient_04
pos = 28007, 0, 50098
rotate = 0, 0, 0
shape = SPHERE
size = 30000
sort = 99.500000
toughness = 10
density = 8
repop_time = 12
max_battle_size = 10
pop_type = background
relief_time = 8
faction_weight = nu_rebel_grp, 10
encounter = rebel_patrol, 2, 0.250000
faction = nu_rebel_grp, 0.250000
encounter = rebel_patrol, 5, 0.250000
faction = nu_rebel_grp, 0.250000
encounter = rebel_patrol, 8, 0.250000
faction = nu_rebel_grp, 0.250000
encounter = capitalships_cruiserescort01, 4, 0.250000
faction = nu_rebel_grp, 0.250000Sometimes i just remove one encounter an use some imp ships but be sure i than also add a:
faction_weight = nu_imp_grp, XX
Well thanks for all the help i had some other fighters with wrong npc lv’s fixed them all and also reordered the npc ships.
-
Gibbon wrote:
Just my two cents on this, if that’s how the encounter is, that will never work in a month of sudays. You have nine encounters there, each set to 0,25. The total numbers of encounters can’t be more than 1 or 100% depending on how you look at it. so if you keep the encouters even for arguments sake, the most each one can be is 0.11 as 9 encounters times 1 will give you 0.99 in total.Encounters (and some other settings) are a “weighted vector”, meaning it’s taken relative to the total. e.g. four encounters using a value of 1 means each one is 1/4, no different to having four encounters of 0.25, meaning 0.25/1.
-
Mindhunter wrote:
@ Davis: Thanks fixed that both but it still crashes.@ Gibbon: Sry that was a bad example i always set the zone lv to the max lv used by an encounter.
And I don’t have the zone in the order above its just the base code from my NU nickname and code archiv.
I alter this code every time I create a popzone.
Mostly i used 4 encounters out of all these posted above.
Than i have 4 x 0.250000 = 1 which is perfect from what i know.[Zone]
nickname = Zone_SW02_pop_ambient_04
pos = 28007, 0, 50098
rotate = 0, 0, 0
shape = SPHERE
size = 30000
sort = 99.500000
toughness = 10
density = 8
repop_time = 12
max_battle_size = 10
pop_type = background
relief_time = 8
faction_weight = nu_rebel_grp, 10
encounter = rebel_patrol, 2, 0.250000
faction = nu_rebel_grp, 0.250000
encounter = rebel_patrol, 5, 0.250000
faction = nu_rebel_grp, 0.250000
encounter = rebel_patrol, 8, 0.250000
faction = nu_rebel_grp, 0.250000
encounter = capitalships_cruiserescort01, 4, 0.250000
faction = nu_rebel_grp, 0.250000Sometimes i just remove one encounter an use some imp ships but be sure i than also add a:
faction_weight = nu_imp_grp, XX
Well thanks for all the help i had some other fighters with wrong npc lv’s fixed them all and also reordered the npc ships.
You have crashes?
Then you have real problems with the loadouts.
Ive just spotted something:
I had crashes when i made a new entry for a new faction (or i remake an original) and at the npc shield i didnt write npc antecedents…
for example one of your shield loadouts:
equip = sith_shield, HpShield01 —> if its a npc loadout then missing the “npc” antecedent i think.
The right way: equip = npc_sith_shield, HpShield01
Try this, i hope it will fix the crashes, if its not, then the second step the zones, and patrols.I dont remember if the vanilla shields have own npc entries or just enough to put npc tag along the entry, if its not enough you have to make entries with npc antecedents.
There is one thing what could cause crash: the engines (the number of the engines have to equal in every .inis to same shiptype and loadout, error checker sometimes doesnt spot all of them.
So i advise to check all manually. -
No thats false, those are just the nickname of the archtyp in the st_equip.in
MS/DA just added a npc_ to all npc ship guns shields etc. idk why but i use player stuff for NPC this worked fine for over 2 years now.@ Encounters: I checked each encounter each of the works correct.
-
@ Davis
The npc shield situation is as follows. NPC shields don’t recharge which is why they were used for npcs in game, a way for Microsoft to dumb down the opposition. There is no need to have npc in the naming convention as it’s only a name and therefore not a requirement. I have custom shields in my mod, same for npcs and players without any problems at all. You can mount anything on an npc ship as long as what your mounting is a valid piece of equipment mounted on a valid hardpoint, irrespective of level.
-
Gibbon wrote:
@ DavisThe npc shield situation is as follows. NPC shields don’t recharge which is why they were used for npcs in game, a way for Microsoft to dumb down the opposition. There is no need to have npc in the naming convention as it’s only a name and therefore not a requirement. I have custom shields in my mod, same for npcs and players without any problems at all. You can mount anything on an npc ship as long as what your mounting is a valid piece of equipment mounted on a valid hardpoint, irrespective of level.
Weird. I have a list of the equips, i asked for it when i started modding:
http://the-starport.net/freelancer/forum/viewtopic.php?topic_id=1855&forum=27
posted by Gibbon
In the shield lists, there are player shields, and npc shields apart.
When i rebalanced some of vanilla factions, i added stronger shields too, and i got crash if i added shield types without existed vanilla npc tag:SHIELDS
3088051465 = shield01_mark01_lf, Sentry L. F. Shield (Class 1 Graviton)
3088575754 = shield01_mark02_lf, Adv. Sentry L. F. Shield (Class 2 Graviton)
3089100043 = shield01_mark03_lf, Guardian L. F. Shield (Class 3 Graviton)
3089624333 = shield01_mark04_lf, Adv. Guardian L. F. Shield (Class 4 Graviton)
3090148620 = shield01_mark05_lf, Sentinel L. F. Shield (Class 5 Graviton)
3090672911 = shield01_mark06_lf, Adv. Sentinel L. F. Shield (Class 6 Graviton)
3091197198 = shield01_mark07_lf, Protector L. F. Shield (Class 7 Graviton)
3087527234 = shield01_mark08_lf, Adv. Protector L. F. Shield (Class 8 Graviton)
3088051523 = shield01_mark09_lf, Champion L. F. Shield (Class 9 Graviton)
2953309256 = shield01_mark10_lf, Adv. Champion L. F. Shield (Class 10 Graviton)
3138383109 = shield02_mark01_lf, Rampart L. F. Shield (Class 1 Molecular)
3138907398 = shield02_mark02_lf, Adv. Rampart L. F. Shield (Class 2 Molecular)
3139431687 = shield02_mark03_lf, Sconce L. F. Shield (Class 3 Molecular)
3139955969 = shield02_mark04_lf, Adv. Sconce L. F. Shield (Class 4 Molecular)
3140480256 = shield02_mark05_lf, Palisade L. F. Shield (Class 5 Molecular)
3141004547 = shield02_mark06_lf, Adv. Palisade L. F. Shield (Class 6 Molecular)
3141528834 = shield02_mark07_lf, Bulwark L. F. Shield (Class 7 Molecular)
3137858894 = shield02_mark08_lf, Adv. Bulwark L. F. Shield (Class 8 Molecular)
3138383183 = shield02_mark09_lf, Barrier L. F. Shield (Class 9 Molecular)
3003640900 = shield02_mark10_lf, Adv. Barrier L. F. Shield (Class 10 Molecular)
3121605889 = shield03_mark01_lf, Armet L. F. Shield (Class 1 Positron)
3122130178 = shield03_mark02_lf, Adv. Armet L. F. Shield (Class 2 Positron)
3122654467 = shield03_mark03_lf, Cuisse L. F. Shield (Class 3 Positron)
3123178757 = shield03_mark04_lf, Adv. Cuisse L. F. Shield (Class 4 Positron)
3123703044 = shield03_mark05_lf, Pourpoint L. F. Shield (Class 5 Positron)
3124227335 = shield03_mark06_lf, Adv. Pourpoint L. F. Shield (Class 6 Positron)
3124751622 = shield03_mark07_lf, Aegis L. F. Shield (Class 7 Positron)
3121081674 = shield03_mark08_lf, Adv. Aegis L. F. Shield (Class 8 Positron)
3121605963 = shield03_mark09_lf, Brigandine L. F. Shield (Class 9 Positron)
2986863680 = shield03_mark10_lf, Adv. Brigandine L. F. Shield (Class 10 Positron)
3097488713 = shield01_mark01_hf, Sentry H. F. Shield (Class 1 Graviton)
3095915850 = shield01_mark02_hf, Adv. Sentry H. F. Shield (Class 2 Graviton)
3096440139 = shield01_mark03_hf, Guardian H. F. Shield (Class 3 Graviton)
3099061581 = shield01_mark04_hf, Adv. Guardian H. F. Shield (Class 4 Graviton)
3099585868 = shield01_mark05_hf, Sentinel H. F. Shield (Class 5 Graviton)
3098013007 = shield01_mark06_hf, Adv. Sentinel H. F. Shield (Class 6 Graviton)
3098537294 = shield01_mark07_hf, Protector H. F. Shield (Class 7 Graviton)
3096964354 = shield01_mark08_hf, Adv. Protector H. F. Shield (Class 8 Graviton)
3097488643 = shield01_mark09_hf, Champion H. F. Shield (Class 9 Graviton)
2962746376 = shield01_mark10_hf, Adv. Champion H. F. Shield (Class 10 Graviton)
3147820357 = shield02_mark01_hf, Rampart H. F. Shield (Class 1 Molecular)
3146247494 = shield02_mark02_hf, Adv. Rampart H. F. Shield (Class 2 Molecular)
3146771783 = shield02_mark03_hf, Sconce H. F. Shield (Class 3 Molecular)
3149393217 = shield02_mark04_hf, Adv. Sconce H. F. Shield (Class 4 Molecular)
3149917504 = shield02_mark05_hf, Palisade H. F. Shield (Class 5 Molecular)
3148344643 = shield02_mark06_hf, Adv. Palisade H. F. Shield (Class 6 Molecular)
3148868930 = shield02_mark07_hf, Bulwark H. F. Shield (Class 7 Molecular)
3147296014 = shield02_mark08_hf, Adv. Bulwark H. F. Shield (Class 8 Molecular)
3147820303 = shield02_mark09_hf, Barrier H. F. Shield (Class 9 Molecular)
3013078020 = shield02_mark10_hf, Adv. Barrier H. F. Shield (Class 10 Molecular)
3131043137 = shield03_mark01_hf, Armet H. F. Shield (Class 1 Positron)
3129470274 = shield03_mark02_hf, Adv. Armet H. F. Shield (Class 2 Positron)
3129994563 = shield03_mark03_hf, Cuisse H. F. Shield (Class 3 Positron)
3132616005 = shield03_mark04_hf, Adv. Cuisse H. F. Shield (Class 4 Positron)
3133140292 = shield03_mark05_hf, Pourpoint H. F. Shield (Class 5 Positron)
3131567431 = shield03_mark06_hf, Adv. Pourpoint H. F. Shield (Class 6 Positron)
3132091718 = shield03_mark07_hf, Aegis H. F. Shield (Class 7 Positron)
3130518794 = shield03_mark08_hf, Adv. Aegis H. F. Shield (Class 8 Positron)
3131043083 = shield03_mark09_hf, Brigandine H. F. Shield (Class 9 Positron)
2996300800 = shield03_mark10_hf, Adv. Brigandine H. F. Shield (Class 10 Positron)
3108339080 = shield01_mark01_fr, Sentry Fr. Shield (Class 1 Graviton)
3109911947 = shield01_mark02_fr, Adv. Sentry Fr. Shield (Class 2 Graviton)
3109387658 = shield01_mark03_fr, Guardian Fr. Shield (Class 3 Graviton)
3110960524 = shield01_mark04_fr, Adv. Guardian Fr. Shield (Class 4 Graviton)
3110436237 = shield01_mark05_fr, Sentinel Fr. Shield (Class 5 Graviton)
3112009102 = shield01_mark06_fr, Adv. Sentinel Fr. Shield (Class 6 Graviton)
3111484815 = shield01_mark07_fr, Protector Fr. Shield (Class 7 Graviton)
3108863427 = shield01_mark08_fr, Adv. Protector Fr. Shield (Class 8 Graviton)
3108339138 = shield01_mark09_fr, Champion Fr. Shield (Class 9 Graviton)
2974645449 = shield01_mark10_fr, Adv. Champion Fr. Shield (Class 10 Graviton)
3125116292 = shield02_mark01_fr, Rampart Fr. Shield (Class 1 Molecular)
3126689159 = shield02_mark02_fr, Adv. Rampart Fr. Shield (Class 2 Molecular)
3126164870 = shield02_mark03_fr, Sconce Fr. Shield (Class 3 Molecular)
3127737728 = shield02_mark04_fr, Adv. Sconce Fr. Shield (Class 4 Molecular)
3127213441 = shield02_mark05_fr, Palisade Fr. Shield (Class 5 Molecular)
3128786306 = shield02_mark06_fr, Adv. Palisade Fr. Shield (Class 6 Molecular)
3128262019 = shield02_mark07_fr, Bulwark Fr. Shield (Class 7 Molecular)
3125640655 = shield02_mark08_fr, Adv. Bulwark Fr. Shield (Class 8 Molecular)
3125116366 = shield02_mark09_fr, Barrier Fr. Shield (Class 9 Molecular)
2991422661 = shield02_mark10_fr, Adv. Barrier Fr. Shield (Class 10 Molecular)
3141893504 = shield03_mark01_fr, Armet Fr. Shield (Class 1 Positron)
3143466371 = shield03_mark02_fr, Adv. Armet Fr. Shield (Class 2 Positron)
3142942082 = shield03_mark03_fr, Cuisse Fr. Shield (Class 3 Positron)
3144514948 = shield03_mark04_fr, Adv. Cuisse Fr. Shield (Class 4 Positron)
3143990661 = shield03_mark05_fr, Pourpoint Fr. Shield (Class 5 Positron)
3145563526 = shield03_mark06_fr, Adv. Pourpoint Fr. Shield (Class 6 Positron)
3145039239 = shield03_mark07_fr, Aegis Fr. Shield (Class 7 Positron)
3142417867 = shield03_mark08_fr, Adv. Aegis Fr. Shield (Class 8 Positron)
3141893578 = shield03_mark09_fr, Brigandine Fr. Shield (Class 9 Positron)
3008199873 = shield03_mark10_fr, Adv. Brigandine Fr. Shield (Class 10 Positron)
2387941132 = npc_shield01_mark01, Sentry NPC Shield (Class 1 Graviton)
2924833548 = npc_shield01_mark02, Adv. Sentry NPC Shield (Class 2 Graviton)
2387967756 = npc_shield01_mark03, Guardian NPC Shield (Class 3 Graviton)
2924843788 = npc_shield01_mark04, Adv. Sentry NPC Shield (Class 4 Graviton)
2387969804 = npc_shield01_mark05, Sentinel NPC Shield (Class 5 Graviton)
2924870412 = npc_shield01_mark06, Adv. Sentinel NPC Shield (Class 6 Graviton)
2387996428 = npc_shield01_mark07, Protector NPC Shield (Class 7 Graviton)
2924749580 = npc_shield01_mark08, Adv. Protector NPC Shield (Class 8 Graviton)
2387883788 = npc_shield01_mark09, Champion NPC Shield (Class 9 Graviton)
2924544774 = npc_shield01_mark10, Adv. Champion NPC Shield (Class 10 Graviton)
2924829455 = npc_shield02_mark01, Rampart NPC Shield (Class 1 Molecular)
2387945231 = npc_shield02_mark02, Adv. Rampart NPC Shield (Class 2 Molecular)
2924819215 = npc_shield02_mark03, Sconce NPC Shield (Class 3 Molecular)
2387992335 = npc_shield02_mark04, Adv. Sconce NPC Shield (Class 4 Molecular)
2924858127 = npc_shield02_mark05, Palisade NPC Shield (Class 5 Molecular)
2387982095 = npc_shield02_mark06, Adv. Palisade NPC Shield (Class 6 Molecular)
2924847887 = npc_shield02_mark07, Bulwark NPC Shield (Class 7 Molecular)
2387898127 = npc_shield02_mark08, Adv. Bulwark NPC Shield (Class 8 Molecular)
2924772111 = npc_shield02_mark09, Barrier NPC Shield (Class 9 Molecular)
2387693317 = npc_shield02_mark10, Adv. Barrier NPC Shield (Class 10 Molecular)
2387959566 = npc_shield03_mark01, Armet NPC Shield (Class 1 Positron)
2924815118 = npc_shield03_mark02, Adv. Armet NPC Shield (Class 2 Positron)
2387949326 = npc_shield03_mark03, Cuisse NPC Shield (Class 3 Positron)
2924862222 = npc_shield03_mark04, Adv. Cuisse NPC Shield (Class 4 Positron)
2387988238 = npc_shield03_mark05, Pourpoint NPC Shield (Class 5 Positron)
2924851982 = npc_shield03_mark06, Adv. Pourpoint NPC Shield (Class 6 Positron)
2387977998 = npc_shield03_mark07, Aegis NPC Shield (Class 7 Positron)
2924768014 = npc_shield03_mark08, Adv. Aegis NPC Shield (Class 8 Positron)
2387902222 = npc_shield03_mark09, Brigandine NPC Shield (Class 9 Positron)
2924563204 = npc_shield03_mark10, Adv. Brigandine NPC Shield (Class 10 Positron)
2261435786 = order_shield, Order H. F. Shield@Mindhunter, @Gibbon:
But, if you have mods with custom shields, without crash, then this wouldnt be problem, but i had and this is fact.
@Mindhunter:
Well, if we could draw out this shield thing, then i have only one last idea, the patrol routes if you have any. -
… Checked the Goods.ini and the shiparchtyps via LS’s error checker an the shiparchtyp’s also by hand …
The error checker is a great tool
- but a creative modder will find ways to trick and fool it.
So
– check those files by ‘hand’ and/or do a wildcard search
for stuff on the same line with those [ship] or [good] etc. entries
– check other files like solararch.ini
(just experienced ‘shifted’ npc ships after adding / changing
a solar for testing purposes.[maybe duplicate nick- not sure what it was exactly but definitive caused by solararch editing])
– maybe compare your current files with the old ones
and check the changes
[that was, what helped me, after i badly tricked
the error checker the last time.]
– i doubt buggy encounters can cause that, they will just crash you afaik
- but a creative modder will find ways to trick and fool it.
-
Anyone thought of CRC conflicts?..
alot of older models i have found use very similar naming groups… if not the same ie: cockpit.3db…
My guess would be to crack em open with UTF and have a look at what the “ACTUAL” name of the ships are… Just because the cmp/mat & sur say… new_ship.cmp (ect) dont mean that’s what FL sees them as… that info’s really all inside the .cmp nodes.
Just a thought… as I’m currently fixing this problem in my own mod
-
We can skip CRC errors in the models, only the server team gundams are mixed up but those dont fly around anywhere and ill fix that asap with the model cloner.
But thx anyway
@ Fir: i have a solararch entry for every ship but they all start with NUS_test_
-
Just make it clear:
Can you fly with that ships, npc factions use?
I mean, are they buyable, flyable in your mod?
If you can fly with them without issue, then the entries are ok i guess.
Having regard to the amounts of your new ships, factions, weapons, etc…, if i were you, i’d save a copy of the mod, and make a new system for testing, contains only one base. You have to dock there, and start checking the encounters. Only one zone pop around the base, and testing npc ships to filter out the wrong ones. Every time you check only one factions with their ships, or the better, only one shiptypes of the factions, and keep the cruisers and battleships for last.
Its gonna be long, but i dont think so, you have any other chance. Not sure that every factions have wrong entries, becuse if you make a new zone pop with many factions and ships and you got crash you will never know which faction is responsible for the issue.
Ive been through this, and i think Xarian m8 could tells you tons of tales about filtering problems in 20 factions