Construction Set Skriptthread zum Construction Set

Ähm... Wieso soll den der Spieler bewegt werden? Wenn Äpfel erscheinen sollen, dann geht das so:

scn Irgendwas

begin OnActivate
[IDApfel1].enable
[IDApfel2].enable
[IDApfel3].enable
[IDApfel4].enable
usw.
end
 
Hallo,
Ich hab' gearde ein problem, und zwar, wie schaffe ich es, das bestimmte Kreaturen und Gegenstände nur in der Zeit von 21.00 - 06.00 Enabled werden?
(Ich hasse "Zeitscripts"):lol:
 
Ähm... Wieso soll den der Spieler bewegt werden? Wenn Äpfel erscheinen sollen, dann geht das so:

scn Irgendwas

begin OnActivate
[IDApfel1].enable
[IDApfel2].enable
[IDApfel3].enable
[IDApfel4].enable
usw.
end

Das funktioniert aber nicht :(

Die Äpfel sollen bei einem XMarker erscheinen, wenn man einen Schalter aktiviert hat.

Es heisst auch die ganze Zeit, dass "Apple" keine Referenz sei :(

Gibt es da keine andere Möglichkeit?
 
Hallo,
Ich hab' gearde ein problem, und zwar, wie schaffe ich es, das bestimmte Kreaturen und Gegenstände nur in der Zeit von 21.00 - 06.00 Enabled werden?
(Ich hasse "Zeitscripts"):lol:

Code:
scn QuestScript

Begin Gamemode
 if ( GetCurrentTime < 21 ) && ( GetCurrentTime > 6 )
  if ( [Referenz].GetDisabled == 0 )
   [Referenz].Disable
  endif
 else
  if ( [Referenz].GetDisabled )
   [Referenz].Enable
  endif
 endif
End

Das funktioniert aber nicht :(

Die Äpfel sollen bei einem XMarker erscheinen, wenn man einen Schalter aktiviert hat.

Es heisst auch die ganze Zeit, dass "Apple" keine Referenz sei :(

Gibt es da keine andere Möglichkeit?

Liegt daran, dass Apple die ObjectID ist und keine Referenz. ;)

Du hast jetzt 2 Möglichkeiten. Wenn die Äpfel nur beim ersten aktivieren erscheinen sollen nimmst du folgendes Script:
Code:
scn Viech

Begin OnActivate
 if ( [Referenz des Parent-Apfels].GetDisabled )
  [Referenz des Parent-Apfels].Enable
 endif
End
Die Äpfel müssen dazu schon vorher an der Stelle wo sie erscheinen sollen im CS platziert werden und einen Hacken bei Initially Disabled & Persistent Reference bekommen.
Einem Apfel musst du noch eine ID geben (die dann anstelle von [Referenz des Parent-Apfels] im Script verwenden) und ihn allen anderen als Parent zuweisen.




Falls das ganze mehrfach funktionieren soll wirst du leider nicht um die Benutzung von PlaceAtMe herumkommen. Das wäre dann folgendes Script:
Code:
scn Viech

Begin OnActivate
 [Referenz, wo die Äpfel erscheinen sollen].PlaceAtMe Apple, [Anzahl], [Entfernung], [Richtung]
End
Die Richtung ist abhängig von der "Zielreferenz" und deren Blickrichtung.
0 entspricht vorne, 1 hinten, 2 links & 3 rechts.
 
Schade, dass es nur mit PlaceAtMe mehrmals funktioniert :(

Ich hatte gehofft, dass es auch funktioniert Äpfel mehrmals bei einem XMarker erscheinen zu lassen.

Aber nichts destotrotz, danke für die Hilfe :)

Wünsche euch allen noch eine schöne Woche.
 
Hallo,

gibt es einen Skript, der bewirkt, dass Lampen ( z.B. Straßenlaterenen) nur nachts, also beispielsweise von 20 Uhr bis 6 Uhr brennen?
 
Gibts nich sowas schon?

Die brennen doch nur Nachts...

oder meinste jezz in einer eigenen komplett neuen Welt?


(wenn ich mich irre sry)
 
Moinsen!
Brauche folgenden Script:

Der Spieler soll ein Buch lesen, wodurch folgendes geschieht:

Er wird in ein bestimmtes Gebiet teleportiert (movetomarker ^^)
und nun die Frage: Alle seine Gegenstände sollen entfernt und gespeichert werden, (Denke mal, ich muss eine Truhe unter der Erde machen, in die alle Gegenstände reinkommen) wie entferne ich alle seine Gegenstände (ohne Q-Gegenstände natürlich :) )? Wie transportiere ich sie dann in die Truhe?
Wäre ja ziemlich bescheuert, wenn ich player.removeitem und additem in die truhe machen müsste, da ich JEDE ID von Gegenstand hinschreiben müsste :roll:
 
Dafür kannst du notfalls Verganon fragen bzw sein Script dafür aus der Mod '"Hinter der Tür" benutzen, da passiert das ja auch. Wie das genau geht, weiß ich nicht, aber das läuft nicht über die IDs. Mit nem Container allerdings schon.
 
Hallo . . .
Ich suche einen Script, (vielleicht kann man das auch wo einstellen. . . ich weiß es nich :D) der dem spieler bei beginn der Mod einen Zauber hinzufügt.

Danke schonmal :)
 
Moinsen!
Brauche folgenden Script:

Der Spieler soll ein Buch lesen, wodurch folgendes geschieht:

Er wird in ein bestimmtes Gebiet teleportiert (movetomarker ^^)
und nun die Frage: Alle seine Gegenstände sollen entfernt und gespeichert werden, (Denke mal, ich muss eine Truhe unter der Erde machen, in die alle Gegenstände reinkommen) wie entferne ich alle seine Gegenstände (ohne Q-Gegenstände natürlich :) )? Wie transportiere ich sie dann in die Truhe?
Wäre ja ziemlich bescheuert, wenn ich player.removeitem und additem in die truhe machen müsste, da ich JEDE ID von Gegenstand hinschreiben müsste :roll:

RemoveAllItems sollte deinen Wünschen entsprechen. ;)

Hallo . . .
Ich suche einen Script, (vielleicht kann man das auch wo einstellen. . . ich weiß es nich :D) der dem spieler bei beginn der Mod einen Zauber hinzufügt.

Danke schonmal :)

Code:
scn QuestScript

Begin Gamemode
 Player.AddSpell [SpellID]
 StopQuest [QuestID]
End
 
  • Like
Reaktionen: Kappes und Timäää
scripts gibts so ziemlich für alles aber kan man den zauber net auch so einstellen ohne scripts?? das geht doch man muss nur im CS bei dem gewünschten Spell "PC Start Spell" abhacken oder irre ich mich da jetzt :huh:

MFG Raist

EDIT: Oh sry hab überlesen das es für den beginn einer mod ist sorryyyyy :oops::oops::oops::oops::oops:
 
danke, aber iwie wills nicht -.- obwohl es eigentlich sollte...


kanns sein, dass ich vllt irgendwas elemtares falsch mache, weshalb die skripte von der waffe irgendwie ignoriert oder so?
Oder kann das mit anderen Mods zu tun haben?

Nun ja, also an anderen Mods (zumindest die, die für solche Störungen in Frage kommen könnten) liegts nicht... seltsam
 
Folgende Frage:
Wäre es nicht möglich, eine Art von Uncapper zu erstellen, die alles bis ins unbegrenzte hebt?
Euch mag es sicher schon aufgefallen sein: Wenn die Skillpunkte / Attribute magisch gesteigert werden, lässt sich dies bis ins Endlose tun. (Beispiel: Stärke: 100 +1337)

Nun die Skript-Frage:
Wie ließe es sich scripten, dass ab 100 (bei jeweiligem Attribut und Skill) weitere Skillpunkte magisch hinzugefügt werden und es sich somit weiter bis ins unendliche steigern lässt?

Problem wäre da nur: Wenn jemand dann auf einmal 50 Punkte bekommt, und der war vorher auf 99, so gehen 49 Punkte verloren, oder?

MFG Kappes

PS: Es ist mir sowas von schießegal, ob OBSE, Pluggy oder sonstiger Kram benutzt werden muss ^^
Btw. Ich kenne Uncapper, aber damit läuft alles nur bis 200!
 
Zuletzt bearbeitet:
Es geht auch nur bis 250 bei den Skillpunkten, dies hat aber überhaupt keinen sinn, da der Unterschied zwischen 100 und 250 minimal ist.
 
@Skriptmaster, hatte eigentlich niemand eine Antworte auf meine "zerbrochene Gegenstände" Frage? Ich möchte, dass ein Gegenstand, wenn er den Boden berührt, in einem Effekt (Staubwolke; sie verdeckt den Austausch) ersetzt wird. Und zwar durch eine andere Mesh. Es geht z.B um ein Glas, ich habe ein Glas, ein ganzes als Mesh, lasse es fallen und per Skript, also wenn es den Boden berührt, wird die Mesh durch eine zerbrochene Replacet... Geht das?
 
@Skriptmaster, hatte eigentlich niemand eine Antworte auf meine "zerbrochene Gegenstände" Frage? Ich möchte, dass ein Gegenstand, wenn er den Boden berührt, in einem Effekt (Staubwolke; sie verdeckt den Austausch) ersetzt wird. Und zwar durch eine andere Mesh. Es geht z.B um ein Glas, ich habe ein Glas, ein ganzes als Mesh, lasse es fallen und per Skript, also wenn es den Boden berührt, wird die Mesh durch eine zerbrochene Replacet... Geht das?

Das einfachste dürfte hier sein, den Krug sobald er den Boden berührt durch eine zerbrochene zu ersetzten. Problem ist nämlich, dass alle Befehle um ein Mesh auszutauschen auf alle Referenzen des Objekts zutrifft.
Ich würde folgendes ausprobieren:

Code:
scn VaseScript

short Start
float OldHeight
float StartHeight

Begin OnActivate
End

Begin Gamemode
 if ( GetContainer == [Referenz eines Trash-Containers] )
  RemoveMe
 elseif ( Start )
  if ( OldHeight <= GetPos z )
   if ( OldHeight <= ( StartHeight + [Höhe, ab der die Vase kaputt gehen soll in Units] ) )
    PlaceAtMe [Kaputte Vase], 1, 0, 0
    Activate [Referenz eines Trash-Containers]
   else
    set Start to 0
   endif
  else
   set OldHeight to GetPos z
  endif
 elseif ( StartHeight != GetPos z )
  set Start to 1
  set StartHeight to GetPos z
  set OldHeight to GetPos z
 endif
End
Wichtig dabei ist, dass die ganze Version der Vase kein Static ist, sondern theoretisch in's Inventar genommen werden kann (wird praktisch durch das Script verhindert (OnActivate-Block)).
Bei der kaputten Vase ist das egal, je nachdem was du willst.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: elveon
Hallo, ich übersetze immer wieder gerne kleiner plugins ich habe vor einiger Zeit ein Plugin übersetzt, dort war für mich aber zum ersten Mal ein Skript drin.
Ich habe die Englischen Bezeichnungen dadrin, die in " " stehen übersetzt.
Das "drücken" wird auch angenommen, der rest allerdings nicht.
scn FruitMachineMain

float timer
short init
float fQuestDelayTime ; for quest script timing
long FuseFruitStage
short open

short Stopped1
short Stopped2
short Stopped3

short Reel1Val
short Reel2Val
short Reel3Val

float NewAngle1
float NewAngle2
float NewAngle3

long Movements
short RNDmin
short RNDmax
short randVal

short NoOfCherries
short NoOfApples
short NoOfMellons
short NoOfSnails
short NoOfRings

Begin OnActivate

if open == 0 && player.GetGold > 0
playgroup forward 1
set open to 1
set init to 0
player.RemoveItem Gold001 1
endif

if player.GetGold < 1
messagebox "Du hast nicht genug Gold um zu spielen."
endif

End

Begin GameMode

if init == 0
;set the timer value
set timer to 1 ;delay
set init to 1
;set fQuestDelayTime to 1
set Movements to 0

set RNDmin to 1
set RNDmax to 14
set randVal to 0

set Stopped1 to 0
set Stopped2 to 0
set Stopped3 to 0

set NoOfCherries to 0
set NoOfApples to 0
set NoOfMellons to 0
set NoOfSnails to 0
set NoOfRings to 0

set NewAngle1 to 334
set NewAngle2 to 282
set NewAngle3 to 358

set FuseFruitStage to 10

else

if FuseFruitStage == 10 && open == 1

if timer > 0
set timer to timer - getSecondsPassed
else

set NewAngle1 to NewAngle1 + 8
set NewAngle2 to NewAngle2 + 8
set NewAngle3 to NewAngle3 + 8

if Stopped1 == 0
"010011D1".SetAngle x, NewAngle1
endif
if Stopped2 == 0
"010011D2".SetAngle x, NewAngle2
endif
if Stopped3 == 0
"01000CE7".SetAngle x, NewAngle3
endif

;if NewAngle > 2000


set Movements to Movements + 1

if Movements == 200

PlaySound DRSBarrelOpen
set Stopped1 to 1

set randVal to RNDmin + (GetRandomPercent * (RNDmax - RNDmin)) / 99

if randVal == 1
"010011D1".SetAngle x, 77
elseif randVal == 2
"010011D1".SetAngle x, 51
elseif randVal == 3
"010011D1".SetAngle x, 25
elseif randVal == 4
"010011D1".SetAngle x, 358
elseif randVal == 5
"010011D1".SetAngle x, 334
elseif randVal == 6
"010011D1".SetAngle x, 308
elseif randVal == 7
"010011D1".SetAngle x, 282
elseif randVal == 8
"010011D1".SetAngle x, 257
elseif randVal == 9
"010011D1".SetAngle x, 232
elseif randVal == 10
"010011D1".SetAngle x, 206
elseif randVal == 11
"010011D1".SetAngle x, 181
elseif randVal == 12
"010011D1".SetAngle x, 155
elseif randVal == 13
"010011D1".SetAngle x, 129
elseif randVal == 14
"010011D1".SetAngle x, 103
endif

set Reel1Val to randVal

endif

if Movements == 300

PlaySound DRSBarrelOpen
set Stopped2 to 1

set randVal to RNDmin + (GetRandomPercent * (RNDmax - RNDmin)) / 99

if randVal == 1
"010011D2".SetAngle x, 77
elseif randVal == 2
"010011D2".SetAngle x, 51
elseif randVal == 3
"010011D2".SetAngle x, 25
elseif randVal == 4
"010011D2".SetAngle x, 358
elseif randVal == 5
"010011D2".SetAngle x, 334
elseif randVal == 6
"010011D2".SetAngle x, 308
elseif randVal == 7
"010011D2".SetAngle x, 282
elseif randVal == 8
"010011D2".SetAngle x, 257
elseif randVal == 9
"010011D2".SetAngle x, 232
elseif randVal == 10
"010011D2".SetAngle x, 206
elseif randVal == 11
"010011D2".SetAngle x, 181
elseif randVal == 12
"010011D2".SetAngle x, 155
elseif randVal == 13
"010011D2".SetAngle x, 129
elseif randVal == 14
"010011D2".SetAngle x, 103
endif

set Reel2Val to randVal

endif

if Movements == 400

PlaySound DRSBarrelOpen
set Stopped3 to 1

set randVal to RNDmin + (GetRandomPercent * (RNDmax - RNDmin)) / 99

if randVal == 1
"01000CE7".SetAngle x, 77
elseif randVal == 2
"01000CE7".SetAngle x, 51
elseif randVal == 3
"01000CE7".SetAngle x, 25
elseif randVal == 4
"01000CE7".SetAngle x, 358
elseif randVal == 5
"01000CE7".SetAngle x, 334
elseif randVal == 6
"01000CE7".SetAngle x, 308
elseif randVal == 7
"01000CE7".SetAngle x, 282
elseif randVal == 8
"01000CE7".SetAngle x, 257
elseif randVal == 9
"01000CE7".SetAngle x, 232
elseif randVal == 10
"01000CE7".SetAngle x, 206
elseif randVal == 11
"01000CE7".SetAngle x, 181
elseif randVal == 12
"01000CE7".SetAngle x, 155
elseif randVal == 13
"01000CE7".SetAngle x, 129
elseif randVal == 14
"01000CE7".SetAngle x, 103
endif

set Reel3Val to randVal

set FuseFruitStage to 20

endif

endif

elseif FuseFruitStage == 20

if Reel1Val == 1 || Reel1Val == 5 || Reel1Val == 8 || Reel1Val == 11
set NoOfCherries to NoOfCherries +1

elseif Reel1Val == 2 || Reel1Val == 4 || Reel1Val == 9 || Reel1Val == 13
set NoOfApples to NoOfApples +1

elseif Reel1Val == 3 || Reel1Val == 6 || Reel1Val == 12
set NoOfMellons to NoOfMellons +1

elseif Reel1Val == 10 || Reel1Val == 14
set NoOfSnails to NoOfSnails +1

elseif Reel1Val == 7
set NoOfRings to NoOfRings +1
endif

if Reel2Val == 1 || Reel2Val == 5 || Reel2Val == 8 || Reel2Val == 11
set NoOfCherries to NoOfCherries +1

elseif Reel2Val == 2 || Reel2Val == 4 || Reel2Val == 9 || Reel2Val == 13
set NoOfApples to NoOfApples +1

elseif Reel2Val == 3 || Reel2Val == 6 || Reel2Val == 12
set NoOfMellons to NoOfMellons +1

elseif Reel2Val == 10 || Reel2Val == 14
set NoOfSnails to NoOfSnails +1

elseif Reel2Val == 7
set NoOfRings to NoOfRings +1
endif

if Reel3Val == 1 || Reel3Val == 5 || Reel3Val == 8 || Reel3Val == 11
set NoOfCherries to NoOfCherries +1

elseif Reel3Val == 2 || Reel3Val == 4 || Reel3Val == 9 || Reel3Val == 13
set NoOfApples to NoOfApples +1

elseif Reel3Val == 3 || Reel3Val == 6 || Reel3Val == 12
set NoOfMellons to NoOfMellons +1

elseif Reel3Val == 10 || Reel3Val == 14
set NoOfSnails to NoOfSnails +1

elseif Reel3Val == 7
set NoOfRings to NoOfRings +1
endif

set FuseFruitStage to 30

elseif FuseFruitStage == 30

if NoOfCherries == 2
messagebox "Du hast 2 Kirschen in einer Reihe, du gewinnst 1 Gold!"
player.additem Gold001 "1"
elseif NoOfCherries == 3
messagebox "Du hast 3 Kirschen in einer Reihe und bekommst 3 Gold!"
player.additem Gold001 "5"
elseif NoOfApples == 3
messagebox "Du hast 3 Äpfel in einer Reihe und gewinnst 10 Gold!"
player.additem Gold001 "10"
elseif NoOfMellons == 3
messagebox "Du hast 3 Melonen in einer Reihe und bekommst 20 Gold!"
player.additem Gold001 "20"
elseif NoOfSnails == 3
messagebox "Du hast 3 Schnecken, du gewinnst 50 Gold!"
player.additem Gold001 "50"
elseif NoOfRings == 3
messagebox "Du hast 3 Ringe und gewinnst 100 Gold!"
player.additem Gold001 "100"
endif

set FuseFruitStage to 40
set open to 0

endif
endif

End


Es handelt sich dabei um Fuse´s Spielmaschine. Wenn man 3 gleiche in einer Reihe hat gewinnt man etwas usw.
das fenster was sich dann aufmacht, ist aber immer noch in Englisch.

ich nutze TES4modTranslator. Ich würde meine Arbeiten als Übersetzer gerne ausweiten, müsste dafür aber wissen was ich falsch mache beim Übersetzen.


Vielen Dank für die Hilfe schoneinmal vorab.


Lieben Gruß

MC King