Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 10 von 10
  1. Beiträge anzeigen #1 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline

    Unsichtbare Wand(bewegbar) soll Pfeile und Zauber aufhalten

    Hallo!
    Ich möchte einen Weltabschnitt mit einer unsichtbaren Wand blockieren welche später weggemoved werden soll.
    Wand ist zurzeit eine Mesh mit transparenter Textur als child eines movers.
    Mit cDyn = true werden zwar NPCs aufgehalten aber Pfeile und Zauber fliegen einfach durch.

  2. Beiträge anzeigen #2 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Das könnte entweder daran liegen, dass das Vob Kind eines Movers ist oder, dass das Vob unsichtbar ist.

    Du könntest probieren, ob es klappt, die beiden Eigenschaften vom Mover respondToObject und reactToOnTouch auf true zu setzten, vielleicht gibt er sie weiter an seine Kinder. EDIT: Haben zCMover überhaupt diese Eigenschaften?
    Hat das Vob eine durchsichtige Textur oder ist showVisual auf false? Ich kann mir vorstellen, dass es an showVisual=FALSE liegen könnte.

    Was du auch testen kannst, ist, ob das Vob in der IgnoreVobList des oCAIArrow ist. Wenn ja könntest du dort die Kollision einschalten, siehe Code (/*condition*/)

    Code:
    func void ignoredThisVob() {
        var int vobPtr; vobPtr = MEM_ReadInt(MEMINT_SwitchG1G2(/*esp+4h+4h*/ ESP+8, /*esp+8h+4h*/ ESP+12));
        var zCVob vob; vob = _^(vobPtr);
    
        // Check if the vob in question is ignored
        MEM_Info(ConcatStrings("Projectile ignored vob: ", vob._zCObject_objectName));
    
        // Overwrite to force collision
        if (/*condition*/) {
            ECX = 1;
        };
    };


    Damit initialisieren, z.B. in der Init_Global (wichtig ist das + in der dritten Zeile):
    Code:
    const int oCAIArrow__CanThisCollideWith_negative_G1 = 6395353; //0x6195D9
    const int oCAIArrow__CanThisCollideWith_negative_G2 = 6952231; //0x6A1527
    HookEngineF(+MEMINT_SwitchG1G2(oCAIArrow__CanThisCollideWith_negative_G1,
                                   oCAIArrow__CanThisCollideWith_negative_G2), MEMINT_SwitchG1G2(6, 7), ignoredThisVob);

  3. Beiträge anzeigen #3 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    In der IgnoreVobList des oCAIArrow konnte ich das Teil nicht finden.

    showVisual ist auf true, wenn false gibt es auch keine Kollision mit NPCs.
    [Bild: attachment.php?s=202ffc3e0600b6253913e61a0d3216e5&attachmentid=46477&d=1516463990&thumb=1]

    Unsichtbarkeit kommt durch transparente Textur (MODIALPHA01.TGA).
    mesh:
    UNSICHTBAREWAND.zip

    Ich denke das es an der Textur liegt. Wenn man Projektile auf einen Baum schießt kollidieren sie zwar mit dem Stamm aber die Blätter ignorieren den Pfeil/den Zauber.

    edit: Ich habe gerade mal eines der Gatter aus g2 getestet, da kann man auch beliebig Zeugs durch schießen.
    [Bild: attachment.php?s=202ffc3e0600b6253913e61a0d3216e5&attachmentid=46479&d=1516465843&thumb=1]

    Für mich sieht das so aus als würden Polygone mit (teil)transparenter Textur komplett ignoriert.
    Geändert von Cryp18Struct (20.01.2018 um 16:31 Uhr)

  4. Beiträge anzeigen #4 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.246
     
    Milky-Way ist offline
    Texturen haben in Gothic Materialeigenschaften, die in den _work\tools\data\*.pml Dateien gespeichert sind. Hier kommt es nun drauf an, welche Eigenschaften gesetzt waren, als das Vob vom Spacer / Spiel aus dem .3ds Format konvertiert wurde. Eine dieser Eigenschaften ist die Kollision, die für Blatt-Texturen / -Materialien ausgeschaltet ist.

  5. Beiträge anzeigen #5 Zitieren
    Schwertmeister Avatar von TheBigLeBRUCEky
    Registriert seit
    Apr 2014
    Beiträge
    997
     
    TheBigLeBRUCEky ist offline
    Zitat Zitat von Milky-Way Beitrag anzeigen
    Texturen haben in Gothic Materialeigenschaften, die in den _work\tools\data\*.pml Dateien gespeichert sind. Hier kommt es nun drauf an, welche Eigenschaften gesetzt waren, als das Vob vom Spacer / Spiel aus dem .3ds Format konvertiert wurde. Eine dieser Eigenschaften ist die Kollision, die für Blatt-Texturen / -Materialien ausgeschaltet ist.
    Was du schreibst, ist zwar alles richtig, doch ich kann das Problem bestätigen.
    Transparente Texturen(auch teils transparente) lassen Geschosse i.d.R. durch.
    Zudem hat die Textur "Modialpha" normalerweise Kollision, wenn sie nicht verändert wurde.
    Man nutzt sie schließlich um Wege zu begradigen oder Stufen zu überwinden, damit Npc's nicht stolpern.

    Ein weiteres Problem an diesen Texturen ist, dass man Items durch sie aufsammeln kann, falls sie in Reichweite sind.
    Hatte ein ähnliches Problem, als ich einen Raum verschließen wollte.
    Habe eine Wand mit der Textur der Magischen Barriere gemacht, mit DamageZone.
    Den Gegenstand dahinter, konnte man einfach durch die Wand nehmen, da er in Reichweite war.
    Ein weiteres Beistpiel sind die Texturen der Spinnenweben, welche sich sehr merkwürdig verhalten.
    Magie geht da oft nicht durch, Geschosse schon, egal, ob Kollision an oder aus ist.

    Ich vermute mal, das dieser spezielle Fall einfach nicht bedacht wurde.
    Falls jemand doch weiß, wie man transparente Wände machen kann, die nichts durchlassen, würde mich das allerdings auch interressieren.
    Leider benötige ich eine Lösung, die nicht auf LeGo/Ikarus basiert.

    Edit: @ Cryp18Struct
    Mir fällt gerade ein, wie man dein Problem einfach lösen könnte.
    Mach doch einfach einen Trigger dorthin, mit cdDyn = true.
    Die ganzen ReactOn stellst du auf False(keine Ahnung, ob React on Damage auf True stehen muss, vermute aber nein, da der Trigger ja nichts auslösen soll).
    Lass den Trigger also einfach nichts auslösen.
    Die Box machst du groß genug, damit sie die Wand erfasst.
    Trigger lassen Npc's durch, Geschosse aber nicht.
    Kann allerdings sein, dass Magie trotzdem durchgeht...weiß ich gerade nicht.
    Zumindest wäre damit aber ein Teil des Problems gelöst.

    MfG
    Geändert von TheBigLeBRUCEky (20.01.2018 um 18:29 Uhr)

  6. Beiträge anzeigen #6 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Code:
    [% zCMaterial 39939 0]
    	name=string:MODIALPHA01
    	matGroup=enum:0
    	color=color:249 250 250 255
    	smoothAngle=float:60
    	texture=string:MODIALPHA01.TGA
    	texScale=string:16 16
    	texAniFPS=float:0
    	texAniMapMode=enum:0
    	texAniMapDir=string:0 0
    	noCollDet=bool:0
    	noLightmap=bool:0
    	lodDontCollapse=bool:0
    	detailObject=string:
    	detailObjectScale=float:1
    	forceOccluder=bool:0
    	environmentalMapping=bool:0
    	environmentalMappingStrength=float:1
    	waveMode=enum:0
    	waveSpeed=enum:2
    	waveMaxAmplitude=float:30
    	waveGridSize=float:100
    	ignoreSunLight=bool:0
    	alphaFunc=enum:1
    	defaultMapping=rawFloat:2.34375 2.34375 
    []
    Der Punkt
    Code:
    	noCollDet=bool:0
    sieht ja aus als wäre Kollision aktiviert.

  7. Beiträge anzeigen #7 Zitieren
    Schwertmeister Avatar von TheBigLeBRUCEky
    Registriert seit
    Apr 2014
    Beiträge
    997
     
    TheBigLeBRUCEky ist offline
    Ich sehe gerade, dass ich in meinem letzen Post einen Ansatz für das Problem mit der Magie habe.
    Du könntest die Wand zusätzlich mit einem Spinnenweben-Decal verschließen.
    Mit etwas Glück geht die Magie dann auch nicht durch.
    In einigen Höhlen ist das bei mir so, wenn das Vob den gesamten Durchgang verdeckt.

    Edit:
    Du könntest dir natürlich auch testweise ein neues Decal mit komplett durchsichtiger Textur erstellen, falls Spinnenweben dort unpassend sind.
    So wüsste man gleich, ob das Verhalten von den Decals oder der Textur her rührt.

    MfG
    Geändert von TheBigLeBRUCEky (20.01.2018 um 18:41 Uhr)

  8. Beiträge anzeigen #8 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Kollision Feuerpfeil mit Spinnweben decal konnte ich bisher nicht produzieren.
    [Bild: attachment.php?s=202ffc3e0600b6253913e61a0d3216e5&attachmentid=46489&d=1516533396&thumb=1]
    Kannst du da genauer ausführen unter welchen Umständen du da Kollision bekommst?

    Peile mit Trigger kollidieren lassen funktioniert, Kollision wird erkannt. Allerdings fliegt der Pfeil dann weiter. Dies sollte sich aber ändern lassen indem man den Pfeil dann verändert.
    Da ich mud-freaks GFA benutze müsste ich da recht bequem an den Pfeil ran kommen und ihn abprallen/verschwinden lassen.

    Zitat Zitat von TheBigLeBRUCEky Beitrag anzeigen
    Leider benötige ich eine Lösung, die nicht auf LeGo/Ikarus basiert.
    Warum?

  9. Beiträge anzeigen #9 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Zitat Zitat von Cryp18Struct Beitrag anzeigen
    Warum?
    Der Multiplayer verwendet glaube ich eine andere .exe mit anderen Adressen (da sie neu kompiliert wurde oder so?), Ikarus/LeGo funktioniert da entweder gar nicht oder nicht zuverlässig. Vielleicht kann man auch einfach keine Skripte ausführen außer Instanzen? Nicht ganz sicher.

  10. Beiträge anzeigen #10 Zitieren
    Schwertmeister Avatar von TheBigLeBRUCEky
    Registriert seit
    Apr 2014
    Beiträge
    997
     
    TheBigLeBRUCEky ist offline
    Zitat Zitat von Cryp18Struct Beitrag anzeigen
    Kollision Feuerpfeil mit Spinnweben decal konnte ich bisher nicht produzieren.
    Kannst du da genauer ausführen unter welchen Umständen du da Kollision bekommst?

    Peile mit Trigger kollidieren lassen funktioniert, Kollision wird erkannt. Allerdings fliegt der Pfeil dann weiter. Dies sollte sich aber ändern lassen indem man den Pfeil dann verändert.
    Da ich mud-freaks GFA benutze müsste ich da recht bequem an den Pfeil ran kommen und ihn abprallen/verschwinden lassen.

    Warum?
    Decals:
    Das ist leider der Nachteil, wenn man nur noch am Modden ist und kaum noch dazu kommt, sich die Sachen ingame anzusehen.
    So genau weiß ich das nicht mehr, wie das mit den Decals war.
    Kann mich aber erinnern, dass sich bei einigen Zaubern die Partikel einfach auflösen(nicht weiter fliegen).
    Da es bei mir in neuen Bereichen, mit Untoten, war, tippe ich mal, das es den Zauber "Untote vernichten" betraf.
    Möglich, dass es nur einige Zauber betrifft.
    Schade, dachte, das wäre eine Möglichkeit.

    Lego/Ikarus:
    Benutze ich nicht, deshalb nützt mir eine Lösung darüber nichts.
    Um mich damit auseinanderzusetzten, fehlt mir die Sehkraft...wäre viel zu anstrengend.
    Da ich keine Programmierkenntnisse habe, wäre ich auf Codeschnipsel von anderen angewiesen.
    Das ist so gar nicht mein Ding.
    Alle meine Features entwickle ich selbst, meist durch ausprobieren, bis es klappt.
    Dauert zwar oft etwas, aber der Lerneffekt ist für mich größer.

    Wüsste auch gar nicht, wie man das nachträglich in ein Mod einbaut.
    Glaube, Marcello hat das mal in der Rebalance gemacht und es gab viele Probleme.
    Ich arbeite mit dem Gothic-Sourcer, zum kompilieren.
    Spacer starte ich, mit ausgewählter Mod-Datei.
    Hab mal versucht, die Daten in eine Installation zu kopieren, sodass ich mittels Gothic-Starter kompilieren kann.
    Das wollte einfach nicht funzen...hab es also irgendwann aufgegeben.
    Ich hoffe, es war verständlich, was ich meine.

    MfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide