Exisiting monster without collision (*.gb file)
For what we need monster without collision?
For example: If you want to use existing monster as pet – collision makes monster clickable so while you luring/attacking/running/etc monster as pet with collision will cause a lot of troubles. Without collision there’s no way to click monster.
What we need:
1. Select monster which you want to make non clickable. I’ve chosen M681.
Q: I know monster name only! How I can find files of this monster?!
A: Here’s one of many ways to find this info:
First of all you have to unpack your config.pk (no shit Sherlock!). After that open message-e.dat and find lines by using monster name, for example we’re looking for Goblin soldier – search and fine similar line like this:
Code:
( monstername 681 "Goblin solider")
As you can see there’s number 681 (owrly?! xD). Now open macro.dat and search for:
If you'll find something like this (remember: 1ST word in line should be monsterinfo):
Code:
( monsterinfo ( key 681 ) ( bone 163 ) (level 80) ( scale 1.0 5) ( motion "BBBBBBBBBB" ) (mspeed 1600 600) (attheight 15))
Congratulations – that’s the correct line. Now we know everything about our monster.
Key 681 means that monster file name is M681_b1
Bone 163 means that monster bone/animation file name is T163_bone (animations: T163_A_XX_01).
Another (easiest) way: USE ROAM! –
/set editeffect (F5) -> Model View -> Kind: Monster -> Bone - for example: 681 Goblin soldier Bone(163) and now you’re able to see bone/mesh number of selected monster.
Want to know more about ROAM? Read nvlad’s ROAM guide [click].
2. Open 3ds max and select File -> Import (*.gb), find Motion folder (client/data/monster/motion) and select any gb file (it doesn’t matter now which one, seriously).
3. Check the Bones box, click Select Bonefile button and find the correct bone file (TXXX_bone, in my case: T163_bone).
4. Check the Mesh 1 box, click Select Meshfile, skip to Clothes folder (client/data/monster/clothes) and find correct mesh part (MXXX_b1; in my case: M681_b1). If there’s more than one part (for example: NXXX_b1, NXXX_b2) – repeat this step.
5. Monster is successfully imported into 3DS Max. Wow!
6. Now we’ve to find correct textures. Open Clothes folder (client/data/monster/clothes), find .gb files of your already loaded into 3ds max monster (in my case: M681_xx).
7. Run HxD, in Clothes folder select all files of monster model (in my case: M681_b1 M681_b2 M681_b3) and drag/drop these files into HxD.
8. In every file go to the last line and you'll find names with .dds extension.
9. Run genetix converter and select textures that you found by following step 8 (location: client/data/monster/clothes/tex).
10. Open folder with converted textures and by trial and error method drag/drop texture on mesh.
Want to see dds thumbnails in your Windows? Download sagethumbs (in installer select DDS support only).
11. For some reason weapon has bugged weights. Don’t worry – usually weapon need only one bone in Skin which means it’s easy to fix. Sometimes 3ds max 8 is crashing while you edit envelopes/skin – so I suggest you to delete and create new skin.
12. Click File -> Export… and write M + your unique number + b1 (for example: M1212_b1) and select extension: KalOnline 3DSMax8 Export (*. GT).
13. In export type selection check: Mesh, in Export filetype selection check: .gb and click ADD.
14. In Edit filename delete mesh filename (I’ve deleted M1212_b1.GT) and write name of bone file: T + your unique number + _bone.GT – for example: T990_bone.GT. In export type selection check box: Bones only; filetype - .gb, click ADD and EXPORT.
15. Now it’s time to re-export animation files. Reset scene, Select File -> Import, go to Motion folder (client/data/monster/motion) and select any gb file and click ok. Now in importer window check Bone, click select bonefile and find your bone file (in my case: T163_bone), check Animation, click select Animation, find the right animation file of your selected monster (in my case: T163_0_A_01 – same number as bone has) and click Import.
Because we want to make pet without collision – we need idle/run animation only.
Name
|
Action
|
TXX_0_A_01
|
Idle
|
TXX_1_A_01
|
Walk
|
TXX_2_A_01
|
Run
|
TXX_3_A_01
|
Dead (no behead)
|
TXX_4_A_01
|
Dead (behead)
|
TXX_7_A_01
|
Skill
|
TXX_8_A_01
|
Attack
|
TXX_9_A_01
|
Dead loop (waiting for behead)
|
16. Click File -> Export… write name of animation: T + your bonefile number + A + number of action + 01 (for example: T990_0_A_01 – idle animation) SAME NUMBER AS YOU USE IN BONE FILE (step 14) click save and now in Exporter select Animation and type - .gb click Add and Export. Repeat step 15, 16, 17 for running animation (TXXX_2_A_01).
Client side: Monster/bone info example (config.pk->macro.dat):
( monsterinfo
( key 1212 ) ( bone 990 ) (level 99 ) ( scale 1.0 3 ) ( motion "AAAAAAAAAA" ) ( mspeed 1500 500 ) ( framerate 1.0 1.0 ) ( attheight 16 ) )
( monsterbone
( key 990 ) ( bone 0 5 5 0 0 0 0 0 ) ( target 1.0 1.0 1.0 3 ) ( motion 1 1 1 1 0 0 0 )
(part 1 0) ( damage 40 30 20 0 ) )
Server side: Monster info example (InitMonster.txt):
(monster (name 666)
(index 1212) (country 2) (race 0) (level 99) (ai 2) (range 20) (sight 360 380) (exp 1) (itemgroup 1 1)
(str 1) (hth 1) (int 1) (wis 1) (dex 1) (hp 1) (mp 1) (aspeed 1100) (hit 155) (dodge 95)
(attack 0 1 5) (magic 0 0) (defense 210 168) (absorb 32) (mspeed 1500 500) (resist 42 42 42 55 55)
(quest ))
That’s all.
Created for KalOnline section @RaGEZONE.