Construction Set Skriptthread zum Construction Set

Ich würde die OBSE-Befehle CopyEyes und SetEyes verwenden.
Erst die Augen mit CopyEyes auf nen Dummy kopieren und dann mit SetEyes die anderen einsetzen.
Mist ich kriegs nicht hin. Könntest du mal posten wie so ein Script aussehen sollte? Ich produziere nämlich nur Fehlermeldungen.
 
Zuletzt bearbeitet:
Ist es möglich über ein Script oder sonst wie einen Stab, und nur diesen einen Stab, mit einer neuen Animation zu belegen?

Hab mal gesucht aber nichts gefunden deswegen frag ich mal..
 
Moin... ich bräuchte ganz einfach nur den Befehl, wie man eine Variable um 1 erhöht... set variable to ???

Code:
set variable to ( variable + 1 )

Mist ich kriegs nicht hin. Könntest du mal posten wie so ein Script aussehen sollte? Ich produziere nämlich nur Fehlermeldungen.

Code:
scn Test

int Eyes

Begin OnActivate
 if ( Eyes )
  CopyEyes DummyNPC Player
 else
  CopyEyes Player DummyNPC
  SetEyes NewEyes Player
 endif
 set Eyes to ( Eyes == 0 )
End
Das ganze pappst du dann auf einen Activator, den du dann im Script mittels
Code:
[I]ActivatorRef[/I].Activate Player 1
aktivierst. Danach werden die Augen ausgetauscht, der Effekt wird aber evtl. erst sichtbar, wenn das Spiel abgespeichert und neu geladen wurde.
 
Soo, hab ne Frage für ein Skript!
Ich bastel mir im Moment, um mich wieder etwas einzuarbeiten, an meiner alten "Mein eigenes Paradies" Mod rum. Jetzt hab ich schonmal nen Tor dahin gesetzt. Jetzt das Problem;
Ich will, dass der Spieler über einen Spell das Zugangstor zum Paradies, wo auch immer er will, erschaffen kann. Das Tor in Tamriel bleibt solange stehen, bis ein neues gesetzt wird. Kann mir da jemand ein Skript machen? Bin nich so gut was das angeht :lol:
Danke :)
 
hi

ich bräucht en script, und zwar soll der das bewirken:

es gibt mehrere objekte und wen ich die alle im inventar habe dan soll mir ein zauber hinzugefügt erden. hab aber leider keine ahnung wie ich des anfangen soll.
wen mir jemand helfen kan könnte ich dan noch ne erklärung dazu haben :D
also warum wiso weshalb
THX

MFG Raist
 
@Janirus: Ich weiß nicht, wie gut das klappt, aber so sollte es gehen:

Code:
Scn Tuerher

begin ScriptEffectStart
[Ref-ID des Tores].moveto player
end

Das als Magic-Effect-Script speichern und dann beim Zauber über Script-Effekt hinzufügen.
Das einzige, was ich nicht weiß, wie das Tor dann beim Spieler auftaucht.
 
@ Knochen, das wird nicht so einfach sein, weil, soweit ich weiß werden die Doormarker nicht mittransportier.

Ich würde das anders machen, und die Tür nur als Activator für einen Teleportscript nehmen.

Code:
scn Tür

Begin OnActivate Player
     if ( GetActionRef Player == 1 )  &&  ( GetIsReference [IDdesTüraußerhalbdesParadieses] == 1 )
        [MarkerIdAußerhalb des Paradieses].MoveTo Player
        Player.MoveToMarker [IDDesMarkerimParadies]
    
     elseif ( GetActionRef Player == 1 ) && ( GetIsReference [IdderPAradiesTür] == 1 )
       Player.MoveToMarker [MarkerIdAußerhalb des Paradieses]
endif
end

Den Script von Knochen musst du aber weiterhin als Zauber benutzen.

mfg
 
Zuletzt bearbeitet:
Vielen dank Knoche und AjAeXx :) Ich werd das nachher gleich mal kurz ausprobieren :)
editiere dann hier rein, ob's geklappt hat, bin da aber zuversichtlich ^^
 
@Janirus Ich habe zwar keine Ahnung wie es geht. Aber es gibt mit dem Magiepakate LAME einen Zauber, mit dem man Obliviontore erschaffen kann. Vielleicht kann man sich dort abschauen, wie es geht.
 
ich bräucht en script, und zwar soll der das bewirken:

es gibt mehrere objekte und wen ich die alle im inventar habe dan soll mir ein zauber hinzugefügt erden. hab aber leider keine ahnung wie ich des anfangen soll.
wen mir jemand helfen kan könnte ich dan noch ne erklärung dazu haben :D
also warum wiso weshalb
THX

MFG Raist

Hier erst mal der script:
Code:
scn Scriptname

short doonce

Begin GameMode


If doonce == 0

If (player.getitemcount [ItemID1] >= 1) && (player.getitemcount [ItemID2] >= 1) && (player.getitemcount [ItemID3] >= 1) ;....
player.addspell [SpelID]
set doonce to 1
Endif

Endif

End
Also diesen Script solltest du auf eine Quest legen. Das wäre wohl die eleganteste Möglichkeit. Aber da du noch eine Erläuterung wolltest, will ich dir die hier gleich noch dazu geben:

"Begin GameMode" bewirkt, dass der Script in einem bestimmten Zeitabschintt immer wiederholt wird. Der Zeitabschnitt ist hierbei sehr gering. Ein Bruchteil einer Sekunde, wenn ich mich nicht irre.
Nun, der Block ist deshalb so wichtig, damit er immer abfragt, ob der Spieler die Items im Inventar hat. Und das tun wir mit dem Befehl "getitemcount", gefolgt von der ItemID, anschließend dem Operator und der Abfrage. In dem Falle wird abgefragt, ob der Spieler (player) mindestens eins von dem gewünschten Item im Inventar hat. Das tun wir mit dem Operator >=, was so viel bedeutet wie "größer (oder) gleich" dem angegebenen Wert. Also wenn der Spieler das Item 1 mal oder öfters im Inventar hat.

In der nächsten Zeile wird ihm dann der Zauber hinzugefügt, das sollte klar sein.

Das mit der doonce ist, glaube ich, hier gar nicht mal notwendig. Es soll eigentlich verhindern, dass der Zauberspruch nicht pausenlos hinzugefügt wird, wenn die Bedingung erfüllt ist. Allerdings kann man ein und den selben Zauber sowieso nur ein mal lernen. Aber um mögliche Probleme vorzuheben übernimmst du es trotzdem lieber so. ;)

MfG Gildur

Ps.: Ich hoffe, ich habe mich nicht unverständlich ausgedrückt. Passiert bei mir öfters.
 
Hallo, kennt irgendjemand von Euch ein Tutorial wie man verschiebbare Felsblöcke in Dungeons einbaut? Der Block sollte entweder durch ein Hebel auf der anderen Seite oder beim Tod einer Kreatur verschwinden oder besser zusammenfallen und dann kleine Steinbrocken übrigbleiben. Oder ein Hinweis, wo ich mir das im CS abgucken kann wäre auch nicht schlecht.

Es ist mein erstes Dungeon und ich möchte eine Abkürzung für den Rückweg einbauen. ;)
 
In der Höhle von der einen Dremora (Azuras Stern) Quest gibt es so einen Block. Ich glaube aber, du findest dieses Teil auch Irgendwo unter Activator.
 
  • Like
Reaktionen: Klehron
Begleiter

Hallo!
Ich hab leider gar keine ahnung, wie ich das anstellen soll! :huh:

Ich brauche für mein Mod einen Begleiter, der folgende Funktionen haben soll:


Kampfart
-Einhänder (akaviri-katana)
-Zweihänder (silberclymore)
-Bogen (silber-bogen, silberpfeile) (genug Abstand zum Gegner halten!)
-Magie (schockzauber, chamäleonzauber, lichtzauber) (genug Abstand zum Gegner halten!)
-nichts
Modus
-rücken decken
-weg freikämpfen
-rennen
-schleichen (+ silberdolch ziehen)
Entfernung
-unmittelbar neben mir
-normal weit weg
-Abstand halten
Aktion
-feinde angreifen
-alle angreifen
-player schützen (und heilen + unsichbar auf player)
-stehlen (wenn er nicht gesehen wird, außer von mir)

Ich würde gerne, dass, wenn man ihn anspricht, statt dem Dialog eine MessageBox kommt, aus der man auswählen kann!

Hoffentlich könnt ihr mir helfen! :angel:
 
Ich komme einfach nicht hinter das System der MessageBoxen! :mad:
Dieses englische CS-Wiki-Tutorial ist verdammt schwer zu kapieren.. kann mir hier jemand helfen oder gibts ein deutsches Tutorial zum MessageBoxen erstellen (mit Buttons zum auswählen verschiedener Antworten)?
Ich hab hier mal das, was bisher bei meinen vergeblichen Versuchen herausgekommen ist (ohne Texte um den Inhalt meines Quest-PIs nicht zu spoilern^^):

Code:
scn AAFriendlyMinotaurActivate

begin OnActivate
if GetStage AAHumanMinotaurQuest == 5
endif

short Choice

	MessageBox "Text", "Choice"
		set Choice to GetButtonPressed
		if (Choice == 0)
	MessageBox "Text", "Choice"
		set Choice2 to GetButtonPressed
		if (Choice2 == 0)
	MessageBox "Text", "Choice"
		set Choice3 to GetButtonPressed
		if [Choice3 == 0]
	MessageBox "Text", "Choice"
		set Choice4 to GetButtonPressed
		if [Choice4 == 0]
	MessageBox "Text"
endif
end
Das sollen also alles aufeinander folgende Textfenster mit jeweils nur einer einzigen Antwortmöglichkeit sein, um ein Gespräch zwischen dem Minotauren und dem Spieler zu simulieren. ;)
Das ganze soll eben nur in dieser einen QuestStage möglich sein (die in obiger if-Zeile angegeben ist) und die Queststage wechselt auch nach dem Gespräch (wie das geht weiß ich. Ich habs nur noch nicht im Script drin, da ich erstmal das Gespräch ans Laufen kriegen will).
Aber das wichtigste: Irgendwas stimmt da nicht! Das CS macht natürlich immer wieder Fehler, wenn mans abspeichern will.. Ich komm damit mal so gar nicht klar.. mir will es einfach nicht in den Kopf! Ich habe dieses Tutorial nutzen wollen, welches allerdings um einiges zu kompliziert ist, um von einem Script-Anfänger verstanden zu werden.. und dann ist es auch noch englisch! Könnte mir da also jemand helfen? Ich wäre wie immer sehr dankbar! :)
 
Wenn jede MessageBox nur einen Knopf hat, dann kannst Du Choice auch weglassen und nur
Code:
MessageBox "Nachricht1"
MessageBox "Nachricht 2"
usw. machen.
Du sparst Variablen, Zeilen und Zeit.:)
 
Code:
scn AAFriendlyMinotaurActivate

begin OnActivate
if GetStage AAHumanMinotaurQuest == 5
endif

short Choice

	MessageBox "Text", "Choice"
		set Choice to GetButtonPressed
		if (Choice == 0)
	MessageBox "Text", "Choice"
		set Choice2 to GetButtonPressed
		if (Choice2 == 0)
	MessageBox "Text", "Choice"
		set Choice3 to GetButtonPressed
		if [Choice3 == 0]
	MessageBox "Text", "Choice"
		set Choice4 to GetButtonPressed
		if [Choice4 == 0]
	MessageBox "Text"
endif
end

Also, erstmal kannst du nicht plötzlich neue shorts einbauen, die du vorher nicht definiert hast (choice2 etc). Dann würde ich "short choice" direkt unter den Scriptnamen setzen, ob das notwendig ist, weiß ich nicht, aber es ist auf alle Fälle übersichtlicher.
Ansonsten: Wie weit klappt den das Script?
 
Wenn jede MessageBox nur einen Knopf hat, dann kannst Du Choice auch weglassen und nur
Code:
MessageBox "Nachricht1"
MessageBox "Nachricht 2"
usw. machen.
Du sparst Variablen, Zeilen und Zeit.:)

Nee. Dann steht da soweit ich weiß nur Ok im Button. Ich will aber ein Gespräch simulieren, womit in den Buttons auch Antworten stehen müssen.

@Knochenkeule: Ich hab das short Choice jetzt mal nach oben gesetzt. Soll ich denn alle Choices nur Choice nennen? Ich glaub das hab ich ganz am Anfang gemacht, hat aber auch nichts genützt. Wenn ich speichern will kommt folgende Fehlermeldung:
"scn .... , line 11:
Mismatched if/else/endif block starting on line 11."
Dann kommt noch eine zweite Fehlermeldung, die wie folgt lautet:
"scn .... , line 11:
Mismatched if/then/else Block"
Was nun?