Construction Set Skriptthread zum Construction Set

schade, dann passt Thunderstorm...

hauptsache, das Wetter ist bei der Ankunft in Ordnung...
wow, ich hätte echt nicht gedacht, dass ich diese Scripts so schnell zusammenbekomme, vielen Dank, ihr habt echt ganz schön was gut bei mir ;)
ich hatte eigentlich vor zuerst die Exterior fertigzumachen, bevor ich mit Quests und so loslege...deswegen wird es wohl noch eine Weile dauern, bis ich die Scrpts richtig testen werde...ich melde mich dann auf jeden Fall nochmal :)

eine Frage noch, Kahmul
ist bei deinem Script dieser "Blackscreen" dabei? ich kan nzwar ungefähr ablesen, was alles mit dem Script gemacht wird, nur den Blackscreen hab ich nicht gefunden :?
 
ich hab leider kein OBSE...wills einfach nich haben xD also kann ich den vorgegebenen befehl nicht benutzen.und das mit dem blackmask ist auch etwas schwerer als gedacht-.-man sieht immer noch teile vom boden durchschimmern...ich resigniere zwar nicht aber hab jetzt doch noch andere dinge zutun bekommen...das ganze muss also warten oder von jmd anderem übernommen werden
 
  • Like
Reaktionen: Big Little
Bei meinem Script ist jetzt nicht der Blackscreen dabei, aber ich wüsste, wie man das vielleicht regeln könnte. :?
Ich editier es jetzt mal hinein:

Du musst eine leere Zelle (Dummy-Cell) erstellen und einen Marker hineinsetzen. Diesen gibst Du noch eine Referenz. Dasselbe machst Du mit einem 2. Marker den Du an den Strand legst, an dem der Spieler nachher liegen soll. Dann schreibst Du das Quest-Script so:

Code:
SCN ...


Short Once
Short Frames

Long Key

Float fQuestDelayTime


Begin GameMode

if(fquestdelaytime)
     set fquestdelaytime to 0.01
endif

 if(player.getinworldspace <worldspace>) && (once == 0)
      set once to 1
 endif

   if(once == 0)
       return
 elseif(once == 1)
     disableplayercontrols
     player.removeallitems <sack-ref>
     Player.moveTo <MarkerInCell>
     set once to 2
   elseif(once == 2)
       set frames to (frames +1)
      if(frames < 300)
          set key to getcontrol 14
         if(isthirdperson)
              tapkey key
         endif
          disablekey key
          disablemouse
        return
    elseif(frames >= 300)
         player.modAV2 Fatigue -5000
         player.moveTo <MarkerAmStrand>

         releaseweatheroverride
         setweather <wetterID>

         MessageBox "Bla"
         set once to 3
  elseif(once == 3)
     set frames to (frames +1)
      if(frames < 800)
           player.modAV2 fatigue -5000
          return
    elseif(frames >= 800)
        enablekey key
        enableplayercontrols
        enablemouse

        player.modav2 fatigue +5000
        set frames to 0
        set once to 3
        set key to 0

        stopquest <questID>
       return
      endif
   endif

end
Da eine leere Zelle bekanntlich nur schwarz ist, sieht der Spieler nichts. Ich hab den Spieler sozusagen 3 Sekundne nichts sehen lassen, aber das kann man ja noch ändern.
 
Zuletzt bearbeitet:
In einer Quest von mir soll der Spieler nach 24 Stunden wieder kommen, und dann geht es erst weiter...

Ich hab in das Result Script des Dialoges "set <QuestID>.fQuestDelayTime to 0.5" geschrieben (wie es Bethesda auch gemacht hat, z.B. bei der Quest "Hintergedanken" der Magiergilde), aber das CS erkennt den Befehl nicht...

Was habe ich falsch gemacht?
 
Du musst in das Script der Quest eine Variable mit dem Namen "fQuestDelayTime" als Float deklarieren, wie ich es in dem Beitrag über Dir gemacht habe. ;)
 
Skriptanfrage

Hallo,
ich arbeite im Moment an einer Maglite (Taschenlampe) für Oblivion, da mir aufgefallen ist, dass es manchmal ziemlich dunkel ist :lol: und Fackeln nicht ausreichen. Infravision und Licht-Zauber finde ich blöd.

Dazu brauche ich ein Skript, das bewirkt, dass Die Lampe leuchtet.

Ist wahrscheinlich ziemlich easy, aber ich hab null Erfahrung in sowas :?

Hoffe auf schnelle Hilfe!

Lg OblivionBee

EDIT: Ich wollte jetzt nicht die aktuelle Frage unterbrechen :D
Aber ich hoffe ihr beantwortet mein pls
 
Zuletzt bearbeitet:
@ Dunkle Schwester:

Ich würde es so machen:

Code:
SCN ...

Float fQuestDelayTime

Begin GameMode

if(fquestdelaytime)
     set fquestdelaytime to 0.001
endif

; do stuff

end
Ich würde Dir übrigens empfehlen, Dich ein wenig auf dem CS-Wiki umzuschauen. Da stehen auch alle Skript-Befehle aus Vanilla, ein Teil von den OBSE-Befehlen und noch von Pluggy ein paar.
Außerdem steht dort drin so ziemlich alles über das CS. ;)

@ OblivionBee:

Ich weis gerade überhaupt nicht, was Du meinst. :eek:
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Darth Andauril
@ OblivionBee:

Ich weis gerade überhaupt nicht, was Du meinst. :eek:

Naja, der Char soll die Lampe inner Handhaben und sie soll Den Bereich, wo man hinguckt erleuchten (wie wenn du jetzt mit ner Taschenlampe in irgendeine Richtung leuchtest)

Hoffe, du hast das verstanden
hoffe, dass sowas überhaupt geht:?

EDIT: @ Kahmul
Hast du hier nochmal reingeschaut? Wäre echt super nett von dir^^
 
Zuletzt bearbeitet:
"Do Stuff" heist soviel wie "da kannste dein Zeug reinschreiben". ;) Natürlich musste auch das ";" löschen. Das ist nur dazu da, dass man sich Notizen im Skript machen kann.
Du könntest es natürlich so stehen lassen, aber was bringt Dir dann das Skript? :-D
 
  • Like
Reaktionen: Darth Andauril
Ich habe einen Quest gemacht der heißt: töte NPC XY.

Auf dem NPC liegt folgendes Script:

ScriptName Meinspript

Begin OnDeath

if getstage "MeinQuest" 10

setstage "MeinQuest" 12

else

setstage "MeinQuest" 99

endif
End

Der effekt soll sein:

Wenn der Spieler den Auftrag zum Mord erhalten hat (=Queststage 10) und den NPC tötet erhält er eine meldung a la "NPC getöten, hol dir die belohnung ab" (=Queststage 12)
Tötet er ihn aber vor dem Auftrag soll es eine Meldung geben a la "NPC getötet, das wars dann mit Quest" (=Questtsage 99)

Wenn ich das ganze ohne If abfrage mache klappt es (also der Spieler erhält die "hol die Belohung" Meldung). Mit If abfrage passiert weder bei vorzeitigem töten noch bei auftragsgemäßem töten was. Warum?
 
Zuletzt bearbeitet:
@ DarkKnightWalker:

Du musst es so schreiben:

Code:
SCN ...

Begin OnDeath Player

if(getstage <quest> == 10)
     setstage <quest> 12
    return
 else
         setstage <quest> 99
        return
endif

end
@ OblivionBee:

Du gehst unter Lights und erstellst eine neue Fackel. Und die gibst Du Dir dann per Script ins Inventar oder legst sie einfach in die Welt. ;)
 
Ach so, ich Deppp habe die <> Zeichen für einen teil des Scripts gehalten. :oops:


Gleich die nächste Frage hintendran: Ich möchte das ein Script startet, sobald ich einen bestimmten Dialog angeklickt habe. Das mche ich dann, nehme ich mal an, im result script eben dieses dialoges. Wie lautet er Befehl (startsrcipt oder sowas?) und mit welchem "Begin" befehl sollte das script anfangen (welches auf einem NPC liegt)?
 
Zuletzt bearbeitet: