Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12
  1. #1
    Not my Fallout Avatar von Boïndil
    Registriert seit
    20.07.2008
    Ort
    Vaullt 101
    Beiträge
    12.122
    Gamer IDs

    Gamertag: PixelMurder

    Standard Actor-Effekt wird nicht ausgeführt

    Hallo, ihr lieben Geckler,
    ich hoffe, es kann mir jemand weiter helfen.

    Ich bin dabei, einige Anpassungen vorzunehmen, die einige Features von Shootern beinhalten:
    -Sicht wird Rot bei geringer Gesundheit(erledigt)
    -Auto-Heilen mit Stimpack bei geringer Gesundheit(klappt nicht)

    Das erste hat sofort geklappt, das zweite bereitet mir Kopfzerbrechen.

    Wie man sieht, habe ich einen Actor-Effect, einen Base-Effekt und ein Script.

    Das vollständige Script sollte etwa so aussehen, habe es testweise abgespeckt(siehe Screenshot):

    Code:
    scn BerserkerRestoreHealthEffect
    begin ScriptEffectStart
    	If GetItemCount Stimpak == 0
    		ShowMessage BerserkerViewNoStimpacks
    	Else
    		CastImmediateOnSelf Stimpak
    		RemoveItem Stimpak 1 1
    	EndIf
    end
    Bedingungen:
    -wenn Gesundheit geringer als 40%(ein sehr kritischer Zustand)
    -wenn InCombat (muss ich austesten, wie genau das ist)

    Ich wollte das mit der Stimpacks-Einnahme, statt RestoreHealth verbinden, damit die Werte von den Skills abhängig sind.
    Es werden aber weder Stimpaks entfernt, noch eingenommen.
    Verstehe ich das richtig, dass in solche Scripten kein "Player.GetItemCount" notwendig ist, da die Scripte automatisch auf Self wirken? Oder liegt da der Hund begraben?
    Oder werden innerhalb solcher Actor-Effekte bestimmte Funktionen nicht ausgeführt?
    Die GECK-Seite hilft mir auf jeden Fall nicht weiter.

    Die Berserkersicht funktioniert einwandfrei: bei 40%, 30% und 20% wird der selbe ImageSpaceModifier mehrmals überlagert.

    Hat jemand eine Idee?

    Grüsse
    Boïndil
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht 

Name:	berserker.gif 
Hits:	113 
Größe:	179,6 KB 
ID:	10768  
    No mods for Failout 76.

  2. #2
    Taschenbillard-Spieler Avatar von Misantrooper
    Registriert seit
    04.08.2008
    Beiträge
    462

    Standard

    Versuschs mal mit:
    Code:
    CastImmediateOnSelf RestoreHealthEffect
    denn du kannst keinen gegenstand casten, sondern nur einen effect/spell

  3. #3
    Not my Fallout Avatar von Boïndil
    Registriert seit
    20.07.2008
    Ort
    Vaullt 101
    Beiträge
    12.122
    Gamer IDs

    Gamertag: PixelMurder

    Standard

    Werde das so versuchen, auf der GECK-Seite hatte ich folgendes gelesen:
    "This can also be used with ingestible items, by substituting the item's Form ID for the spell ID"

    Kann den grundsätzlich ein Item entfernt werden, denn das funktioniert ja ebenfalls nicht? Oder wird der nachfolgende Befehl nicht ausgeführt, wenn der erst falsch war?
    Ich habe nämlich den Verdacht, dass der ganze Block nicht ausgeführt wird, hatte dafür ja die Debug-Meldung definiert und die wurde mir ebenfalls nicht ausgeführt.
    No mods for Failout 76.

  4. #4
    Taschenbillard-Spieler Avatar von Misantrooper
    Registriert seit
    04.08.2008
    Beiträge
    462

    Standard

    items können grundsätzlich entfernt werden. es ist gut möglich, das es wegen einem logigfehler (script syntaktisch richtig, aber die logik eben nicht) zu einem stop des scripts kam, und das item deswegen nicht entfernt wurde.
    denn was du geschrieben hast, entfernt 1 stimpak ohne rückmeldung. und die syntax ist auch richtig
    seit FNV gugge ich nur noch selten in das wiki, weil sich einiges geändert hat mit FNV. da komme ich mit T&E besser klar

  5. #5
    Not my Fallout Avatar von Boïndil
    Registriert seit
    20.07.2008
    Ort
    Vaullt 101
    Beiträge
    12.122
    Gamer IDs

    Gamertag: PixelMurder

    Standard

    Ich habe da im Moment die verschiedenen Flags und verschachtelten Effekte noch nicht im Griff, ich kopiere jeweils Items, die möglichst nahe liegen und baue Effekte nach, die ich sehe, aber Sicherheit habe ich noch keine.

    Weisst du übrigens, wie man am Besten einen Bild-Filter(Keinen ImageSpace) permanent über den Screen legt? Habe es mit Effect-Shader und einem Noise-Effekt-DDS versucht, aber der Filter wird auch noch nicht angezeigt. Wäre der Weg über Effect-Shader überhaupt der Richtige?
    Ich möchte eine Art Filter über das Bild legen, wie den, den es in ME1 gab. Ausserderm habe ich an einen Mission-Failed-Screen gedacht, der Buchstaben über die blutige Szene legt, so in der Art "Very important Mission failed".
    No mods for Failout 76.

  6. #6
    Taschenbillard-Spieler Avatar von Misantrooper
    Registriert seit
    04.08.2008
    Beiträge
    462

    Standard

    hmmm.... da kann ich dir nicht helfen, ich fange bei mir gerade erst an mit shadereffecten zu experimentieren, da ich ich einen zentralrechner in meiner mod habe, der als sprachinterface ein hologram einer frau darstellt. ich hab schon 100mal den disintegratios-effect studiert, da dieser in etwa das macht (vor dem aschehaufen ), was ich haben will. ich werde meine erkenntnisse mit dir teilen, wenn ich denn je welche gewinnen sollte.


    €:
    mir fällt grad ein, zu deinem spimpak-problem.

    gugg dir mal im FO3-geck die medical-powerarmor an. die verabreicht dir ja medX, mit den spimpaks sollte das genauso funzen
    Geändert von Misantrooper (28.01.2011 um 21:18 Uhr)

  7. #7
    Not my Fallout Avatar von Boïndil
    Registriert seit
    20.07.2008
    Ort
    Vaullt 101
    Beiträge
    12.122
    Gamer IDs

    Gamertag: PixelMurder

    Standard

    Gute Idee, ich danke dir! Werde da nachsehen.
    Falls ich Lösungen finde, werde ich die natürlich auch hier posten.

    Muss jetzt zuerst das mit dem Stimpack verabreichen in den Griff kriegen und dann kommt das mit dem Shader.
    Mir schwebt da was vor wie bei FEAR2, wo eine an sich billige Grafik mit einem perfekten Shader aus Blur- und Korn-Effekten überlagert wird, der eine einzigartige und gruselige Atmosphäre erzeugt, dann ein sehr schwaches PipBoy-Licht und fertig ist der Grusel-Shooter
    No mods for Failout 76.

  8. #8
    Not my Fallout Avatar von Boïndil
    Registriert seit
    20.07.2008
    Ort
    Vaullt 101
    Beiträge
    12.122
    Gamer IDs

    Gamertag: PixelMurder

    Standard

    So, das hier läuft:

    Code:
    scn HardcoreShooterGameplayScript
    
    short IMOverlayCounter
    
    Begin GameMode
    
    	; Auto-Heilung mit Stimpacks
    	If Player.GetHealthPercentage <= 0.35  && Player.IsInCombat == 1
    		If Player.GetItemCount Stimpak > 0
    			Player.CastImmediateOnSelf Stimpak
    			Player.RemoveItem Stimpak 1 1
    		EndIf
    	EndIf
    	
    	; Meldung Stimpaks ausgegangen
    	If Player.GetItemCount Stimpak == 0 
    		ShowMessage BerserkerViewNoStimpacks
    	EndIf
    	
    	;Visuelle Blut-Effekte
    	If Player.GetHealthPercentage <= 0.45
    		If IMOverlayCounter < 4
    			IMod BerserkerViewISFX
    			set IMOverlayCounter to IMOverlayCounter + 1
    		EndIf
    	ElseIf Player.GetHealthPercentage <= 0.25
    		If IMOverlayCounter < 4
    			IMod BerserkerViewISFX
    			set IMOverlayCounter to IMOverlayCounter + 1
    		EndIf
    	ElseIf Player.GetHealthPercentage <= 0.05
    		If IMOverlayCounter < 4
    			IMod BerserkerViewISFX
    			set IMOverlayCounter to IMOverlayCounter + 1
    		EndIf
    	Else
    		RIMod BerserkerViewISFX
    		set IMOverlayCounter to 0
    	EndIf
    End
    Alles in einem Script vereint, statt verteilt über verschiedene Ebenen.
    Ist noch abzuklären, ob es einen DoOnce für die Message benötigt, wenn die Stimpack-Anzahl auf unter 1 fällt.

    Und wie ich aus dem Script der Powerrüstung entnehmen konnte, darf man sehr wohl Ingestibles mit CastImmediateOnSelf aufrufen. Diese sind ja schlussendlich auch nur eine Liste von Effekten.

    Dies hier hat jetzt den Vorteil, dass die Wirkung der Auto-Heilung vollständig von deinen Medizin-Kenntnissen und dem Hardcore-Modus abhängig ist. Man hat ausserhalb des Kampfes weiterhin die Möglichkeit, sich mit anderen Medikamenten zu heilen und auch Arzttaschen und Doktorbesuche behalten ihren Sinn.
    Ich finde, das ist ein guter Kompromiss zwischen Shooter und Rollenspiel.
    Man stirbt durch das nicht weniger, wie ich in Feldtests mit Banditen erfahren konnte.
    No mods for Failout 76.

  9. #9
    Taschenbillard-Spieler Avatar von Misantrooper
    Registriert seit
    04.08.2008
    Beiträge
    462

    Standard

    ich würd um die message aufjeden fall ein doOnce setzen, da "begin gamemode" mehrfach in der sekunde prüft ob die bedingung erfüllt ist. wenn du es so stehen lässt, wird die meldung solange aufploppen bis du wieder stimpaks am mann hast.
    wenn es nur ne displaymeldung ist, könnte man damit leben, aber wenn es als popup gedacht ist, naja, dann wird spielen unmöglich

  10. #10
    Not my Fallout Avatar von Boïndil
    Registriert seit
    20.07.2008
    Ort
    Vaullt 101
    Beiträge
    12.122
    Gamer IDs

    Gamertag: PixelMurder

    Standard

    Genau deswegen meine verbessertes Script, funktioniert jetzt aus meiner Sicht genau so, wie es sollte:

    Code:
    scn HardcoreShooterGameplayScript
    
    short IMOverlayCounter
    short  MSGCounter
    
    Begin GameMode
    	; MSG Reset
    	If Player.GetItemCount Stimpak > 0
    		Set MSGCounter to 0
    	EndIf
    	
    	; Auto-Heilung mit Stimpacks
    	If Player.HasMagicEffect RestoreHealthStimpak == 0	
    		If Player.GetHealthPercentage <= 0.40  && Player.IsInCombat == 1
    			; Stimpaks verabreichen
    			If Player.GetItemCount Stimpak > 0
    				Player.CastImmediateOnSelf HardcoreShooterStimpak
    				Player.RemoveItem Stimpak 1 1
    			EndIf
    			; Meldung Stimpaks ausgegangen
    			If Player.GetItemCount Stimpak == 0 && MSGCounter == 0
    				ShowMessage BerserkerViewNoStimpacks
    				Set MSGCounter to 1
    			EndIf
    		EndIf
    	EndIf
    	
    	;  Visuelle Blut-Effekte
    	If Player.GetHealthPercentage <= 0.50
    		If IMOverlayCounter == 0
    			If Player.IsInInterior == 1 || (GetCurrentTime  > 5.5 && GetCurrentTime  < 18.5)
    				IMod BerserkerViewLightISFX1
    			Else 
    				IMod BerserkerViewDarkISFX1
    			EndIf
    			Set IMOverlayCounter to IMOverlayCounter + 1
    		EndIf
    	ElseIf Player.GetHealthPercentage <= 0.30
    		If IMOverlayCounter == 1
    			If Player.IsInInterior == 1 || (GetCurrentTime  > 5.5 && GetCurrentTime  < 18.5)
    				IMod BerserkerViewLightISFX2
    			Else 
    				IMod BerserkerViewDarkISFX2
    			EndIf
    			Set IMOverlayCounter to IMOverlayCounter + 1
    		EndIf
    	ElseIf Player.GetHealthPercentage <= 0.10
    		If IMOverlayCounter == 2
    			If Player.IsInInterior == 1 || (GetCurrentTime  > 5.5 && GetCurrentTime  < 18.5)
    				IMod BerserkerViewLightISFX3
    			Else 
    				IMod BerserkerViewDarkISFX3
    			EndIf
    			Set IMOverlayCounter to IMOverlayCounter + 1
    		EndIf
    	Else
    		RIMod BerserkerViewDarkISFX1
    		RIMod BerserkerViewDarkISFX2
    		RIMod BerserkerViewDarkISFX3
    		RIMod BerserkerViewLightISFX1
    		RIMod BerserkerViewLightISFX2
    		RIMod BerserkerViewLightISFX3
    		Set IMOverlayCounter to 0
    	EndIf
    End
    Das hier verhindert jetzt auch, dass Stimpaks verbraucht werden, wenn der Stimpak-Effekt am Wirken ist.
    Ausserdem kommt jetzt die Message ausschliesslich im Gefecht, nicht, wenn man Stimpaks wegschmeisst oder verkauft.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht 

Name:	belastungstest.jpg 
Hits:	87 
Größe:	67,5 KB 
ID:	10770  
    No mods for Failout 76.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •