How to Create New Classes.
Let's start:
Go in to Visual Studio, navigate to /db/data/dat2.xml
Under the last </Object>,
But before </Objects>add this:
Code:
<Object type="0x0326" id="Ninja">
<Class>Player</Class>
<Description>The ninja relies on speed and skill, using katanas and ninja stars to deal big damage.</Description>
<AnimatedTexture>
<File>players</File>
<Index>12</Index>
</AnimatedTexture>
<HitSound>player/priest_hit</HitSound>
<DeathSound>player/priest_death</DeathSound>
<Player/>
<BloodProb>1.0</BloodProb>
<SlotTypes>24, 25, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0</SlotTypes>
<Equipment>0x2587, 0x2589, -1, -1, 0xa22, -1, -1, -1, -1, -1, -1, -1</Equipment>
<MaxHitPoints max="720">100</MaxHitPoints>
<MaxMagicPoints max="252">100</MaxMagicPoints>
<Attack max="70">43</Attack>
<Defense max="25">0</Defense>
<Speed max="60">29</Speed>
<Dexterity max="70">40</Dexterity>
<HpRegen max="75">40</HpRegen>
<MpRegen max="70">40</MpRegen>
<LevelIncrease min="20" max="30">MaxHitPoints</LevelIncrease>
<LevelIncrease min="2" max="8">MaxMagicPoints</LevelIncrease>
<LevelIncrease min="1" max="2">Attack</LevelIncrease>
<LevelIncrease min="0" max="0">Defense</LevelIncrease>
<LevelIncrease min="0" max="2">Speed</LevelIncrease>
<LevelIncrease min="1" max="2">Dexterity</LevelIncrease>
<LevelIncrease min="0" max="1">HpRegen</LevelIncrease>
<LevelIncrease min="1" max="2">MpRegen</LevelIncrease>
<UnlockLevel level="20">Rogue</UnlockLevel>
<UnlockLevel level="20">Warrior</UnlockLevel>
</Object>
Stuff to modify:
Code:
<Equipment>0x2587, 0x2589, -1, -1, 0xa22, -1, -1, -1, -1, -1, -1, -1</Equipment>
These are all 12 of your character's slots/inventory. What Item ID's you put in here is what people get when they make that class. -1 = Empty
Code:
<Attack max="70">43</Attack>
And other stats... max="70" means the max the stat can go. 43 means the amount the class starts with. (Base Stats)
Code:
<LevelIncrease min="1" max="2">Attack</LevelIncrease>
Amount of Roll possible per level up. Usually leave these the same.
Code:
<UnlockLevel level="20">Rogue</UnlockLevel>
<UnlockLevel level="20">Warrior</UnlockLevel>
How you Unlock your class. For Example, Unlock the class when you reach level 20 with Rogue and Warrior.
Code:
<AnimatedTexture>
<File>players</File>
<Index>12</Index>
</AnimatedTexture>
Will Get to this in a second.
Now, open up your client in SWF Decompiler.
Navigate to Image 165, which is where the characters are.
Extract the image, and add your own character under the Sorcerer.
(No spaces in between characters)
Going Back to
Code:
<AnimatedTexture>
<File>players</File>
<Index>12</Index>
</AnimatedTexture>
Replace "12" With the Vertical number

For most of you, it will be index 14.
Save, Rebuild, then head over to Rabcdasm.
(I'm using rabcdasm easy because I'm lazy)
extract your client like normal, and once it's finished,
make a new txt file, in it write:
Code:
swfbinexport client.swf
Then save as > choose save as type > all files,
rename it "binexport.bat"
Now, double-click it.
You now should have a list of .bin files appear in the folder.
What we are looking for is client-108.bin
Right Click > "Open With Notepad"
Just like before in the server, scroll down to the bottom and just before </Objects>,
Copy and paste your code for your new class EXACTLY as is was in the server.
Now create a new .bat file, just as we did before, although now, in it write
Code:
swfbinreplace client.swf 108 client-108.bin
Now run it, and you are all done!
Actually, one last thing I'm not going to go into much detail about.
Go back to SWF Decompiler, and export image 155.
Just like before, add your class under the last one, however,
RED = MAIN DYE
GREEN = ACCESSORY DYE