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 7 von 7

Thema: Probleme mit einem seeeeehr einfachen Script

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Probleme mit einem seeeeehr einfachen Script

    Hallo Leute, es ist total peinlich, aber ich habe gerade riesige Probleme mit einem eigentlich total einfachen Script.
    Die Idee ist folgende: Der Spieler aktiviert einen Activator. Je nachdem, wie die Skills (GetAV, nicht GetBaseAV, das ist wichtig) des Spielercharakter sind, fügt das Spiel ihm eine neue Ability hinzu, welche selbst ebenfalls die Skills verändert.
    Wenn der Spieler jetzt ein zweites Mal den Activator aktiviert, würde das Script ja auf Basis der durch seine eigens hinzugefügte Ability veränderten Skills seine Rechnungen durchführen, was in reinem Chaos enden würde - das heißt, die Ability muss vor der Rechnung auf jeden Fall entfernt werden. (Sollte ja kein Problem sein, danach wird sie ja wieder hinzugefügt.)

    In der Theorie nicht schwer und sieht auch nicht schwer aus, nur gibt's ein Problem: Es funktioniert nicht. Wenn ich das Script das zweite Mal aktiviere, entfernt es die Ability vollständig, ohne sie am Ende wieder hinzuzufügen. Beim dritten Mal funktioniert es dann wieder. Immer abwechselnd.

    Hier das Skript:

    Code:
    scn HFCTEST
    
    short HFCStage
    
    Begin OnActivate
    
    If HFCStage == 0
    	If ( Player.HasSpell HFCAbility == 1 )
    		Player.RemoveSpell HFCAbility
    	EndIf
    	set HFCStage to 10
    endif
    
    if HFCStage == 10
    	PrintToConsole "We get to the second stage of the script."
    	; Here is a long calculation which needs to be based on the player's skill WITHOUT the Ability added by this script
    	set HFCStage to 20
    endif
    
    if HFCStage == 20
    	PrintToConsole "Adding the ability."
    	Player.AddSpell HFCAbility
    	set HFCStage to 0
    endif 
    
    End

    Die verschiedenen Stages sind *eigentlich* ja komplett unnötig, aber ich benutze sie momentan als eine Art Versicherung, dass die Zeilen wirklich nacheinander ablaufen. Was sie allem Anschein nach auch tun.
    Der Check in Stage 0, ob der Spieler die Ability hat oder nicht, sollte ebenfalls unwichtig sein - wenn er sie nicht hat, entfernt das Script eben eine Ability, die gar nicht da ist. Der steht da allerdings drin, weil ich die Vermutung habe, dass das Script so lange wartet, bis es eine Ability zum Entfernen hat.
    Die Vermutung sollte eigentlich durch diesen Check widerlegt sein, aber ich bin mir noch nicht ganz sicher... allerdings wüsste ich in dem Fall auch nicht, was ich tun kann.
    Geändert von Schattenläufer (11.04.2010 um 20:14 Uhr)

Berechtigungen

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