Important MessageYou are browsing the archived Lancers Reactor forums. You cannot register or login. |
How do these XML files work?
Here you find the different tutorials on editing and MODing Freelancer
9 posts
• Page 1 of 1
Is there a tutorial that explains all the tags and how to write the XML files used in the Infocards etc?
Try searching for Zens tutorial, i think the site itself seems to be down but some has a link to a mirror of it somewhere in the forums.
Basically you will need ResHacker or something similar to open up the .dll files. Zen suggests creating your own .dll file and adding it to freelancer.ini (for which you will need BiniQDU or similar). Your best bet for the XML files is to rip out 4 from the game that refer to ship/commodity or whatever you want to add, then edit them and reimport. You can use FL INI referer to put in the ids_info number for your infocard (which you get from the relevant .ini i.e. shiparch.ini for a ships infocard) and it will tell you the .dll number (in freelancer.ini) and resource ID. Infocards are resource type 23 in reshacker so your resource id refers to the relevant node under that. Select the resource and export it as a binary file - this will contain the xml code for that infocard. Zen recommends exporting as a .html file but as long as you edit it with wordpad and save as plain text you will be o.k. INI Referer sometimes seems to be one number off the correct id but you should be able to see easily if you have ripped the correct 4 ids_infos for a ship or if you have overlapped onto another one.
The ids_info entries should be in the following sequence :
ids_info - n
ids_info1 - n+1
ids_info2 - 66608
ids_info3 - n+2
Ids_info contains the stats and number for your ship i.e. "Gun/Turret Mounts : 4/1" and is what you see when you go to your ships info in game or scan another ship.
Ids_info1 contains your ships name and description used for your ships info, when scanning another ship or on the left at the shipdealers when you click on a ship.
Ids_info2 just has "Gun/Turret Mounts :" "Armour" etc without and numbers. As this is the same for all ships it is the same number in all of them to save wasting space in the .dlls. It is displayed on the lefthand side of the right column at the shipdealers when you click on a ship.
Ids_info3 is the other half of your ships stats i.e. the 4/1 bit of Gun/Turret Mounts" line. As it is unique to any ship it has a unique number.
So you only need to rip the three sequential entries for any ship and you should be able to see straight away if you have the right ones. After editing them you must reinsert them into a .dll or make your own .dll. Either way you need to add them in reshacker by picking your edited infocards as a file under Action ---> Add a new resource then resource type 23 (for infocards), resource number as whetever the next free number is under the 23 node in an existing .dll or starting from 1 in a new .dll then 1033 for language.
This should add them under the 23 node in the .dll. Save, make sure to add your new .dll (if you have made one) to freelancer.ini and use INI referer to get the correct numbers for them. Remember to just use 66608 for ids_info2 to be tidy.
Hopefully that should be it.... Like i said tho probably worth your while taking a look at zens - it is better explained and has pictures and example code to keep you straight
Basically you will need ResHacker or something similar to open up the .dll files. Zen suggests creating your own .dll file and adding it to freelancer.ini (for which you will need BiniQDU or similar). Your best bet for the XML files is to rip out 4 from the game that refer to ship/commodity or whatever you want to add, then edit them and reimport. You can use FL INI referer to put in the ids_info number for your infocard (which you get from the relevant .ini i.e. shiparch.ini for a ships infocard) and it will tell you the .dll number (in freelancer.ini) and resource ID. Infocards are resource type 23 in reshacker so your resource id refers to the relevant node under that. Select the resource and export it as a binary file - this will contain the xml code for that infocard. Zen recommends exporting as a .html file but as long as you edit it with wordpad and save as plain text you will be o.k. INI Referer sometimes seems to be one number off the correct id but you should be able to see easily if you have ripped the correct 4 ids_infos for a ship or if you have overlapped onto another one.
The ids_info entries should be in the following sequence :
ids_info - n
ids_info1 - n+1
ids_info2 - 66608
ids_info3 - n+2
Ids_info contains the stats and number for your ship i.e. "Gun/Turret Mounts : 4/1" and is what you see when you go to your ships info in game or scan another ship.
Ids_info1 contains your ships name and description used for your ships info, when scanning another ship or on the left at the shipdealers when you click on a ship.
Ids_info2 just has "Gun/Turret Mounts :" "Armour" etc without and numbers. As this is the same for all ships it is the same number in all of them to save wasting space in the .dlls. It is displayed on the lefthand side of the right column at the shipdealers when you click on a ship.
Ids_info3 is the other half of your ships stats i.e. the 4/1 bit of Gun/Turret Mounts" line. As it is unique to any ship it has a unique number.
So you only need to rip the three sequential entries for any ship and you should be able to see straight away if you have the right ones. After editing them you must reinsert them into a .dll or make your own .dll. Either way you need to add them in reshacker by picking your edited infocards as a file under Action ---> Add a new resource then resource type 23 (for infocards), resource number as whetever the next free number is under the 23 node in an existing .dll or starting from 1 in a new .dll then 1033 for language.
This should add them under the 23 node in the .dll. Save, make sure to add your new .dll (if you have made one) to freelancer.ini and use INI referer to get the correct numbers for them. Remember to just use 66608 for ids_info2 to be tidy.
Hopefully that should be it.... Like i said tho probably worth your while taking a look at zens - it is better explained and has pictures and example code to keep you straight
<?xml version="1.0" encoding="UTF-16"?><RDL><PUSH/><TEXT>CLASS: BIG ARSE BASE</TEXT><PARA/><TEXT>GRAVITY: Complete</TEXT><PARA/><TEXT>DOCKING: Yes</TEXT><PARA/><TEXT>AMENITIES: Yes </TEXT><PARA/><TEXT>POPULATION: 5K</TEXT><PARA/><TEXT>Type whatever you like here to give a story about your base or object</TEXT><PARA/><POP/></RDL>
thats how you set out the xml for a base, its very easy to understand just study it then import the xml thats an info card and is referenced by the ids_info = ****** for that object, not sure if i can post xml here tho it probably wont show up if thats the case email me and ill send you an example of how it works.
Ok the xml does work here great, ill try to be a bit more specific
ids_name = 99999 is a pointer to a string of characters stored in a dll, that gives the name of an object ie Your Base
so you have to create a new dll or add to the original when nameing a new base
ids_info = 999999 is a pointer to the imported xml you created, and is used for the display of info on that object be it base or whatever.
in general terms this is how it works
<?xml version="1.0" encoding="UTF-16"?><RDL><PUSH/><TEXT>CLASS: BATTLE CRUISER </TEXT><PARA/><TEXT>GRAVITY: Complete</TEXT><PARA/><TEXT>DOCKING: Yes</TEXT><PARA/><TEXT>AMENITIES: Yes </TEXT><PARA/><TEXT>POPULATION: 2K</TEXT><PARA/><TEXT>The A.N.S Inquisitor is the flagship of the Executioners Dynasty. Brought into Service in 2966 and rebuilt after the 100yr war in the Borderworlds, she now serves as the [XD Command Centre in the Dynasty system of Sirius.</TEXT><PARA/><POP/></RDL>
Produces this in the screenshot below
Edited by - CrazedMoon on 16-08-2003 18:13:06
thats how you set out the xml for a base, its very easy to understand just study it then import the xml thats an info card and is referenced by the ids_info = ****** for that object, not sure if i can post xml here tho it probably wont show up if thats the case email me and ill send you an example of how it works.
Ok the xml does work here great, ill try to be a bit more specific
ids_name = 99999 is a pointer to a string of characters stored in a dll, that gives the name of an object ie Your Base
so you have to create a new dll or add to the original when nameing a new base
ids_info = 999999 is a pointer to the imported xml you created, and is used for the display of info on that object be it base or whatever.
in general terms this is how it works
<?xml version="1.0" encoding="UTF-16"?><RDL><PUSH/><TEXT>CLASS: BATTLE CRUISER </TEXT><PARA/><TEXT>GRAVITY: Complete</TEXT><PARA/><TEXT>DOCKING: Yes</TEXT><PARA/><TEXT>AMENITIES: Yes </TEXT><PARA/><TEXT>POPULATION: 2K</TEXT><PARA/><TEXT>The A.N.S Inquisitor is the flagship of the Executioners Dynasty. Brought into Service in 2966 and rebuilt after the 100yr war in the Borderworlds, she now serves as the [XD Command Centre in the Dynasty system of Sirius.</TEXT><PARA/><POP/></RDL>
Produces this in the screenshot below
Edited by - CrazedMoon on 16-08-2003 18:13:06
Yes your problem is with your xml tags, if you take a close look at it you will find it, or you can paste the xml here and i can point it out, the screeny isnt clear enough for me to spot it there, but its not a major problem to solve, you simply have tags you shouldnt or you have missed one you should have, i had the exact same problem with one of my info cards, its easy solved take a close look at your tags.
taking a look at your screenshot make sure at the end of the desription in your xml you add this code
</TEXT><PARA/><POP/></RDL>
looking at the shot above it doesnt appear to be there, but it may also be because the screeny isnt too clear, try it.
Edited by - CrazedMoon on 19-08-2003 16:17:35
taking a look at your screenshot make sure at the end of the desription in your xml you add this code
</TEXT><PARA/><POP/></RDL>
looking at the shot above it doesnt appear to be there, but it may also be because the screeny isnt too clear, try it.
Edited by - CrazedMoon on 19-08-2003 16:17:35
Umm No Dark i doubt its anything to do with a no cd crack, a no cd crack alters the .exe all info card stuff is stored in .dll's, looking at his screenshot he seems to be altering the credits i havent tried this, as i presume it would be to give credit for all the people contributing to the mod, and you wouldnt know unless it was virtualy finished know who needs credit, so its basicaly the last thing i would attempt before distributing a mod, as these are probably scrolling credits i suspect it has something to with that and the xml needed for scrolling. but thats just a shot in the dark (no pun intended). first thing is to check that the xml is correct and use a process of elimination to find the fault from there, this is basic bug fixing rules i would use in this case.
Also i created my own no cd patch as i bought 1 Freelancer game legaly but have a home lan network and dont see i should fork out £250 so my kids can use Freelancer on lan, also i am allowed to create backups as i purchaced the game legaly, but my point is i had no problem with the XML tags showing up in the game whilst useing the no cd patch.
And no you cant have it to try lol.
If you send me a copy of the XML you used i will take a look at it for you and see if i can spot the problem.
Also i created my own no cd patch as i bought 1 Freelancer game legaly but have a home lan network and dont see i should fork out £250 so my kids can use Freelancer on lan, also i am allowed to create backups as i purchaced the game legaly, but my point is i had no problem with the XML tags showing up in the game whilst useing the no cd patch.
And no you cant have it to try lol.
If you send me a copy of the XML you used i will take a look at it for you and see if i can spot the problem.
9 posts
• Page 1 of 1
Return to Freelancer Editing Tutorial Forum