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 29

Thema: Frage nach Anwendung (vielleicht ein Script?)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Geht MoveTo direkt in einem OnEquip-Block?
    Falls nein musst du den Umweg über ein Variable gehen.

    Code:
    scn AmuletScript	;Am besten einen anderen Namen wählen, der hier ist doch recht allgemein gehalten
    
    Begin OnEquip Player
    	[NPCRef].MoveTo [TargetRef]
    	Player.MoveTo [TargetRef]
    End

  2. #2
    MoveTo in einem OnEquip-Block: Geht, macht aber wohl Probleme

    MoveTo ist in vielen Fällen sehr hakelig und macht seeehr komische Sachen... also immer erst im CS Wiki oder sonstwo nachsehen, ob der gewünschte Weg nicht einen total unvorhersehbaren Effekt haben könnte.

  3. #3


    Dann eben anders::
    Code:
    scn AmuletScript	;Am besten einen anderen Namen wählen, der hier ist doch recht allgemein gehalten
    
    Begin Gamemode
    	if ( Player.GetEquipped [Amulett] )
    		[NPCRef].MoveTo [TargetRef]
    		Player.MoveTo [TargetRef]
    	endif
    End
    
    Begin Menumode
    	if ( Player.GetEquipped [Amulett] )
    		[NPCRef].MoveTo [TargetRef]
    		Player.MoveTo [TargetRef]
    	endif
    End

  4. #4
    Ähmm, da müsste jetzt aber noch ein "UnequipItem"-Befehl drin vorkommen, oder? Sonst wird das doch zu einer Dauerschleife.

    Der Umweg über die Variable würde es ermöglichen, dass das Amulett weiterhin getragen werden kann - also ungefähr in diesem Stil:

    Code:
    Begin OnEquip Player
    	Set AmulettWirdAngelegt to 1
    End
    
    Begin Gamemode
    	if AmulettWirdAngelegt = 1
    		[NPCRef].MoveTo [TargetRef]
    		Player.MoveTo [TargetRef]
    		Set AmulettWirdAngelegt to 0
    	endif
    End
    Hängt eben davon ab, was man genau haben möchte.

  5. #5
    Stimmt eigentlich.
    Das kommt davon, wenn man sparsam mit Variablen sein will.

  6. #6
    @LowPost dein letzter Post war kein Spam, oder?
    Danke euch beiden werde es sofort einbauen

  7. #7
    Nö, wieso?
    War voll zum Thema passend, ich habe einen Fehler zugegeben und außerdem bin ich hier Moderator und spamme deshalb per Definition nicht.


    Edit:
    Natürlich.
    Jetzt aber mal Schluss hier, sonst artet das hier noch wirklich in Spam aus.
    Geändert von Low Post (02.08.2009 um 10:25 Uhr)

  8. #8
    klar

  9. #9
    Hm ich komm mit Scripts einfach net zurecht, weiß jemand nen Script mit dem ich, wenn ich auf ein Objekt (Activator) klicke ein Item bekomme? wenn ja bitte hier posten. Außerdem soll man dieses Item nur einmal am Tag bekommen und wenn man schon mal es aktiviert hat an diesem tag eine Nachricht kommt
    Geändert von Nimbus (09.08.2009 um 10:16 Uhr)

  10. #10
    Sieh dir mal das Script "AltaroftheNine" oder so ähnlich an... falls es irgendwie anders heißt und du es nicht findest: das ist das Script, das auf den Altaren in den Kirchen der Städte zu finden ist. Also einfach so eine Kirche laden und dann gucken, was für ein Script da drauf ist.

    Die Altare funktionieren nämlich exakt so, wie du es beschreibst - nur, dass du kein Item erhältst, sondern ein Zauber auf dich gecastet wird. Die entsprechende Zeile müsstest du dann ändern - also, vom Schema her: anstatt "Cast SpellID spellTarget" musst du etwas im Sinne von "AddItem ItemID ItemTarget" hinschreiben.

    Kopier das Script am besten einfach mal und ändere es dann so, wie du es nach dieser Beschreibung machen würdest. Dann schreib es hier rein und wir werden gucken, ob damit alles in Ordnung ist.

  11. #11
    Zitat Zitat von Schattenläufer Beitrag anzeigen
    "AddItem ItemID ItemTarget"
    ItemTarget.AddItem ItemID ItemCount

  12. #12
    Code:
    ScriptName Suppentopf ;(den kann ich doch ersetzen, ursprünglich stand dran AltarofTheNine)
    
    short doonce
    short DayofLastUse
    reftarget
    
    Begin OnActivate
    if IsActionRef player == 1
    
    If GetDayOfWeek == DayOfLastUse
    MessageBox "Du hast heute schon Suppe entnommen"
    else
    MessageBox "Ihr habt Suppe entnommen"
    Player.AddItem 00Suppe 1
    Set DayofLastUse to GetDayofWeek
    endif
    endif
    
    else
    
    Set target to GetActionRef
    Player.AddItem 00Suppe 1
    
    endif
    end
    
    begin gamemode
    if doonce == 0              ;days ar numbered 0-6 - prevents first visit on 0 day and being told you´ve used it today
    set DayofLastUse to 10
    set doonce to 1
    
    endif
    end

    So das war der Skript hab schon die überflüssige MessageBox gestrichen nämlich die wo erst abgefragt wird ob man ein Verbrecher ist.
    Geändert von Low Post (09.08.2009 um 13:52 Uhr) Grund: Code-Box eingefügt

Berechtigungen

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