Construction Set Skriptthread zum Construction Set

Mein ursprungsgedanke ist eine schwert mod, bei der man ein sehr starkes, aber verfluchtes schwert bekommt, das wenn man es ausrüstet einige attribute, ich denk mal Stärke, Akrobatik, Atlethik und Schnelligkeit um seinen Basiswert verringert. Also um alles, bis auf die bonusse die durch fähigkeiten, gegenstände oder zauber dazukommen.
 
Okay, dann probier es mal hier mit:
Code:
scn ScriptName

ref ausruster
short starke
short akrobatik
short athletik
short schnelligkeit

Begin OnEquip
set ausruster to getactionref

set getbaseAV strength to starke
set getbaseAV Acrobatics to akrobatik
set getbaseAV Athletics to athletik
set getbaseAV Speed to schnelligkeit

ausruster.modAV strength - stärke
ausruster.modAV Acrobatics - akrobatik
ausruster.modAV Athletics - athletik
ausruster.modAV Speed - schnelligkeit
End

Begin OnUnEquip

ausruster.modAV strength + stärke
ausruster.modAV Acrobatics + akrobatik
ausruster.modAV Athletics + athletik
ausruster.modAV Speed + schnelligkeit
End
Zwar ungetestet, denke aber, dass es klappt.

MfG Gildur
 
wenn du einfach nur im "render window" gegenstand doppelt anklickst (sollte ein von dir neu erstellter sein, z. b. neue ID), dann kommt ein fenster in dem oben das erwähnt feld "reference editor ID" (?) ist, dort trägst du etwas ein, es sollte nicht mit null anfangen, das wird im script nicht erkannt. außerdem muss es einmalig sein, wenn also ein fenster mit "reference ID is not unique" kommt, musst du eine andere eingeben. im gleichen fenster sind unten noch ein paar kästchen zum anhaken. das eine heißt wie ebenfalls erwähnt "persistance reference", da muss ein haken rein.
 
Zuletzt bearbeitet:
ich habe das skript jetz so gemacht
Code:
scn BrfWachter

Begin OnActivate
If IsActionRef player == 1
If RagenFelsWachter .GetDead == 1
activate
If doonce == 0
set doonce to 1
messagebox "Ihr habt euch durch das töten der Bestie als würdig erwiesen und könnt das Tor passieren."
Endif
else
Messagebox "Ihr habe noch nicht das Monster erlegt, welches dieses Tor bewacht. Vernichtet es, oder sie wird auf ewig verschlossen bleiben."
Endif
Endif
End
Da kommen aber immer zwei fehler:

Code:
Script "BrfWachter"´, 5 line
Non-Reference RagenfelsWachter cannot be used in a Script

Und

Code:
Script "BrfWachter"´, 5 line
Syntax Error.  Unknow command RagenfelsWachter


Was jetz?
 
Du hast eine Leertaste zwischen RagenfelsWachter und dem .GetDead gelassen. Das ist falsch: Schreibe es zusammen, also:

RagenfelsWachter.GetDead == 1

Außerdem überprüfe ganz genau, dass die Namen auch übereinstimmen. Das CS erkennt keine Umlaute wie ä, ü und ö.
 
danike aber jetz kommt eine neue und eine die gleiche....

Code:
Script "BrfWachter"´, 5 line
Non-Reference RagenfelsWachter cannot be used in a Script

Und die neue:

Code:
Script "BrfWachter"´, 7 line
Syntax Error.  Unknow command "Doonce"

Und wieder mal : was jetz:cry:
 
Code:
scn BrfWachter

short doonce

Begin OnActivate
If IsActionRef player == 1
If RagenFelsWachter.GetDead == 1
activate
If doonce == 0
set doonce to 1
messagebox "Ihr habt euch durch das töten der Bestie als würdig erwiesen und könnt das Tor passieren."
Endif
else
Messagebox "Ihr habe noch nicht das Monster erlegt, welches dieses Tor bewacht. Vernichtet es, oder sie wird auf ewig verschlossen bleiben."
Endif
Endif
End
Okay, das mit der zweiten Fehlermeldung war meine Schuld. Ich hatte "short doonce" ganz oben vergessen. Aber anscheinend ist RagenFelsWachter keine Referenz!

Du musst auf das Vieh/den Typen im Render-Window doppelklicken und oben die Referenz eingeben. Selber in diesem weißen Feld, wo links daneben "Reference Editor ID" steht. Und dann musst du unten einen Haken setzen, bei "Persistent Reference". Dann musst du diese Referenz, die du eben eingegeben hast, in dem Script schreiben.

MfG Gildur
 
  • Like
Reaktionen: Yves
@Gildur Ich kenn mich mit skripts net so gut aus, kann ich das einfach so einfügen? Wenn ich das skript speichern will kommt Syntax error missing "to" in set command. was soll ich dagegen tun?
 
Das liegt ganz sicher daran, dass du eines von den folgenden to's vergssen hast, denn eigentlcih stimmt das alles so:
Code:
scn ScriptName

ref ausruster
short starke
short akrobatik
short athletik
short schnelligkeit

Begin OnEquip
set ausruster [B][COLOR="Red"][B]to[/B][/COLOR][/B] getactionref

set getbaseAV strength [B][COLOR="red"]to[/COLOR][/B] starke
set getbaseAV Acrobatics [B][COLOR="red"]to[/COLOR][/B] akrobatik
set getbaseAV Athletics [B][COLOR="red"]to[/COLOR][/B] athletik
set getbaseAV Speed [B][COLOR="red"]to[/COLOR][/B] schnelligkeit

ausruster.modAV strength - stärke
ausruster.modAV Acrobatics - akrobatik
ausruster.modAV Athletics - athletik
ausruster.modAV Speed - schnelligkeit
End

Begin OnUnEquip

ausruster.modAV strength + stärke
ausruster.modAV Acrobatics + akrobatik
ausruster.modAV Athletics + athletik
ausruster.modAV Speed + schnelligkeit
End

MfG Gildur
 
nee hab ich net. ich hab des einfach von dir kopiert und eingefügt. ich habe auch bemerkt das du zwei mal starke und zwei mal stärke schreibst.

und müsste es nicht zb. set starke to getactorvalue strength heissen?


[EDIT] wenn ich die so umdrehe und speichern will, sagt der dass er das - nicht als variable erkennt. wenn ich das leerzeichen zwischen minus und starke lösche dann erkennt er -starke nicht als variable. was muss ich da machen?
 
Zuletzt bearbeitet:
Au ja, verdammt. Du hast Recht.

So spät am Abend kann cih nicht mehr klar denken. ^^
Drehe mal alles um wie du sagtest:
Code:
scn ScriptName

ref ausruster
short starke
short akrobatik
short athletik
short schnelligkeit

Begin OnEquip
set ausruster to getactionref

set starke to getbaseAV strength
set akrobatik to getbaseAV Acrobatic
set athletik to getbaseAV Athletics
set schnelligkeit to getbaseAV Speed

ausruster.modAV strength - starke
ausruster.modAV Acrobatics - akrobatik
ausruster.modAV Athletics - athletik
ausruster.modAV Speed - schnelligkeit
End

Begin OnUnEquip

ausruster.modAV strength + starke
ausruster.modAV Acrobatics + akrobatik
ausruster.modAV Athletics + athletik
ausruster.modAV Speed + schnelligkeit
End

MfG Gildur
 
  • Like
Reaktionen: BlackZero500
also ich versteh dass. (auch das du das s bei acrobatics vergessen hast:lol:) aber da kommt dann:
Unknown Variable '-' for parameter Amount. woran liegt dass?

Ps: danke das du mir so spät(bzw früh) noch helfen willst.

[Edit] Ich werde warscheinlich sogar die obse funktion modav2 benutzen, weil das meinen erwartungen mehr entspricht. dann kann man das per spell wieder heilen, und wenn das wieder hinzugefügt wird, wird das nur soweit hinzugefügt wie es geschadet wurde. also wenn es mir 50 stärke abzieht, und ich per spell 20 heile fügt das nicht die 50 hinzu sondern 20. zumindest denke ich das es so funzt, bzw hoffe es.
 
Zuletzt bearbeitet:
Ich bräuchte ein Skript, dass alle Npcs,
die nicht in eine Story verwickelt sind und nicht respawnen der bewusstlos
werden, wiederbelebt
 
Ich weiß noch nicht mal, ob ich das mit einem Skript machen kann aber ich frag trotzdem mal:
Ich brauche ein Skript für eine Zwischensequenz, und zwar muss ein NPC nacheinander verschiedene Animationen ausführen (von Actors Charge) allerdings möchte ich das nicht jedesmal mit dem actors ball auslösen müssen, dann müsste ich nach jeder geste einen cut machen, kann mir jemand ein skript schreiben, mit dem ich auf Bedarf eine bestimmte Reihenfolge verschiedener Animationen auslösen kann?
 
Das ginge meiner Meinung nach. Allerdings müsste ich dann hier mal den Originalscript haben, damit ich das nach deinen Wünschen verändern könnte. Denn ich habe die Mod nicht. ^^

MfG Gildur
 
Was heißt den Originalskript? ^^ Ich kann nicht skripten, aber welchen originalskript? muss man da nicht einen neuen machen?
 
Hi Ich habe ein Problem mit einem gegner Generator.. und zwar kommt nur beim ersten mal gegen wie viele wollt ihr kämpfen und außerdem wird nie was gespawnt... abgesehen von einem Banditen einen Daedroth und einer Spinnendadra, und der Dadroth respawnt sofort anchdem er tot is

Code:
scn 00EnemieGeneratorscript

short Doonce
short Enemie
short Enemie1
short Enemie2
short Enemie3
short Enemie4
short Enemie5
short Enemie6
short Enemie7

Begin OnActivate
	messagebox "Gegen was wollt ihr kämpfen?", "Bandit", "Spinnen-Daedra", "Daedroth", "Sturm-Astronach", "Frost-Astronach", "Dremona-Fürst", "Lich"
End

Begin GameMode
	Set Enemie to GetButtonPressed
		if Enemie == 0
			Messagebox "Gegen wie viele wollt ihr kämpfen?", "1", "2", "3", "4", "5"
				Set Enemie1 to GetButtonPressed
					elseif Enemie1 == 0
						bbEGBandit1.enable
					elseif Enemie1 == 1
						bbEGBandit1.enable
						bbEGBandit2.enable
					elseif Enemie1 == 2
						bbEGBandit1.enable
						bbEGBandit2.enable
						bbEGBandit3.enable
					elseif Enemie1 == 3
						bbEGBandit1.enable
						bbEGBandit2.enable
						bbEGBandit3.enable
						bbEGBandit4.enable
					elseif Enemie1 == 4
						bbEGBandit1.enable
						bbEGBandit2.enable
						bbEGBandit3.enable
						bbEGBandit4.enable
						bbEGBandit5.enable

		elseif Enemie == 1
			Messagebox "Gegen wie viele wollt ihr kämpfen?", "1", "2", "3", "4", "5"
				Set Enemie2 to GetButtonPressed
					elseif Enemie2 == 0
						bbEGSD1.enable
					elseif Enemie2 == 1
						bbEGSD1.enable
						bbEGSD2.enable
					elseif Enemie2 == 2
						bbEGSD1.enable
						bbEGSD2.enable
						bbEGSD3.enable
					elseif Enemie2 == 3
						bbEGSD1.enable
						bbEGSD2.enable
						bbEGSD3.enable
						bbEGSD4.enable
					elseif Enemie2 == 4
						bbEGSD1.enable
						bbEGSD2.enable
						bbEGSD3.enable
						bbEGSD4.enable
						bbEGSD5.enable

		elseif Enemie == 2
			Messagebox "Gegen wie viele wollt ihr kämpfen?", "1", "2", "3", "4", "5"
				Set Enemie3 to GetButtonPressed
					elseif Enemie3 == 0
						bbEGDaedroth1.enable
					elseif Enemie3 == 1
						bbEGDaedroth1.enable
						bbEGDaedroth2.enable
					elseif Enemie3 == 2
						bbEGDaedroth1.enable
						bbEGDaedroth2.enable
						bbEGDaedroth3.enable
					elseif Enemie3 == 3
						bbEGDaedroth1.enable
						bbEGDaedroth2.enable
						bbEGDaedroth3.enable
						bbEGDraedroth4.enable
					elseif Enemie3 == 4
						bbEGDaedroth1.enable
						bbEGDaedroth2.enable
						bbEGDaedroth3.enable
						bbEGDraedroth4.enable
						bbEGDaedroth5.enable

		elseif Enemie == 3
			Messagebox "Gegen wie viele wollt ihr kämpfen?", "1", "2", "3", "4", "5"
				Set Enemie4 to GetButtonPressed
					elseif Enemie4 == 0
						bbEGStorm1.enable
					elseif Enemie4 == 1
						bbEGStorm1.enable
						bbEGStorm2.enable
					elseif Enemie4 == 2
						bbEGStorm1.enable
						bbEGStorm2.enable
						bbEGStorm3.enable
					elseif Enemie4 == 3
						bbEGStorm1.enable
						bbEGStorm2.enable
						bbEGStorm3.enable
						bbEGStorm4.enable
					elseif Enemie4 == 4
						bbEGStorm1.enable
						bbEGStorm2.enable
						bbEGStorm3.enable
						bbEGStorm4.enable
						bbEGStorm5.enable

		elseif Enemie == 4
			Messagebox "Gegen wie viele wollt ihr kämpfen?", "1", "2", "3", "4", "5"
				Set Enemie5 to GetButtonPressed
					elseif Enemie5 == 0
						bbEGFrost1.enable
					elseif Enemie5 == 1
						bbEGFrost1.enable
						bbEGFrost2.enable
					elseif Enemie5 == 2
						bbEGFrost1.enable
						bbEGFrost2.enable
						bbEGFrost3.enable
					elseif Enemie5 == 3
						bbEGStorm1.enable
						bbEGFrost2.enable
						bbEGFrost3.enable
						bbEGFrost4.enable
					elseif Enemie5 == 4
						bbEGFrost1.enable
						bbEGFrost2.enable
						bbEGFrost3.enable
						bbEGFrost4.enable
						bbEGFrost5.enable

		elseif Enemie == 5
			Messagebox "Gegen wie viele wollt ihr kämpfen?", "1", "2", "3", "4", "5"
				Set Enemie6 to GetButtonPressed
					elseif Enemie6 == 0
						bbEGDremona1.enable
					elseif Enemie6 == 1
						bbEGDremona1.enable
						bbEGDremona2.enable
					elseif Enemie6 == 2
						bbEGDremona1.enable
						bbEGDremona2.enable
						bbEGDremona3.enable
					elseif Enemie6 == 3
						bbEGDremona1.enable
						bbEGDremona2.enable
						bbEGDremona3.enable
						bbEGDremona4.enable
					elseif Enemie6 == 4
						bbEGDremona1.enable
						bbEGDremona2.enable
						bbEGDremona3.enable
						bbEGDremona4.enable
						bbEGDremona5.enable

		elseif Enemie == 6
			Messagebox "Gegen wie viele wollt ihr kämpfen?", "1", "2", "3", "4", "5"
				Set Enemie7 to GetButtonPressed
					elseif Enemie7 == 0
						bbEGLich1.enable
					elseif Enemie7 == 1
						bbEGLich1.enable
						bbEGLich2.enable
					elseif Enemie7 == 2
						bbEGLich1.enable
						bbEGLich2.enable
						bbEGLich3.enable
					elseif Enemie7 == 3
						bbEGLich1.enable
						bbEGLich2.enable
						bbEGLich3.enable
						bbEGLich4.enable
					elseif Enemie7 == 4
						bbEGLich1.enable
						bbEGLich2.enable
						bbEGLich3.enable
						bbEGLich4.enable
						bbEGLich5.enable

Endif
End