Armed-Assault.de Twitter


Mods & Addons Behind the Scenes

Antwort
 
Themen-Optionen Ansicht
Alt 15.10.2008, 02:32   #1 (permalink)
500 Beiträge
 
Benutzerbild von Mr.g-c
 
Registriert seit: 18.12.2006
Ort: Frankfurt->Darmstadt->Dieburg
Beiträge: 687
Mr.g-c eine Nachricht über ICQ schicken Mr.g-c eine Nachricht über MSN schicken
Standard Extended Eventhandlers XEH -Wie geht das?

Hi, ich mache momentan für ne Mission ein paar Addons welche Init-scripts in deren config haben (so um zB. Setaperture zu setzen).Ausserdem haben noch weitere Addons Init-Scripts in deren Config.

Gehe ich recht in der Annahme das wenn dieses der Fall ist, es zu Problemen kommen kann und man dann dieses XEH braucht?

Kann mir einer das mal an hand von ein paar kleinen Sätzen erklären, warum/wieso und:
Kann mir einer helfen wie ich addons XEH-ready machen kann? Sprch meine init-script aufrufe aus der config.cpp/bin...

Danke schonmal und gruss Christian
Mr.g-c ist offline   Mit Zitat antworten
Alt 15.10.2008, 18:22   #2 (permalink)
500 Beiträge
 
Benutzerbild von Mr.g-c
 
Registriert seit: 18.12.2006
Ort: Frankfurt->Darmstadt->Dieburg
Beiträge: 687
Mr.g-c eine Nachricht über ICQ schicken Mr.g-c eine Nachricht über MSN schicken
Standard

Push
Kommt schon,erklärts dem alten G-C .....
Mr.g-c ist offline   Mit Zitat antworten
Alt 15.10.2008, 19:39   #3 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 09.01.2008
Beiträge: 1.599
Standard

Hoi Christian,

mir ham'se leider in der Arbeit auf die Finger gehau'n wenn ich so weitersurfe

Also xed-Einbindung siehst Du eigentlich in fast allen Addon's von mir. Geht genauso wie die normalen eventhandlers, nur die Übergabeparameter sind noch eine Ebene verschlüsselter:
Config.cpp:
Code:
class CfgPatches
{
    class SmurfC_T72_NSV
    {
...

        requiredAddons[] = { "CATracked", "Extended_EventHandlers"};
    };
};
...
class Extended_Init_EventHandlers
{
    class smurfct72_nsv { smurfct72_nsv_init = "[_this] execVM ""\smurfct72_nsv_repl\init.sqf"";"; };
};
Am besten ersetzt Du alles was smurfct72_nsv heisst mit dem wie dein Addon heisst. Somit solltest Du mit anderen Addon's nicht über kreuz kommen. Da wird einfach verankert, dass beim Init jedes Objekts des Typs smurfct72_nsv das Skipt gerufen wird und alle Parameter an das Skript übergeben werden (_this).

Im Skript:
Code:
private ["_xehPars", "_unit", "_turret"];
//Definitions passed to script
_xehPars = _this select 0;
_unit = _xehPars select 0;

_unit setObjectTexture [0,"\smurfct72_nsv\t72_nsv_co"];

_turret = "smurfct72_nsv_Barrel1" createVehicleLocal [0, 0 ,0];

sleep 0.05;
_turret setDammage 1;

sleep 5;
deletevehicle _turret;
Hier sieht Du, wie Du aufschlüsseln must, um wieder auf das Objekt selber zu kommen (Ich klatsch da z.B. die normale Textur drauf, weil der Tank sonst durchsichtig währe).
Beim Init wird nur die Unit übergeben, bei den anderen Eventhandlers könnten das mehr sein. z.B: bei "IncommingMissile"
Code:
//Definitions passed to script
_xehPars = _this select 0;
_unit = _xehPars select 0;
_ammo = _xehPars select 1;
_attacker = _xehPars select 2;
...
modEmMaik ist offline   Mit Zitat antworten
Alt 15.10.2008, 19:43   #4 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 41
Beiträge: 32.969
Standard

Zitat von modEmMaik Beitrag anzeigen

mir ham'se leider in der Arbeit auf die Finger gehau'n wenn ich so weitersurfe

Sorry, das ist einfach zu lol
Aber mit dir im selben Büro zu arbeiten wäre bestimmt ganz angenehm
__________________

burns ist offline   Mit Zitat antworten
Alt 15.10.2008, 21:17   #5 (permalink)
500 Beiträge
 
Benutzerbild von Mr.g-c
 
Registriert seit: 18.12.2006
Ort: Frankfurt->Darmstadt->Dieburg
Beiträge: 687
Mr.g-c eine Nachricht über ICQ schicken Mr.g-c eine Nachricht über MSN schicken
Standard

Aha, das heisst also das aus dem part meiner Config:
Zitat:

class Eventhandlers
{
Init=" _this exec ""\mh6_police\data\scripts\ah64_flir_init.sqs" "; ";
getin=" _this exec ""\mh6_police\data\scripts\ah64_flir_init.sqs" "; ";
};

Das wird:
Zitat:

class Extended_Init_EventHandlers
{
class mh6_police
{
mh6_police_init = " _this exec ""\mh6_police\data\scripts\ah64_flir_init.sqs" "; ";
mh6_police_getin =" _this exec ""\mh6_police\data\scripts\ah64_flir_init.sqs" "; ";
};
};

Und ist das Egal ob es am Anfang oder Ende der Config steht?
Danke dir nochmal!
Mr.g-c ist offline   Mit Zitat antworten
Alt 15.10.2008, 21:31   #6 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 09.01.2008
Beiträge: 1.599
Standard

Ich habe die Handler zumeist recht weit oben reingesetzt, aber hauptsächlich, weil es das letzte war, was ich integriert habe.

Mit deiner Art sollte es auch mit der normalen Handler-Syntax gehen, weil Du kein Array übergibst.

Nur der getin ist ein eigener Eventhandler, also sollte es wohl so aussehen:

Code:
class Extended_Init_EventHandlers
{
    class mh6_police 
 { 
  mh6_police_init = " _this exec ""\mh6_police\data\scripts\ah64_flir_init.sqs""; "; 
  };
 };  
class Extended_GetIn_EventHandlers
 {
     class mh6_police 
  { 
  mh6_police_getin =" _this exec ""\mh6_police\data\scripts\ah64_flir_init.sqs"  "; ";
 };
};
Und der init breitet schon alles vor... ich weiss ich direkt, was Du beim getIn vor hast... aber ich hab' so was schon mal im Mapfact Ah64 gesehen. Evtl. solltest Du das mit dem noch mal vergleichen. Der hat auch das FLIR-Disable drin, wenn man aus dem Heli aussteigt.
modEmMaik ist offline   Mit Zitat antworten
Alt 15.10.2008, 21:41   #7 (permalink)
500 Beiträge
 
Benutzerbild von Mr.g-c
 
Registriert seit: 18.12.2006
Ort: Frankfurt->Darmstadt->Dieburg
Beiträge: 687
Mr.g-c eine Nachricht über ICQ schicken Mr.g-c eine Nachricht über MSN schicken
Standard

Ja danke!!!
Ja das ist vom Mapfact fake-fllir.
Ich habe mir das mal ausgebrogt und etwas überarbeitet.
Getout hatte ich da nicht gesehen.

Das heisst, wenn ich bei allen meinen Addons der Mission die "normalen" Eventhandler durch die extended ersetze, das XEH Addon dann mitladen lasse (auf dem server+client) dann sollte man keine Probleme bekommen?
Das XEH verwaltet ab da alles alleine?

Na dann werde ich mich mal an das den Editorupdate 1.02 machen, der ca. 100erdte von Init-scripts hat.
Hab da bereits diesen Schmodder entfernt, dass man alle Platzierten Objekte auf der Karte (Briefing/Ingame) sieht - war ja nicht mit an zu sehen.
War(en) einfach eine/mehrere "falsche" Class Inheritances.
Mr.g-c ist offline   Mit Zitat antworten
Alt 15.10.2008, 22:18   #8 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 09.01.2008
Beiträge: 1.599
Standard

Zitat von Mr.g-c Beitrag anzeigen

Das heisst, wenn ich bei allen meinen Addons der Mission die "normalen" Eventhandler durch die extended ersetze, das XEH Addon dann mitladen lasse (auf dem server+client) dann sollte man keine Probleme bekommen?
Das XEH verwaltet ab da alles alleine?


Sollte dann eingentlich alles klappen
Zu 100% kann Dir das aber wohl nur BI und die xeh-Jungs sagen

Ich mach's so wie Du es jetzt hast, und bis jetzt noch keine Beschwerden.

Und Mapfact macht das FLIR aus, wenn man den Heli verlässt oder es Hell wird. Ich glaube die Prüfen zyklisch, ob man noch im Heli sitzt. Ist aber schon länger her, als ich das gechecked hatte...
modEmMaik ist offline   Mit Zitat antworten
Alt 16.10.2008, 00:16   #9 (permalink)
500 Beiträge
 
Benutzerbild von Mr.g-c
 
Registriert seit: 18.12.2006
Ort: Frankfurt->Darmstadt->Dieburg
Beiträge: 687
Mr.g-c eine Nachricht über ICQ schicken Mr.g-c eine Nachricht über MSN schicken
Standard

Wow das ist ja Super danke nochmal!
Noch ne Frage:
Wie sieht das denn bei sowas aus (Auszug Editorupdate):
Code:
class AAMOW001 : M2StaticMG
    {
        displayName = $STR_AAMOW001;

        class EventHandlers {
        init = "_Path = ""EditorUpdate_v102\scripts\"";bplyTW=FALSE;Transporter = objnull;[(_this select 0),_Path,localize ""STR_AAMOW001"",""AAMOW001"",-1.01,60] exec format[""%1TransportWeapon\WeaponTransportPlayer.sqs"",_Path]";
        };
    };
Weil die Class bekommt ja jeweils von ner anderen vererbt...
sollte ich das dann ungefähr so machen (erst die normalen klassen mit vererbung und dann ganz unten die eventhandlers?):

Code:
class AAMOW001 : M2StaticMG
    {
        displayName = $STR_AAMOW001;
    };

class Extended_Init_EventHandlers
{
    class AAMOW001 
 { 
  AAMOW001_init = " "_Path = ""EditorUpdate_v102\scripts\"";bplyTW=FALSE;Transporter = objnull;[(_this select 0),_Path,localize ""STR_AAMOW001"",""AAMOW001"",-1.01,60] exec format[""%1TransportWeapon\WeaponTransportPlayer.sqs"",_Path]";
  };
 };
Oder?
Ausserdem weitere fragen dazu:
Die Config bei dem Update ist über mehrere .hpp Files verstreut und eine "Haupt" Datei die alle anderen included.
Es wäre natürlich jetzt fatal in jede der .hpp files eine "Class Extended_EventHandlers" zu machen, richtig?
Also mache ich einfach eine "Extended_EventHandlers.hpp" und lasse diese ebenfalls includen?
Warum splitted man den Configs auf mehrere Dateien auf? Kann man .hpp auch binarisieren?

Geändert von Mr.g-c (16.10.2008 um 00:21 Uhr).
Mr.g-c ist offline   Mit Zitat antworten
Alt 16.10.2008, 10:02   #10 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Lester
 
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 57
Beiträge: 3.013
Standard

Zitat von modEmMaik Beitrag anzeigen

Und Mapfact macht das FLIR aus, wenn man den Heli verlässt oder es Hell wird. Ich glaube die Prüfen zyklisch, ob man noch im Heli sitzt.

Jo, zudem wird auch geprüft ob man sich nicht in der 3rd Person Camera befindet und somit zu viel sehen kann.
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547
Lester ist offline   Mit Zitat antworten
Alt 16.10.2008, 17:31   #11 (permalink)
500 Beiträge
 
Benutzerbild von Mr.g-c
 
Registriert seit: 18.12.2006
Ort: Frankfurt->Darmstadt->Dieburg
Beiträge: 687
Mr.g-c eine Nachricht über ICQ schicken Mr.g-c eine Nachricht über MSN schicken
Standard

Zitat von Lester Beitrag anzeigen

Jo, zudem wird auch geprüft ob man sich nicht in der 3rd Person Camera befindet und somit zu viel sehen kann.

Jo das funzt ja auch, aber ohne Eventhandler eben.....
Das ist nämlich im code selbst!
Mr.g-c ist offline   Mit Zitat antworten
Antwort

Stichworte
eventhandler, extended, init, solus, xeh


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
es geht los !!! hammergut Community 1 11.12.2006 18:31


Kontakt - HX3.de - Archiv - Nach oben

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