Construction Set Skriptthread zum Construction Set

Du müsstest das ganze auch in das andere Script einfügen können. Einfach als neuen Block, "short init" nicht vergessen. (Falls die da schon für was anderes benutzt wird, dann ändern.)
 
Schau mal in das Script, dort hast du selber "Short init" stehen. Das ist die Variable, die du benutzt, damit das ganze nur einmal passiert.
 
na ich hab jetzt das eine script:

scn Schattenschuppenscript

short init

begin GameMode
if (player.GetIsRace Schattenschuppe == 1) && (init == 0)
setstage Schattenschuppequest 10
additem SchattenschuppenBrief 1
set init to 1
endif

end

und das quest script

scn SchattenschuppeQuestScript

begin GameMode
if ( GetStage SchattenschuppeQuest == 10 )
if ( RufioRef.getdead == 1 )
SetStage Schattenschuppequest 100
endif
endif

end
 
Eigentlich sollte es klappen, wenn du das so zusammenfügst:

Code:
scn SchattenschuppeQuestScript

short init


begin GameMode
if ( GetStage SchattenschuppeQuest == 10 )
if ( RufioRef.getdead == 1 )
SetStage Schattenschuppequest 100
endif
endif

if (player.GetIsRace Schattenschuppe == 1) && (init == 0)
setstage Schattenschuppequest 10
additem SchattenschuppenBrief 1
set init to 1
endif

end

Wenn das nicht klappt, kannst du es auch mal so probieren:
Code:
scn SchattenschuppeQuestScript

short init

begin GameMode
if ( GetStage SchattenschuppeQuest == 10 )
if ( RufioRef.getdead == 1 )
SetStage Schattenschuppequest 100
endif
endif

end 

begin GameMode
if (player.GetIsRace Schattenschuppe == 1) && (init == 0)
setstage Schattenschuppequest 10
additem SchattenschuppenBrief 1
set init to 1
endif

end
 
  • Like
Reaktionen: Standalone
Das Script funktioniert jetzt, mal sehen ob es ingame auch funktioniert.

EDIT: Das Script funktioniert perfekt ich weis gar nicht wie ich euch allen (vor allem Knochenkeule) danken soll :-D ich würd ja bei euch allen zweimal den Danke-Button drücken, aber das geht leider nicht ;)
 
Zuletzt bearbeitet:
Zeit verstreichen lassen

also. ich wollte wissen, wie man in einem Script Zeit verstreichen läst
(beispiel: man aktiviert etwas, der PC lädt kurz und 10 Stunden sind rum. ist also fast so wie warten.)
 
Hallo,

habe ein Problem mit einem Türscript.

Mir liegt folgendes Script vor:

scn 00TuerScript

Begin OnActivate
If player.GetInFaction [Faction-ID] == 1
MessageBox "Tretet ein, geehrter Gast!"
Activate
else
MessageBox "Ihr gehört nicht zur Fraktion, schert euch weg!"
endif
end

Das soll aber dahingehend geändert werden, das der Spieler keine Bedingung erfüllen soll, es soll nur beim Betätigen der Tür die Meldung kommen in einer Messagebox mit folgendem Inhalt:

Die Gegenstelle des Transmitters ist zerstört. Eine Reise ist leider nicht möglich.

Wie bitte muß das Script oben dafür geändert werden?

Danke schon mal
 
wenn ich deine Frage jetzt richtig verstehe so:

Code:
Begin OnActivate
MessageBox "Die Gegenstelle des Transmitters ist zerstört. Eine Reise ist leider nicht möglich."
return
end
 
  • Like
Reaktionen: 1 Person
Alle NPC's wiederbeleben

Weiß keiner, ob das Möglich ist?

Falls es übersehen wurde:

Frage: Gibt es eine Möglichkeit alle NPC's (auch die aus Mods) wiederzubeleben?
 
Kann mir bitte einer bei dem Hier noch helfen? Wurde anscheinend über die dauer übersehen:

Ich hab das so vor, das das schwert die verzauberung hat, aber diese aus ist, also nicht funktioniert. Dann will ich per spell diesen aktivieren, aber nur für eine benutzung. Ich hätte da auch schon eine idee wie das einfach wäre. Kann man die Verzauberungsladung per spell aufladen? Dann mach ich einfach ne ladung von sagen wir mal 1000 der spell auf der waffe braucht genau diese menge und der spell lädt um 1000 auf. aber wie?

scn SoulReaverScript

ref Target
ref self

short Souls

begin ScriptEffectStart

set target to GetSelf
set self to GetSelf

end

begin ScriptEffectUpdate

if ( Target.GetDead == 1 )

Set Souls to ( Souls + 1 )

endif

end


So hab ich das skript bis jetzt, aber es scheint nicht zu funktionieren. Die variable habe ich gegen eine in einem Questskript ausgetauscht damit auch andere skripts darauf zugreifen können. das skript liegt auf ner waffe. Kann mir einer sagen was ich machen muss??
 
Ich habe gerade mir mal die Mod PlayableSheogorath im Cs angesehen und der Befehl zum töten aller "Actors" ist "killallactors". Also denke ich sollte es solch einen Befehl auch geben um alle "Actors" wiederzubeleben.

Auf die schnelle würde ich sagen wäre es dann "resurrectallactors". Aber im Cs geht dieser Befehl nicht. Ich schau mal ob ich es herausfinde. ;)

Edit: So einen Befehl gibt es anscheind nicht. Dann müsste man jeden Npc einzeln mit "resurrect" wiederbeleben.

Mfg Master of Worlds
 
Zuletzt bearbeitet:
  • Like
Reaktionen: bjoernret
Gibt es denn keine andere Möglichkeit? Ich könnte ja die NPC's auf Respawnen stellen, aber da sind nicht die NPC's aller Mods enthalten.
 
Kann mir bitte einer bei dem Hier noch helfen? Wurde anscheinend über die dauer übersehen:

Ich hab das so vor, das das schwert die verzauberung hat, aber diese aus ist, also nicht funktioniert. Dann will ich per spell diesen aktivieren, aber nur für eine benutzung. Ich hätte da auch schon eine idee wie das einfach wäre. Kann man die Verzauberungsladung per spell aufladen? Dann mach ich einfach ne ladung von sagen wir mal 1000 der spell auf der waffe braucht genau diese menge und der spell lädt um 1000 auf. aber wie?

scn SoulReaverScript

ref Target
ref self

short Souls

begin ScriptEffectStart

set target to GetSelf
set self to GetSelf

end

begin ScriptEffectUpdate

if ( Target.GetDead == 1 )

Set Souls to ( Souls + 1 )

endif

end


So hab ich das skript bis jetzt, aber es scheint nicht zu funktionieren. Die variable habe ich gegen eine in einem Questskript ausgetauscht damit auch andere skripts darauf zugreifen können. das skript liegt auf ner waffe. Kann mir einer sagen was ich machen muss??

Ich kann dazu im Moment nicht viel sagen, weilich deine Absicht nicht ganz verstehe, aber

-Wenn du eine Variabele nimmst, die in einem Anderen Script auch vorkommt, dann kann dieses Script NICHT darauf zugreifen, es sei den, es ist eine Global (ist es hier glaub ich nicht)

Es gibt einen Grund, warum die Script nichts macht:

1.Letztendlich wird die Variabele Souls um 1 erhöht, was bringt das???

2.Ebenso die Variabele Self wurde einfach auf GetSelf gesetzt, ohne um sie nocheinmal zu verwenden, beide VAriabelen sind denke ich überflüssig

3.Das Ganze ist auf ein Schwert gelegt???
ist also ein Objectscript???
Der Block on ScriptEffectStart wird ausgeführt, wenn ein Scriptzauber sein Ziel findet. Daher müsste der Script als Spellscript definiert werden.
Auf eine Waffe geht dass nicht

ICh frage mich immer noch, was der Script machen soll, wenn du mir es nochmal genau sagst, dann kann ich dir Weiterhelfen
 
Also. Das mit dem Spell ist schonma ganz hilfreich. Was müsste ich fürn beginn machen damit es bei ner waffe klappt? zweitens die Variable ist ne questvariable und ja die soll sich bei jedem Kill um 1 erhöhen. Durch ein anderes skript wird das schwert dann leveln je nachdem wie viele kills es hat. Es kann sein das unnütze zeilen dabei sind weil mir jemand ne vorlage gegeben hat die eig. ein bisschen was anderes bewirkt und ich das umgeschrieben hab. Also stimmt schon ich will ein skript auf ner waffe das dann eine variable mit jedem kill eins hochzählt.