Construction Set Skriptthread zum Construction Set

danke dir für die liste ich hab mir eben xxx foren durchgelsen nur um mal rauszufinden wie ich eine massage box per knopfdruck aufmachen lasse und bin da noch immer am anfang :eek:
ich hab sooooooooo nen kopf gerade

aber ich werds schon irgendwie hinbekommen :roll:
 
nochmal wegen meinem script:

ist es wichtig, dass das "Wahl ==x" in Klammern steht
und weiss denn jemand, warum ich nur das eine Schwert bekomme, egal was ich wähle?
Oder hat jemand zumindest ne vermutung?
 
Ich hab jetzt aus dem RonaHassildorSkript das hier kopiert:


if ( RonaHassildorRef.HasMagicEffect REFA )
set MS40.endstate to 10
RonaHassildorRef.setunconscious 0
RonaHassildorRef.EvaluatePackage
endif

RonaHassildorRef müsste man durch player ersetzen können, oder?


Nur REFA verstehe ich nicht, und das ist die Stelle, wo mein Skript auch streikt???

Hier mein Skript:

scn SM003UmhangSkript01

begin gamemode

if player.hasmagiceffect Vampirism100 == 1

player.removespell Vampirism100
player.addspell SM003vampirism100

elseif

endif

end

Hoffentlich kann mir jetzt jemand helfen...
 
Code:
scn zyannickschwertactivatorscript

short Wahl
short donce

Begin OnActivate
MessageBox "Was für eine Verzauberung willst du?" "Feuerschaden" "Untote Vertreiben" "Seelenfalle""Lebensentzug"

set Wahl to GetButtonPressed

set donce to 1
End

Begin GameMode
if donce == 1
    if Wahl == 0
        player.additem yschwertfire 1
        yannicksschwert.disable
        set donce to 2
     else Wahl == 1
         player.additem yschwertundead 1
         yannicksschwert.disable
        set donce to 2
     else Wahl == 2
         player.additem yschwertsoultrap 1
        yannicksschwert.disable
        set donce to 2
      else Wahl == 3
         player.additem yschwertdahinraffen 1
         yannicksschwert.disable
        set donce to 2
endif
End

er meldet jetzt plötzlich, dass in Zeile 15 (bei if donce ==1) "mismatched if/else/endif block". ich hab da bestimmt was übersehen, finde es aber grade nicht. (ich habe gerade eine andere Version des scripts getestet und es jetzt zurückverändert)
 
Code:
scn zyannickschwertactivatorscript

short Wahl
short donce

Begin OnActivate
MessageBox "Was für eine Verzauberung willst du?" "Feuerschaden" "Untote Vertreiben" "Seelenfalle""Lebensentzug"

set Wahl to GetButtonPressed

set donce to 1
End

Begin GameMode
if donce == 1
    if Wahl == 0
        player.additem yschwertfire 1
        yannicksschwert.disable
        set donce to 2
     else Wahl == 1
         player.additem yschwertundead 1
         yannicksschwert.disable
        set donce to 2
     else Wahl == 2
         player.additem yschwertsoultrap 1
        yannicksschwert.disable
        set donce to 2
      else Wahl == 3
         player.additem yschwertdahinraffen 1
         yannicksschwert.disable
        set donce to 2
endif
End

er meldet jetzt plötzlich, dass in Zeile 15 (bei if donce ==1) "mismatched if/else/endif block". ich hab da bestimmt was übersehen, finde es aber grade nicht. (ich habe gerade eine andere Version des scripts getestet und es jetzt zurückverändert)

Hier liegt der fehler:

scn zyannickschwertactivatorscript

short Wahl
short donce

Begin OnActivate
MessageBox "Was für eine Verzauberung willst du?" "Feuerschaden" "Untote Vertreiben" "Seelenfalle""Lebensentzug"

set Wahl to GetButtonPressed

set donce to 1
End

Begin GameMode
if donce == 1
if Wahl == 0
player.additem yschwertfire 1
yannicksschwert.disable
set donce to 2
else Wahl == 1
player.additem yschwertundead 1
yannicksschwert.disable
set donce to 2
else Wahl == 2
player.additem yschwertsoultrap 1
yannicksschwert.disable
set donce to 2
else Wahl == 3
player.additem yschwertdahinraffen 1
yannicksschwert.disable
set donce to 2
endif
endif
End

Und anstatt else verwende elseif
 
@Schlchter:
Kommt da im Moment eine Fehlermeldung?

Zu REFA:
Das ist ein Effect, hier ist die Liste:
http://cs.elderscrolls.com/constwiki/index.php/Magic_Effects_List

(REFA = Restore Fatigue.)

Da steht auch nur was von Vampirism, nicht vampirism100.
Mit HasMagicEffect kannst du das wohl nicht unterscheiden.
Probier mal IsSpellTarget.

@Patta:
Noch ein Fehler:
In der Abfrage benutzt du immer if und dann else.
Das musst du mit elseif machen.

if wahl == 0
...
elseif wahl == 1
...
 
  • Like
Reaktionen: Schlchter11
Code:
scn zyannickschwertactivatorscript

short Wahl
short donce

Begin OnActivate
MessageBox "Was für eine Verzauberung willst du?" "Feuerschaden" "Untote Vertreiben" "Seelenfalle""Lebensentzug"

set Wahl to GetButtonPressed

set donce to 1
End

Begin GameMode
if donce == 1
    if Wahl == 0
        player.additem yschwertfire 1
        yannicksschwert.disable
        set donce to 2
     else Wahl == 1
         player.additem yschwertundead 1
         yannicksschwert.disable
        set donce to 2
     else Wahl == 2
         player.additem yschwertsoultrap 1
        yannicksschwert.disable
        set donce to 2
      else Wahl == 3
         player.additem yschwertdahinraffen 1
         yannicksschwert.disable
        set donce to 2
      Endif
endif
End

So sollte es gehen (also du hast ein Endif vergessen)

Edit: Tja 1 Minute zu langsam xD
 
Nochmal das Script mit elseif, sonst wirds übersehen^^:
Code:
scn zyannickschwertactivatorscript

short Wahl
short donce

Begin OnActivate
MessageBox "Was für eine Verzauberung willst du?" "Feuerschaden" "Untote Vertreiben" "Seelenfalle""Lebensentzug"

set Wahl to GetButtonPressed

set donce to 1
End

Begin GameMode
if donce == 1
    if Wahl == 0
        player.additem yschwertfire 1
        yannicksschwert.disable
        set donce to 2
     elseif Wahl == 1
         player.additem yschwertundead 1
         yannicksschwert.disable
        set donce to 2
     elseif Wahl == 2
         player.additem yschwertsoultrap 1
        yannicksschwert.disable
        set donce to 2
      elseif Wahl == 3
         player.additem yschwertdahinraffen 1
         yannicksschwert.disable
        set donce to 2
      Endif
endif
End
 
wenn ich statt else elseif verwende, passiert gar nichts. man bekommt gar kein schwert mehr und das schwert verschwindet auch nicht.
hab das vorhin schon probiert

edit: mom, probiers nochmal, vielleicht hatte ich vorhin nen anderen fehler drin.
edit2: nein, mit elseif funzt es nicht.
 
Zuletzt bearbeitet:
Jetzt meckert er nicht mehr, ich probier das gleich im Spiel aus^^

@sirtoy

War schneller :p

@Knochenkeule

Genau, else wird dann beachtet, wenn nichts von den anderen if oder elseifs gewählt wird. (mehrfach else geht nicht)
 
elseif muss sein.
else geht nur, wenn du eine Bedingung hast und dann nur eine andere Möglichkeit.

Schieb nochmal das Set wahl to GetButtonPressed in den zweiten Block direkt hinter begin GameMode.
Außerdem kannst du vor die Messagebox noch die Zeile "set wahl to -1" setzten.

Edit:
@Patta:
Kannst sonst nochmal hier schauen, da hatte ich mal den Ablauf von einer Messagebox aufgeschrieben, mit Erläuterung:
http://www.scharesoft.de/joomla/forum/showpost.php?p=529028&postcount=2

Vielleicht hilft dir das sonst noch.
 
Zuletzt bearbeitet:
geh in die testinghall. da steht ein grabstein oder so in einem raum. der macht dich zum vampir.
und zu meinem script:

hab es jetzt so geändert, wie Knochenkeule es sagte. es passiert noch immer gar nichts. das schwert verschwindet nicht und man bekommt kein schwert. ich überlege gerade, ob ich statt dem schwert einen Altar nehme und das sschwert dann per script auf diesem platziere.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Schlchter11
"Kopfdruck" im Sinne einer Taste auf der Tastatur?

ja im beispiel unten die alt links taste oder eine andere hauptsache eine taste
oder sogar so das man sie zu spielbeginn belegen kann

Beispiel :

Hotkeytaste (z.b. alt links) wird betätigt
Menü erscheint mit folgenden auswahlmöglichkeiten :

Maximum Strength - festigen stärke und akrobatik (oder so)
Maximum Speed - festigen schnelligkeit
Maximum Armor - Schild auf 85 oder so
Tarnung - Chameleon Effekt 100
Normal - ohne Verzauberung

nach dem die wahl getroffen wurde (z.b. Maximum Speed) Wird jedes Rüstungsteil des Nanosuits mit festigen Schnelligkeit verzaubert

drückt man erneut die "alt links" taste erscheint erneut das menü

wählt jetzt "maximum Strength" aus und die vorhergehende verzauberung endet und eine neue kommt auf die rüstungsteile in dem fall festigen stärke und akrobatik


so sollte es im großen und ganzen funktionieren

ich hoffe das ist irgendiwe machbar :)
 
2 Probleme:


1. Ich hab auch ohne Umhang keinen Sonnenschaden und

2. Onactivate ist nicht richtig bei mir:

was muss ich hernehmen, wenn er beginnen soll wenn man es Ausrüstet (auch dann wieder ablegt)
 
ich würds mit onuse probieren, kann dir aber nicht sagen obs richtig ist. bei NWN passt es. das ist alles, was ich mit gewissheit sagen kann

edit: da wär noch ein weiters script:

Code:
scn zenablemarkermysthaus

short triggered

begin onTrigger player
    
    if trigerred == 0
    showmap.MysterisesHaus 1 
    set trigerred to 1
    endif

end

da meldet er nen haufen mismatches (vermute, ich hab schon wieder ein end oder so vergessen) und er sagt: "unknown Variable or function (bezieht sich auf "MysterisesHaus"-> das ist die ID des Mapmarkers, der sichtbar werden soll durch nen trigger)
 
Zuletzt bearbeitet: