Author Topic: Character Editor v0.5 **BETA RELEASED**  (Read 45933 times)

0 Members and 1 Guest are viewing this topic.

Shagrath

  • Sergeant at Arms
  • *
  • Coffee & Cigarettes
    • View Profile
    • Cataclysma.Net
  • Faction: Rhodok
  • MP nick: Shagrath
  • WB
Character Editor v0.5 **BETA RELEASED**
« on: March 03, 2009, 01:16:27 AM »
M&B Character Editor

Current Version: v0.5
Release date: March 17, 2009 (BETA)


BETA RELEASE v0.5
First public release, please read this first:
  • This is a BETA release, the editor is far from finished but the basic functions work (edit, clone, new, ...)
  • Error catching is very limited at this moment, it's not fool/idiot proof in any way and will crash if you poke it the wrong way. Keep this in mind when screwing around; but please post any errors/bugs/comments.
  • The graphical design is very basic (read: crappy). Functionality is what I'm trying to improve now, layout can be done later.
  • Lots of improvements are on their way, how long it will take mainly depends on community interest.


--> DOWNLOAD BETA v0.5 (installer)
After installing you should be able to find it in your Start menu in the folder Character Editor

--> DOWNLOAD BETA v0.5 (zipped)
Some people pm'd me that the installer fails to install the .net framework and can't be completed.
This zip contains the executable, you may have to install .net framework 3.5, depending on your OS etc.

How to use:
1. In the game, go to your character page and click the "Statistics" button.
2. Export your character by click the appropriate button. (You can just alt-tab out now, no need to shut down M&B).
3. Install/launch the character editor (make sure you enter the correct path on installing)
4. Select your character, click "Load Character", make changes, click Update "Character"
5. Now back ingame click the import button and your editted character is loaded! (Unless you changed its name, duh)


Some of the planned features, ideas are welcome:

    • Edit your characters in a few clicks without risking typos or worse
    • Prepare new characters (all you'll have to do is create the character ingame and import)
    • Create character templates for mod testing
    • Batch operations (for example, raise all skills to 10 in a single click)
    • ...
    • Your idea here??
    • ...


    Too bad I can't make this for the actual savegames instead of exported characters... that would've been awesome :)


Known bugs:
  • Editor crashes when trying to load a character without any character being selected (common error of non-idiot-proof-ness, will be fixed asap)
[/list]
« Last Edit: March 18, 2009, 08:43:19 PM by Shagrath »

seoman of earthsea

  • Sergeant
  • *
    • View Profile
  • Faction: Neutral
Re: Character Editor v0.01 - Help please
« Reply #1 on: March 03, 2009, 01:31:51 AM »
So how do you download this?

Shagrath

  • Sergeant at Arms
  • *
  • Coffee & Cigarettes
    • View Profile
    • Cataclysma.Net
  • Faction: Rhodok
  • MP nick: Shagrath
  • WB
Re: Character Editor v0.01 - Help please
« Reply #2 on: March 03, 2009, 01:39:10 AM »
You don't... I've just started working on it a few hours ago ^^
Atm all you can do is install and edit name/xp/money and the amount of free attribute/skill/weapon points.
Expect a first release somewhere this weekend, maybe earlier don't know how much I'll be able to work on it this week.

Moronic

  • Sergeant Knight
  • *
  • Its easier to take a life then to give one
    • View Profile
  • Faction: Neutral
  • MP nick: ImpaledCOW
Re: Character Editor v0.01 - Help please
« Reply #3 on: March 07, 2009, 08:01:06 PM »
This would be very niece if it got finished. Good luck.
Pride without humility is but a coat of steel covered in rust.

bravesirknight

  • Knight
  • *
    • View Profile
  • Faction: Vaegir
Re: Character Editor v0.01 - Help please
« Reply #4 on: March 11, 2009, 09:04:12 PM »
^^ Seconded. Good luck.

Maxen

  • Recruit
  • *
    • View Profile
    • Native Pro Mod Pack 1.02 by Maxen
  • Faction: Swadian
Re: Character Editor v0.01 - Help please
« Reply #5 on: March 12, 2009, 11:41:24 PM »
Would be useful, good luck mate...
"Follow me if I advance. Kill me if I retreat. Avenge me if I die..."

Native Pro Mod Pack 1.02 by Maxen
http://forums.taleworlds.net/index.php/topic,60618.0.html

Shagrath

  • Sergeant at Arms
  • *
  • Coffee & Cigarettes
    • View Profile
    • Cataclysma.Net
  • Faction: Rhodok
  • MP nick: Shagrath
  • WB
Re: Character Editor v0.5 **BETA RELEASED**
« Reply #6 on: March 17, 2009, 01:48:19 AM »
First public release, see first post (read it, it's not that long).

Please give it a try and let me know if you find any errors/bugs/...
Comments are also very welcome.

I'm a bit tired right now (getting quite late) so chances are that I forgot something major. Please inform me of my possible failure before everyone has downloaded a copy. Thx.

KittenyKat

  • Recruit
  • *
    • View Profile
Re: Character Editor v0.5 **BETA RELEASED**
« Reply #7 on: March 17, 2009, 01:49:54 PM »
Sweet! Weird coincidence that I just started looking into this tonight and it was just released 12 hours ago.. xD

So, why can't you edit current savegames with this? Is there a way to do so manually without an advanced degree in programming? xD

Shagrath

  • Sergeant at Arms
  • *
  • Coffee & Cigarettes
    • View Profile
    • Cataclysma.Net
  • Faction: Rhodok
  • MP nick: Shagrath
  • WB
Re: Character Editor v0.5 **BETA RELEASED**
« Reply #8 on: March 17, 2009, 02:05:04 PM »
Even with an advanced degree in programming, savegames are pretty impossible to edit at this moment (well, except for some, mostly useless, strings that explicitly appear in the savegame).
The moment someone cracks down the savegames I'll start making a savegame editor right away ^^

For now we'll have to go with character export/import, and that's what this editor is made for :)

Anyway, does the character editor work fine for you?


EDIT: Added a simple how-to-use to the first post, as I realised there wasn't one yet.
« Last Edit: March 17, 2009, 02:10:51 PM by Shagrath »

Moronic

  • Sergeant Knight
  • *
  • Its easier to take a life then to give one
    • View Profile
  • Faction: Neutral
  • MP nick: ImpaledCOW
Re: Character Editor v0.5 **BETA RELEASED**
« Reply #9 on: March 17, 2009, 07:48:58 PM »


Yes :D. Now I just hope I get it to work. A big thank you Shagrath.
« Last Edit: March 17, 2009, 07:55:14 PM by Moronic »
Pride without humility is but a coat of steel covered in rust.

Shagrath

  • Sergeant at Arms
  • *
  • Coffee & Cigarettes
    • View Profile
    • Cataclysma.Net
  • Faction: Rhodok
  • MP nick: Shagrath
  • WB
Re: Character Editor v0.5 **BETA RELEASED**
« Reply #10 on: March 17, 2009, 08:00:28 PM »
If it works for you, let me know (and if it doesn't too, ofc ^^).
I'd like to know it works for everyone before I continue working on it.

SPD_Phoenix

  • Master Knight
  • *
    • View Profile
  • Faction: Neutral
Re: Character Editor v0.5 **BETA RELEASED**
« Reply #11 on: March 17, 2009, 10:44:45 PM »
I'm more interested in NPC editor, because character export/import work fine for me.

My current method of NPC editing is hex hacking. However, I can only edit attribute level, experience point (up/down level), available skill points/attribute points/weapon points (but can't find the existing points), available money. What I can't do is changing existing skill level and weapon proficiency. Looking at header_skills.py, it seems to be impossible to decode and change skill level just by looking at the numbers.

Quote
0F 00 00 00 0F 00 00 00 0F 00 00 00 0A 00 00 00 BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42 00 00 00 00 03 00 00 00 10 25 03 00 50 00 00 00 55 50 00 00 00 50 05 00 00 00 00 00 1A 10 00 10 00 00 00 00 00 00 00 00 39 A2 00 00 56 7A 02 00 00 00 70 42 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 18 00 00 00

The above is an example of a NPC data block or part of the data block. Begin with attribute level (0F...0F...0F...0A). The next string "BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42" is what I suspect to be skills level (24 skills bit mask). Weapons proficiency may be next, but I can't figure out. IIRC, the "39 A2" is current available money. Skip to "56 7A 02" is the experience points. Then skip past "70 42 01", the first "02" is the available (unused) skill points, then available attribute point (is zero in this case), then available weapon points (02). I think the last "18" is the NPC current level. That's all I know for now.

Shagrath

  • Sergeant at Arms
  • *
  • Coffee & Cigarettes
    • View Profile
    • Cataclysma.Net
  • Faction: Rhodok
  • MP nick: Shagrath
  • WB
Re: Character Editor v0.5 **BETA RELEASED**
« Reply #12 on: March 17, 2009, 11:29:28 PM »
I'm more interested in NPC editor, because character export/import work fine for me.

My current method of NPC editing is hex hacking. However, I can only edit attribute level, experience point (up/down level), available skill points/attribute points/weapon points (but can't find the existing points), available money. What I can't do is changing existing skill level and weapon proficiency. Looking at header_skills.py, it seems to be impossible to decode and change skill level just by looking at the numbers.

Quote
0F 00 00 00 0F 00 00 00 0F 00 00 00 0A 00 00 00 BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42 00 00 00 00 03 00 00 00 10 25 03 00 50 00 00 00 55 50 00 00 00 50 05 00 00 00 00 00 1A 10 00 10 00 00 00 00 00 00 00 00 39 A2 00 00 56 7A 02 00 00 00 70 42 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 18 00 00 00

The above is an example of a NPC data block or part of the data block. Begin with attribute level (0F...0F...0F...0A). The next string "BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42" is what I suspect to be skills level (24 skills bit mask). Weapons proficiency may be next, but I can't figure out. IIRC, the "39 A2" is current available money. Skip to "56 7A 02" is the experience points. Then skip past "70 42 01", the first "02" is the available (unused) skill points, then available attribute point (is zero in this case), then available weapon points (02). I think the last "18" is the NPC current level. That's all I know for now.
I'm more interested in NPC editor, because character export/import work fine for me.

My current method of NPC editing is hex hacking. However, I can only edit attribute level, experience point (up/down level), available skill points/attribute points/weapon points (but can't find the existing points), available money. What I can't do is changing existing skill level and weapon proficiency. Looking at header_skills.py, it seems to be impossible to decode and change skill level just by looking at the numbers.

Quote
0F 00 00 00 0F 00 00 00 0F 00 00 00 0A 00 00 00 BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42 00 00 00 00 03 00 00 00 10 25 03 00 50 00 00 00 55 50 00 00 00 50 05 00 00 00 00 00 1A 10 00 10 00 00 00 00 00 00 00 00 39 A2 00 00 56 7A 02 00 00 00 70 42 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 18 00 00 00

The above is an example of a NPC data block or part of the data block. Begin with attribute level (0F...0F...0F...0A). The next string "BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42" is what I suspect to be skills level (24 skills bit mask). Weapons proficiency may be next, but I can't figure out. IIRC, the "39 A2" is current available money. Skip to "56 7A 02" is the experience points. Then skip past "70 42 01", the first "02" is the available (unused) skill points, then available attribute point (is zero in this case), then available weapon points (02). I think the last "18" is the NPC current level. That's all I know for now.
I use a simple memory editor to accomplish that, if I need to change such things on my companions etc.
To edit npc's out of the game, you'd need to edit the savegames which isn't possible as far as we know.
Unless you edit the troops.txt file and start a new game, but that's not what we're after.

This tool however, is designed to simplify the editting of exported chars.
Yeah, you don't really need it, it's probably not as useful as the troop or item editor.. but it's something ^^
I really like the way I can just alt-tab between M&B and the editor, change a few things, save, alt-tab, import and done!
Will be even better once templates, batch operations etc. will be implemented.

If anyone knows a better tool I could make, please tell me, this was the most useful I could come up with :P
« Last Edit: March 18, 2009, 08:44:42 PM by Shagrath »

Shagrath

  • Sergeant at Arms
  • *
  • Coffee & Cigarettes
    • View Profile
    • Cataclysma.Net
  • Faction: Rhodok
  • MP nick: Shagrath
  • WB
Re: Character Editor v0.5 **BETA RELEASED**
« Reply #13 on: March 18, 2009, 08:45:56 PM »
Updated first post, can anyone who downloads the .zip version give some feedback on it please?
I'm waiting to continue/release the next version until I get some feedback/bugs/...

jordan

  • Sergeant at Arms
  • *
    • View Profile
  • WB
Re: Character Editor v0.5 **BETA RELEASED**
« Reply #14 on: March 18, 2009, 10:54:17 PM »
I'm more interested in NPC editor, because character export/import work fine for me.

My current method of NPC editing is hex hacking. However, I can only edit attribute level, experience point (up/down level), available skill points/attribute points/weapon points (but can't find the existing points), available money. What I can't do is changing existing skill level and weapon proficiency. Looking at header_skills.py, it seems to be impossible to decode and change skill level just by looking at the numbers.

Quote
0F 00 00 00 0F 00 00 00 0F 00 00 00 0A 00 00 00 BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42 00 00 00 00 03 00 00 00 10 25 03 00 50 00 00 00 55 50 00 00 00 50 05 00 00 00 00 00 1A 10 00 10 00 00 00 00 00 00 00 00 39 A2 00 00 56 7A 02 00 00 00 70 42 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 18 00 00 00

The above is an example of a NPC data block or part of the data block. Begin with attribute level (0F...0F...0F...0A). The next string "BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42" is what I suspect to be skills level (24 skills bit mask). Weapons proficiency may be next, but I can't figure out. IIRC, the "39 A2" is current available money. Skip to "56 7A 02" is the experience points. Then skip past "70 42 01", the first "02" is the available (unused) skill points, then available attribute point (is zero in this case), then available weapon points (02). I think the last "18" is the NPC current level. That's all I know for now.
You're not quite right.  The green string you highlighted is the weapon proficiency.  It is actually stored as floating decimal numbers for some reason.  Each 4 bytes is a proficiency.  If I convert that string, your proficiencies were 82, 262, 73, 82, 265, and 79 (the last is firearms I think). 

After that is skill levels.  Each half of a byte is one skill.  I'll just quote myself in a topic about the troops.txt file:
If you want to edit skills in the text file you look at 5th line for that character in troops.txt.  For example, Marnid's 5th line in Native looks like:

3 131072 0 2 0 0

The first 5 numbers separated by a space represent his skills.  The 6th number may be reserved for future skill enhancements.  To change the starting skills, you must convert each number to hex.  Make it 8 digit hex, because each number can hold 8 skills.  So, the line above converted is:

00000003 00020000 00000000 00000002 00000000

Each digit is a skill, and can be 0-A.  Well, you could try 0-F, but F is 15, and I think the max for each skill is 10 (hex A), so F might break the game.

So which digit is which skill?  Here is a mapping in form x:y where x is the number and y is the digit from left to right:
1:1 Persuasion
1:2 <unused>
1:3 <unused>
1:4 <unused>
1:5 <unused>
1:6 Prisoner Management
1:7 Leadership
1:8 Trade
2:1 Tactics
2:2 Pathfinding
2:3 Spotting
2:4 Inventory Management
2:5 Wound Treatment
2:6 Surgery
2:7 First Aid
2:8 Engineering
3:1 Horse Archery
3:2 <unused>
3:3 <unused>
3:4 <unused>
3:5 <unused>
3:6 <unused>
3:7 Trainer
3:8 Tracking
4:1 <unused>
4:2 <unused>
4:3 <unused>
4:4 <unused>
4:5 Weapon Master
4:6 Shield
4:7 Athletics
4:8 Riding
5:1 <unused>
5:2 <unused>
5:3 <unused>
5:4 Iron Flesh
5:5 Power Strike
5:6 Power Throw
5:7 Power Draw
5:8 <unused>

You can see that Marnid has 3 Trade, 2 Inventory Management, and 2 Riding.  If you want to give him 10 Athletics, and 9 Horse Archery, you would need to change the hex to:
00000003 00020000 90000000 000000A2 00000000
Then convert it back to decimal:
3 131072 2415919104 162 0

If you replace Marnid's 5th line with the above and start a new game, he will have 10 Athletics and 9 Horse Archery. 

I figured this out because I'm thinking of writing a GUI for the Troops.txt similar to my item_kinds1.txt editor.
In your case, you already have the hex values, so you can skip the first part of the quote.  The second part explains what skill is where in the troops.txt file.  This post is old, there are new skills now, and the post pertained to the troops.txt, so I cannot vouch for the order (which half-byte is which skill), but you could find it out by finding your own character in the save file, exporting him and changing skills, and then checking the save file again.