Wieder mal die Kleidung

Hier geht es rund um das Verändern der nichtextra aufgeführten Mul-Files wie Art, Tiledata, Anim, Sound etc.

Moderator: Mods - Mulbearbeitung

Antworten
Nachricht
Autor
Slay
Mitglied
Beiträge: 98
Registriert: 19 Aug 2006 05:24

Wieder mal die Kleidung

#1 Beitrag von Slay » 15 Nov 2008 00:44

Durch einen Umstieg von 55iR1 auf 56b sind einige Slots auf denen vorher Kleidung lag nun mit Monsteranimationen besetzt. Leider sind das auch sämtliche der leeren Slots so das kaum noch welche übrig bleiben wenn überhaupt. Alle ausprobierten hatten eine Monsteranim.
Ich steig durch die bodyconf, equipconv, body usw nich wirklich durch. Gibs dort die Möglichkeit die Animationen so zu ändern das ich der Kleidung die richtige zuordnen kann, die Monster aber dennoch benutzbar bleiben? Und wenn ja wie?
Und wie ist das mit dem japankram, kann ich da genauso verfahren und auf den Slots neues einpatchen und eine neue Animation verknüpfen?

nazghul

#2 Beitrag von nazghul » 15 Nov 2008 01:25

Das hat nix mit der verwendeten Server-Version zu tun, sondern mit Deiner Client- und MUL-Installation.

Was body.def und bodyconv.def angeht: Die sind eigentlich ganz einfache Umleitungen.

body.def: Wenn Du, lieber Client, den Auftrag bekommst, die Animation 123 (steht in der 1. Spalte) darzustellen, nimm stattdessen die Animation 36 (steht in der 2. Spalte) und färbe sie in Hue 5 (steht in der dritten Spalte).

bodyconv.def: Wenn Du, lieber Client, den Auftrag bekommst, die Animation 123 (steht in der 1. Spalte) darzustellen, geh durch die Spalten nach rechts, und sobald da etwas anderes als "-1" steht, stell die betreddende Animations-Nummer aus dem zur Spalte passenden MUL-File (steht irgendwo ganz oben im File, wie eine Überschrift) dar.

Letztendlich wird jede Animation auf einen Index in der anim.mul "gemapped". Folglich kannst Du nicht hoffen, einen Slot, der früher frei war, jetzt aber ein Monster enthält, sozusagen mit Deiner eigenen Hose doppelt zu belegen; wie soll der Client denn wissen, was Du nun darzustellen wünschst?

Wenn Du auf die SE-Klamotten verzichten kannst, kannst Du einfach die entsprechenden Slots direkt in der anim.mul mit DEINEN Sachen überschreiben (und dann die entsprechenden Zeilen in der bodyconv.def deaktivieren oder löschen), oder Du läßt die bodyconv.def in Ruhe und patcht direkt in der anim4.mul (Vorsicht, zumindest meine Version des MulPatcher erlaubt das _nicht_ - man kann ihn aber austricksen: Einfach die anim4.* anstelle der anim.* als "anim.mul" resp. "anim.idx" laden. Auf diese Weise kann man auch dir Typ-Restriktionen der anim.mul (H, L und P nur in bestimmten Bereichen) umgehen, da bodyconv.def hemmungslos HighResolution Anims auf L oder sogar P Slots mappt).

Natürlich musst Du anschließend die Tiledata.mul entsprechend anpassen, so dass die Einträge für Deine Items dort auf den richtigen Anim-Index verweisen.

Naz (der aus Platzmangel sogar Anim Indizes >1000 benutzt; naja, Schilde muss man bei sitzenden Chars nicht unbedingt sehen ...)

Slay
Mitglied
Beiträge: 98
Registriert: 19 Aug 2006 05:24

#3 Beitrag von Slay » 15 Nov 2008 11:53

Ok also meine Vorgehensweise:

-Ich nehme den Slot 0xc610 mit der angezeigten Anim 0x2c0 wo normal ig ein Monster angezeigt wird wenn ich es anziehen will.
-da füge ich nun eine Hose ein
-die Anim 2c0 gibt es in der body.def nicht deswegen rechne ich 2c0 in Dezimal um ergibt 704. Diese Zahl wird nun aber weder in der body.def gefunden, noch in der bodyconv.def

Was mach ich falsch?

nazghul

#4 Beitrag von nazghul » 15 Nov 2008 12:59

wenn der Wert 704 weder in body.def noch in bodyconv.def steht, ist das Monster bereits in der anim.mul direkt drin -> du hast eine Hose, aber das Monster überschrieben. Was ich mir in diesem Fall kaum vorstellen kann, weil die anim.mul in diesem Index nur "P" Animationen aufnimmt. Und ich finde auch kein Monster mit der ID 02c0

BTW, equipconv.def wird benutzt, um das Paperdoll-Gump von equipped items zu ändern, abhängig davon, welcher body sie anzieht

Für die Nomenklatur: Was Du als "Slot" bezeichnest ist die Nummer des (männlichen) Gumps, die ergibt sich zwangsweise aus dem AnimIndex (+0xC350), ist also für Referenzen eher ungeeignet

Ach ja, wenn Du Monster gegen Hosen austauschst vergiss nicht, mobtypes.txt und ggf. corpse.def entsprechend zu änden (nicht, dass jemand ein Monster erschlägt, und als Leiche liegt plötzlich eine Hose da)

Slay
Mitglied
Beiträge: 98
Registriert: 19 Aug 2006 05:24

#5 Beitrag von Slay » 15 Nov 2008 13:19

Es ist aber leider so das ich dann, sobald ich die hose anziehe ein ml oder se monster anhabe.

Equipconv.def ist bei mir gänzlich leer, da steht nichts drin...

Ich wollte mit dem Slot einfach meine vorgehensweise darstellen damit man eventuell einen Fehler entdecken kann.

Und woher weiss ich welche ID in der mobtypes.txt und corpse.def für welches Monster steht?

nazghul

#6 Beitrag von nazghul » 15 Nov 2008 13:46

Sorry, wenn Du "theoretische Beispiele" anführst drehen wir uns im Kreis.

WENN eine ID weder in body.def noch in bodyconv.def steht, werden die Daten aus anim.mul dargestellt. Period. Der von Dir geschilderte Fall kann also nicht eintreten - WENN Du alles richtig gemacht hast (z.B. die geänderten Dateien auch tatsächlich für den Client verwenest)

corpse.def und mobtypes.txt sind genauso organisiert wie die body.def: Links Animations-Index, rechts davon die Einstellungen.

Details: http://sphere.uozone.net/index.php?titl ... n_Into_MUL

Slay
Mitglied
Beiträge: 98
Registriert: 19 Aug 2006 05:24

#7 Beitrag von Slay » 15 Nov 2008 14:15

ok, ich glaub ich bin n schritt weiter, danke dir

Slay
Mitglied
Beiträge: 98
Registriert: 19 Aug 2006 05:24

#8 Beitrag von Slay » 30 Dez 2008 03:57

Ich hab nun ein neues Problem
bestimmte Kleidungsstücke die unter 55i ohne Probleme laufen, sind nun unter 56 entweder nicht mehr anziehbar, oder haben eine falsche Kleideranimationen die ich einfach nicht geändert kriege.
Ich habs versucht unter Bodyconv.def indem ich dazu Zeilen wie diese eingefügt hab um solche Darstellungsfehler zu umgehen:
436 1 -1 -1 -1
funktionierte nicht. In der Body.def hab ichs mit dem hier probiert:
436 {434} 0
Ging auch nicht.
Das Beispiel bezieht sich auf einen Rock der auf Nummer 0xC648 liegt und nun eine Handschuhanimation hat.
Wo liegt mein Fehler?

nazghul

#9 Beitrag von nazghul » 30 Dez 2008 05:42

welcher Index in art.mul? Was steht unter "AnimID" zu diesem Index in tiledata.mul? Welche Animation liegt unter dieser AnimID? is (AnimID + 50000) = 0xC648??

Sofern Deine Zahlen oben Stimmen: Unter AnimID in der tiledata.mul müsste dann 01B4 stehen. Diese Anim ist aber _nicht_ direkt verbunden mit dem Gump 0xC648, sondern mit 0xC504 - das Gump-Bild "Rock" hat also erstmal nichts mit dem Item/der Anim zu tun.

"umgeleitet" werden Gump-Pointer teilweise durch equipconv.def und/oder gump.def - schau mal, ob Du da was findest

Slay
Mitglied
Beiträge: 98
Registriert: 19 Aug 2006 05:24

#10 Beitrag von Slay » 30 Dez 2008 13:51

In der art.mul liegt der Rock auf: 0366
In der Tiledata steht unter AnimID: 0x2F8
Es ist auf weapon und wearable gestellt und liegt auf Layer 23.
Und es ist der männliche Gumpplatz: 0xC648 mit der AnimID 0x2F8


argh ja ich hab mich vertan, statt 436 müsste in dem Beispiel 760 stehen.
die 436 lässt sich garnicht erst anziehen..wiso auch immer.

Meine equipconf.ev ist völlig leer. In der gump.def stehen nur Zahlen im 6stelligen Bereich.

nazghul

#11 Beitrag von nazghul » 30 Dez 2008 14:03

SECHSstellige? Dann machst Du etwas falsch, oder hast eine sehr seltsame UO-Version installiert.

In meiner (Original, aktuellen) gump.def steht u.a.

Code: Alles auswählen

#Arcane
50759	{50468}	0
50760	{50524}	0
Ja, schau mal einer an. 50760 == 0xC648 - schaut aus, als werde da das Gump 0xC648 auf 0xC55C umgebogen

Slay
Mitglied
Beiträge: 98
Registriert: 19 Aug 2006 05:24

#12 Beitrag von Slay » 30 Dez 2008 14:34

Ok also wenn ich die Zeile lösche, wenn ich in die Klammern eine 0 setze oder die 50760 die die Klammern schreibe, habe ich immer die Handschuhe an..
dafür kann ich jetzt aus irgendwelchen Gründen die Sachen anziehen die vorher nicht tragbar waren .........

Antworten