HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   Animationen austauschen (https://hx3.de/editing-scripting-167/animationen-austauschen-21972/)

DocMoFo 24.10.2012 18:11

Animationen austauschen
 
Hallo Community! :)

Ich hab' folgendes Problem:
Ich habe versucht bei der SCAR L die Position\Animation der linken Hand zu verändern. Ich wollte die linke Hand am Magazin platzieren wie bei der XM8 GL z.B..

Ich habe also die PBO entpackt ("weapons_e.pbo") und versucht die "config.bin" im Ordner "SCAR" zu editieren.
Also hab ich die "Config.bin" mit diesem Tool von BI lesbar gemacht und in der "class SCAR_L_CQC: SCAR_L_Base" die "HandAnim[]" editiert zu
Zitat:

handAnim[]=
{
"OFP2_ManSkeleton",
"\Ca\Weapons_PMC\Data\Anim\XM8GL.rtm"
};
Das sollte soweit alles richtig sein, nur sobald ich den Ordner "weapons_e" wieder zur "weapons_e.pbo" packe, wird diese nicht mehr richtig gelesen/erkannt.
Beim starten kommt ein Fehler der irgendwas mit "...needs weapons_e.pbo" sagt.

Ich hab dann versucht die standart-"weapons_e.pbo" (original, unverändert) zu entpacken und ohne etwas zu editieren wieder zu packen und es funktioniert. Also kann das Problem nicht das PBO Pack tool selber sein...

Sind die Dateien geschützt, so dass man diese nicht editieren kann und die Engine motzt sobald etwas verändert wurde?

Zu dem muss ich sagen, ich bin relativ neu im Arma modding.

P.s.
Interessant fände ich auch einen Ansatz dazu, wie man sowas als eigenständiges PBO Addon machen könnte. Ähnlich wie ein replacement mod der ja auch irgendwo nur eine Config ist, weil dafür muss man ja auch nicht die ganze "characters.pbo" zerpflücken, um den Einheiten andere Waffen zu geben.

MfG DocMoFo

burns 24.10.2012 18:33

Zitat:

Zitat von DocMoFo (Beitrag 433008)
P.s.
Interessant fände ich auch einen Ansatz dazu, wie man sowas als eigenständiges PBO Addon machen könnte. Ähnlich wie ein replacement mod der ja auch irgendwo nur eine Config ist, weil dafür muss man ja auch nicht die ganze "characters.pbo" zerpflücken, um den Einheiten andere Waffen zu geben.

MfG DocMoFo

Das ist nicht nur interessant, sondern der einzige Weg es ordentlich über die Bühne zu bringen. Wenn man aus den original Dateien Frankenstein.pbo´s macht, dauerts meist nicht lang bis zur Neuinstallation.




Code:

class CfgPatches {
        class mein_erstes_addon {
                units[] = {};
                weapons[] = {};
                requiredVersion = 1.500000;
                requiredAddons[] = {"CAWeapons_E", "CAweapons"};
        };
};

class CfgWeapons {
        /*extern*/ class SCAR_L_Base;

        class SCAR_L_CQC: SCAR_L_Base {
                handAnim[] = {"OFP2_ManSkeleton","\Ca\Weapons_PMC\Data\Anim\XM8GL.rtm"};
        };
};

(ungetestet)


Das speichern wir in einer neuerstellten Textdatei und benennen sie in config.cpp um.
Die wiederum verschieben wir in einen neuerstellten Ordner der so heisst wie die erste Klasse unter cfgPatches, im Beispiel hiesse der Ordner also mein_erstes_addon.

Protip: Unter requiredAddons müssen immer die Basisklassen/cfgPatches aller Addons eingetragen werden, von denen deine Klassen inheriten. In diesem Fall ists "CAweapons" wegen der XM8 (habsch geraten) und "CAWeapons_E" wegen der SCAR.

Speichern, Config zu machen.
Den Ordner pbo´en (bei sowas kleinem ist es egal ob binarisiert oder nicht), und fertig.



edit: eine class class .. gibts nicht, Beispiel gefixed :ugly:

DocMoFo 24.10.2012 19:14

Alles klar danke dir burns!
Du hast mir nicht das erste mal geholfen ;)

Ja das mit der "doppelten Class" ist mir auch aufgefallen. Das class sollte wohl vor SCAR_L_Base;
Du hast mich ein gutes Stück weiter gebracht!

Ok, mein erstes Addon :zahn:

Was hat es mit dem "/*extern*/" comment auf sich?

burns 24.10.2012 19:18

Nicht zum ersten Mal? Mysteriös :confused:


Das extern als Kommentar steht nur so für mich da, damit man es besser sieht - kommt besonders in Notepad++ mit Codehighlighting besser zur Geltung. Die Klasse dahinter muss angegeben werden weil man später von ihr inherited, tut man das nicht, meckert ArmA rum.

DocMoFo 24.10.2012 19:42

Tja, ich kann dich sehen, jetzt gerade in diesem Moment :cool: Nein quatsch, du schreibst einfach viel hilfreiches hier, das muss man auch mal erwähnen ;) Aber bisher hat die Suche meist alle Fragen schon beantwortet... http://dl.dropbox.com/u/31392921/Unbenannt.png
Es klappt! :D

Ich glaub ich hab es geschnallt :) Hab das mal mit der M16 erweitert und es klappt auf Anhieb! ^^
Zitat:

class CfgPatches {
class mein_erstes_addon {
units[] = {};
weapons[] = {};
requiredVersion = 1.500000;
requiredAddons[] = {"CAWeapons_E", "CAweapons"};
};
};

class CfgWeapons {
/*extern*/ class SCAR_L_Base;

class SCAR_L_CQC: SCAR_L_Base {
handAnim[] = {"OFP2_ManSkeleton","\Ca\Weapons_PMC\Data\Anim\XM8 GL.rtm"};
};

/*extern*/ class M16A2;
class m16a4: M16A2 {
handAnim[] = {"OFP2_ManSkeleton","\Ca\Weapons_PMC\Data\Anim\XM8 GL.rtm"};
};

};

Danke dir :)
MfG der Doc

Edit:
Die Hand war mir zu niedrig ^^
http://dl.dropbox.com/u/31392921/Unbenanntfixed.png

burns 24.10.2012 19:46

Wunderboar! *prost*


PS: Die MP5 hat auch noch sone Animation parat, vllt. passt die ja manchmal besser.

Cultivator 24.10.2012 20:15

Regel Nummer 1: Lobe niemals einen burns! :chef:

Aber bleib dran Mister Doc!... wenn dann später in ArmA3 die Hände wieder durch den M203 "Reketen"-Werfer tatschen, kannste das ja fix ändern ;D

Gruss

DocMoFo 24.10.2012 20:51

Bis jetzt funktioniert alles, mit und ohne ACE, bis auf die MP5SD.

Bei der MP5A5 und A6 klappt auch alles. Bloß die MP5SD will nicht so recht...

Hier der codeblock der für die MP5A5/A6 zuständig ist
Zitat:

/*extern*/ class MP5SD;
class MP5A5: MP5SD {
handAnim[] = {"OFP2_ManSkeleton","\mofo_idle\Anims\hands.rtm "};
};
Und hier der, der für die MP5SD sein soll
Zitat:

/*extern*/ class Rifle;
class MP5SD: Rifle {
handAnim[] = {"OFP2_ManSkeleton","\mofo_idle\Anims\hands.rtm "};
};
Muss ich noch irgendeine pbo zu den requiredAddons[] = {} hinzufügen?
Ich hab das gefühl, das hat irgendwas mit der Rifle Class zutun.
ArmA sagt mir "/CfgWeapons.MP5SD: Member already defined."

@Cultivator:
ja..., diese ungeschriebenen Regeln :)
Bis dahin kann ich hoffentlich mehr als eine Hand verschieben :D

burns 24.10.2012 20:56

Zitat:

Zitat von DocMoFo (Beitrag 433028)
ArmA sagt mir "/CfgWeapons.MP5SD: Member already defined."

Muss es auch, denn du hasts im oberen Block ja bereits einmal aufgerufen, ob extern oder nicht juckt ArmA nit. Müsstest also das externe rausnehmen, und die MP5SD vor die im oberen Block setzen, damits schön ordentlich aussieht - ungefähr so:

Code:

    /*extern*/ class Rifle;
    class MP5SD: Rifle {
    handAnim[] = {"OFP2_ManSkeleton","\mofo_idle\Anims\hands.rtm "};
    };
    class MP5A5: MP5SD {
    handAnim[] = {"OFP2_ManSkeleton","\mofo_idle\Anims\hands.rtm "};
    };


PS: Ich kenne übrigens keine Anim mit Namen hands.rtm :komisch:

DocMoFo 24.10.2012 21:12

Ok das leuchtet ein, nochmals danke :)

Eigentlich heißt die datei auch "hk416_anim.rtm" und ist aus dem RH_hk416 pack von RobertHammer. Aber ich nutze die file ja nur zu übungszwecken


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119