Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
GetName und SetName sind Funktionen von SKSE. Die Fehlermeldung kann darauf hindeuten, dass du es nicht installiert hast. Du benötigst die Archiv Version, der Installer funktioniert nicht zum scripten, da die .psc Dateien nicht enthalten sind.
Weiterhin werden die Namensänderungen durch SetName nicht im Save gespeichert, der Befehl müsste also u.U. bei jedem Spielstart erneut ausgeführt werden.
Vielen Dank an euch beide, das hat super funktioniert! Ich hatte SKSE tatsächlich über den Installer installiert (ich hatte gedacht SKSE liefert in jedem Fall die Modders Recource mit, ist aber wohl nicht so).
Mit ein paar kleinen Änderungen hat das Script dann auch genau die Funktion erfüllt, die ich gebraucht habe.
mfg, TripleBlade
Ich habe ein sonderbares Problem: Während eines Dialoges wird per Script ein Item in eine Kiste eingefügt. Das Item hat folgendes Script:
Code:
Scriptname myScript Extends ObjectReference
Quest Property myQuest Auto
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
If akNewContainer == Game.GetPlayer()
If myQuest.GetStage() == 40
myQuest.SetStage(45)
EndIf
EndIf
EndEvent
Der Sinn des Scriptes ist es, die Quest-Stage zu aktualisieren (abhängig von der aktuellen Quest-Stage). Nehme ich aber jetzt ingame das Item aus der Truhe, passiert nichts, erst wenn ich es fallen lassen und wieder aufnehme, wird die Quest-Stage aktualisiert. Was mache ich falsch und wie bekomme ich es hin, dass die Quest-Stage sofort beim ersten Aufnehmen aktualisiert wird?
Da ich im Papyrus-Skripten eine Niete bin wollte ich mal fragen, ob mir jemand hier ein Skrikpt schreiben kann, dass beim Aufnehmen eines Items eine Queststage auslöst?
Meine letzten Scripts waren im CS von Morrowind. Nach zig Stunden einlesen für Papyrus krieg ich garnichts gebacken :/
Ich brauche einen Script für meine Mod:
Ein NPC verkauft Zauberbücher, die verstärkte Versionen der im Spiel enthaltenen lehren. Insgesamt kann jeder Zauber um 4 Level erhöht werden. Um ein neues Buch kaufen zu können, muss man die Vorstufe erlernt haben UND einen Mindestskill im entsprechenden Zauberbaum haben.
Sieht dann vom Sinn her so aus für z.B. den Flammenzauber
if(destruction >= 25)
if(player->getspellid flammenlv1 == 1)
Zauberbuch lv2 in Truhe des Händlers packen
endif
endif
Hab nur absolut keine Ahnung wie das in Papyrus funktioniert, die Nerven liegen blank:cry:
Tachchen,
ich benötige ein Script für eine Zauberrolle, welches bewirkt, daß bei Benutzung der Rolle ein geladener gewöhnlicher Seelenstein verwendet (aus dem Inventar entfernt) wird.
Gibt es Unterschiede zwischen vorgeladenen und selber mit Seelenfalle aufgeladenen Seelensteinen?
Nach weiteren Stunden des frustriert seins, habe ich jetzt meinen ersten Script einfügen können
Zur Hälfte funktioniert er auch, folgendes Problem:
Der Script liegt auf einem Buch, das von sich aus nichts bewirkt.
1) Wenn der Spieler unter Skill 25 in Zerstörung ist wenn er es liest soll nichts passieren -> klappt
2) Ist der Spieler mindestens auf Skill 25 und besitzt den Flammenzauber, so soll folgendes passieren:
a) Der Zauber "Flammen - Lv. 2" soll erlernt werden -> klappt
b) Der Zauber "Flammen" soll entfernt werden -> klappt NICHT
c) Das Buch soll aus dem Inventar verschwinden -> klappt NICHT
Wo ist der Fehler?
Code:
Scriptname zzscriptflammen2 extends ObjectReference
ObjectReference Property zzzzSpellTomeFlameslv2 auto
Spell Property Flames auto
Spell Property zzzzFlameslv2 auto
Event OnRead()
if(Game.GetPlayer().HasSpell(Flames))
Debug.Notification("Spieler besitzt den Flammenzauber")
if(Game.GetPlayer().getAV("Destruction") >= 25)
Debug.Notification("Spieler hat Skill von mindestens 25")
Game.GetPlayer().AddSpell(zzzzFlameslv2)
Game.GetPlayer().RemoveSpell(Flames)
Game.GetPlayer().RemoveItem(zzzzSpellTomeFlameslv2, 1)
endif
if(Game.GetPlayer().getAV("Destruction") < 25)
Debug.Notification("Spieler hat Skill von weniger als 25")
endif
endif
EndEvent
Tachchen,
ich benötige ein Script für eine Zauberrolle, welches bewirkt, daß bei Benutzung der Rolle ein geladener gewöhnlicher Seelenstein verwendet (aus dem Inventar entfernt) wird.
Gibt es Unterschiede zwischen vorgeladenen und selber mit Seelenfalle aufgeladenen Seelensteinen?
Ich hoffe, ich habe deine Frage jetzt nicht total missverstanden, aber ein Skript auf ein Scroll Objekt legen, das geht leider nicht. In diesem Fall wäre es vielleicht besser, das Skipt auf den zugehörigen magischen Effekt zu legen. Dann könntest du auch gleich eine Bedingung hinzufügen, damit der Effekt nur dann gestartet wird, wenn der Spieler einen gewöhn. Seelenstein im Inventar hat.
Das Skript würde dann in ungefähr so aussehen:
Code:
Scriptname _test extends activemagiceffect
Soulgem Property SoulGemCommonFilled auto
Event OnEffectStart(Actor akTarget, Actor akCaster)
akCaster.RemoveItem(SoulGemCommonFilled, 1)
EndEvent
Und die Bedingung in etwa so:
Ob es im Spiel Unterschiede zwischen vorgeladenen und selbst geladenen Seelensteinen gibt, weiss ich jetzt auch nicht genau, musst du ausprobieren.
1) Wenn der Spieler unter Skill 25 in Zerstörung ist wenn er es liest soll nichts passieren -> klappt
2) Ist der Spieler mindestens auf Skill 25 und besitzt den Flammenzauber, so soll folgendes passieren:
a) Der Zauber "Flammen - Lv. 2" soll erlernt werden -> klappt
b) Der Zauber "Flammen" soll entfernt werden -> klappt NICHT
c) Das Buch soll aus dem Inventar verschwinden -> klappt NICHT
RemoveItem erwartet eine Base Form im ersten Parameter, dein Property ist aber eine Objekt-Referenz. Eine Möglichkeit, ändere das ObjectReference Property in ein Book Property ,oder du versuchst folgendes:
Warum das mit dem Zauber entfernen nicht funktioniert, da stehe ich momentan auch auf dem Schlauch, sieht eigentlich gut aus. Schau doch mal in den Properties nach, ob du nicht versehentlich FlamesLeftHand oder FlamesRightHand ausgewählt hast.
Noch ein kleiner Hinweis: Anstatt mehrmals Game.GetPlayer() aufzurufen, ist es effizienter ein Property für den Player anzulegen.
Code:
Actor Property PlayerRef auto
...und auch auf die Gefahr hin, dass ich mich anhöre wie eine kaputte Schallplatte... SKRIPTE IMMER MIT EINEM CLEAN SAVE TESTEN!
Ich habe nun ein bissel rumprobiert und die Book-Property brachte dann die Erlösung.
Der Script ist jetzt für Flammen, Frostbiss, Funken und Blitzzauber bis max Lv. 5 integriert. Das entfernen der Vorstufe des Zaubers klappt auch bei allem einwandfrei, ausser bei "Flammen". Den bekomme ich einfach nicht weg. Ist das vielleicht ein gesicherter Startzauber oder sowas?
Script sieht jetzt folgendermaßen aus (Beispiel für Frostbiss Lv. 3)
Code:
Scriptname zzscriptfrostbite3 extends ObjectReference
ObjectReference Property zzzzZaubermeisterbox auto
Spell Property zzzzFrostbisslv2 auto
Spell Property zzzzFrostbisslv3 auto
Book Property zzzzSpellTomeFrostbitelv3 auto
Event OnRead()
if(Game.GetPlayer().HasSpell(zzzzFrostbisslv2))
if(Game.GetPlayer().getAV("Destruction") >= 50)
Game.GetPlayer().AddSpell(zzzzFrostbisslv3)
Game.GetPlayer().RemoveSpell(zzzzFrostbisslv2)
Game.GetPlayer().RemoveItem(zzzzSpellTomeFrostbitelv3, 1, abSilent = true, akOtherContainer = None)
else
Debug.Notification("Voraussetzungen nicht erfüllt")
endif
endif
EndEvent
Aus Sicht eines Profis vielleicht umständlich, erfüllt für mich aber seinen Zweck
Ich denke mal, das ich die fehlenden 21 Zauber im laufe der Woche fertig bekomme, dann gibts für die Zerstörungsmagier schonmal was neues.
( Wenn vielleicht auch 2-3 Jahre zu spät :lol: )
Danach versuche ich mich an den anderen Magieschulen.
dies ist mein erster Versuch irgendetwas zu Scripten seit Fo3.
Was soll(en) das(die) Script(e) machen?
Das erste Script soll wenn ein Item dem Spielerinventar hinzugefügt wird eine Referenz aktivieren (enablen).
Das zweite Script soll an eine Queststage gebunden werden und soll wiederum eine Referenz aktivieren (enablen).
Dass haben meine grauen Zellen bis jetzt ausgespuckt
Script selten01 extends Objectreference; ????
ObjectReference Property raresTeil01 auto
;ObjectReference Property raresTeil02 auto weiss nicht ob ich beide brauche
hier haperts schon ist es ein Event oder was?
if raresTeil01.enable() != true
set raresTeil01.enable;????
endif
dazu schon die erste Frage kann ich es so einrichten das das Script genau nur 1. mal durchläuft?
Mein Gedanke hierbei ist: Der Player nimmt ein Gegenstand auf (zb. die Golden Klaue ) in dem Moment wo Sie dem Inventar hinzugefügt wird wird automatisch die Referenz aktiviert.
Beim zweiten weiss ich ehrlich noch nicht genau wie.
Es soll zum Bsp. der Quest von Hircine (Haut des Erretters) hinzugefügt werden.
es soll dann entweder die Referenz für den Ring oder die Referenz für die Rüssi aktivieren.
Beschreibst du mir mal bitte kurz und prägnant deine Aufgabenstellung?
Im Moment weiß ich noch nicht so genau, was du definitiv erreichen möchtest :bye:
also was ich erreichen möchte ist ein Modul zu erstellen das es mir erlaubt gewisse Items leichter auszustellen ohne diese extra an einem Bestimmten Platz einzulagern. Dazu habe ich eine neue Zelle erstellt in der Referenzen liegen für zb. "Die Zackenkrone".
Nun soll folgendes geschehen der Player nimmt die "Krone" auf beim aufnehmen wir die Referenz aktiviert.
Mher soll das Modul nicht machen. Jetzt kann jeder Modder der dieses Modul nutzt seine Ausstellungstücke einfach mit "aktivate Parrent"? einschalten ohne sich darum kümmern zu müssen wsie er dies aus dem Spielerinventar bekommt bzw. bei Item's die der Spieler eigentlich nicht bekommen/behalten kann.
Ich hoffe es ist etwas deutlicher. Ziel ist es auch wenn ich zb. mehrere Mods habe die ein und dasselbe Ausstellen wollen dies dann auch können.
ich habe jetzt schon ewig im Internet gesucht, aber habe leider nicht gefunden was ich brauche, vielleicht kann mir ja hier jemand helfen.
Folgendes Problem:
Ich möchte mit einem Schalter ein static einschalten "enable" anschließend soll es sich nach z.B. 1 sekunde automatisch wieder ausschalten "disable". Mit dem Gleichen Schalter möchte ich einen Gegenstand einschalten ohne dass er sich automatisch selber abschaltet, sondern ganz normal mit dem Schalter, welcher dann das Script für den 1. Gegenstand wiederholen soll.
Für Ideen bzw. ein fertiges script wäre ich sehr dankbar und werde entsprechende Credits in die Beschreibung geben, wenn es zu einer fertigen Mod kommen sollte und sie so funktioniert, wie ich mir das wünsche. Wird entweder eine Ressource, oder ein Transportmittel für Skyrim oder beides.
vielleicht etwas spät, aber falls du immer noch ein Skript benötigst, kannst du es mal mit diesem hier versuchen:
Code:
Scriptname _test extends ObjectReference
ObjectReference Property Objekt01 auto
ObjectReference Property Objekt02 auto
AUTO STATE WaitingForActivation
Event OnActivate(ObjectReference akActionRef)
if akActionRef == Game.GetPlayer()
if Objekt02.IsDisabled()
BlockActivation()
Objekt01.Enable()
Objekt02.Enable()
RegisterForSingleUpdate(1.0)
GotoState("")
else
BlockActivation()
Objekt01.Enable()
Objekt02.Disable()
RegisterForSingleUpdate(1.0)
GotoState("")
endif
endif
EndEvent
ENDSTATE
Event OnUpdate()
Objekt01.Disable()
BlockActivation(false)
GotoState("WaitingForActivation")
EndEvent
Ich nehme an, du weißt wie du es einbauen musst. Für das Property Objekt01 wählst du den Gegenstand aus, der automatisch deaktiviert werden soll und für Objekt02 den anderen.
Hallo Ghaunadaur und Ysolda, danke für eure Hilfe, habe das erst jetzt gesehn, da ich mich zwischenzeitlich dann doch um was anderes gekümmert habe. Werde das aber ausprobieren, sobald ich an dieser Mod weiter machen kann.
Hallo!
Nach langer Abwesenheit bin ich nochmal auf Scharest unterwegs, da ich momentan wieder mehr Zeit habe mich mit den TES spielen zu befassen
Ich habe mich die letzten Tage in das neue CK von Skyrim eingearbeitet doch im Bereich Skripten hat sich im Vergleich zu Oblivion einiges getan! Deswegen würde ich um etwas Starthilfe für ein Skript bitten.
Was soll das Skript machen? Also sofern der Spieler level 30 ist, soll er beim nächsten Rasten in einem Bett geweckt werden durch einen NPC der eine Unterhaltung beginnt.
Hi, ich habe seit Ewigkeiten wieder angefangen zu modden und habe ein Problem mit einem Skript. Es ist eigentlich ganz einfach: Ein Schalter mit dem man das Licht an,- und ausschalten kann.
Mein Script sieht so aus:
_______________________________
Scriptname Lichtschalter01 extends ObjectReference
Int schalter
ObjectReference Property licht01 Auto
ObjectReference Property licht02 Auto
Event onactivate(ObjectReference akActionRef)
If (schalter == 0)
Licht01.enable()
Licht02.enable()
schalter += 1
endif
If (schalter == 1)
Licht01.disable()
Licht02.disable()
schalter -= 1
endif
endevent
_______________________________
schalter steht jeweils für die Betätigung des Schalter. Im Spiel passiert bei Aktivierung nichts... wenn mir jemand sagen könnte was ich falsch mache und eine Lösung hat wäre das top