Allgemein
News
News-Archiv
Partner
Netzwerk
Banner
Header
Media
Downloads
Impressum

The Elder Scrolls
Arena
Daggerfall
Spin-offs
Romane
Jubiläum
Reviews
Welt von TES
Lore-Bibliothek
Namens-
generator

FRPGs

Elder Scrolls Online
Allgemein
Fraktionen
Charakter
Kargstein
Technik
Tamriel-
Manuskript

Media

Skyrim
Allgemein
Lösungen
Tipps & Tricks
Steam-Kniffe
Review
Media
Plugins & Mods

Oblivion
Allgemein
Lösungen
Tipps & Tricks
Technik
Charakter
Media
Plugins & Mods
Kompendium

Morrowind
Allgemein
Lösungen
Tipps & Tricks
Media
Plugins & Mods

Foren
The Elder Scrolls Online
Hilfe & Diskussion

Skyrim
Hilfe & Diskussion
Plugins & Mods

Ältere TES-Spiele
TES-Diskussion
Oblivion-Plugins
Morrowind-Plugins

Community
Taverne zum Shalk
Adventures of Vvardenfell
Tales of Tamriel
Ergebnis 1 bis 20 von 38

Thema: Unsichtbarer PC, Gegner ignorieren Beschwörungen

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #24
    Ich konnte den Bug leider nicht reproduzieren, daher ist das auch ein bisschen ein Schuss in's blaue: <klickst du hier>

    Script sieht jetzt so aus (ich hab noch ein bisschen an der Formel zum überprüfen der Feindlichkeit geschraubt):
    Code:
    scn LPNISQuestScript
    
    int ShutDown
    short OBSEVersion
    long Index
    long Index2
    float fQuestDelayTime
    ref CombatTarget
    ref Follower
    ref OldReference
    ref Reference
    
    Begin Gamemode
    	SetStage LPNISQuest 0
    	if ( OBSEVersion >= 15 )
    		if ( LPNISPluggyDebug )
    			if ( IsPluginInstalled "OBSE_Elys_Pluggy" == 0 ) || ( GetPluginVersion "OBSE_Elys_Pluggy" < 112 )
    				set LPNISPluggyDebug to 0
    				MessageBox "Die DebugMessages dieses PIs benötigen Pluggy v112 (oder höher)."
    				Return
    			endif
    			DestroyAllStrings
    			set Index to GetEsp
    			EspToString -2000 Index 1 1
    			set Index to ( ( StringLen -2000 ) - 4 )
    			StringLen -2000 Index 1
    			SetString -2001 " - DebugFile.txt" 1
    			StringCat -2000 -2001
    			if ( GetGameRestarted )
    				DelFile -2000
    			endif
    		endif
    		set Index to 0
    		SaveIP 1
    		if ( Index < GetNumRefs 69 1 0 )
    			set Reference to Apple
    			if ( Index )
    				set Reference to GetNextRef
    			else
    				set Reference to GetFirstRef 69 1 0
    			endif
    			if ( IsFormValid OldReference )
    				set Index to ( Index + 1 )
    				if ( Reference == OldReference )
    					set OldReference to 0
    					set Index to 0
    				endif
    				RestoreIP 1
    			elseif ( Index == 0 ) && ( LPNISPluggyDebug )
    				SetString -2001 "------------------------------------------------" 1
    				StringToTxtFile -2000 -2001 1
    			endif
    			if ( LPNISPluggyDebug )
    				FmtString -2001 1 "Reference: %n (%i), Index: %.0f", Reference, Reference, Index
    				StringToTxtFile -2000 -2001 1
    			endif
    			if ( Reference.GetCombatTarget )
    				set CombatTarget to Apple
    				set CombatTarget to Reference.GetCombatTarget
    				if ( LPNISPluggyDebug )
    					FmtString -2001 1 "	CombatTarget: %n (%i)", CombatTarget, CombatTarget
    					StringToTxtFile -2000 -2001 1
    				endif
    				if ( CombatTarget.HasMagicEffect INVI ) && ( Reference.GetActorValue Aggression >= 5 )
    					if ( LPNISPluggyDebug )
    						FmtString -2001 1 "		HasMagicEffect INVI"
    						StringToTxtFile -2000 -2001 1
    					endif
    					set OldReference to Apple
    					set OldReference to Reference
    					if ( LPNISPluggyDebug )
    						FmtString -2001 1 "		OldReference: %n (%i)", OldReference, OldReference
    						StringToTxtFile -2000 -2001 1
    					endif
    					set Index2 to 0
    					SaveIP 2
    					if ( Index2 < GetNumRefs 69 1 0 )
    						set CombatTarget to Apple
    						if ( Index2 )
    							set CombatTarget to GetNextRef
    						else
    							set CombatTarget to GetFirstRef 69 1 0
    						endif
    						if ( CombatTarget.HasMagicEffect INVI == 0 ) && ( Reference.GetIsReference CombatTarget == 0 )
    							if ( ( ( Reference.GetDisposition CombatTarget < Reference.GetActorValue Aggression ) || ( Reference.IsActorEvil != CombatTarget.IsActorEvil ) ) && ( Reference.GetActorValue Aggression > 5 ) ) || ( CombatTarget.GetCombatTarget == Reference )
    								if ( LPNISPluggyDebug )
    									FmtString -2001 1 "			NewCombatTarget: %n (%i)", CombatTarget, CombatTarget
    									StringToTxtFile -2000 -2001 1
    								endif
    								set Index to 0
    								SaveIP 3
    								if ( Index < Reference.GetNumFollowers )
    									set Follower to Apple
    									set Follower to Reference.GetNthFollower Index
    									if ( CombatTarget.GetIsReference Follower )
    										if ( LPNISPluggyDebug )
    											FmtString -2001 1 "			%n (%i) is a Follower of %n (%i)", CombatTarget, CombatTarget, Reference, Reference
    											StringToTxtFile -2000 -2001 1
    										endif
    										set Index2 to ( Index2 + 1 )
    										RestoreIP 2
    									else
    										set Index to ( Index + 1 )
    										RestoreIP 3
    									endif
    								endif
    								set Index to 0
    								SaveIP 4
    								if ( Index < CombatTarget.GetNumFollowers )
    									set Follower to Apple
    									set Follower to CombatTarget.GetNthFollower Index
    									if ( Reference.GetIsReference Follower )
    										if ( LPNISPluggyDebug )
    											FmtString -2001 1 "			%n (%i) is a Follower of %n (%i)", Reference, Reference, CombatTarget, CombatTarget
    											StringToTxtFile -2000 -2001 1
    										endif
    										set Index2 to ( Index2 + 1 )
    										RestoreIP 2
    									else
    										set Index to ( Index + 1 )
    										RestoreIP 3
    									endif
    								else
    									Reference.StartCombat CombatTarget
    									if ( LPNISPluggyDebug )
    										FmtString -2001 1 "			%n (%i).StartCombat %n (%i)", Reference, Reference, CombatTarget, CombatTarget
    										StringToTxtFile -2000 -2001 1
    									endif
    								endif
    							else
    								set Index2 to ( Index2 + 1 )
    								RestoreIP 2
    							endif
    						else
    							set Index2 to ( Index2 + 1 )
    							RestoreIP 2
    						endif
    					elseif ( Player.HasMagicEffect INVI == 0 )
    						if ( ( Reference.GetDisposition Player < Reference.GetActorValue Aggression ) && ( Reference.GetActorValue Aggression > 5 ) ) || ( CombatTarget.GetCombatTarget == Reference )
    							if ( LPNISPluggyDebug )
    								FmtString -2001 1 "			%n (%i).StartCombat Player", Reference, Reference
    								StringToTxtFile -2000 -2001 1
    							endif
    							Reference.StartCombat Player
    						endif
    					endif
    					Return
    				endif
    			endif
    			set Index to ( Index + 1 )
    			RestoreIP 1
    		endif
    	elseif ( Shutdown == 2 )
    		if ( OBSEVersion >= 11 )
    			con_Quitgame
    		else
    			Player.Disable
    		endif
    	elseif ( Shutdown == 1 )
    		set Shutdown to ( GetButtonPressed + 2 )
    	elseif ( OBSEVersion )
    		set Shutdown to ( GetButtonPressed + 2 )
    		MessageBox "Dieses PI benötigt OBSE v0015 oder höher. Du verwendest momentan OBSE v%04.0f", OBSEVersion
    	else
    		set Shutdown to ( GetButtonPressed + 2 )
    		MessageBox "Dieses PI benötigt OBSE v0015 oder höher. Stelle sicher, dass du Oblivion über die 'obse_loader.exe' startest."
    	endif
    End


    PS:
    Ab jetzt wird Pluggy v112 oder höher für die Debugnachrichten benötigt.
    Geändert von Low Post (14.09.2008 um 23:29 Uhr)

Berechtigungen

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