Construction Set Skriptthread zum Construction Set

Dann ist irgendein if-Bolck nicht abgeschlossen oder sonstwie nicht korrekt.
Schreib das Script nochmal so hier rein, wie dus jetzt hast (ohne die Texte, wenn du sie nicht verraten willst).
 
Dann schreib halt:
Code:
MessageBox "Text", "Button"
MessageBox "Text", "Button"

Text und Button kannst Du ja mit der jeweiligen Beschriftung versehen.

Abgesehen davon könntest Du dein Skript mal so probieren:
Code:
scn AAFriendlyMinotaurActivate

short Choice

begin OnActivate
if GetStage AAHumanMinotaurQuest == 5
endif

MessageBox "Text", "Choice"
set Choice to GetButtonPressed
   if ( Choice == 0 )
      MessageBox "Text", "Choice"
      set Choice to GetButtonPressed
   endif
   if ( Choice == 0 )
      MessageBox "Text", "Choice"
      set Choice to GetButtonPressed
   endif
   if ( Choice == 0 )
      MessageBox "Text", "Choice"
      set Choice to GetButtonPressed
   endif
   if ( Choice == 0 )
      MessageBox "Text"
      endif
end

Das ist aber totaler Schwachsinn, weil Choice bei dir immer 0 sein wird, nimm also lieber das von mir.
 
Ist es nicht eigentlich sinnvoll, wenn man für jede neue Messagebox einen neuen Block erstellt?
Wenn man Boxen mit mehreren Antworten macht, bestimmmt.
Wenn Du aber nur eine Antwort hast, kannst Du die Boxen auch direkt hintereinanderreihen.
Da brauchst Du ja nicht abfragen, welche Antwort gewählt wurde, weil es immer die selbe ist.
 
Code:
scn AAFriendlyMinotaurActivate

short Choice

begin OnActivate
if GetStage AAHumanMinotaurQuest == 5
endif

MessageBox "Text", "Choice"
MessageBox "Text", "Choice"
MessageBox "Text", "Choice"
MessageBox "Text", "Choice"
MessageBox "Text"
end

So wird nur die letzte MessageBox angezeigt..

Code:
scn AAFriendlyMinotaurActivate

short Choice

begin OnActivate
if GetStage AAHumanMinotaurQuest == 5
endif

MessageBox "Text", "Choice"
set Choice to GetButtonPressed
   if ( Choice == 0 )
      MessageBox "Text", "Choice"
      set Choice to GetButtonPressed
   endif
   if ( Choice == 0 )
      MessageBox "Text", "Choice"
      set Choice to GetButtonPressed
   endif
   if ( Choice == 0 )
      MessageBox "Text", "Choice"
      set Choice to GetButtonPressed
   endif
   if ( Choice == 0 )
      MessageBox "Text"
      endif
end

..und so nur die Erste. :?
 
Interessant, bei mir geht das erste.
Dann halt so:
Code:
scn AAFriendlyMinotaurActivate

short Choice

begin OnActivate
if GetStage AAHumanMinotaurQuest == 5
endif

if ( Choice == 0 )
   MessageBox "Text", "Choice"
   set Choice to 1
elseif ( Choice == 1 )
      MessageBox "Text", "Choice"
      set Choice to 2
elseif ( Choice == 2 )
      MessageBox "Text", "Choice"
      set Choice to 3
elseif ( Choice == 3 )
      MessageBox "Text", "Choice"
      set Choice to 4
elseif ( Choice == 4 )
      MessageBox "Text"
endif
end
Wenn das bei dir auch nciht geht, bekomm ich nen Anfall.:lol:


begin OnActivate
if GetStage AAHumanMinotaurQuest == 5
endif

Bringt so gar nix. Was willst Du damit erreichen??
 
Hi, ich habe nochmal ne schwerere Frage:

Ich suche ein Script, dass eine Tür öffnet, wenn alle Gegner in der Umgebung tot sind.

Vorher soll die Tür allerdings nicht wie normalerweise mit "unmöglich" verschlossen sein, sondern wenn man sie anklickt soll eine Box auftauchen wo steht "die Tür öffnet sich erst wenn alle Gegner tot sind" (natürlich nicht wörtlich, das kann man ja auch später noch einstellen) und sie soll natürlich nicht aufgehen.
 
Probiers mal so, ob das klappt, weiß ich nicht, aber das CS meckert nicht beim speichern.

Code:
Scn AAFriendlyMinotaurActivate

short button

begin OnActivate
if GetStage AAHumanMinotaurQuest == 5
activate
MessageBox "Text", "Antwort"
endif
end

begin GameMode
set button to GetButtonPressed
  if button == 0
  Messagebox "Text", "Antwort"
  set button to 1
endif
end

begin GameMode
set button to GetButtonPressed
  if button == 1
  MessageBox "Text", "Antwort"
  set button to 2
endif
end

begin GameMode
set button to GetButtonPressed
  if button == 2
  MessageBox "Text"
endif
end
 
Schaut euch docheinfach nocheinmal das Tut auf Cs-Wiki an. ;)

Ihr müsst die nächste Textbos überings mit Variablen aufrufen :)
 
Ich bräucht mal eure Hilfe ..... Bittteee!

Hallo!

Ich brauche einen Skript für einem Begleiter in meier mod. Ich würde das ja auch selber hinbekommen, wenn ich wüsste, wie man folgende Befehle eingibt:

Kampfart
-Einhänder (akaviri-katana)
-Zweihänder (silberclaymore)
-Bogen (silber-bogen, silberpfeile) (genug Abstand zum Gegner halten!)
-Magie (schockzauber, chamäleonzauber, lichtzauber) (genug Abstand zum Gegner halten!)
-nichts
Modus
-rücken decken
-weg freikämpfen
-rennen
-schleichen (+ silberdolch ziehen)
Entfernung
-unmittelbar neben mir
-normal weit weg
-Abstand halten
Aktion
-feinde angreifen
-alle angreifen
-player schützen (und heilen + unsichbar auf player)
-stehlen (wenn er nicht gesehen wird, außer von mir)

Ich würde das dann mit messageboxen machen.
z.b.:
MessageBox "Was soll ich tun?", "Kampfart", "Modus", "Entfernung", "Aktion", "Zurück"
wenn z.b kampfart gewählt wird:
MessageBox "Wie soll ich kämpfen?", ""Einhänder", "Zweihänder", "Bogen", "Magie"

Ich hoffe ihr könnt mir helfen.
Danke schonmal im vorraus!
 
Ah, das habe ich vergessen, so solls heißen:

Code:
Scriptname AAFriendlyMinotaurActivate

short button

begin OnActivate

MessageBox "Text", "Antwort"
endif
end
if GetStage AAHumanMinotaurQuest == 5
activate
begin GameMode
set button to GetButtonPressed
  if button == 0
  Messagebox "Text", "Antwort"
  set button to 1
  set button to GetButtonPressed
endif
end

begin GameMode
set button to GetButtonPressed
  if button == 1
  MessageBox "Text", "Antwort"
  set button to 2
  set button to GetButtonPressed
endif
end

begin GameMode
set button to GetButtonPressed
  if button == 2
  MessageBox "Text"
endif
end
 
Das wird nicht unbedingt fehlerfrei funktionieren, weil GetButtonPressed auf diese Art gern mal falsche Werte liefert.

Rein technisch gesehen sollte es aber gehen. Da macht höchstens Oblivion Probleme.
 
[...]Das sollen also alles aufeinander folgende Textfenster mit jeweils nur einer einzigen Antwortmöglichkeit sein, um ein Gespräch zwischen dem Minotauren und dem Spieler zu simulieren. ;)
Das ganze soll eben nur in dieser einen QuestStage möglich sein (die in obiger if-Zeile angegeben ist) und die Queststage wechselt auch nach dem Gespräch (wie das geht weiß ich. Ich habs nur noch nicht im Script drin, da ich erstmal das Gespräch ans Laufen kriegen will).[...]
Ich versuch es auch mal:
Code:
scn Script

short button

Begin OnActivate
messagebox "Text" "Choice"
End

Begin GameMode
set button to getbuttonpressed

If button == 0
Messagebox "Text" "Choice"
set button to getbuttonpressed

If button == 0
Messagebox "Text" "Choice"
set button to getbuttonpressed

If button == 0
Messagebox "Text" "Choice"
set button to getbuttonpressed

Endif
Endif
Endif

End
Ganz sicher bin ich mir immer noch nicht und es ist ungetestet, aber einen Versuch ist es doch wert ;)

MfG Gildur
 
Code:
begin onActivate
  set Choosing to -1
end

begin GameMode
  if (Choosing == 0)
    return
  elseif (Choosing == -1)
    messagebox "What would you like to repair?" "Armor" ... "Weapons"
    set Choosing to 1
  elseif (Choosing == 1)
    set Choice to GetButtonPressed
    if (Choice == -1)
    ...
    elseif (Choice == 0) ;Armor
      set Choosing to -10
    ...
    elseif (Choice == 9) ;Weapons
      set Choosing to -11
    endif

  elseif (Choosing == -10) ;Armor
    messagebox "Which armor would you like to repair?" "Helmet" ... "Boots"
    set Choosing to 10
  elseif (Choosing == 10)
    set Choice to GetButtonPressed
    if (Choice == -1)
    ...
    elseif (Choice == 0) ;Helmet
      set Choosing to 0 ;To exit
    ...
    elseif (Choice == 9) ;Boots
      set Choosing to 0 ;To exit
    endif

  elseif (Choosing == -11) ;Weapon
    messagebox "Which weapon would you like to repair?" "Blade" ... "Blunt"
    set Choosing to 11
  elseif (Choosing == 11)
    set Choice to GetButtonPressed
    if (Choice == -1)
    ...
    elseif (Choice == 0) ;Blade
      set Choosing to 0 ;To exit
    ...
    elseif (Choice == 9) ;Blunt
      set Choosing to 0 ;To exit
    endif
  endif
end

Das ist das Beispiel von CS-Wiki. Zu beachten sind die Variablen, die jeweils das nächste Menü aufrufen.
 
Hi. Ich brauche mal wieder ein Script, aber ein sehr einfaches. Es sollen lediglich einige tote Gegner zum Leben erwekt werden, wenn der Char eine Tür öffnet (also OnActivate).
 
Code:
scn Tür

short once

Begin OnActivate

if ( GetActionRef Player == 1 ) && ( once == 0 )
[IddesGegners1].resurrect
[IddesGegners2].resurrect
[IddesGegners3].resurrect
Set once to 1
endif
end

Eventuell statt dessen einen .enable Befehl

mfg
 
  • Like
Reaktionen: Blacklands
3956frage.jpg


Guck mal bitte auf das Bild. Das Script it zu lesen. Was ist falsch daran?