This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: Question: How to make an "Area ID" for an House (wmo)? ~  (Read 11486 times)

Nevoras

  • Registred Member
  • Race Changer
  • *****
  • Posts: 28
    • View Profile
Question: How to make an "Area ID" for an House (wmo)? ~
« on: February 02, 2012, 12:36:09 am »
Hi guys im a good way further in my Projekt now working since a looong Time on it... Now at time i created my first houses all data's in the new custom patch ect but i still have one thing i could not figure out yet...

You all know some Wmo's in Wow wich when u enter the House there comes a Text and the Area is Changing at Minimap so like in the NSabbey in Elwynn Forest.  

I just need a how to make this Area appearing in my Custom Houses so that i could name them like i want it (Tavern of the Lost, a example) at time i just have a fully changeable House and this woulkd be the Point on the i ^^   plsif someone knowhow to make it exaktly pls tell me. (is it somewhere in the dbc files ? o.o what did i have to do ?)  

Hope my english is understandable cause im not writing much (german) ^^

Btw Release is planning the next 2-3 Months so yeah a new Wow revolution is comming *g* ^^ (even)
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Nevoras

  • Registred Member
  • Race Changer
  • *****
  • Posts: 28
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #1 on: February 02, 2012, 03:57:04 am »
It has definitly to do something with this dbc but thats not all

i found it in this dbc (lets make it with the example Nothshire Abbey...

They have now some Strings there for diffrent Rooms in there...

means i got now  74   93  104 and 123 there but i cant find all of these Numbers in the Table im confused
Also on the Wmo files but i found in the first one per hex this row

...........NGOM
Ä....Northshire
Abbey.MainLobby1
.Main Hall.entry
02.mainlobby2.en
try01.LftWng.ext
.RtWng.Stairs2.L
ibrary2.Library
Wing.Library.Lib
rary Wing.BellTo
wer.MedRoom.Hall
 of Arms.BookRoo
m.Library Wing.S
tairs1..IGOMÀ...
. ..òYæÁ.32Á²Ã½?

i think that this entrys could be hanging on this if there is somewhere an list where i could get

the String  :  "74" and the word from list : "Northshire Abbey"  
together.... but dont know could be totally wrong too ^^ (dont know) q-q and cant find something like that at time
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Nevoras

  • Registred Member
  • Race Changer
  • *****
  • Posts: 28
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #2 on: February 04, 2012, 04:38:28 pm »
o k i have no idea howit works -.-

but i need it in the next days to be in timeplan xD

Lets say i have to made some Houses (50-100) wich all need to have an Area-Name if i get into it but the problem is that i have no idea how -.-  i just know like the last posts (thanks to iindigo) that the WMOAreaTable.dbc as something to do with it cause there are standig all WMO Areas inside with an number but i dont have any idea how i get the name of an area wich is standing in that list to an Wmo wich have no area name.  

If anyone is outside there and had made something with that or have more experience with this than i i would do much to know how i made this exactly :/
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Eluo

  • Moderators
  • Creator of Worlds
  • *****
  • Posts: 509
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #3 on: February 04, 2012, 05:24:08 pm »
Add the Areaid you add/take from the WMOAreaTable.dbc and give it to the wmo that you spawned on your adt.
If you don't like using hexeditors , you could try taliis.
Just add the wmoareaid to the spawned wmo in the tab "appearing objects" and the id belongs into the last field there: "NameSet"

And you don't add the string number, you add the normal id wich is in every dbc the standart first row.

If you'd like to know more about the dbc look here:
http://www.wowdev.wiki/index.php ... aTable.dbc

If you still got questions, don't hesitate to ask.
greetings
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
One is a genius, the other\'s insane!

Nevoras

  • Registred Member
  • Race Changer
  • *****
  • Posts: 28
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #4 on: February 04, 2012, 06:23:13 pm »
Eluo if this is working i will add your name in the Great Stone on my Island beside the other helpers ^^ ! :D i will  test it later *-*

Eluo the Hero ^^ Thx ;)

But i have one question ... on a building wich has no ids in it i think it would work but whats with the abbey in the example cause there are existing ids in this wmo and its not just one there are diffrent parts so what did i have to do to rename the Abbey Parts ^^ ? *g* :D
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Eluo

  • Moderators
  • Creator of Worlds
  • *****
  • Posts: 509
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #5 on: February 04, 2012, 07:13:37 pm »
Quote from: "Nevoras"
Eluo if this is working i will add your name in the Great Stone on my Island beside the other helpers ^^ ! :D i will  test it later *-*

Eluo the Hero ^^ Thx ;)

But i have one question ... on a building wich has no ids in it i think it would work but whats with the abbey in the example cause there are existing ids in this wmo and its not just one there are diffrent parts so what did i have to do to rename the Abbey Parts ^^ ? *g* :D

To tell the truth i never tried it myself but i'm pretty confident that it should work the way i said.

Well to keep exsisting ids , just copy the master id of the wmo, and add/change id according to that. You'll have to work along the wiki, wich i linked you in the last post.

I'd work like that:
If i needed to use the abbey,i would first take the adt in the human starting area and look wich id is used there.
Then i would go into the dbc, copy that "master" id and look wich references it has,or wich sub ids are attached to that wmo. Then i would copy every single entry that belongs to that paticulary name set of the wmo, and keep most of the information and just change what has to be changed.

Well as is said you will have to work along the wiki here, but it's just dbc so it can't be too complicated ;)
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
One is a genius, the other\'s insane!

Nevoras

  • Registred Member
  • Race Changer
  • *****
  • Posts: 28
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #6 on: February 05, 2012, 09:51:20 am »
ok now i tested it

making an new entry in the WMOAreaTable.dbc    set the Name Set on the Appearing Objekt to this number and implemented all in my patch  patch-5.MPQ  

also  tryed to make the DbFiles in an extra patch-deDE.4.MPQ so that they are on the right place but nothing works sadly ingame :( No appearing area Name if i went into the Houses

also tryed to just get an id from the normal AreaTable buit this ones the Name Set entry not accepted.

*sniff*
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Eluo

  • Moderators
  • Creator of Worlds
  • *****
  • Posts: 509
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #7 on: February 05, 2012, 05:53:18 pm »
Then i am pretty sure you did something wrong.
Upload your dbc  please.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
One is a genius, the other\'s insane!

Nevoras

  • Registred Member
  • Race Changer
  • *****
  • Posts: 28
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #8 on: February 05, 2012, 06:21:35 pm »
imade it like in this dbc    [attachment=0:3gl34h02]WMOAreaTable.rar[/attachment:3gl34h02]

and make then in the adt at apearing objekts on the Set Name the Number i get there
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Eluo

  • Moderators
  • Creator of Worlds
  • *****
  • Posts: 509
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #9 on: February 05, 2012, 07:33:01 pm »
Ouh i misunderstood sth wrong :D
If you have a detailed look at the dbcs and the http://www.wowdev.wiki/index.php ... aTable.dbc you would have recognized it.
Name sets are id within the dbc itself, so multiple entrys in the dbc use the same id.

The third row indicates the nameset id,as mentioned in the wiki.


Btw i didn't see any new entrys in your dbc ? :O
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
One is a genius, the other\'s insane!

Nevoras

  • Registred Member
  • Race Changer
  • *****
  • Posts: 28
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #10 on: February 06, 2012, 01:45:10 pm »
Okay i tryed to get it to work but i think im not really understand howthat all works (with the IDs)

in the List of WmoAreaTable is this all

Column    Field       Notes
1    ID          
2    root_ID            called from a WMO-Root file.
3    NameSet       If your WMO is spawned with NameSet 4, search for the rows with a 3 in here.
4    group_ID       called from a WMO-Group file. | -1 for overal name ("Stormwind" etc)
5    Unknown   
6    Unknown
7    Unknown
8    Unknown
9    Unknown
10    flags                CWorldMap::QueryOutdoors: rec.flags & 4 || rec.flags & 2
11    iRefID_AreaTable      If 0, the underlying terrain is asked for its id.
12-28    Name              String + Loc    The name of the area. If 0, an AreaTable query is made.

now in Taliis i think on hand of all the other entrys that Column 1 is  #0    2 is #1  and so on...

ok  first line of the last normals standing now in my dbc here my string for my first custom house is now 17113 try to make this for the entrys where i get some problems. soo

#0..............#1.......#2.......#3.........#4.. ... ..    #11.......#14
51109......5949   .....0......28979.......0... ... ...   0............0

i maked an copy of the last line then i changed the entrys so i set first the id to 80000 to beware later problems if the dbc would be updated once

#0..............#1.......#2.......#3.........#4.. ... ..    #11.......#14
80000......5949.....0......28979.......0... ... ...   0............0


now my first problem the root ID, in the list this ID is going forward andused more than once often.
It says "called from a WMO-Root file". so i clicked on the link there and get this information:

The root file and the groups are stored with the following filenames:

    * WorldwmopathWMOName.wmo
    * WorldwmopathWMOName_NNN.wmo

ok i got my objekts in the custom patch on custom folders for example
CustomPHS001House0001.wmo  // House0001_000.wmo and House0001_001.wmo

but i havent any idea where to get now an "Root Id" from this just found on the Adt itself on the Appearing Objekt tab  an entry where i could  change an "File ID" its set to 0 at time. so the entry for Root ID is my first step problem wich i dont know what to do.  i tryed some stiuff with it but sometimes the house itself disapeared in my adt so i just leave it alone. O.o

#0..............#1.......#2.......#3.........#4.. ... ..    #11.......#14
80000.........?........0......28979.......0... ... ...   0............0


ok next one should be the Name Set, you wrote "The third row indicates the nameset id,as mentioned in the wiki." ok ...

in the wiki is standing : If your WMO is spawned with NameSet 4, search for the rows with a 3 in here
ahm yeah o.o what means that i thougt i have to write at the adt on apearing objekts the ID and not "4" O.o ? next thing is my wmo is spawned but how could i search a row wich i dont have created o.o *confused*

ok ahm i just tryed to write in here the Nameset ID i used (in the adt on apoeraing objekt i just could use the string entrys from the wmoareatable.dbc all others wich are not in there are setting the numbers back to the last one used. so i write in here my String for this House 17113.)

Then i tryed to write this string also into this entry

#0..............#1.......#2..............#3.........#4.. ... ..    #11.......#14
80000.........?........17113......28979.......0... ... ...   0............0


it wont work so and also i saw that all other entrys just have 0, 1, 2 and 3 in so i decided to get the 3 here cause in the wiki stands "If your WMO is spawned with NameSet 4, search for the rows with a 3 in here." so i thougt ok i have to write 3 in and the "NameSet 4" means that 4 is for the nameset ID  so in talis it should be #3   (really thats not my world with this stupid labyrinth tables xD)

so thats now tha standing ^^ :

#0..............#1.......#2..............#3.........#4.. ... ..    #11.......#14
80000.........?........3............17113............0... ... ...   0............0




okay ... puh, but moment that cant be cause #3 is 4 and 4 is Group ID -.- wich wiki tells me that
"called from a WMO-Group file. | -1 for overal name ("Stormwind" etc)" so i m now at a point i dont can think anymor i just want this stupid area and dont know anything about group ids too so i get there an  -1 insteed of the 17113 standing -.-

#0..............#1.......#2..............#3.........#4.. ... ..    #11.......#14
80000.........?........3................-1............0... ... ...   0............0

(at this point i would cry for help and a explain, even some points earlyer) ...

Now just lets jump over #4 and all others to  #14 wich should be the row for "german" but first lets see a look what wiki is saying : The name of the area. If 0, an AreaTable query is made.
Ok the Name of the Area ... hmm wich area i dont know exaktly but there is standing something about string too so i thought this must be my string i used for the Area Name so i put it directly in. and causei dont know any of an Area Table query (wich i think i dont made) i dont make a 0 soo thats my end state of entrys now:

#0..............#1.......#2..............#3.........#4.. ... ..    #11.......#14
80000.........?........3................-1............0... ... ...   0........17113


so ... i dont want to say more but i have a feeling after that ...  all i made just could be wrong x_X

soo...  *CRY* help // hope you understand my problem
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Eluo

  • Moderators
  • Creator of Worlds
  • *****
  • Posts: 509
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #11 on: February 06, 2012, 04:55:35 pm »
xDDDD
First of all i'd suggest you use mydbceditor as you can edit strings directly in there.
(you may have to open the images in a new tab as they get resized in the forum automaticly)

Lets go through the rows together.


[1] The id: This is just the entry id. Each entry gets an individual id. You chose a good number as it is very unlikely that it's gonna be used again soon.

[2] The rootid: The rootid is mentioned in the wmo file itself in the MOHD chunk. I am not very sure about this as the information in the wiki about the wmo differs from the file. I think that the wmo root id is mentined at 0x34 but the wiki says 0x20... i checked multiple wmos and the rootid is given at 0x34 for sure in the 3.3.5 client.
This means for you that you have to extract the wmo root file and the wmo groups for every new entry here.
You then open the wmo root file with a hex editor and go to 0x34



The ids are given as a uint32 wich means that they can be 4 bytes long.
Wich means that the id ends at 0x37



As in hex the information is written backwards inbetween the bytes the id actually is
00 00 00 3B

Bits (2bits = 1byte) are not read backwards, so you don't change 3B to B3!
You just read the bit pairs if you want so backwards.
Then as 0 = nothing , our id is 3B.
As this is a hex value and the dbc not, we have to convert it to a decimal number, where i also use a online converter mostly.
http://easycalculation.com/hex-converter.php
for example use google to find one.

So 3B in hex is 59 in decimal, wich is our id that we have to enter in the dbc. in the second row.

Ill give you in this spoiler another example if you still didn't get it^^.
[spoiler:19gh2sxq]Same thing with a diffrent id.


So the id in hex reads
45 00 7C 00 wich we have to turn around to:

00 7C 00 45

As the first two zeros don't count the number we then have 7C0045.
This number gets thrown into the hex to dec converter who gives us 8126533 as a final result.[/spoiler:19gh2sxq]


[3] Name set:
The nameset id indicates to wich name set it belongs. As the counting starts with zero here, all the entrys that have a zero in the thrid row, belong to ONE name set wich is the FIRST.



All these entrys have the same number (=0) in this row wich means , that they represent one nameset alltogether.

Okay? :D

[4] wmo group id: Again wiki info is false. The wmo group id is stated at 0x4c as a uint32 again.

I'll make it very briefly here as i explained it above how you read out the id.
1. Hex says: 8E 07 00 00
2. Turn around: 00 00 07 8E
3. Cut away the first zeros: 78E
4. Convert: 78E -> 1934

Enter 1934 into the dbc.

[5] to [9] sound indicator, that you will have to try out on your own.

[10] seems to be a 0 row so jsut enter 0

[11] The wiki says everything about that.

[12] The string, so if you use mydbc editor you could just write down there the name of the wmo that you want to have displayed ingame. Else,add a new string and write down here the stingid.

I hope that everything is clear now ;D
greetings
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
One is a genius, the other\'s insane!

Nevoras

  • Registred Member
  • Race Changer
  • *****
  • Posts: 28
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #12 on: February 06, 2012, 05:24:30 pm »
i will  try it and much thx eluo that with the hex wasnt my world but now its clearer..  i just hope that it will not need too long for my 200+ buildings x_X could be a terrible work xD

i will  give response tomorrow sometimes ^^ today i have enough of this xD
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Steff

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 4551
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #13 on: February 07, 2012, 05:45:52 am »
Hmm Noggit should then update all WMOs that are located with the center on a chunk if you change the AreaID of this chunk?
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
Please mark as solved if solved.
Don't ask if you could ask a question... JUST ask the Question.
You can send me also offline messages. I will answer if I get online.
Skype: project.modcraft
Discord: steff#6954

Nevoras

  • Registred Member
  • Race Changer
  • *****
  • Posts: 28
    • View Profile
Re: Question: How to make an "Area ID" for an House (wmo)? ~
« Reply #14 on: February 07, 2012, 09:42:39 am »
Eluo....  

*knees down* Did u want to marry me *holds up the Ring* ...


xD  its working =) after some testing and trying and ID changing and ect stuff now it works =)

Now i just have one last question *g*

What did i have to do now to make the Minimap House-Map appearing when im going inside ?

Thats all *g* ^^ *jumps up and down*  (stuuupid hex editors) xD
« Last Edit: January 01, 1970, 01:00:00 am by Admin »