Construction Set Skriptthread zum Construction Set

Lass dir doch nicht alles aus der Nase ziehen!
Sollen sie zu bestimmten Punkten in der Stadt laufen? Sollen sie dies oder jenes machen?
Erkläre er sich^^
 
Danke, damit können wir etwas anfangen. Also, du erstellst ein Travel Package, mit einem Marker, der z.B in der GreatHall vom Schloss liegt.
Dann legst du auf die Leute so einen Script

Code:
scn Blubb

float timer
short Ready
short Dead

Begin OnDeath
Set timer to 120
Set Dead to 1
end

Begin GameMode
If timer >= 0 && Dead == 1
Set timer to timer - GetSecondsPassed

elseif Timer <= 0 && Dead == 1
Resurrect
MoveToMarker XMarkerRedID            ; ID des Refmarker, wo sie Spawnen sollen
Evp
endif
end
 
Du gehst im CS oben unter Characters auf Packages. Dort Rechtsklick>new. In der Dropliste Travel auswählen. ID für das Package natürlich nicht vergessen wie ich gerade fast. Dann wählst du Target aus und dort dein Marker wo sie hin sollen. Das müsste es eigentlich sein. Ich hab bisher noch nie Packages erstellt könnte also noch was fehlen.
 
Nein falsch.

Geh direkt auf die Charaktere die Angreifen sollen, Geh auf die Npc Editierung (Das große Fenster, wo man soviel Einstellen kann)
Klicke unten auf "Ai", dann Rechtklick--> New.

Bei Id gibst du dann z.B "Attacktravel" oder sowas ein, Rechts im Dropdown Menü suchst du "Travel" aus. Bei Day of the Week ( etc. ) lässt du any stehen.

Dann gehst du auf den Reiter "Location" gehst im Render Fenster an den Endpunkt des Packages und drükst nun im Reiter "Create Marker at Render Cam".
Danach plazierst du den Marker noch mit "F" auf dem Boden.
Nun wechselst du in den Reiter "Conditions" und machst eine Condition "GetStage DeinQuestname >= QuestStage"
Sonst würde das Package ausgeführt werden, sobald man Obli startet.
 
  • Like
Reaktionen: Neon96
Man bei dem Script da oben ist ürgen was falsch mit der zeile 18 ich mach statt ID immer Anvil hin und es geht net XD
 
Zuletzt bearbeitet:
Hi, ich hab ein paar fragen zu diesem Script:

scn aaaTurmTraining

short kampf

Begin OnActivate Player
Messagebox "Welchen Gegner wollt Ihr?", "Faustkämpfer", "Schwertkämpfer", "Kampfmagier", "Keinen Gegner"
end

Begin GameMode
set kampf to GetButtonPressed
if kampf == 0
AATraining1.moveto TrainingMarker
elseif kampf == 1
AATraining2.moveto TrainingMarker
elseif kampf == 2
AATraining3.moveto TraininMarker
elseif kampf == 3
endif
end

______________

1.Der Sinn des Scripts ist es einen Gegner bei einem XMarker zu spawnen wenn ich einen Schalter betätigt habe. Ich habe dafür den Moveto befehl empfohlen bekommen, aber über dessen richtigen einsatz bin ich mir nicht im klaren. Ich wollte fragen, wie man den richtig einsetzt, oder ob ich das ganz anders machen muss?

2.Wie mache ich das, wenn ich bei dem Letzten Button der Message Box "Keinen Gegner" ingame anklicke, dass die Messagebox dann auch verschwindet?

Ich bin für jede Hilfe dankbar.

Mfg Two-sword
 
Der einsatz ist ok, allerdings solltest du bei einem Marker lieber, MoveToMarker nehmen, weil dann auch die Rotationsdaten etc. vom Marker übernommen werde.

Wenn du die MessageBox schließen willst, machst du einfach:


Code:
.....
elseif Kampf == 3
Set Kampf to - 1
End

Allerdings wirst du mit dem script ein Problem bekommen, durch den Script, wird

1. Wegen fehlender Variablen, Der Gegner Ununterbrochen zum Marker teleportiert.

2. Der Gegner, nachdem er tot ist, tot bleiben, MoveToMarker bewegt den Gegner nur.

Code:
scn aaaTurmTraining

short kampf
short save

Begin OnActivate Player
If save == 0
Messagebox "Welchen Gegner wollt Ihr?", "Faustkämpfer", "Schwertkämpfer", "Kampfmagier", "Keinen Gegner"
Set save to 1
end

Begin GameMode

If save == 1
   set kampf to GetButtonPressed
     if kampf == 0
        AATraining1.moveto TrainingMarker
        Set save to 0
     elseif kampf == 1
        AATraining2.moveto TrainingMarker
        Set save to 0
     elseif kampf == 2
        AATraining3.moveto TraininMarker
        Set save to 0
     elseif kampf == 3
        Set save to 0
     endif
endif

If AATraining1.GetDead == 1
  AATraining1.MoveToMarker           ;Id eines XMarker außerhalb der für den Spieler einsehbaren Welt
  AATraining1.Resurrect

ElseIf AATraining2.GetDead == 1
  AATraining2.MoveToMarker           ;Id eines XMarker außerhalb der für den Spieler einsehbaren Welt
  AATraining2.Resurrect

ElseIf AATraining3.GetDead == 1
  AATraining3.MoveToMarker           ;Id eines XMarker außerhalb der für den Spieler einsehbaren Welt
  AATraining3.Resurrect
endif
end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Two-sword
EDIT:
Das kann doch nicht angehen, da schreib ich hier was und der Kerl ist schneller:mad::lol:

Besteht bei dem MoveToMarker-Befehl eigentlich auch das Problem, dass das Script damit automatisch beendet wird? Ist ja meine ich beim moveto Befehl so.
 
Zuletzt bearbeitet:
Was geht denn nicht? Werden die nicht geportet?
Kannst du den Script nicht abspeichern? Wenn ja, was bekommst du für eine Fehlermeldung?
 
ich kann den Script net abspiechern die Fehlermedung ist die folgende:

Script Blubb ', line 18
Item 'XMarkerRed' not found for parameter ObjectReferenceID.
Compiled Script not saved!
 
Hallo, Ich bräucht mal wieder hilfe für ein Script.

Also folgendes:
Der Spieler geht in einen Raum, durchschreitet eine Tür, und hat vor sich (in einiger entfernung) eine weitere Tür, zu seiner linken und rechten sind 3 mal hintereinander türen zu kleinen Räumen, wo dann (zunähst friedliche) Gegner drinnen Sind, die alle Unmöglich zu knacken sind.

Das script sollte folgendes Tun:

Wenn der Spieler in der Mitte des Raumes ist, soll eine Message Box Sagen:

"Wer eintritt in die Heiligen Hallen verlangt, muss zuerst seinen Mut beweisen!"

Dann sollen die Türen, die vorher unmöglich gelockt waren offen sein (so das die Gegner rauskommen können, die nun wiederum den Player angreifen sollen) Und die beiden Offenen Türen (da wo der spieler reinkommt und da wo er später rausgeht) sollen Unmöglich gelockt sein.

Nähste Message Box: "Ich Sitze in der Falle, die Ausgänge sind versperrt!"

Wenn man alle gegner erlädigt hat sollen allle Türen offen sein, und eine Weitere Message box soll Sagen:

"Ihr habt eure Sache gutgemacht edeler Krieger. Ihr habt die Prüfung
bestanden. Die Türen zu den Heiligen Hallen stehen euch nun Offen."

Letzte Message Box:

"Ich habe es Geschafft, ich wurde als würdig erachtet die Heiligen Hallen zu betreten."

Thx Im vorraus

Ps: Bin Neuling im scripten :D

Mfg
Shadow-King
 
Wieso geht das hier nur nicht???:?
Es wird auf einen Zauber gelegt, sobald die Zeit abgelaufen ist, soll der Rest passieren (also sobald der Zauber beendet worden ist)
Code:
scn NEPXXXXXXX

float Timer
short DoOnce

begin ScriptEffectStart
if timer < 30
set DoOnce to 0
set timer to timer +GetSecondsPassed
else
setstage NEPGeistertanzQuest 15
endif

if GetStage NEPGeistertanzQuest == 15 && DoOnce == 0
set DoOnce to 1
set timer to 0
player.moveto Geisterwasserbecken
endif


end
 
@elveon: Vermutlich musst du den Timer noch irgendwie definieren, also einen Wert dafür angeben.

_________________________

@Shadow-King:
Also, als erstes musst du eine Triggerbox in die Mitte des Raumes stellen.
Dann schreibst du das Script, dass darauf muss. Ich garantiere nicht für Richtigkeit, aber so in die Richtung sollte es gehen:

Code:
Scriptname HeiligeHallenPruefungScript

begin OnTrigger Player
message "Wer Eintritt in die Heiligen Hallen verlangt, muss zu erst seinen Mut beweisen!"
[Ref-ID der zu öffnenden Tür].unlock
[hier die weiteren Türen so aufzählen]
[Ref-ID der zu schließenden Tür].lock 100
[hier die weitere zu schließende Tür]
message "Ich sitze in der Falle, die Ausgänge sind versperrt!"
end

begin GameMode
[Ref-ID eines Gegener].StartCombat Player
[die anderen Gegner hier so aufzählen]
end

begin GameMode
if ( [Ref-ID des Gegners].GetDead == 1 ) && ( [hier die weiteren Gegner aufzählen mit .GetDead == 1] )
[Ref-ID der geschlossenen Tür].unlock
[die andere Tür genau so]
message "Ihr habt eure Sache gutgemacht edeler Krieger. Ihr habt die Prüfung bestanden. Die Türen zu den Heiligen Hallen stehen euch nun Offen." [Kein Absatz im Scripteditor]
message "Ich habe es Geschafft, ich wurde als würdig erachtet die Heiligen Hallen zu betreten."
endif
end

Das sollte so klappen. Die [] bei den Ref-IDs natürlich nicht mitschreiben und auch das [Kein Absatz im Scripteditor] nicht.
Und jeweils den Haken bei "Persistance Reference" nicht vergessen.
Ach ja, und bei den Gegner die Aggression auf 0 setzen, dann sollten sie nicht angreifen.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Shadow-King