Construction Set Skriptthread zum Construction Set

So, hätte auch mal ne Frage.

Wie bekommt man es hin, dass bei Spielstart (z.b. Spielstand laden) ein bestimmter Quest aktiviert wird? Bei mir haut irgendwie nichts hin. :?

Habe jetzt schon versucht:

Code:
scn wasweißich

begin gamemode
setstage Questname 5
end

Passiert aber nichts. Ich WEIß das ich irgenwas falsch mache. Aber ich komm nich drauf. :oops:
 
Du musst im Questfenster einen Haken bei
Startgame Enabled oda so machen, dann
startet der Quest automatisch. Als Script würde
das ganze so aussehen:

Code:
Begin OnLoad
 StartQuest [QuestID]
End
 
Ich hab mal wieder ein Problem :roll:

Folgendes Script soll bewirken, dass eine Leiche disabeld wird und anschließend auf "Respawn" gestellt wird. Nur irgendwie funktioniert das nicht so richtig.
Code:
scn ...
Begin ScriptEffectStart
If GetDead == 1
disable
SetEssential 1
endif
end

Kein Wunder, du setzt ja auch auf Essential, nicht auf Respawn;)
(SetActorRespawns)

@Raistlin:
ScriptName SE04FelldewScript


;This script handles the variables and scripting for Felldew effects in SE04:Addiction


;Scripting for when player ingests Felldew

Begin ScriptEffectStart

;If this is the first time the player is ingesting Felldew, set the flag in the quest script

if ( GetQuestRunning SE04 == 1 )
if ( SE04.AddictionStart == 0 )
set SE04.AddictionStart to 1
SetStage SE04 40
endif
endif

;Set FelldewState to 1, resetting the whole process of withdrawl
;if FelldewState is already 1, don't do anything
;picking up Chalice sets FelldewState to -1, making this block impossible

if ( GetQuestRunning SE04 == 1 )
if ( SE04.FelldewState > 1 )
set SE04.FelldewState to 1
set SE04.timeractive to 1
set SE04.felldewtimer to 45
Player.addspell SE04FelldewEuphoria1
Player.addspell SE04FelldewEuphoria2
Player.removespell SE04FelldewWithdrawl
Player.removespell SE04FelldewWithdrawl2
Player.removespell SE04FelldewWithdrawl3
Player.removespell SE04FelldewWithdrawl4
Player.removespell SE04FelldewWithdrawl5
endif
endif

;if player has picked up Chalice, add different spell effects

if ( SE04.FelldewState == -1 )
player.addspell SE04FelldewEuphoria3
set SE04Fin.state to 1
endif



End
 
@Knochenkeule: Sorry, hab mich nur im Forum hier verschrieben, meine natürlich SetActorRespawns 1. Aber trotzdem funktioniert das nicht. Die Leichen verschwinden einfach nicht.
 
@Dirrahoe:
Danke ich werde es bei der nächsten gelegenheit testen :)
Doch ein Problem bie einem Script alles die Barrieren werden enable geschaltet doch nicht der rest:
Code:
scn FNCastelBarierre

short triggered

Begin Ontrigger Player

     if Triggered == 0

          FNCastelSpiderSpigganBaby01.enable
          FNCastelSpiderSpigganBaby02.enable
          FNCastelSpiderSpigganBaby03.enable
          FNCastelSpiderSpigganBaby04.enable
          FNCastelSpiderSpigganBaby05.enable
          FNCastelSpiderSpigganBaby06.enable
          FNCastelSpiderSpigganBaby07.enable
          FNCastelBarierre01.enable
          FNCastelBarierre02.enable
          FNCastelBarierre03.enable
          FNCastelBarierre04.enable

          set triggered to 1

     endif

End

Begin GameMode

     if ( FNCastelSpiderSpigganBaby01.GetDead == 1) && (FNCastelSpiderSpigganBaby02.GetDead == 1) && (FNCastelSpiderSpigganBaby03.GetDead == 1) && (FNCastelSpiderSpigganBaby04.GetDead == 1) && (FNCastelSpiderSpigganBaby05.GetDead == 1) && (FNCastelSpiderSpigganBaby06.GetDead == 1) && (FNCastelSpiderSpigganBaby07.GetDead == 1) 
 
 
          FNCastelBarierre01.disable
          FNCastelBarierre02.disable
          FNCastelBarierre03.enable
          FNCastelBarierre04.enable

     endif

End

Bitte um Hilfe! :)

EDIT: wenn es hilft die FNCastelSpiderSpigganBaby01 und so sind Kreaturen.
Ich habe das chon mit mehreren Kraturen probirt ab nicht half.
Lg yves
 
Zuletzt bearbeitet:
@Knochenkeule: Sorry, hab mich nur im Forum hier verschrieben, meine natürlich SetActorRespawns 1. Aber trotzdem funktioniert das nicht. Die Leichen verschwinden einfach nicht.

Das Script liegt auf einem Zauber oder?

Dann probiers mal so:

Code:
scn ...

ref target 

Begin ScriptEffectStart
set target to getself
If target.GetDead == 1
target.disable
target.SetActorRespawns 1
endif
end
 
  • Like
Reaktionen: bjoernret
Danke. Werde es mal ausprobieren.

Edit: Funktioniert immer noch nicht :cry:

Edit 2: Jetzt hats doch geklappt. Ich hab vergessen, die Änderungen zu speichern :oops:

Nochmals: Danke!
 
Zuletzt bearbeitet:
@Dirrahoe:
Danke ich werde es bei der nächsten gelegenheit testen :)
Doch ein Problem bie einem Script alles die Barrieren werden enable geschaltet doch nicht der rest:
Code:
scn FNCastelBarierre

short triggered

Begin Ontrigger Player

     if Triggered == 0

          FNCastelSpiderSpigganBaby01.enable
          FNCastelSpiderSpigganBaby02.enable
          FNCastelSpiderSpigganBaby03.enable
          FNCastelSpiderSpigganBaby04.enable
          FNCastelSpiderSpigganBaby05.enable
          FNCastelSpiderSpigganBaby06.enable
          FNCastelSpiderSpigganBaby07.enable
          FNCastelBarierre01.enable
          FNCastelBarierre02.enable
          FNCastelBarierre03.enable
          FNCastelBarierre04.enable

          set triggered to 1

     endif

End

Begin GameMode
[COLOR="Red"]if triggered == 1[/COLOR]
     if ( FNCastelSpiderSpigganBaby01.GetDead == 1) && (FNCastelSpiderSpigganBaby02.GetDead == 1) && (FNCastelSpiderSpigganBaby03.GetDead == 1) && (FNCastelSpiderSpigganBaby04.GetDead == 1) && (FNCastelSpiderSpigganBaby05.GetDead == 1) && (FNCastelSpiderSpigganBaby06.GetDead == 1) && (FNCastelSpiderSpigganBaby07.GetDead == 1) 
 
 
          FNCastelBarierre01.disable
          FNCastelBarierre02.disable
          FNCastelBarierre03.enable
          FNCastelBarierre04.enable

     endif
[COLOR="Red"]set triggered to 2
endif[/COLOR]
End

Bitte um Hilfe! :)

EDIT: wenn es hilft die FNCastelSpiderSpigganBaby01 und so sind Kreaturen.
Ich habe das chon mit mehreren Kraturen probirt ab nicht half.
Lg yves

Mit fällt auf, dass du zwei Referenzen zwei Mal enablest - einmal im onTrigger-Block und einmal im GameMode-Block. Woran es liegt, weiß ich allerdings nicht. Aber versuch eventuell mal, den GameMode-Block durch eine weitere Condition ("if triggered == 1") einzuschränken (habs rot markiert)...

Ps: Wo findet man im CS (unsichtbare) "Barrieren"?
 
Du musst im Questfenster einen Haken bei
Startgame Enabled oda so machen, dann
startet der Quest automatisch. Als Script würde
das ganze so aussehen:

Code:
Begin OnLoad
 StartQuest [QuestID]
End

Also, das mit StartGameEnabled im Questfenster hab ich schon versucht -> klappt nücht. Das mitm Skript probier ich ma. :-D
edit/ klappt nich
 
Zuletzt bearbeitet:
So funktioniert es lieder auch nicht :(
Code:
scn FNCastelBarierre

short triggered

Begin Ontrigger Player

     if Triggered == 0

          FNCastelSpiderSpigganBaby01.enable
          FNCastelSpiderSpigganBaby02.enable
          FNCastelSpiderSpigganBaby03.enable
          FNCastelSpiderSpigganBaby04.enable
          FNCastelSpiderSpigganBaby05.enable
          FNCastelSpiderSpigganBaby06.enable
          FNCastelSpiderSpigganBaby07.enable
          FNCastelBarierre01.enable
          FNCastelBarierre02.enable
          FNCastelBarierre03.enable
          FNCastelBarierre04.enable

          set triggered to 1

     endif

End

Begin GameMode
if triggered == 1
     if ( FNCastelSpiderSpigganBaby01.GetDead == 1) && (FNCastelSpiderSpigganBaby02.GetDead == 1) && (FNCastelSpiderSpigganBaby03.GetDead == 1) && (FNCastelSpiderSpigganBaby04.GetDead == 1) && (FNCastelSpiderSpigganBaby05.GetDead == 1) && (FNCastelSpiderSpigganBaby06.GetDead == 1) && (FNCastelSpiderSpigganBaby07.GetDead == 1) 
 
 
          FNCastelBarierre01.disable
          FNCastelBarierre02.disable
          FNCastelBarierre03.disable
          FNCastelBarierre04.disable

     endif
set triggered to 2
endif
End
 
Also, das mit StartGameEnabled im Questfenster hab ich schon versucht -> klappt nücht. Das mitm Skript probier ich ma. :-D
edit/ klappt nich

"StartGame Enabled" kann auch nicht klappen. Das heißt das der Quest bei Neustart startet. Mein Tipp in dieser Situation wäre:
Code:
scn xxxx

short started

begin Gamemode
  if started == 0
    setstage xxx yy
    set started to 1
  endif
 end

Das ganze als Questskript machen und es müsste funktionieren.
 
"StartGame Enabled" kann auch nicht klappen. Das heißt das der Quest bei Neustart startet.

Dem muss ich wiedersprechen.
Siehe hier:
If we add a mod that is START GAME ENABLED, it will be up and running as soon as a user loads it. We need to be aware of the consequences of this in terms of scripting. If we choose not to check this box, the quest will remain inactive until we use the correct Script command (StartQuest or StartStage) to set it up and running.
 
Also die Barrieren erscheinen
Doch die Monster nicht. Und ob das funktioniert wenn man die Monster töttet weiss ich nicht da die monster ja nicht erscheinen.
mfg yves
 
Ich kann dir jetzt nur eine andere Lösung vorschlagen.
Du erstellst eine neue Interiorcell, in der einfach nur irgendein Teil steht, auf dem du die Kreaturen platzierst.
Dann packst du da, wo der Kampf stattfinden soll, für jede Kreatur einen XMarker hin.

Auf Befehl werden dann die Kreaturen zu den Marker (denen musst du eine Ref-ID geben) teleportiert.

Als Beispiel:
FNCastelSpiderSpigganBaby01.moveto XMarker
 
Also StartGame Enabled klappt nicht..
Script müsste klappen - hatte noch keine Lust zu testen :roll:

Aber nochmal ne Frage ich weiß den Skript grad nich wenn man etwas kaufen will durch ne Topic. Als Skript hatte ich immer sowas:
Code:
player.additem xxx y
player.removeitem Gold001 xxx

da wird aber nur das Gold abgezogen wenn du was hast, wenn du z.b. kein Gold hast wird dir nichts abgezogen - aber das zu kaufende Item bekommt man trotzdem.

Denke mir dass es eigentlich ein ganz simpler Skript ist , ich aber zu blöd bin. :(

(irgendwas mit "if" ^^)