Join also our Discord channel! Click here.

Continent of the 9 (C9)

The Original Forum. Game archives, full of resources. How to open them? Get help here.
User avatar
chrrox
Moderator
Posts: 2565
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1311 times

Re: Continent of the 9 (C9)

Post by chrrox » Tue Jun 29, 2010 11:37 am

ill post an updated c9 importer later on today just need to check a few models and see if everything is fine.

Image

User avatar
chrrox
Moderator
Posts: 2565
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1311 times

Re: Continent of the 9 (C9)

Post by chrrox » Wed Jun 30, 2010 12:17 am

here is the scripts import the bones first.
You do not have the required permissions to view the files attached to this post.

User avatar
chrrox
Moderator
Posts: 2565
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1311 times

Re: Continent of the 9 (C9)

Post by chrrox » Wed Jun 30, 2010 1:05 am

here is a fix to correct the inverted weighting lol.
You do not have the required permissions to view the files attached to this post.

luciasil
n00b
Posts: 11
Joined: Wed Mar 24, 2010 2:48 am
Has thanked: 1 time
Been thanked: 2 times

Re: Continent of the 9 (C9)

Post by luciasil » Sat Jul 03, 2010 10:40 pm

chrrox script work ?

error

!! --Argument count error: fopen wanted 2 ,got 3

User avatar
chrrox
Moderator
Posts: 2565
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1311 times

Re: Continent of the 9 (C9)

Post by chrrox » Sun Jul 04, 2010 2:01 am

you need to tell me more.
what max version os language. the best bet is to copy the script into a new document and then try.
its most likely a Unicode problem.
what version of max do you have?

luciasil
n00b
Posts: 11
Joined: Wed Mar 24, 2010 2:48 am
Has thanked: 1 time
Been thanked: 2 times

Re: Continent of the 9 (C9)

Post by luciasil » Mon Jul 05, 2010 2:52 am

i use 3dsmax 9 sp2

windows is Koean language
3dsmax english

Unicode problem ?

User avatar
chrrox
Moderator
Posts: 2565
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1311 times

Re: Continent of the 9 (C9)

Post by chrrox » Thu Nov 24, 2011 1:53 am

Here is the new quickbms script for the new cfs archives

Code: Select all

get idstring long
get unkown long
get version long
get files long
get null long
comtype LZMA
for i = 0 < files
get nsize long
filexor "0x3A"
getdstring name nsize
filexor ""
get size long
get zsize long
get offset long
clog name offset zsize size
next i

finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 300 times

Re: Continent of the 9 (C9)

Post by finale00 » Thu Mar 01, 2012 8:18 am

Maybe I will add bones...

http://db.tt/BvUWUTMk

User avatar
CriticalError
double-veteran
double-veteran
Posts: 671
Joined: Sun Jul 05, 2009 2:03 am
Has thanked: 95 times
Been thanked: 36 times

Re: Continent of the 9 (C9)

Post by CriticalError » Thu Mar 01, 2012 8:28 am

finale00 wrote:Maybe I will add bones...

http://db.tt/BvUWUTMk
good work finale00, it sound very good you can add bones too, anyway thanks for script.

finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 300 times

Re: Continent of the 9 (C9)

Post by finale00 » Thu Mar 01, 2012 9:00 am

The max script looks kind of complicated with the bones and weights...doing all sorts of checks.

aqua4203
ultra-n00b
Posts: 2
Joined: Sun Jun 26, 2011 12:07 am
Has thanked: 2 times

Re: Continent of the 9 (C9)

Post by aqua4203 » Tue Mar 13, 2012 4:04 am

Does anybody know how to open the r3cm with blender???

hankisawesome
ultra-n00b
Posts: 1
Joined: Mon Apr 23, 2012 5:07 pm

Re: Continent of the 9 (C9)

Post by hankisawesome » Mon Apr 23, 2012 5:11 pm

I know this is a necro. But the game is in global cb right now. And the bms script from chrrox works to extract the files from the csf.

I want to know how to read the c9u anf such so I can mod the ui. Also how to import them back would be awesome as well.

AddiFalcon
ultra-n00b
Posts: 2
Joined: Sat Jul 30, 2011 12:20 pm

Re: Continent of the 9 (C9)

Post by AddiFalcon » Sat Sep 01, 2012 4:04 pm

Chrrox bone script doesn't seem to work with current files.

On trying to load pm0000.r3cb I get error:
--unknown property: "count" in undefined
on line with code: fseek f (0x107 - bonename.count)#seek_cur

Bone file that Chrrox uploaded (shaman skeleton pm0000.r3cb) works fine with the script, but current one pm0000.r3cb doesn't.
I compared both files and new one is larger.

With old bone file on trying to load hair file: pm0003_hair.r3cm
On line with code: maxbone = getnodebyname BNArr[boneidtablearray].name I got this error
-- Runtime error: array index must be positive number, got: -66

I get similar errors on trying to load head/hair/eyes files with old bone file that Chrrox posted here, so can only use that bone file only for importing chest, gloves, legs and foot parts of body.
Also if I want to play with WitchBlade/Hunter/Fighter files I can't use that Shaman Skeleton File.

Chrrox can u update the scripts. Game is currently released in US/EU.

peto1488
n00b
Posts: 12
Joined: Sat Jan 28, 2012 12:26 am
Has thanked: 3 times

Re: Continent of the 9 (C9)

Post by peto1488 » Wed Dec 12, 2012 1:08 pm

Pls help :/

3ds max 8 and client c9.webzen.c*m

Image

zhade
ultra-n00b
Posts: 6
Joined: Sun May 15, 2011 10:51 pm
Been thanked: 1 time

Re: Continent of the 9 (C9)

Post by zhade » Tue Jan 15, 2013 6:37 pm

I am trying to parse through the ENG_GameData.c9t found in the GameData/Msg/ENG/ENG.cfs.
Basically it stores several, if not all, item names aswell as other strings.

It is actually really simple there is no compression, no encryption, nothing.
But I just cannot figure some things out, about how they're stored in that file.

Basically the format is like this:
Square brackets indicate optional bytes.

Code: Select all

4 bytes version

repeat until eof
   4 bytes num_strings
  [4 bytes null] (unknown, always null)

  repeat num_strings times
    4     bytes id
    4     bytes string_len
    len*2 bytes string (utf16)
    [4    bytes null] (unknown, always null)
      
    [repeat unknown times]
      [4     bytes string_len] (a following string with no id, it doesn't count to the num_strings)
      [len*2 bytes string]
      [4     bytes null] (unknown, always null)
    [endrepeat]
  endrepeat
endrepeat
So first thing is, I don't know how many of non-id strings follow one with an id.
I could just detect them by doing some checks, but then those unknown nulls come into play.

I just don't know what they're good for, they appear in the above mentioned format from time to time. Most of the time they're not there and then they're on every string for some time.

Here is test parse on the first category of strings:

Code: Select all

Cat Len: 36
NUM - ID (dec) hex   | [offset] (num non-id string)
NUM: 0	 (8)	 8	 | [8]: 	Elite Hunter (*)
NUM: 1	 (17)	11	| [730]: 	Elementalist (**)
NUM: 2	 (3)	 3	 | [1792]: 	Hunter (**)
NUM: 3	 (67)	43	| [2434]: 	Crow (**)
NUM: 4	 (30)	1e	| [2676]: 	Scout (**)
NUM: 5	 (34)	22	| [3580]: 	Warden (**)
NUM: 6	 (11)	b	 | [4424]: 	Blademaster (**)
NUM: 7	 (20)	14	| [5620]: 	Elemental Empress (**)
NUM: 8	 (6)	 6	 | [5928]: 	Elite Shaman (**)
NUM: 9	 (1)	 1	 | [6876]: 	Shaman (**)
NUM: 10	(28)	1c	| [7564]: 	Assassin (**)
NUM: 11	(37)	25	| [8664]: 	Amphitrite (**)
NUM: 12	(14)	e	 | [8946]: 	Blade Emperor (**)
NUM: 13	(32)	20	| [9248]: 	Wind Sweeper (**)
NUM: 14	(9)	 9	 | [9516]: 	Elite Witchblade (*)
NUM: 15	(18)	12	| [10332]: 	Taoist (**)
NUM: 16	(4)	 4	 | [11378]: 	Witchblade (**)
NUM: 17	(31)	1f	| [12054]: 	Crimson Phantom (**)
NUM: 18	(49)	31	| [12346]: 	Shadow (**)
NUM: 19	(35)	23	| [13672]: 	Slayer (**)
NUM: 20	(12)	c	 | [14504]: 	Warrior (**)
NUM: 21	(21)	15	| [15466]: 	Arbiter (**)
NUM: 22	(16)	10	| [15724]: 	Illusionist (**)
NUM: 23	(57)	39	| [16712]: 	Reaperess (**)
NUM: 24	(66)	42	| [17942]: 	Blood Thief (**)
NUM: 25	(43)	2b	| [18210]: 	Berserker (**)
NUM: 26	(29)	1d	| [19682]: 	Ranger (**)
NUM: 27	(38)	26	| [20702]: 	Punisher (**)
NUM: 28	(15)	f	 | [20982]: 	Destroyer (**)
NUM: 29	(33)	21	| [21300]: 	Firebrand (**)
NUM: 30	(10)	a	 | [21550]: 	Guardian (**)
NUM: 31	(19)	13	| [22462]: 	Cipher (**)
NUM: 32	(5)	 5	 | [22712]: 	Elite Fighter (*****)
NUM: 33	(64)	40	| [24396]: 	Deathdealer (**)
NUM: 34	(13)	d	 | [24670]: 	Paragon Defender (**)
NUM: 35	(57)	39	| [24992]: 	 (
It doesn't parse num 35 correctly because its missing one element with an id.
The reason is, that in this test parse, the 4 unknown nulls are being skipped. This results that the string after the very first "Elite Hunter" is being parsed as a non-id string (since it has those nulls before its string length). However, as a result, the string which is supposed to be num 33, is now also read as a non-id string, since its id is null. You can see that at num 32, Elite Fighter (*****), the asterisks show how many non-id strings follow. The third one is supposed to be a normal string.

Later in the file, those nulls appear after every string for a while. And I have really no idea what to do with them.

In the attachment is a 1mb cut ENG_GameData.c9t file.

I hope you guys could me out as to what the correct file format is. Thanks!
You do not have the required permissions to view the files attached to this post.

Post Reply