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

Thema: Dungeon-Gänge richtig setzen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Danke, ich komm jetzt schon einigermaßen gut damit zurecht. Jetzt habe ich eine neue Frage:

    Ich würde gerne einen Skripteffekt machen. Wenn der Spieler sich in einer bestimmten Innenzelle aufhaltet soll er einen Zustand/Krankheit erhalten, der seine Magiepunkte langsam degenerieren lässt. Wie lässt sich dies am Besten bewerkstelligen=

  2. #2
    Du hast imho 2 Möglichkeiten:

    Du kannst im einerseits bei allen Eingängen/Ausgängen eine entsprechende Eigenschaft hinzufügen/entfernen. Dann musst du aber verhindern, dass der Spieler die Zelle auf anderem Weg betritt/verlässt (z.B. per Teleportspruch). GSI bietet sich da sehr stark an.

    Mein Ansatz sähe da so aus (Skript muss auf alle Ein- & Ausgänge):
    Code:
    scn EigenschaftScript
    
    short GSISetting
    
    Begin OnActivate
     if ( IsActionRef Player )
      if ( Player.GetInCell [ID deiner Zelle] )
       set GSITeleport to GSISetting
       Player.RemoveSpell [ID der Eigenschaft]
      else
       set GSISetting to GSITeleport
       set GSITeleport to 2
       Player.AddSpell [ID der Eigenschaft]
      endif
     endif
     Activate
    End

    Ansonsten kannst du noch per Questskript über Player.GetInCell, bzw. Player.GetInWorldSpace abfragen, ob er sich in der entsprechenden Zelle/Welt befindet und dann, falls er die Eigenschaft noch nicht/immer noch hat (überprüfen mit Player.IsSpellTarget ) per AddSpell/RemoveSpell hinzufügen/entfernen.

    Code:
    scn EigenschaftScript
    
    Begin Gamemode
     if ( Player.GetInCell [ID deiner Zelle] )
      if ( Player.IsSpellTarget [ID der Eigenschaft] == 0 )
       Player.AddSpell [ID der Eigenschaft]
      endif
     else
      if ( Player.IsSpellTarget [ID der Eigenschaft] )
       Player.RemoveSpell [ID der Eigenschaft]
      endif
     endif
    End

  3. #3
    Vielen Dank, das werde ich gleich mal ausprobieren.

Berechtigungen

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