Construction Set Skriptthread zum Construction Set

Währe das ganze eingerückt würde ich mir das jetzt noch angucken^^, aber so entdecke ich da (zumindest jetzt) nicht mehr...
 
Du darfst die Messagebox und die anschließende Abfrage "getbuttonpressed" nicht in zwei Scripte trennen, sonst funktioniert es nicht. Außerdem würdest du dich mit OBSE erheblich leichter tun. Bei deiner momentanen Script-variante empfehle ich dir dann einen GameMode Block in den Companion-Script zu schreiben:

Code:
set Quest.button to getbuttonpressed

Oder etwas in der Art.
 
  • Like
Reaktionen: Der_W@ldmeister
@Schmelz: Als ichs reinkiopiert hab, wars noch eingerückt :(

@Gildur: Wenn es gegangen wäre, hätte ich das Ganze natürlich nicht getrennt und den GameMode-Block mit in das Companion-Skript gesteckt. Allerdings sidn beide Skripte zusammen ca. 1200 Zeilen lang und sprengen durch die vielen Messageboxen die maximale Zeichenanzahl für ein Script:(
 
:shock::eek:Da wollte ich doch gerade ein Video drehen und Oblivion stürzt wieder ab^^
Damit könnte ich ja noch leben, aber ohne Fraps läuft es auch nicht mehr!!!!
Hier mal das vollständige Script:
Code:
ScriptName EZZauberScript

short controlvar
ref apparatus
ref armor
ref book
ref clothing
ref ingredient
ref misc
ref flora
ref weapon
ref ammo
ref soulgem
ref key
ref alchemyitem
ref sigilstone
ref leveleditem
ref actor
ref actoritem

Begin ScriptEffectUpdate

if controlvar == 0

set apparatus to getfirstref 19 1
while apparatus
    if apparatus.isOffLimits 7 == 0
        apparatus.activate player, 1
    endif
    set apparatus to getnextref
loop
set controlvar to 1

elseif controlvar == 1

set armor to getfirstref 20 1
while armor
    if armor.isOffLimits 7 == 0
        armor.activate player, 1
    endif
    set armor to getnextref
loop
set controlvar to 2

elseif controlvar == 2

set clothing to getfirstref 22 1
while clothing
    if clothing.isOffLimits 7 == 0
        clothing.activate player, 1
    endif
    set clothing to getnextref
loop
set controlvar to 3

elseif controlvar == 3

set ingredient to getfirstref 25 1
while ingredient
    if ingredient.isOffLimits 7 == 0
        ingredient.activate player, 1
    endif
    set ingredient to getnextref
loop
set controlvar to 4

elseif controlvar == 4

set misc to getfirstref 27 1
while misc
    if misc.isOffLimits 7 == 0
        misc.activate player, 1
    endif
    set misc to getnextref
loop
set controlvar to 5

elseif controlvar == 5

set flora to getfirstref 31 1
while flora
    if flora.isOffLimits 7 == 0
        flora.activate player, 1
    endif
    set flora to getnextref
loop
set controlvar to 6

elseif controlvar == 6

set weapon to getfirstref 33 1
while weapon
    if weapon.isOffLimits 7 == 0
        weapon.activate player, 1
    endif
    set weapon to getnextref
loop
set controlvar to 7

elseif controlvar == 7

set ammo to getfirstref 34 1
while ammo
    if ammo.isOffLimits 7 == 0
        ammo.activate player, 1
    endif
    set ammo to getnextref
loop
set controlvar to 8

elseif controlvar == 8

set soulgem to getfirstref 38 1
while soulgem
    if soulgem.isOffLimits 7 == 0
        soulgem.activate player, 1
    endif
    set soulgem to getnextref
loop
set controlvar to 9

elseif controlvar == 9

set key to getfirstref 39 1
while key
    if key.isOffLimits 7 == 0
        key.activate player, 1
    endif
    set key to getnextref
loop
set controlvar to 10

elseif controlvar == 10

set alchemyitem to getfirstref 40 1
while alchemyitem
    if alchemyitem.isOffLimits 7 == 0
        alchemyitem.activate player, 1
    endif
    set alchemyitem to getnextref
loop
set controlvar to 11

elseif controlvar == 11

set sigilstone to getfirstref 42 1
while sigilstone
    if sigilstone.isOffLimits 7 == 0
        sigilstone.activate player, 1
    endif
    set sigilstone to getnextref
loop
set controlvar to 12

elseif controlvar == 12

set leveleditem to getfirstref 43 1
while leveleditem
    if leveleditem.isOffLimits 7 == 0
        leveleditem.activate player, 1
    endif
    set leveleditem to getnextref
loop
set controlvar to 13

elseif controlvar == 13

set actor to getfirstref 69 1
while actor
    if actor.getdead == 1 && actor != player
        actor.removeallitems player
    endif
    set actor to getnextref
loop
set controlvar to 14

endif

End
Ich hab dann nochmal die ganze Varianten durchprobiert und es scheint am letzten Teil, bei mehr als zwei toten Actors zu scheitern. Leider bin ich mehr und mehr ratlos wo das Problem ist?????

edit: Der Zauber hat eine Duration von 10, sollte also kein Problem sein.
 
Jetzt noch ein Anderer Ansatz:

Ich hab das Zauber-Script auf das Ändern der controlvar (des Questscript) auf 1 reduziert und lasse die Arbeit im Questscrpt verrichten. Dadurch sind größere Pausen zwichen den einzelnen Scriptteilen. Das, in Kombination mit der "removeAllItems"-Lösung sieht dann so aus:
Code:
ScriptName EZQuestScript

short controlvar
float fQuestDelayTime
ref apparatus
ref armor
ref book
ref clothing
ref ingredient
ref misc
ref flora
ref weapon
ref ammo
ref soulgem
ref key
ref alchemyitem
ref sigilstone
ref leveleditem
ref actor

Begin GameMode

if controlvar == 0

set fQuestDelayTime to 0.1
player.addspell EZZauber

elseif controlvar == 1

set apparatus to getfirstref 19 1
while apparatus
    if apparatus.isOffLimits 7 == 0
        apparatus.activate player, 1
    endif
    set apparatus to getnextref
loop
set controlvar to 2

elseif controlvar == 2

set armor to getfirstref 20 1
while armor
    if armor.isOffLimits 7 == 0
        armor.activate player, 1
    endif
    set armor to getnextref
loop
set controlvar to 3

elseif controlvar == 3

set clothing to getfirstref 22 1
while clothing
    if clothing.isOffLimits 7 == 0
        clothing.activate player, 1
    endif
    set clothing to getnextref
loop
set controlvar to 4

elseif controlvar == 4

set ingredient to getfirstref 25 1
while ingredient
    if ingredient.isOffLimits 7 == 0
        ingredient.activate player, 1
    endif
    set ingredient to getnextref
loop
set controlvar to 5

elseif controlvar == 5

set misc to getfirstref 27 1
while misc
    if misc.isOffLimits 7 == 0
        misc.activate player, 1
    endif
    set misc to getnextref
loop
set controlvar to 6

elseif controlvar == 6

set flora to getfirstref 31 1
while flora
    if flora.isOffLimits 7 == 0
        flora.activate player, 1
    endif
    set flora to getnextref
loop
set controlvar to 7

elseif controlvar == 7

set weapon to getfirstref 33 1
while weapon
    if weapon.isOffLimits 7 == 0
        weapon.activate player, 1
    endif
    set weapon to getnextref
loop
set controlvar to 8

elseif controlvar == 8

set ammo to getfirstref 34 1
while ammo
    if ammo.isOffLimits 7 == 0
        ammo.activate player, 1
    endif
    set ammo to getnextref
loop
set controlvar to 9

elseif controlvar == 9

set soulgem to getfirstref 38 1
while soulgem
    if soulgem.isOffLimits 7 == 0
        soulgem.activate player, 1
    endif
    set soulgem to getnextref
loop
set controlvar to 10

elseif controlvar == 10

set key to getfirstref 39 1
while key
    if key.isOffLimits 7 == 0
        key.activate player, 1
    endif
    set key to getnextref
loop
set controlvar to 11

elseif controlvar == 11

set alchemyitem to getfirstref 40 1
while alchemyitem
    if alchemyitem.isOffLimits 7 == 0
        alchemyitem.activate player, 1
    endif
    set alchemyitem to getnextref
loop
set controlvar to 12

elseif controlvar == 12

set sigilstone to getfirstref 42 1
while sigilstone
    if sigilstone.isOffLimits 7 == 0
        sigilstone.activate player, 1
    endif
    set sigilstone to getnextref
loop
set controlvar to 13

elseif controlvar == 13

set leveleditem to getfirstref 43 1
while leveleditem
    if leveleditem.isOffLimits 7 == 0
        leveleditem.activate player, 1
    endif
    set leveleditem to getnextref
loop
set controlvar to 14

elseif controlvar == 14

set actor to getfirstref 69 1
while actor != 0
    if actor.getdead
        actor.removeAllItems player
    endif
loop
set controlvar to 15

endif

End
Nur leider stürzt dieses Script auch ab, wenn gar kein toter Actor da ist???? (die anderen Sachen werden vor dem Absturz aber noch eingesammelt...
 
Ich wollte mal wissen ob man mit einem Gamemode Skript abfragen kann das der Charakter erst eine bestimmte Rüstung anhaben muss um sich mit einer bestimmten Waffe auszurüsten.

MFG
Sammael666
 
Code:
ref upper_body
ref lower_body
...

Begin GameMode

set upper_body to player.getEquippedObject 2
set lower_body to player.getEquippedObject 3
...

if upper_body == [ID des Brustpanzers] && lower_body == [ID der Beinschienen] && ...
     [Waffe-ID].equip
else
     [Waffe-ID].unequip
endif
Die Punkte stehen für weitere Slots die die Abfragen kannst. Die Nummern dazu gibts hier.
 
  • Like
Reaktionen: Sammael666
Auf die Waffe musst du dann das Skript legen.

scn <WaffenScript01>

begin onEquip

if player.GetEquipped <RüstungsID> = 1
player.EquipItem <WaffenID>
else
return
endif
end

Müsste schon funzen ;)
MfG DarkSinthoras

EDIT: Später als Schmelz, aber einfacher :lol:
 
Code:
scn <WaffenScript01>
ref guy

begin onEquip
set guy to getcontainer
if player.GetEquipped <RüstungsID> = 1
;ganz normal anziehen
else
guy.unequipitem <Waffen-ID>
endif
end
 
Stimmt, OBSE ist unnötig...

Aber zurück zu meinem Problem^^
Aktuell sieht das Script so aus:
Code:
ScriptName EZQuestScript

short controlvar
float fQuestDelayTime
ref apparatus
ref armor
ref book
ref clothing
ref ingredient
ref misc
ref flora
ref weapon
ref ammo
ref soulgem
ref key
ref alchemyitem
ref sigilstone
ref npc
ref creature
ref levcreature

Begin GameMode

if controlvar == 0

set fQuestDelayTime to 0.1
player.addspell EZZauber
set controlvar to -1

elseif controlvar == 1

set apparatus to getfirstref 19 1
while apparatus
    if apparatus.isOffLimits 7 == 0
        apparatus.activate player, 1
    endif
    set apparatus to getnextref
loop

set armor to getfirstref 20 1
while armor
    if armor.isOffLimits 7 == 0
        armor.activate player, 1
    endif
    set armor to getnextref
loop

set clothing to getfirstref 22 1
while clothing
    if clothing.isOffLimits 7 == 0
        clothing.activate player, 1
    endif
    set clothing to getnextref
loop

set ingredient to getfirstref 25 1
while ingredient
    if ingredient.isOffLimits 7 == 0
        ingredient.activate player, 1
    endif
    set ingredient to getnextref
loop

set misc to getfirstref 27 1
while misc
    if misc.isOffLimits 7 == 0
        misc.activate player, 1
    endif
    set misc to getnextref
loop

set flora to getfirstref 31 1
while flora
    if flora.isOffLimits 7 == 0
        flora.activate player, 1
    endif
    set flora to getnextref
loop

set weapon to getfirstref 33 1
while weapon
    if weapon.isOffLimits 7 == 0
        weapon.activate player, 1
    endif
    set weapon to getnextref
loop

set ammo to getfirstref 34 1
while ammo
    if ammo.isOffLimits 7 == 0
        ammo.activate player, 1
    endif
    set ammo to getnextref
loop

set soulgem to getfirstref 38 1
while soulgem
    if soulgem.isOffLimits 7 == 0
        soulgem.activate player, 1
    endif
    set soulgem to getnextref
loop

set key to getfirstref 39 1
while key
    if key.isOffLimits 7 == 0
        key.activate player, 1
    endif
    set key to getnextref
loop

set alchemyitem to getfirstref 40 1
while alchemyitem
    if alchemyitem.isOffLimits 7 == 0
        alchemyitem.activate player, 1
    endif
    set alchemyitem to getnextref
loop

set sigilstone to getfirstref 42 1
while sigilstone
    if sigilstone.isOffLimits 7 == 0
        sigilstone.activate player, 1
    endif
    set sigilstone to getnextref
loop
set controlvar to 2

elseif controlvar == 2

set npc to getfirstref 35 1
while npc
    if npc.getdead
        npc.removeAllItems player
    endif
loop
set controlvar to 3

elseif controlvar == 3

set creature to getfirstref 36 1
while creature
    if creature.getdead
        creature.removeAllItems player
    endif
loop
set controlvar to 4

elseif controlvar == 4

set levcreature to getfirstref 37 1
while levcreature
    if levcreature.getdead
        levcreature.removeAllItems player
    endif
loop
set controlvar to 5

endif

End
So wie ich das sehe (nach MessageBox-Tests) stürzt das Script hier: "elseif controlvar == 2" ab, aber wieso???
 
So habe hier mal ein Skript:

scn 01soulreaveing

begin GameMode
if getdead
placeatme 01Soulitem
player.additem 01soulitem1 1
message "Seele erhalten"
disable
endif
end

Wenn ich den Zauber auf eine Tote PErson ausführe erhalte ich immer 3 Soulitem1 statt 1 wieso?
 
@ Schmelz:
Code:
ScriptName EZQuestScript

short controlvar
float fQuestDelayTime
ref apparatus
ref armor
ref book
ref clothing
ref ingredient
ref misc
ref flora
ref weapon
ref ammo
ref soulgem
ref key
ref alchemyitem
ref sigilstone
ref npc
ref creature
ref levcreature

Begin GameMode

if controlvar == 0

set fQuestDelayTime to 0.1
player.addspell EZZauber
set controlvar to -1

elseif controlvar == 1

set apparatus to getfirstref 19 1
while apparatus
    if apparatus.isOffLimits 7 == 0
        apparatus.activate player, 1
    endif
    set apparatus to getnextref
loop

set armor to getfirstref 20 1
while armor
    if armor.isOffLimits 7 == 0
        armor.activate player, 1
    endif
    set armor to getnextref
loop

set clothing to getfirstref 22 1
while clothing
    if clothing.isOffLimits 7 == 0
        clothing.activate player, 1
    endif
    set clothing to getnextref
loop

set ingredient to getfirstref 25 1
while ingredient
    if ingredient.isOffLimits 7 == 0
        ingredient.activate player, 1
    endif
    set ingredient to getnextref
loop

set misc to getfirstref 27 1
while misc
    if misc.isOffLimits 7 == 0
        misc.activate player, 1
    endif
    set misc to getnextref
loop

set flora to getfirstref 31 1
while flora
    if flora.isOffLimits 7 == 0
        flora.activate player, 1
    endif
    set flora to getnextref
loop

set weapon to getfirstref 33 1
while weapon
    if weapon.isOffLimits 7 == 0
        weapon.activate player, 1
    endif
    set weapon to getnextref
loop

set ammo to getfirstref 34 1
while ammo
    if ammo.isOffLimits 7 == 0
        ammo.activate player, 1
    endif
    set ammo to getnextref
loop

set soulgem to getfirstref 38 1
while soulgem
    if soulgem.isOffLimits 7 == 0
        soulgem.activate player, 1
    endif
    set soulgem to getnextref
loop

set key to getfirstref 39 1
while key
    if key.isOffLimits 7 == 0
        key.activate player, 1
    endif
    set key to getnextref
loop

set alchemyitem to getfirstref 40 1
while alchemyitem
    if alchemyitem.isOffLimits 7 == 0
        alchemyitem.activate player, 1
    endif
    set alchemyitem to getnextref
loop

set sigilstone to getfirstref 42 1
while sigilstone
    if sigilstone.isOffLimits 7 == 0
        sigilstone.activate player, 1
    endif
    set sigilstone to getnextref
loop
set controlvar to 2

elseif controlvar == 2

set npc to getfirstref 35 1
while npc
    if npc.getdead
        npc.removeAllItems player
    endif
    set npc to getNextRef
loop
set controlvar to 3

elseif controlvar == 3

set creature to getfirstref 36 1
while creature
    if creature.getdead
        creature.removeAllItems player
    endif
    set creature to getNextRef
loop
set controlvar to 4

elseif controlvar == 4

set levcreature to getfirstref 37 1
while levcreature
    if levcreature.getdead
        levcreature.removeAllItems player
    endif
    set levcreature to getNextRef
loop
set controlvar to 5

endif

End

@ sammael:
Code:
scn 01soulreaveing

begin ScriptEffectStart
if getdead
    placeatme 01Soulitem
player.additem 01soulitem1 1
message "Seele erhalten"
    disable
    endif
end
 
Dein Script ist ja an sich nicht falsch, er ist vielleicht einfach nur zu performance lastig. Ich würde einfach mal den part mit den NPCs rauslöschen oder rauskommentieren, wenn das nicht hilft, mal den part mit den actors rauslöschen/auskommentieren. Wenn es immer noch abstürzt dann mal alles rausnehmen außer actors/npc. Dann könntest du feststellen, welcher part zu viel performance braucht, oder ob es an den Abfragen innen drinne liegt etc... Hier hilft meiner Meinung nach nur noch schlichtes auf Performance testen und anschließend die Resultate der verschiedenen abgespeckten Versionen zu vergleichen und dementsprechend eine Schlussfolgerung ziehen.

Das wäre jedenfalls meine Vorgehensweise, wenn es partu nicht funktionieren will, obwohl der Script an sich ja richtig ist.
 
  • Like
Reaktionen: Schmelz
Schon klar, es liegt an den Actors.
Deshalb habe ich die ja auch schon auf drei Frames verteilt, aber allein der NPC-Part reicht ab ~4 Toten für den Crash.
Eine Idee währe es da vielleicht, die Sache mit den Arrays zu integrieren, aber cih bekomme immer Fehler in der Initialisierung-Zeile ("
ar_construct actors array")
Wo die Grenze für Creaturen liegt werd ich auch noch testen.
 
Ah... weiß jetzt, woran es liegt. Ist ein kleiner Syntax-Fehler meinerseits gewesen. Die richtige Syntax lautet nämlich:
Code:
let actors := ar_construct array
 
  • Like
Reaktionen: Schmelz
Hm, jetzt stürzt es wieder ab...
Hab ich irgentwas falch übertragen?
Code:
ScriptName EZQuestScript

short controlvar
float fQuestDelayTime
ref apparatus
ref armor
ref book
ref clothing
ref ingredient
ref misc
ref flora
ref weapon
ref ammo
ref soulgem
ref key
ref alchemyitem
ref sigilstone
ref actor
ref item
array_var actors
short index

Begin GameMode

if controlvar == 0

set fQuestDelayTime to 0.1
player.addspell EZZauber
set controlvar to -1

elseif controlvar == 1

set apparatus to getfirstref 19 1
while apparatus
    if apparatus.isOffLimits 7 == 0
        apparatus.activate player, 1
    endif
    set apparatus to getnextref
loop

set armor to getfirstref 20 1
while armor
    if armor.isOffLimits 7 == 0
        armor.activate player, 1
    endif
    set armor to getnextref
loop

set clothing to getfirstref 22 1
while clothing
    if clothing.isOffLimits 7 == 0
        clothing.activate player, 1
    endif
    set clothing to getnextref
loop

set ingredient to getfirstref 25 1
while ingredient
    if ingredient.isOffLimits 7 == 0
        ingredient.activate player, 1
    endif
    set ingredient to getnextref
loop

set misc to getfirstref 27 1
while misc
    if misc.isOffLimits 7 == 0
        misc.activate player, 1
    endif
    set misc to getnextref
loop

set flora to getfirstref 31 1
while flora
    if flora.isOffLimits 7 == 0
        flora.activate player, 1
    endif
    set flora to getnextref
loop

set weapon to getfirstref 33 1
while weapon
    if weapon.isOffLimits 7 == 0
        weapon.activate player, 1
    endif
    set weapon to getnextref
loop

set ammo to getfirstref 34 1
while ammo
    if ammo.isOffLimits 7 == 0
        ammo.activate player, 1
    endif
    set ammo to getnextref
loop

set soulgem to getfirstref 38 1
while soulgem
    if soulgem.isOffLimits 7 == 0
        soulgem.activate player, 1
    endif
    set soulgem to getnextref
loop

set key to getfirstref 39 1
while key
    if key.isOffLimits 7 == 0
        key.activate player, 1
    endif
    set key to getnextref
loop

set alchemyitem to getfirstref 40 1
while alchemyitem
    if alchemyitem.isOffLimits 7 == 0
        alchemyitem.activate player, 1
    endif
    set alchemyitem to getnextref
loop

set sigilstone to getfirstref 42 1
while sigilstone
    if sigilstone.isOffLimits 7 == 0
        sigilstone.activate player, 1
    endif
    set sigilstone to getnextref
loop
set controlvar to 2

elseif controlvar == 2

let actors := ar_construct array
let actor := getFirstRef 69 1
while actor
    if actor.getIsReference player == 0 && actor.getDead
        let actors[index] := actor
        let index += 1
    endif
    getNextRef
loop
let controlvar := 3
return

elseif controlvar == 3

let actor := actors[index]
let index -= 1
forEach item <- actor
    if item.isOffLimits 7; || item.isQuestItem
        continue
    else
        item.removeMeIR player
    endif
loop
if index == 0
    let controlvar := 4
endif

endif

End
edit:

Jetzt bin ich etwas iritiert^^
-> Ich habe einige MessageBoxen gesetzt aber nur die "0" wird vor dem Absturz angezeigt! (und die kommt ja beim Spielstart nicht beim Zaubern)
Code:
ScriptName EZQuestScript

short controlvar
float fQuestDelayTime
ref apparatus
ref armor
ref book
ref clothing
ref ingredient
ref misc
ref flora
ref weapon
ref ammo
ref soulgem
ref key
ref alchemyitem
ref sigilstone
ref actor
array_var actors
short index

Begin GameMode

if controlvar == 0

set fQuestDelayTime to 0.1
player.addspell EZZauber
set controlvar to -1
                                                            MessageBox"0"
elseif controlvar == 1
                                                            MessageBox"1"
set apparatus to getfirstref 19 1
while apparatus
    if apparatus.isOffLimits 7 == 0
        apparatus.activate player, 1
    endif
    set apparatus to getnextref
loop
                                                            MessageBox"2"
set armor to getfirstref 20 1
while armor
    if armor.isOffLimits 7 == 0
        armor.activate player, 1
    endif
    set armor to getnextref
loop
                                                            MessageBox"3"
set clothing to getfirstref 22 1
while clothing
    if clothing.isOffLimits 7 == 0
        clothing.activate player, 1
    endif
    set clothing to getnextref
loop
                                                            MessageBox"4"
set ingredient to getfirstref 25 1
while ingredient
    if ingredient.isOffLimits 7 == 0
        ingredient.activate player, 1
    endif
    set ingredient to getnextref
loop
                                                            MessageBox"5"
set misc to getfirstref 27 1
while misc
    if misc.isOffLimits 7 == 0
        misc.activate player, 1
    endif
    set misc to getnextref
loop
                                                            MessageBox"6"
set flora to getfirstref 31 1
while flora
    if flora.isOffLimits 7 == 0
        flora.activate player, 1
    endif
    set flora to getnextref
loop
                                                            MessageBox"7"
set weapon to getfirstref 33 1
while weapon
    if weapon.isOffLimits 7 == 0
        weapon.activate player, 1
    endif
    set weapon to getnextref
loop
                                                            MessageBox"8"
set ammo to getfirstref 34 1
while ammo
    if ammo.isOffLimits 7 == 0
        ammo.activate player, 1
    endif
    set ammo to getnextref
loop
                                                            MessageBox"9"
set soulgem to getfirstref 38 1
while soulgem
    if soulgem.isOffLimits 7 == 0
        soulgem.activate player, 1
    endif
    set soulgem to getnextref
loop
                                                            MessageBox"10"
set key to getfirstref 39 1
while key
    if key.isOffLimits 7 == 0
        key.activate player, 1
    endif
    set key to getnextref
loop
                                                            MessageBox"11"
set alchemyitem to getfirstref 40 1
while alchemyitem
    if alchemyitem.isOffLimits 7 == 0
        alchemyitem.activate player, 1
    endif
    set alchemyitem to getnextref
loop
                                                            MessageBox"12"
set sigilstone to getfirstref 42 1
while sigilstone
    if sigilstone.isOffLimits 7 == 0
        sigilstone.activate player, 1
    endif
    set sigilstone to getnextref
loop
set controlvar to 2
                                                            MessageBox"13"
elseif controlvar == 2

let actors := ar_construct array
let actor := getFirstRef 69 1
while actor
    if actor.getIsReference player == 0 && actor.getDead
        let actors[index] := actor
        let index += 1
    endif
    getNextRef
loop
let controlvar := 3
return

elseif controlvar == 3

let actor := actors[index]
let index -= 1
actor.removeAllItems player
if index == 0
    let controlvar := 4
endif

endif

End
Also, wie kann das Script abstürzen, ohne überhaupt eingelesen zu werden? Oder gibt es ingame einen versteckten Debugger?
 
Zuletzt bearbeitet:
Nein, wie gesagt, "0" kommt noch zusammen mit dem Zauber, aber beim nutzten des Zaubers, kommt nicht mal mehr "1", sondern sofort der Crash.