Construction Set Skriptthread zum Construction Set

Ist es nicht möglich, es so zu machen:

Code:
scn Fragestellungsscript

begin onActivate Player

MessageBox "Fragestellung", "Antwort 1", "Antwort 2", "Antwort 3"
set Button to GetButtonPressed
   if button == 0
      MessageBox "Antwort"
   elseif button == 1
      MessageBox "Antwort"
   elseif button == 2
      MessageBox "Antwort"
   endif
end
...oder funktioniert es dann nicht?

edit: Zumindest das CS akzeptiert es so. Ich werde im Laufe des Tages testen, ob es auch im Spiel klappt. Danke erstmal.
 
Zuletzt bearbeitet:
Also ich halte mich immer strikt an 'WIKI'. Aber vielleicht belehrst du uns eines besseren :roll:

Code:
Begin OnActivate

if IsActionRef player == 1
  messagebox "Fragestellung", "A 1", "A 2", "A 3"
endif

end

begin gamemode
	set button to getbuttonpressed
	if button > -1
		if button == 0
		  ; A 1
		elseif button == 1
		  ; A 1
		elseif button == 2
		  ; A 1
		endif
	endif
end
 
  • Like
Reaktionen: Fellan
ich habs geändert, aber er (CS) sagt:
Code:
 Script `telemonster`, line 11;
Max nesting of 10 exceeded

die zweite warnung die er schreib:
Code:
Script `telemonster`, line 11;
Mismatched  if/then/else block.
was hab ich jetzt falsch gemacht? :huh::huh: ich weiß nicht mehr weiter bitte helft.:cry:


der umgeänderte script:

scn 1telemonster

short m
begin onactivate
Messagebox "Gegen welche Art von Monster willst du Kämpfen?" , "Kreaturen" , "Dädra" , "Pferde" , "Untote" , "Jetzt nicht"
end

Begin GameMode

Set m to GetButtonPressed
if m == 0
Messagebox "Gegen was willst du Kämpfen?" , "Bären" , "Goblins" , "Minotaur" , "Löwen" , "SchlammKrabben" , "Oger" , "Ratten" , "Spriggan" , "Troll" , "Jetzt nicht"
if m == 0
Messagebox "Welche Bären" , "1 Braun Bären" , "1 Schwarz Bären" , "1 braun und Schwarz Bären", "2schwarz Bären" , "2 schwarz und 1 braun Bären"
If m == 0
bar1.moveto monster
elseif m == 1
bar2.moveto monster
elseif m == 2
bar1.moveto monster
bar2.moveto monster
elseif m == 3
bar1.moveto monster
bar3.moveto monster
elseif m == 4
bar1.moveto monster
bar3.moveto monster
bar2.moveto monster
endif

if m == 1
Messagebox "Welche Goblins?" , "Goblin-Hexe" , "Goblin" , "Goblin-Berserker" , "
if m == 0
goblin3.moveto monster
elseif m == 1
bboblin2.moveto monster
elseif m == 2
boblin1.moveto monster
endif
if m == 2
Messagebox "Welche Minotaur?" , "Minotaur" , "Kriegsherr" , "beide"
if m == 0
taure.moveto monster
elseif m == 1
taure2.moveto monster
elseif m == 2
taure.moveto monster
taure.moveto monster
endif

if m == 2

Messagebox "Wie viele Löwen?" , "1 Löwe" , "2Löwen" , "3 Löwen"
if m == 0
lowe1.moveto monster
elseif m == 1
lowe1.moveto monster
lowe2.moveto monster
elseif m == 2
lowe1.moveto monster
lowe2.moveto monster
lowe3.moveto monster
endif

if m == 3
Messagebox "Wie viele Schlammkrabben?" , "2" , "4" , "6"
if m == 0
krabbe.moveto monster
krabbe2.moveto monster

elseif m == 1
krabbe.moveto monster
krabbe2.moveto monster
krabbe3.moveto monster
krabbe4.moveto monster
elseif m == 2
krabbe.moveto monster
krabbe2.moveto monster
krabbe3.moveto monster
krabbe4.moveto monster
krabbe5.moveto monster
krabbe6.moveto monster
endif

if m == 4
Messagebox "Wie viele Oger?" , "1" , "2" , "3"
if m == 0
oger.moveto monster
elseif m == 1
oger.moveto monster
oger1.moveto monster
elseif m == 2
oger.moveto monster
oger1.moveto monster
oger3.moveto monster
endif

if m == 5
Messagebox "Wie viele Ratten?" , "2" , "4" , "6"
if m == 0
ratte.moveto monster
ratte2.moveto monster
elseif m == 1
ratte.moveto monster
ratte2.moveto monster
ratte3.moveto monster
ratte4.moveto monster
elseif m == 2
ratte.moveto monster
ratte2.moveto monster
ratte3.moveto monster
ratte4.moveto monster
ratte5.moveto monster
ratte6.moveto monster
endif

if m == 6
Messagebox "Wie viele Spriggan?" , "1" , "2" , "3"
if m == 0
pflanz1.moveto monster
elseif m == 1
pflanz1.moveto monster
pflanz2.moveto monster
elseif m == 2
pflanz1.moveto monster
pflanz2.moveto monster
pflanz3.moveto monster
endif

if m == 7
Messagebox "Wie viele Trolle?" , "1" , "2" , "3" , "4"
if m == 0
troll.moveto monster
elseif m == 1
troll.moveto monster
troll2.moveto monster
elseif m == 2
troll.moveto monster
troll2.moveto monster
troll3.moveto monster
elseif m == 3
troll.moveto monster
troll2.moveto monster
troll3.moveto monster
troll4.moveto monster
endif

if m == 8
endif
endif

elseif m == 1
Messagebox "Gegen was willst du Kämpfen?" , "Clannfear" , "Daedroth" , "Spinnen-Daedra" , "Jetzt nicht"

if m == 0
Messagebox "Wie viele Clannfear?" , "1" , "2" , "3" , "4"
if m == 0
klan.moveto monster
elseif m == 1
klan.moveto monster
klan2.moveto monster
elseif m == 2
klan.moveto monster
klan2.moveto monster
klan3.moveto monster
elseif m == 3
klan.moveto monster
klan2.moveto monster
klan3.moveto monster
klan4.moveto monster
endif

if m == 1
Messagebox "Wie viele Daedroth?" , "1" , "2" , "3" , "4" , "5"
if m == 0
deadroth.moveto monster
elseif m == 1
deadroth.moveto monster
deadroth2.moveto monster
elseif m == 2
deadroth.moveto monster
deadroth2.moveto monster
deadroth3.moveto monster
elseif m == 3
deadroth.moveto monster
deadroth2.moveto monster
deadroth3.moveto monster
deadroth4.moveto monster
elseif m == 4
deadroth.moveto monster
deadroth2.moveto monster
deadroth3.moveto monster
deadroth4.moveto monster
deadroth5.moveto monster
endif

if m == 2
Messagebox "Wie viele Spinnen-Daedra?" , "1" , "2" , "3"
if m == 0
spinne.moveto monster
elseif m == 1
spinne.moveto monster
spinne2.moveto monster
elseif m == 2
spinne.moveto monster
spinne2.moveto monster
spinne3.moveto monster
endif

if m == 3
endif
endif

elseif m == 2
Messagebox "Gegen was willst du Kämpfen?" , "Pferde" , "Jetzt nicht"
if m == 0
pferd1.moveto monster
pferd.moveto monster
elseIf m == 1
endif
endif


elseif m == 3
Messagebox "Gegen was willst du Kämpfen?" , "Skelette" , "Lichs" , "Jetzt nicht"
if m == 0
Messagebox "Wie viele Skelette?" , "1", "2" , "4" , "6" , "8" , "10" , "12" , "14" , "15"
if m == 0
skelett.moveto monster
elseif m == 1
skelett.moveto monster
skelett2.moveto monster
elseif m == 2
skelett.moveto monster
skelett2.moveto monster
skelett3.moveto monster
skelett4.moveto monster
elseif m == 3
skelett.moveto monster
skelett2.moveto monster
skelett3.moveto monster
skelett4.moveto monster
skelett5.moveto monster
skelett6.moveto monster
elseif m == 4
skelett.moveto monster
skelett2.moveto monster
skelett3.moveto monster
skelett4.moveto monster
skelett5.moveto monster
skelett6.moveto monster
skelett7.moveto monster
skelett8.moveto monster
elseif m == 5
skelett.moveto monster
skelett2.moveto monster
skelett3.moveto monster
skelett4.moveto monster
skelett5.moveto monster
skelett6.moveto monster
skelett7.moveto monster
skelett8.moveto monster
skelett9.moveto monster
skelett10.moveto monster
elseif m == 5
skelett.moveto monster
skelett2.moveto monster
skelett3.moveto monster
skelett4.moveto monster
skelett5.moveto monster
skelett6.moveto monster
skelett7.moveto monster
skelett8.moveto monster
skelett9.moveto monster
skelett10.moveto monster
skelett11.moveto monster
skelett12.moveto monster
elseif m == 6
skelett.moveto monster
skelett2.moveto monster
skelett3.moveto monster
skelett4.moveto monster
skelett5.moveto monster
skelett6.moveto monster
skelett7.moveto monster
skelett8.moveto monster
skelett9.moveto monster
skelett10.moveto monster
skelett11.moveto monster
skelett12.moveto monster
skelett13.moveto monster
skelett14.moveto monster
elseif m == 7
skelett.moveto monster
skelett2.moveto monster
skelett3.moveto monster
skelett4.moveto monster
skelett5.moveto monster
skelett6.moveto monster
skelett7.moveto monster
skelett8.moveto monster
skelett9.moveto monster
skelett10.moveto monster
skelett11.moveto monster
skelett12.moveto monster
skelett13.moveto monster
skelett14.moveto monster
skelett15.moveto monster
endif

if m == 1
Messagebox "Wie viele Lichs?" , "1", "2"
if m == 0
lich.moveto monster
elseif m == 1
lich.moveto monster
lich2.moveto monster
endif

if m == 2
endif
endif

if m == 4
endif
endif
endif
end
 
Oblivion verlangt für jedes IF ein ENDIF
Im ersten Block benötigst Du noch zwei weitere ENDIF unter dem ersten ENDIF.
Wenn nach dem IF nur ELSEIF folgt, reicht dann ein ENDIF.
Aber bei mehreren IF, wie gesagt auch die passende Anzahl ENDIF.
 
Ist es möglich, die "Aggression" eines NPCs per Script zu erhöhen? Ich will, dass ein NPC zwar vorhanden ist, aber die ganze Zeit nur an einer Stelle steht (ist im Tagesablauf geregelt). Sobald ein bestimmter Script anläuft, soll sich die Aggression des NPCs erhöhen und er soll einer Faction angehören - das soll aber eben per Script hinzugefügt werden. Wie mache ich das?
 
Die Agression kannst Du mittels NPCRef.ForceAV Aggression x einstellen. Diese Änderung ist permanent und kann, falls das nötig sein sollte, nur per Skript zurückgenommen werden.

näheres hierzu im Wiki:
http://cs.elderscrolls.com/constwiki/index.php/ForceActorValue

Die Fraktionszugehörigkeit kann mit NPCRef.SetFactionRank FactionID, 0 eingeschaltet und mit NPCRef.SetFactionRank FactionID, -1 ausgeschaltet werden.

nochmal das Wiki:
http://cs.elderscrolls.com/constwiki/index.php/SetFactionRank
 
  • Like
Reaktionen: Fellan
Hi!
Also ich habe 2 kleine Fragen:

1. ich brauche ein Script, das den , der von dem Shcwert getroffen wird tötet.. soll dann in eine etachment
Code:
scn blabla

BeginOnHit

kill

ja und weiter?

2. Es gibt ja einen Befehl: Ignorefirendly hits, wodurch der getroffene erst anch dem Dritten mal zurückschlägt.. aber wo stelle ich das ein??
 
Folgendes Szenario:

Ein Script stellt eine Frage, vier mögliche Antworten, nur eine ist richtig. Wählt der Spieler die falsche Antwort, wird eine Falle aktiviert und ein Wolf erscheint direkt hinter dem Spieler.

Überlebt der Spieler und wählt wieder die falsche Antwort, soll der Wolf wiederbelebt werden - wie erreiche ich das?
 
Hi

Wollte mal versuchen ein paar Handschuhe zu erstellen die beim Anlegen einige Attribute erhöhen...

Code:
scn IronGauntlets

Begin ScriptEffectStart

modpca strength 30
modpca agility 30
modpca speed 15
modpca intelligence 30
modpca willpower 20
modpcs block 20
modpcs blunt 30
modpcs blade 20
modpcs marksman 20

end

Hab versucht ein Enchatment zu erstellen mit dem Script und es dann den IronGloves zugewiesen. Im Spiel sind die Handschuhe verzaubert als andauernder Effekt, allerdings sind weder Attribute noch Skills erhöht...
Ich glaube mal das hier "Begin ScriptEffectStart" was nicht stimmt, aber da es mein ersten ( wohl vollkommes misslungenes :D )script ist kann ich das schlecht sagen ( es kennt nicht zufällig jemand an dieser Stelle ein paar Scripttutorials für oblivion? )

Thx ;)
 
Hi!

Tut mir Leid, aber ich kann die Fragen nicht beantworten, sondern muss selber ein paar stellen:

1.
Wie mach ich einen fertigen Script (Magic Effect) in einen Gegenstand der den Script aktivieren soll? (Amulett)

2.
Kann ich en Script erstellen, das wenn ich eine Taste drück ich wie ein Bauer beginn mit einer Harke das Feld zu rechen. Oder anfang zu essen oder trinken. Die Aktionen können ja nur von NPC's ausgeführt werden.

MFG vom Arenafreak
 
Zuletzt bearbeitet:
hallo,
ich arbeite gerad an einer mod. dort wird ein butsklave-NPC eingefügt.
wer das DLCvile lair kennt wird wissen was ich meine.
jedenfalls schläft er immer und man kann ihn nicht aufwecken.
man kann audwählen ob man blut trinken will oder nicht.
ich hab mich also am script im DLC vile lair orientiert und das script hier geschrieben:
Code:
scn My_Cheydinhal_House_Vampire_Slave

short Knockout
short Button

begin OnActivate

if ( isActionRef Player == 1 )
	if ( Player.GetVampire == 1 )
		Messagebox "Möchtet ihr von eurem Sklaven trinken?","Ja","Nein"
	else
		Messagebox "Ihr könnt euren Sklaven nicht aufwecken."
	endif
endif

end

begin gamemode

if ( Knockout == 0 ) && ( GetCurrentAiPackage == 4 )
	SetUnconscious 1
	set Knockout to 1
endif

set button to getbuttonpressed
if ( Player.GetVampire == 1 )
	if button > -1
		if button == 0
			player.VampireFeed MyCheydinhalHouseVampireSlaveRef
		endif
	endif
endif

end

also ich hab auch das AI-Package Sleep erstellt, mit dem Namen "SlaveSleepPackage".
also, ich komm ein die zelle. der sklave schläft, und ich kann von ihm blut saugen wie normal.
ich kann ihn aber aufwecken, und die message boxen kommen auch nicht :/
weiß jemand weiter?
lg :)
 
Zuletzt bearbeitet:
hi ich hab ne frage wärs möglich folgendes mit nem script zusteuern? ein npc hat nur noch 1/4 von der lebensenergie dann wird eine animation ausgeführt und während dessen eine sound datei abgespielt(zb der dunkelelf bei SI als er aus dem tor rauskommt)auserdem werden dann die dialoge gewechselt und die sound dateien für die dialoge ebenfalls wenn der npc 20 leute/kreaturen getötet hat kommt das gleiche anim usw die dialoge werden wieder die alten ebenso die sound dateien.dieser vorgang sollt sich immer wiederholen
 
Sucht

Hi Leute
Ich such ein Skript, dass:
Einen Suchtig werden lässt, das heist das wenn man Skooma trinkt wird man Süchtig. Die Sucht soll sich so zeigen. erst verliert man Ausdauer ganz langsam
und dann bei Längerer abstinenz (schreibt man das so??) verliert man Lebensenrgie.
Ich hab mir gedacht das ich das Skript auf die Flasche leg und wenn man eine Getrunken hatt dann bekommt man eine Krnkheit so wie die Vampierkrankheit
(da is es halt Sonnenschaden), und wenn man dann wieder eine Flasche Skooma trinkt wird mann wieder Stärker und die KArnakheit wird auf Stufe 1 zurück gesetzt.
Versteht ihr was ich mein :huh::huh::shock::?