Hm, also ich weiß gerade nicht, wie das auswählen des Ziels funktioniert und ob es mit "ref target" getan ist.
Mit "scripteffectstart" kann ich auch nicht viel anfangen, ich hätte es jetzt erstmal
begin onhit targetID versucht, aber wenn es so gemacht wird, dann müsste das so schonmal stimmen.
Was unnötig ist, sind die Klammern die du in die If-Sentence gesetzt hast.. man braucht keine Klammern [habe ich auch noch in keinem Script gesehen oO].
Ich glaube auch eine ganz normale "Short" Variable dürfe völlig ausreichen.
Außerdem musst du diese Variabele garnicht auf 0 setzen, das müsste sie von sich aus schon sein, weil sie ja leer, also 0 ist.
Was nicht funktioniert ist "player.disable". Da musst du den removeitem objectID, count befehl benutzen
Warum du dann den If-Block beendest blicke ich im moment auch noch nicht so ganz.
Der zweite ergibt jedenfalls nicht viel Sinn.
Warum denn "set target to getself" ? Damit wärst DU Ziel des Spruches.
Hm, lass mich überlegen. Ich würde es mal so probieren:

scn ZDtotenbeschwoerung

float reanimation
ref target

begin ScriptEffectStart


if player.GetItemCount ZDBlackSoulGemFilled >= 1 && reanimation == 0 && target.getdead == 1
set reanimation to 1
player.removeitem ZDBlackSoulGemFilled, 1
target.resurrect
if target.getdead == 0
messagebox "Lebende NPCs kann man nicht wiederbeleben"
endif
else
messagebox "Du brauchst einen gefüllten schwarzen Seelenstein"
endif
end

Wie gesagt, ich weiß nicht wie das mit dem einholen des Ziels geht, aber wenn das schon durch das sprechen des Spruches funktioniert [vorrausgesetzt man trifft auch], dann sollte es klappen. Sollte..... ^^