Skriptthread zum Creation Kit

Ich möchte ja auch mit einem Array arbeiten. Nämlich mit dem oben definierten Gems, in dem die Edelsteine alle gespeichert sind. Das b habe ich so von einem anderen Script übernommen und anscheinend vergessen, und die ganze Zeit übersehn :oops:.

Edit: Selbst ohne das b gibts denselben Fehler.
 
Zuletzt bearbeitet:
Hallo Leute!

Wie kann ich am besten ein Skript beginnen, das auf einem beschworenen Monster liegt, und sich aktivieren soll sobald es beschworen wurde?


Gruß
LindayWolf
 
Schade aber danke :)

Wie könnte ich das skript sich nicht auf ein beschworenes Monster bezieht sondern auf ein normales?
Hätte dazu zwei fragen
1.Kann ich das irgendwie spawnen lassen per skript?
2. Wenn ja wie müsste ich das skript beginnen wenn es beginnen soll sobald der actor spwaned?
 
Hi Leute,

ich möchte eine Notifikation ausgeben welchen Zauber der Player gerade equipped hat.

Das ist der Teil in dem der Spruch in der Linken Hand abgefragt wird.

Code:
SPELL Property EqSpell Auto
Actor Property PlayerRef

EqSpell = Player.Ref.GetEquippedSpell(0)
Debug.Notification("Spruch" + EqSpell)

Leider zeigt es mir den Spruch nicht an. Muss ich EqSpell noch in einen String umwandeln oder wie bekomm ich das richtig angezeigt.

*Edit* Habs selber raus gefunden ;-)
Hab noch einen String erzeugt und dann String.GetName() verwendet dann gehts.

Sieht jetzt so aus:

Code:
SPELL Property EqSpell Auto
Actor Property PlayerRef
String Property Ausgabe

EqSpell = Player.Ref.GetEquippedSpell(0)
Ausgabe = EqSpell.GetName()
Debug.Notification("Spruch " + Ausgabe)


Bis denn Thalon
 
Zuletzt bearbeitet:
Hab da mal ne frage.
Ich will das der Spieler wenn er vor den Brunnen steht daraus Trinkt. Die animation bzw. MagicEffect dazu habe ich schon "WereFxFeedBoldHolder"
Aber wie packe ich das jetzt in ein Script das mein spieler aus dem Brunnen Trinkt???
 
Hi Leute,

ich suche einen Befehl per Script mit dem ich beim Spieler oder einem NPC die Zauber die er kennt abrufen kann.
Weis jemand ob das geht und wenn ja wie ?

Bis denn Thalon
 
Das erreichst Du mit SKSEs GetSpellCount und GetNthSpell.

Code:
Actor Property NPC auto

int spellCount = NPC.getspellcount()
int index = 0
while(index < spellCount)
    spell curSpell = NPC.getnthspell(index)
    ; mache irgendetwas
    index += 1
endwhile

Wenn Du alle speichern möchtest, arbeite einfach mit einer Array.
 
Code:
Scriptname <InsertScriptnameHere> extends ObjectReference

Event OnTrigger(ObjectReference actionRef)

if(actionref == game.getplayer())
   game.getplayer().kill()
endif

EndEvent
 
  • Like
Reaktionen: bigszalay
Hallo zusammen :)

Ich arbeite zur Zeit an einem Player Home und benötige ein kleines Script, habe aber von scripten im Moment keine Ahnung (werd mich noch damit beschäftigen^^).

Daher wollte ich mal fragen, ob jemand so nett wäre und eins schreiben könnte.

Betreten können soll man das ganze über eine Tür, für die man einen Schlüssel braucht. Dem Player Home sind diverse Factions zugeordnet (diverse Händler und andere NPC Guppen, meist potentielle Begleiter/Follower), die alle auch einer übergeorneten Faction angehören. Das Script soll den Player bei Aufnahme des Schlüssels, also wenn er erstmalig ins Inventar kommt, einer dieser Factions zuordnen, also vermutlich irgendwas mit OnItemAdded und AddToFaction. Falls jemand da eine Idee hat, schon mal vielen Dank im Voraus.
 
Dass sollte funktionieren, habe es allerdings nicht getestet. Leg es auf den Schlüssel und stell die Property auf die entsprechende Faction.

Code:
ScriptName [Name] extends ObjectReference

Faction Property fct Auto

Event OnActivate(ObjectReference akActionRef)
	If (akActionRef == Game.GetPlayer())
		Game.GetPlayer().AddToFaction(fct)
	EndIf
EndEvent
 
Ich bin da wie gesagt noch nicht so fit. ScriptName [Name] - Name muss der vom Schlüssel sein oder irgendeiner?

..und danke für die schnelle Reaktion und Hilfe.


Edit:

Script sieht jetzt so aus:

Scriptname AzurasSecretKey extends ObjectReference

Faction Property 01AzurasSecretFaction Auto

Event OnActivate(ObjectReference akActionRef)
If (akActionRef == Game.GetPlayer())
Game.GetPlayer().AddToFaction(01AzurasSecretFaction)
EndIf
EndEvent

Der Compiler mags nicht - compile failed?
 
Zuletzt bearbeitet:
@DragonsEye
Eine Fehlermeldung wäre hilfreich, sofern eine ausgegeben wird. Darin wird meist auch eine Zeile angegeben. ;)

In der Zeile mit "AddToFaction", du hast scheinbar ein Leerzeichen eingebaut, dieses ist dort natürlich deplatziert.
Außerdem würde ich auf die Präfxie wie 00,01 oder andere Zahlen verzichten und lieber Buchstaben nehmen, denn zumindest bei Oblivion kam es dabei stellenweise zu Fehler in Skripten.

Als [Name] kannst du übrigens eintragen was dir passt, vorzugweise etwas sinnv

MfG Master of Worlds
 
@Master of Worlds

Einzige Meldung ist "compile failed"

Das mit dem Leerzeichen habe ich auch gesehen, ist aber ein Anzeigefehler, denn wenn ich meinen Post bearbeiten will, stehts korrekt ohne Leerzeichen da. ;)
Das mit den Buchstaben statt Zahlen probier ich mal aus. Ich hoffe, wenn ich den Namen ändere, alle Links (in den NPCs) automatisch geändert werden, sonst hab ich einiges zu tun. ^^

Danke für den Tipp :)
 
@Master of Worlds

Einzige Meldung ist "compile failed"

Das mit dem Leerzeichen habe ich auch gesehen, ist aber ein Anzeigefehler, denn wenn ich meinen Post bearbeiten will, stehts korrekt ohne Leerzeichen da. ;)
Das mit den Buchstaben statt Zahlen probier ich mal aus. Ich hoffe, wenn ich den Namen ändere, alle Links (in den NPCs) automatisch geändert werden, sonst hab ich einiges zu tun. ^^

Danke für den Tipp :)

Habe gerade nachgeguckt und die 01 verursacht Probleme, also solltest du diese am Anfang wirklich vermeiden. Nachdem ich die 01 entfernt habe, konnte ich das Skript ohne Probleme übersetzen.
Versuchst du dein Glück im CK selbst oder mit Notepad++?

Code:
Scriptname zzzAzurasSecretKey extends ObjectReference

Faction Property AzurasSecretFaction Auto

Event OnActivate(ObjectReference akActionRef)
	If (akActionRef == Game.GetPlayer())
		Game.GetPlayer().AddToFaction(AzurasSecretFaction)
	EndIf
EndEvent

MfG Master of Worlds
 
Genau das wars, hat geklappt. Vielen Dank nochmal Euch beiden, Master of Worlds und Royal_Flush. :)

Weder noch, ich benutze Sublime Text 2.
 
Ich hab zweierlei Fragen:

a) Wird das folgende Skript so funktionieren?

Code:
Scriptname HRBorderTrigg00 extends ObjectReference

Event OnTrigger(ObjectReference ref)
    ref.moveto(HRBorderMarker00)
EndEvent

b) Wie compiliere ich das dann (vorausgesetzt es funktioniert)?
 
1) Ich bin mir nicht sicher, ob du akActionRef so einfach in ref umbenennen darfst, oder ob er da meckert. Ich habe bisher immer die Standardbezeichnungen dringelassen.
Des weiteren sollte man die Kommunikation mit dem Spiel stets über Properties machen, die du dann dem Skript später im CK zuweist. So musst du auch nicht für jede Teleportation ein neues Skript machen, sondern kannst einfach deinem schon vorhandenen Skript einen anderen Marker zuweisen.

Auf der sicheren Seite bist du also mit
Code:
Scriptname HRBorderTrigg00 extends ObjectReference

ObjectReference Property ChosenMarker Auto

Event OnTriggerEnter (ObjectReference akActionRef)
    akActionRef.moveto(ChosenMarker)
EndEvent

2) Entweder du kopierst das Skript in das entsprechende Fenster im Creation Kit und lässt es dann dort kompilieren (über das Menü oben den entsprechenden Punkt suchen), oder du richtest dich nach diesem Tutorial, um es extern zu kompilieren.

Edit: Wir haben festgestellt, dass OnTrigger nicht zur gewünschten Zeit feuert. Ich habe es somit den obigen Code durch OnTriggerEnter ersetzt.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Eldarie