Construction Set Skriptthread zum Construction Set

Ok, mein Fehler. Ich hatte das wohl erst nicht richtig gelesen und bin davon ausgegangen, dass man alle Zauber bei einem Mal Aktivieren bekommt... :oops:
 
Mal wieder ein Problem beim Scripten...
Jedesmal wenn ich meinen Script speichere und das Fenster schließen will kommt das hier:

Save Current Script?

Doyou want to save the current script?

Current =


Wenn ich dann auf ja drücke, tut sich gar nichts und das Fenster erscheint erneut! Hab ich irgentetwas falsch gemacht?
Mein Script sieht so aus:

Scriptname FalmerSpell

Begin ScriptEffectStart

If isSnowing == 1

Player.AddSpell AbRaceIceElfHealingSnow

elseif

MessageBox "Es fällt kein Schnee!"

endif

end

Begin Scripteffektfinish

Player.RemoveSpell AbRaceIceElfHealingSnow

End
 
current=aktuell

dieses problem hab ich auch manchmal..weiß nich genau worans liegt aber in diesem fall kopierst du am besten einfach deinen skript in ein word-dokument oder ähnliches,schließt das script-fenster (meldung wird erneut erscheinen,drücke "nein"),machst es wieder auf also "new" und kopierst den script aus dem word-dokument wieder rein.danach sollte die meldung nich nochma kommen^^
 
Egal was ich mache, die Nachricht erscheint immer wieder!
Ich hab den Script jetzt bestimmt schon 10 Mal umgeformt und neu gemacht, und die Box erscheint immer noch!
 
Es heißt Begin ScriptEffectFinish. Nicht SkriptEffektFinish. Diese Problem tritt auf, wenn man zum Beispiel eine Klammer vergisst, das Script aber trotzdem Speichert, und aus mir unbekannten Gründen keine Fehlermeldung kommt. Du hast also ein Fehler in einem Syntax, also bei deinem ist es Begin ScriptEffectFinish.
 
  • Like
Reaktionen: Runic
Ich habe mich vorher noch nie damit befasst, aber ich denke, dass die aktiven Effekte chronologisch geordnet werden. Wenn du also "player.getNthActiveEffect 0" ausführst, solltest du den Effekt erhalten, der bislang am kürzesten auf den Spieler wirkt. Vielleicht ist es aber auch nach temporären Effekten (Gift), Verzauberungen (wenn ein Ring etc. angelegt ist) und Eigenschaften (z.B. Feuerresistenz bei den Dunmer) geordnet. Das müsstest du eventuell mal nachgucken, bzw. ausprobieren. Hilfreich wäre es, mit "getActiveEffectCount" die Anzahl der aktiven Effekte abzufragen. Dann kannst du eine Art Schleife erstellen, bei der jedes Mal ein anderer Effekt überprüft wird.
Hab gerade noch den Befehl "isMagicEffectDetrimental" gefunden. Was auch hilfreich scheint ist "MagicEffectUsesAttribute", "-Skill" und "-OtherActorValue".

Danke, ich probier mal einige Sachen aus. :)
Wenn es nicht funktioniert, werde ich die Abfrage ausbauen.
 
So Leute nochmal im richtigen Thread
Hallo Leute hab das Skript von gestern(1/2 Seiten vorher) verändert und hab nun wieder ein Problem das Skript meckert an verscheidenen Stellen, deshalb hab ich etwas rumprobiert. In der aktuellen "Version" ist der Fehler an den UNterstrichenen SStellen:
Skript:
Begin GameMode
Set Element to GetButtonPressed
If Element == 0
Player.addSpell MODFire
MessageBox "Bervorzugt ihr Schwert oder Stab?","Schwert","Stab"
Set Feuer to GetButtonPressed
If Feuer == 0
player.additem MODFireWeap 1
Else if Feuer == 1
player.additem MODFireStaff 1
elseif Element == 1
Player.addSpell MODIce
MessageBox "Bervorzugt ihr Schwert oder Stab?","Schwert","Stab"
Set Eis to GetButtonPressed
If Eis == 0
Player.additem MODIceWeap 1
Elseif Eis == 1
player.additem MODIceStaff 1
elseif Element == 2
Player.addSpell MODStorm
MessageBox "Bervorzugt ihr Schwert oder Stab?","Schwert","Stab"
Set Sturm to GetButtonPressed
If Sturm == 0
player.additem MODStormWeap 1
Else if Sturm == 1
player.additem MODStormStaff 1
endif
end
Achja die VAriablen stimmen(ich hab hier nur den fehlerhaften Teil hingeschreiben)
 
Ich bräuchte etwas Hilfe bei einem Zauberscript ...
scn 000ZaubereffektMagievernichtung

ref target
short SpellRank

;#######################
;Beginn des Script-Effektes
;#######################

begin scripteffectstart

set target to getself

;############################
;Stufe des Spielers wird überprüft
;############################
if ( player.GetLevel <= 5 )

set SpellRank to 1

elseif (player.GetLevel >= 6 ) && ( player.GetLevel <= 10 )

set SpellRank to 2

elseif ( player.GetLevel >= 11 ) && ( player.GetLevel <= 15 )

set SpellRank to 3

elseif ( player.GetLevel >= 16 ) && (player.GetLevel <= 20)

set SpellRank to 4

elseif ( player.GetLevel >= 21 )

set SpellRank to 5

endif

;######################################
;Zauber wird je nach Spielerstufe gesprochen
;######################################

If (SpellRank == 1)

target.addspell 00ZauberMagievernichtung01Eigenschaft

Elseif (SpellRank == 2)

target.addspell 00ZauberMagievernichtung02Eigenschaft

Elseif (SpellRank == 3)

target.addspell 00ZauberMagievernichtung03Eigenschaft

Elseif (SpellRank == 4)

target.addspell 00ZauberMagievernichtung04Eigenschaft

Elseif (SpellRank == 5)

target.addspell 00ZauberMagievernichtung05Eigenschaft

Endif

;#######################
;Shadereffekt wird aktiviert
;#######################

PlayMagicShaderVisuals 00ShaderFlammenatronachMARINEBLAU

end

;######################
;Ende des Script-Effektes
;######################

begin scripteffectfinish

;##################################
;Entsprechende Zauber werden entfernt
;##################################
If (SpellRank == 1)
target.removespell 00ZauberMagievernichtung01Eigenschaft

Elseif (SpellRank == 2)
target.removespell 00ZauberMagievernichtung02Eigenschaft

Elseif (SpellRank == 3)
target.removespell 00ZauberMagievernichtung03Eigenschaft

Elseif (SpellRank == 4)
target.removespell 00ZauberMagievernichtung04Eigenschaft

Elseif (SpellRank == 5)
target.removespell 00ZauberMagievernichtung05Eigenschaft

Endif

;#########################
;Shadereffekt wird deaktiviert
;#########################

StopMagicShaderVisuals 00ShaderFlammenatronachMARINEBLAU

;############################
;Variablen werden zurückgesetzt
;############################

set target to 0
set SpellRank to 0

end

Das Problem liegt darin, dass dieser Script nicht nur auf NPCs und Kreaturen wirkt, sondern auch auf jeden aktivierbaren Gegenstand.


Daher die Frage: Gibt es einen Befehl, mit welchem man abprüfen kann, ob target ein Objekt ist, welches kein Activator ist?

:bye:
DarkRuler2500
 
Klar! "IsContainer", "isDoor", "isFurniture", etc. pp. So wie ich deinen Wunsch verstanden habe, soll der Zauber aber sowieso nur auf NPCs und Kreaturen gehen. Dann könntest du auch einfach mit "isActor" (kein OBSE) arbeiten.
 
Kleine Frage: ICh suche einen Skriptbefehl/ein ganzes Skript um ein beliebiges Objekt zu Beschwören. IN meinem Fall würde es sich um ein Portal handeln. Danke im Vorraus