[Metin2]Objekte einfügen[Austausch]

01/17/2012 22:41 .Bloodseeker#1
Hallo Metin2Com,

Ich habe mir gerade ein paar Gedanken gemacht
und finde wir sollten mal ein Sammelthread erstellen,
indem wir uns über das einfügen von Objekten
unterhalten und Informationen dazu austauschen
können.

Ich werde schonmal den Anfang machen und hoffe,
das einige Leute sich endlich mal mit beteiligen.

Fangen wir dann mal an.
Also, ich weiß bisher nur das man neue Objecte, die man einfügen will,
in die Zone packen Kann.

Bsp.: (Es muss nur der Pfad zum Model stimmen, danke heroe1992)
Ihr wollt eine neue Statue oder ein neues Haus von
[Only registered and activated users can see links. Click Here To Register...] einfügen. Dazu erstellt in der Zone.e** ein neues Verzeichniss und
nennt dies z.B. D:\ymir work\zone\test\ .
Dort fügt ihr euer .gr2 Model und die Texturen ein und packt es wieder.
Dann muss man in der Property einen zusammenhang zwischen dem
.gr2 Model und der Textur eintragen.
Code:
YPRT
3993839891
buildingfile		"d:/ymir work/zone/test/s_dun1_stone01.gr2"
propertyname		"s_dun1_stone01"
propertytype		"Building"
shadowflag		"1"

3993839891 : Die Obj. Id

buildingfile "d:/ymir work/zone/test/s_dun1_stone01.gr2" : Der Pfad zur .gr2 Datei (Das Model)

propertyname "s_dun1_stone01" : Name der Texture.

Nun müsst ihr das Objekt auch in der areadata im Map Ordner anpassen.
xXLighterzXx hat dazu eine kleines Tut geschrieben.


Ihr geht in euren map Ordner bei mir zum Beispiel:

PHP Code:
metin2_map_a1 
Dort werdet ihr nun mehr oder weniger viele Ordner haben (Mapgrößen abhängig)

Diese Ordner tragen namen wie 000000, 000001, 000002 usw usw

Nun in den Ordnern gibt es jeweils iene datei mit dem namen Minimap.dds

Da es eine DDS datei ist kann sie auch mit paint.net geöffnet werden.
darauf wird ein kleiner Teil der Minimap gezeigt. Für den MApabschnitt welchen die Minimap hier zeigt gilt dieser Ordner und somit auch die passende Areadata.txt (Die aus dem Order mit der minimap.dds welche ihr euch anschaut.)

Nun geht ihr am besten mal eure Order durch bis ihr das passende Mapteil gefunden habt. bei mir zum Beispiel der Dorfplatz aus dem Roten Reich Map1.

Also gehe ich in den Mapordner metin2_map_a1 in den unter Ordner 002002 öffne die minimap.dds und Voila:

Der Dorfplatz.

Jetzt Fehlen euch die Koordinaten des Objects an die ihr es stellen wollt.. nunja das ist leicht gemacht.

Ihr geht ingame online und stellt euch an die passende stelle an der DAS ZENTRUM eures Objects sein soll (eigentlich nur bei Größeren Objekten wichtig).

Dann öffnet ihr die Console mit
HTML Code:
/c oder /console
und gebt ein:

PHP Code:
debuginfo 
Dann sollten euch in der Console die genauen Koordinaten sowie die Höhe des Objects angezegt werden.

Diese Koordinaten + Höhe in die areadata.txt tun und dann ganze abspeichern.

Natürlich müst ihr ganz am ende der Datei den Count um 1 erhöhen^^

Zusammen packen und über ein neues Object Freuen.

Hoffe das war einigermaßen Veerständlich.


Weiter bin ich noch nicht gekommen und würde gerne das "TuT"
Vervollständigen. Also hilft mir und der Com die restlichen
"Puzzelteile" zu suchen.

Wenn etwas falsch sein sollte, so wie ich es beschrieben habe, dann
lasst es mich wissen und ich werde es Verbessern.

Mfg .iEsel
01/17/2012 22:48 heroe1992#2
mus in zone sein ? ist egal wo nur der pfad zum model mus angegeben sein
01/17/2012 23:00 .Bloodseeker#3
#Edit :D

Sonst noch was, was du dazu beitragen könntest bzw. möchtest? ^^
Ich denke mal du weißt wie es geht, aber möchtest es nicht Preisgeben oder?
01/17/2012 23:08 heroe1992#4
bei der obj id kanste noch dazuschreiben wo du die einfügen must also in den map ordner
em was kann man sonst noch groß dazu sagen XD eigendlich ist es nur gr2+textur im client irgendwo hin in die property eintragen und auf die map stellen ^^
01/17/2012 23:10 .Bloodseeker#5
Wie meinste das mit dem MapOrdner?
Meinste die Areadata ? Im Client?
Und ich habe es so wie du es beschireben hast
und das Obj funktzioniert nicht.
01/17/2012 23:14 heroe1992#6
jo Areadata em zeigt deine syser was an ?
01/17/2012 23:19 .Bloodseeker#7
Code:
0117 23:18:08006 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/effect/hit/percent_damage1.mse) Error
0117 23:18:08006 :: CInstanceBase::RegisterEffect(eEftType=264, c_szEftAttachBone=, c_szEftName=d:/ymir work/effect/hit/percent_damage1.mse, isCache=1) - Error
0117 23:18:08006 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/effect/hit/percent_damage2.mse) Error
0117 23:18:08006 :: CInstanceBase::RegisterEffect(eEftType=265, c_szEftAttachBone=, c_szEftName=d:/ymir work/effect/hit/percent_damage2.mse, isCache=1) - Error
0117 23:18:08006 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/effect/hit/percent_damage3.mse) Error
0117 23:18:08006 :: CInstanceBase::RegisterEffect(eEftType=266, c_szEftAttachBone=, c_szEftName=d:/ymir work/effect/hit/percent_damage3.mse, isCache=1) - Error
0117 23:18:08374 :: invalid idx 0
0117 23:18:14448 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010).  Automatic conversion will be attempted.
0117 23:18:15436 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x80000015, which doesn't match this version of Granny (0x80000010).  Automatic conversion will be attempted.
0117 23:18:15905 :: CEffectManager::RegisterEffect - LoadScript(D:/ymir work/pc/common/effect/armor/armor-4-2-1.mse) Error
0117 23:18:15905 :: CInstanceBase::RegisterEffect(eEftType=248, c_szEftAttachBone=Bip01, c_szEftName=D:/ymir work/pc/common/effect/armor/armor-4-2-1.mse, isCache=0) - Error
0117 23:18:15905 :: CEffectManager::RegisterEffect - LoadScript(D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse) Error
0117 23:18:15905 :: CInstanceBase::RegisterEffect(eEftType=249, c_szEftAttachBone=Bip01, c_szEftName=D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse, isCache=0) - Error
Sind ein paar Fehler, aber nur 2 mit Granny Viewer, heißt also i.was stimmt damit nicht hmm...
01/17/2012 23:23 heroe1992#8
hmm sind alles standart fehler XD

em haste des obj richtig auf der map plaziert ? und die gr2 mal als npc eingefügt zum testen ob die gr2 geht ?

am besten mal bei nem npc (z.b schmied) die gr2 mit deiner ersetzen
01/17/2012 23:25 .Bloodseeker#9
Als npc noch nicht, würdest du mich skype adden oder so? Wir hauen hier gerade das ganze Thread mit "privat" chat zu :D
01/17/2012 23:43 xXLighterzXx#10
Würde bei deinem tutorial ergänzen das man die ID des Objects aus der prb datei noch in der reserve datei im property Ordner dazu adden muss.

Wens intrssiert hier noch kleiner Tipp wie ihr den passenden Abschnitt der Map findet:

Ihr geht in euren map Ordner bei mir zum Beispiel:

PHP Code:
metin2_map_a1 
Dort werdet ihr nun mehr oder weniger viele Ordner haben (Mapgrößen abhängig)

Diese Ordner tragen namen wie 000000, 000001, 000002 usw usw

Nun in den Ordnern gibt es jeweils iene datei mit dem namen Minimap.dds

Da es eine DDS datei ist kann sie auch mit paint.net geöffnet werden.
darauf wird ein kleiner Teil der Minimap gezeigt. Für den MApabschnitt welchen die Minimap hier zeigt gilt dieser Ordner und somit auch die passende Areadata.txt (Die aus dem Order mit der minimap.dds welche ihr euch anschaut.)

Nun geht ihr am besten mal eure Order durch bis ihr das passende Mapteil gefunden habt. bei mir zum Beispiel der Dorfplatz aus dem Roten Reich Map1.

Also gehe ich in den Mapordner metin2_map_a1 in den unter Ordner 002002 öffne die minimap.dds und Voila:

Der Dorfplatz.

Jetzt Fehlen euch die Koordinaten des Objects an die ihr es stellen wollt.. nunja das ist leicht gemacht.

Ihr geht ingame online und stellt euch an die passende stelle an der DAS ZENTRUM eures Objects sein soll (eigentlich nur bei Größeren Objekten wichtig).

Dann öffnet ihr die Console mit
HTML Code:
/c oder /console
und gebt ein:

PHP Code:
debuginfo 
Dann sollten euch in der Console die genauen Koordinaten sowie die Höhe des Objects angezegt werden.

Diese Koordinaten + Höhe in die areadata.txt tun und dann ganze abspeichern.

Natürlich müst ihr ganz am ende der Datei den Count um 1 erhöhen^^

Zusammen packen und über ein neues Object Freuen.

Hoffe das war einigermaßen Veerständlcih.

Mfg xXLighterzXx
01/17/2012 23:57 .Bloodseeker#11
Ich habe mal deinen Beitrag in meinen Ersten Post Editiert.
Denn manche lesen nur den ersten Beitrag und fangen dann
schon direkt an rumzunörgeln.

Ich hoffe ich darf das,
habe dich auch erwähnt :P

Edit: Wäre schön, wenn jemand eine Erklärung zu jedem Abschnitt in der Property machen würde,
Komme da manchmal bissl durcheinander wegen der Propertyname, denn ich weiß nicht genau
was damit gemeint ist.

Schönen Abend noch,
Der Esel geht schlafen :D

Mfg
.iEsel
02/27/2012 16:31 Schaumalan#12
Hallo ich werde hier mal weiter schreiben, weil es mich 1. auch Interessiert und 2. ich schon schon beim googeln viele Fragen dazu gefunden aber nicht die richtigen Antworten.

Also ich habe mal versucht ein komplett neues Gr2 Modell als Objekt einzufügen. Als Vorlage für die *.prb habe ich mir dabei ein beliebiges Haus rausgesucht, was in Map1 Rotes Haus steht. Als Test Map habe ich mir auch die Rote Map 1 rausgesucht.

Ich habe folgendes gemacht:

( Bsp. Neues Haus "Testhaus.gr2" in Map1 Rotes Reich )

1. Testhaus.gr2, Testhaus.dds nach .../ymir work/zone/a/building

2. Testhaus.prb nach .../property/a/01.¼º

mit folgendem Inhalt:

YPRT
7777777777 (<-- die Zahl habe ich mir ausgedacht --------)
buildingfile "d:/ymir work/zone/a/building/Testhaus.gr2"
propertyname "Testhaus"
propertytype "Building"
shadowflag "1"

3. Das Haus wird auf die Map gesetzt im Entsprechenden Map Ordner, und in die areadata.txt kommt das: z.b.

Start Object096
44056.867188 -71409.726563 14184.500000
7777777777
0.000000#0.000000#195.000000
0.000000
End Object

So, die Koordinaten sind richtig ( sieht man ja mit Debuginfo )

Ich sehe jetzt aber im Spiel das Haus nicht, habe auch keine Fehlermeldung. Mit "/m " kann ich das neue Objekt auch rufen aber man sieht nix.
Habe die selben Koordinaten vorher mit einem Baum getestet, den sieht man. ( ein standard Baum der im Client schon drinn war )
Habe ich jetzt irgendwas vergessen ? Muss ich noch irgendwo was Eintragen ?

Des weiteren kommt ja meist der Tip, ein neues Modell als NPC in die Map zu setzten.

Ich habe dazu folgendes gemacht.

Ordner in NPC erstellt mit Tomb\Tomb.gr2.

Eintrag in der Mob_proto im Client und ...

Code:
<Mob vnum="30002" name="'?????'" gb2312name="Tomb" type="1" rank="5" battle_type="0" level="70" event_type="2" mob_color="0" />
... in der Mob_proto Serverside.

Code:
30002	???	Tomb
	2	0	0	10	4	100	100	0	2000	150	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0		0	0	0	0	0							0	0	0	0	0
Und folgenden Eintrag in der NPC.list

Code:
30002	Tomb
Und selbe Fehler wie oben.

Ich sehe jetzt aber im Spiel das Haus nicht, habe auch keine Fehlermeldung. Mit "/m " kann ich das neue Objekt auch rufen aber man sieht nix.

Ist was falsch ? oder gehts einfach nicht so ?

Danke :handsdown:
02/27/2012 17:45 lfcmaus#13
Ich bin gerade echt am überlegen ob ich es nochmal erkläre wie es funktioniert oder ob ichs sein lasse da ichs leid bin -.- ich hab das jetzt schon wie oft irgendwo drunter geschrieben?
und noch immer bekommt es keiner hin wahnsinn -.-