Construction Set Skriptthread zum Construction Set

Vielleicht könnte dir ein Hacken bei Say once was bringen,dann sagt der Npc es nur einmal.Ansonsten gibts keinen Skriptbefehl soweit ich weiß,allerdings gibt es bestimmt noch eine andere möglichkeit.
 
mit sayonce funzts nicht, er sagt trotzdem noch das selbe
das einzige was ich noch wüsste wär ne Globale Variable, die dann immer erhöht wird.
und dann wie Yves schon sagte unter conditions die Variable einstellen
 
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??
 
Hallo Leute, ich suche einen scriptbefehl für eine If-Abfrage
und zwar will ich, dass die abfrage nur dann erfolgreich ist, wenn der player eine bestimme Rasse spielt. z.B startet die quest nur, wenn der spieler ein Dunmer ist. Nur finde ich im Cs-Wiki keinen passenden befehl dazu

Bisher sieht mein Script so aus:

Begin GameMode

if [Hier muss eben die Abfrage hin]
if init == 0
setstage Quest001 10
set init to 1
additem Brief001
endif
endif

end
 
gleich mal ausprobieren

hmm, das scheint zu funktionieren danke
allerdings ist da ein anderes problem
er erkennt das "set init to 1", was ja eigentlich verhindern soll dass das script die ganze zeit wieder startet, gibts da noch ne andere möglichkeit für?
Das ist ein Questscript und die Quest soll eben dann starten wenn man diese bestimmte rasse spielt
 
Zuletzt bearbeitet:
Das "set init to 1" wird nicht angenommen?
Kommt eine Fehlermeldung oder meinst du das ingame?

Hast du es vorher als short deklariert?

Ansonsten schreibs mal so:

Code:
scriptname ...

short

Begin GameMode
if (player.GetIsRace [RaceID] == 1) && (init == 0)
setstage Quest001 10
additem Brief001
set init to 1
endif
end
 
  • Like
Reaktionen: Standalone
Versuchs mal so


Code:
scn [Scriptname]

short init 

begin GameMode
            if (player.GetIsRace [RaceID] == 1) && (init == 0)
                    setstage Quest001 10
                    player.additem Brief001
                    set init to 1
            endif

end
Für [Scriptname] ein beliebigen Namen einsetzen, muss aber Unique sein

Für [RaceID] die ID der Rasse eingeben (Im CS mal unter Gameplay -> Race Gucken, da müsstes irgendwo stehen
 
  • Like
Reaktionen: Standalone
Danke an alle für eure Hilfe, ich werd mal ausprobieren ob das script ingame funktioniert und dann bin ich euch auf ewig dankbar :-D

EDIT:
Startet das Script mit "GameMode" automatisch oder muss das noch einen Scriptträger besitzen?
 
@Standalone: bin mir da nicht so sicher, korrigiert mich wenns falsch ist, aber ich glaube das script braucht keinen Träger. wenn doch, setz einfach irgendwo nen static hin in ne neue cell
 
  • Like
Reaktionen: Standalone
Nein, es braucht keinen Träger in dem Sinne, ist ja als Questscript gedacht.
Es muss halt nur auf einer Quest liegen. Die brauch nicht mal Stages oder irgendwas anderes, nur das Script.
 
Also soll ich zusätzlich zu der normalen Quest(auf der schon ein script liegt) noch eine "Script-Quest" erstellen, die dann Träger des Scriptes ist? Muss die Quest in irgendeiner Form dann gestartet werden?