Problem Skriptproblem: Obl stürzt ab!!! :(

Ich habe folgendes Skript in meine Mod eingebaut und sobald es ausgelöst wird stürzt mien oblivion ab.
scn (geheim)

short doonce

begin onactivate

if isActionref player == 1
if activate ==0

messagebox "blabla"
player.additem item 1
player.cast Ayleidpower player
set activate to 1
else
messagebox "blabla"

endif
endif
end
kann mir wer sagen warum mein Obl dabei abstürzt? :?
 
Hm, das gehört eigentlich in den Scripthread...

Naja, ich will ja nicht so sein...


Da gibt es 2 Fehler:

Erstens:

Die Variable Activate wurde nicht eingeführt.

zweitens

player.cast Ayleidpower player

die Syntax für den Befehl lautet

cast (SpellID) (Target)

der Ausgangspunkt für den Zauber ist immer das Objekt, auf dem der Script liegt.



Wenn der Spieler beim aktivieren also getroffen werden soll, dann einfach das player. weglassen
 
  • Like
Reaktionen: DarkSinthoras
Stürzt der PC oder nur Oblivion ab.

Wenn nur Oblivion, dann liegt es einfach an dem defektem Script, den das CS warum auch immer nicht erkannt hat. Kennt man von den QuestResultscripts aus Morrowind, die überhaupt nicht geprüft werden. Ein Fiepen und es crasht.

Noch was:
Eine messagebox muss immer mindestens eine Option haben. Wenn du eine box haben willst, dann ändere das ganze wie folgt:

messagebox "blablabla" "OK",

wenn eine Nachricht Oben in der Ecke eingeblendet werden soll dann

message "blablabla"
 
  • Like
Reaktionen: DarkSinthoras
nur Obl sry
kannst du mir evtl das ganze skript nochmal korrekt posten bitte?
auf jeden fall den ayleidpower zauber muss es geben weil die zeile hab ich nur von den ayleidenbrunnen übernommen. -.- wäre seeehr nett von dir.
 
Code:
scn (geheim)

short activate

begin onactivate player


if activate ==0

message "blabla"
player.additem item 1
cast Ayleidpower player
set activate to 1

else
message "blabla"

endif
end

Sollte so klappen
 
  • Like
Reaktionen: DarkSinthoras
scn (geheim)

short activate

begin onactivate player


if activate ==0

message "blabla"
player.additem item 1
cast Ayleidpower player
set activate to 1

else
message "blabla"

endif
end

Der Variablen Name ist nicht erlaubt, da Activate eine Funktion ist. Der else Zweig ist übrigens überflüssig.

scn (geheim)

short Einmal

begin OnActivate player


if Einmal == 0

message "blabla"
player.additem item 1
cast Ayleidpower player
set Einmal to 1
endif
end
 
Zuletzt bearbeitet von einem Moderator:
Ok, das mit dem Activate verstehe ich, aber warum ist der else-Block überflüssig. Wenn er auch beim zweiten Aktivieren eine Message haben will, ist der doch sinnvoll
 
Wozu eine Message wen der Aktivator danach ohne weitere Funktion ist?
 
Um es mal klar zu stellen: man muss keine Antwortoption bei einer Messagebox miterstellen. Wenn man es nicht tut, gibt es automatisch die Option "Fertig" (oder "OK"? :? ).
Das Skript würde ich im Übrigen wie folgt schreiben:
Code:
scn name

short doonce

Begin onActivate

if isActionRef player == 1
 if doonce == 0
  player.addItem <Item-ID> 1
  cast AyleidPower player
  messagebox "blabla"
  set doonce to 1
  return
 endif
 messagebox "blabla"
endif

end