Problem - "IDS?"
-
Ive sliced the image so only the relevent things are visible.
Problem is, Ive made the Infocard and named it, but the item itself has no name…
(I’ve added the item into my script…not made a totally new thruster from sratch)
-
Looks like your have a typo there, Or you need to make a new item name kinda like an infocard. If i reamber right you need to make an id with the item name as a string kinda like a infocard.
Thats how I made the gattling gun infomation for the A-10 mod, that I redid.
-
Thanks pal, I got it.
What was wrong is before I tried to add the infocard/name to the mod DLL, i did it to the freelancer original, and since the ID was taken…nothing happened. Just had to swap a few numbers around.
-
Does anyone know how to fix this small issue that keeps appearing for me…
Attached file shows printscreen of Ship trader screen. The info for the Defender has been edited by myself using FLId and saved fine. But on loading the game has shown this. The ship can be purchased and flies fine and so far is fine in fights etc.
Any ideas?
Gypsy
-
as we see, in the starship selection box to the right the ship is called the same. it seems, that the ids_name of the good (and the ship itself?) is not a string but an xml code while it has to be a simple string with a simple name, no brackets, nothing. check the number and correct the issue or enter a number with a name as target. also, although fled-ids would allow it (though it won’t work), one number can not contain both an xml infocard and a string.
btw: the xml shown is an ids_info of a different starship. -
Cynical:
Your ids_name number in the shiparch.ini entry for the ship is wrong, it is pointing to the full STATs infocard by mistake, it may be just one number out…
e.g. for most ships…
ids_name = 237034 ( name, = “Patriot” )
ids_info = 66570 (the full STATS infocard, e.g. ids_info1 = 66571 (the description infocard, e.g. "ids_info2 = 66608 (the Template for ship stats, just the STATS, guns etc headers) - same for almost all ships, you can make it the same for all.
ids_info3 = 66572 (the Stats infocard, Stats without headers, only the quantities of guns, turrets etc)So you may have ids_name = ids_info = 66570 as an example - check for your own ship. I use FLidref106 to display the infocards.
If you didn’t change the ids_name number then you edited the StringTable entry of the ship name with infocard data!
Let us know.
-
Thanks all, will check over coding and get back with results.
Gypsy
-
Hey guys. Sorry taking me so long, busy with work and having problems with exporting my ships from MilkShape to CMP.
As for IDS problem…No luck.
I completely replaced my editied InfoCard.dll file with an original unedited one and began again.
Will try a few more things, such as editing a different ship IDS.
For reference the first screenshot, I edited:
Defender
ids_info: 66567second screenshot below:
Defender
ids_info3: 66569Im going to start again and will try ids_info2: 66608
Will get back to you a.s.a.p
Gypsy
-
Just re-read StarTraders comment so wont try 66608.
I dont delete or type in coding myself. I directly edit the original file and then save it, so i cant be missing a / or a <text>part, i only edit the numbers, which is why im confused.</text>
-
Ok well im not sure where the problem lies now, i just did the exact same thing for the Rhino with perfect results.
Will continue to work on this problem and keep all updated.
Below is screenshot for the Rhino. Showing updated information.
Yes thats right… 10 Turrets… cause i can lol
Gypsy
-
Well, there you are then, you big twit! You’ve edited the name entry which is a plain-text StringTable entry (the number is given in ids_name = ) and put in InfoCard xml data!
That’s what we’ve been telling you all along.
The dlls contain both kinds of resources. You need to be careful to ensure you put in the right type of data into each type.
You should use ResHack or FLDev for editing StringTables, and FLDev or FLID-Referrer for editing InfoCards.
I can’t use FL-Dev because it runs at dead-not-breathing pace on my single core processor, FF modified it for duals and left me stranded.
Don’t forget when using ResHack (and any other) to make regular backups in between changes, because it can sometimes mess up, just like many other editors.
-
I hate to bring this up as it’s a really old chestnut and there will always be two distinct shools regarding this, but scripting it is also another method to do all this.
I must admit, i prefer scripting as it’s easier, least from my point of view because you can have all the files related to a ship/weapon/whatever in one file, no need to find messy ids numbers as it’s all done for you, much easier to find errors as well.
-
Continuing from my previous post (my PC died on me while I was editing it)…
Here’s how to fix it…
If you have not changed the ids_name in shiparch.ini, the Defender (li_elite and li_elite2) both have ids_name = 237033.
Using FL ID Referrer, 237033 =
DLL: NameResources.dll (3)
Res Name: 40425 (table 2527)
Res Text: Defender (in your case it will probably show …etc… )Go to your Freelancer\EXE folder and find nameresources.dll, and make a backup copy of it (select it, Ctrl-C, then Ctrl-V for the fastest way).
Open nameresources.dll with ResHacker. You will see two folders - these are resource table nodes, String Table and Version Info. Some dlls will also have other nodes, e.g. 23 which is Infocards.
Open the String Table node and you will see many more nodes - these are the String Tables. Look for and open the one numbered 2527. There is a subnode in it numbered 1033 - this is the code for US English language. A table can have several Language nodes. But for FL it should have only 1. This can be 1033 ( US English ) or 0 ( “language Neutral” ). If there are more than one then the first one, Language 0, will be used and since our dll editors write a 1033 node and do not see the language 0 node, any changes you save wll be in a 1033 node and that will not be seen!
Anyway - open the 1033 node and you will see up to 16 entries, numbered 40416-40431.
Look at entry 40425. It should be “Defender” - but I’ll bet yours isn’t, if you did not change the ids_name number, it will have your "
Fix it by overtyping the bad data with the ship name you want, keeping the quotation marks, so it will be “Defender”.Then click Compile Script.
Click File… Save As…, go and find nameresources.dll, click DEL to DELETE it, and save the changes as the same name, nameresources.dll. If the original does not delete, you can rename it instead - I put a ‘-1’ at the end of the filename so it becomes nameresources.dll-1, then -2 etc. It’s up to you what you do, you already have a backup made if you followed my instructions.
Now go and try it in-game.
Remember - ResHack can write a corrupt file just like any other resource editor that I have used, and several have done that including FL ID Referrer, so be careful to keep your last good dll file copied.
In String Tables entries you should have plain text inside quotation marks. I don’t know how may characters a String Table entry can have, it could be 80 but I have not experimented. FL will not display that many because the display fields are small.
The Infocards belong in Infocard nodes, the ones that are under the node numbered 23 in dll files like infocards.ini and equipresources.ini and others. Those entries are in XML and commence with **. ResHack will show you the first 2 characters are FFFE - this means “UTF-16 Big-Endian” encoding.
Over to you, now you know the problem you won’t make it again. :)**
-
I almost added .rc export to ResID, but no one seems to be interested in using those files (at least, until now no one’s replied whenever I mentioned them). You can find the vanilla (JFLP) resource files here. I created the string tables from ResHacker, but I think I did the infocards straight from the dlls.
-
adoxa wrote:
I almost added .rc export to ResID, but no one seems to be interestedProbably only because they did not fully understand your suggestion.
A tool that would extract a .rc script that could be diffed, edited, and re-compiled back into a DLL would be a big help to a lot of modders. ResHacker scripts the string table but does not conveniently handle the xml resources.
So here is one “yes” vote!