Construction Set Skriptthread zum Construction Set

Wie wäre es denn mit "startcombat"? Dann müsste man das in das Skript einbauen:

AngreiferRef.startcombat VerteidigerRef

Für die Refs die RefID der NPC`s eintragen.
Hast du eigentlich auch das Skript der Triggerbox in Deines umgeändert?

mfg
Kahmul
 
  • Like
Reaktionen: Nerrok
Hi meine Frage ist ja jetzt völlig untergegangen =):
Ich möchte einen Gegenstand (bsp Felsen) auf einen Gegner "schießen". Ich wäre dankbar wenn mir das einer erklären könnte wie das genau Funktioniert?

Ich habe auf der CS wiki seite einen eintrag zu Projektilen etc gefunden. http://cs.elderscrolls.com/constwiki/index.php/GetProjectileType
Habe jedoch keine Ahnung was das heisst dafür ist mein englisch noch zu schwach.
Schonmal Danek im vorraus.
 
Hallo,

vielen Dank nochmal fr die Hilfe beim letzten mal, habe in Richtung Scripting jetzt etwas mehr verstanden dadurch. Jetzt habe ich noch eine Frage und zwar hat sich das Regal jetzt zwar bewegt, die Falltür, die dahinter liegt, kann ich dadurch zwar sehen, aber nicht aktivieren.

a) Reicht es die Collisionbox des Regals zu entfernen? Wenn ja, wie mach ich das?
b) Wie geht es sonst?

Vielen Dank
Heledir
 
@ V0g3l: Ich würde spontan sagen, dass das mit Scripten allein nicht möglich ist.

@ Heldir:
Ich habe dein Script zwar nicht vor Augen, nehme aber an, dass du das Regal mit SetPos bewegt hast. In dem Fall wird zwar das Objekt, das man sieht, bewegt, allerdings nicht die Kollission. Das Einbauen einer Disable-funktion mit darauf folgendem enable wird das Problem beheben, da dadurch die Kollission aktualisiert wird.

Gildur
 
Das mit dem start.combat klappt.

Habe das so hier gemacht.
Code:
scn feykellerkampf

short doonce
Begin onTrigger Player
if doonce == 0 
set doonce to 1
soldat1.startcombat kh1
soldat2.startcombat kh2
Disableplayercontrols
endif
end
Begin GameMode
if kh1.getdead == 1 && kh2.getdead == 1 && doonce == 1
enableplayercontrols
set doonce to 2
endif
end
Aber der Feuerball kommt immer noch wie aus dem Nichts, nachdem dann die Khajiit gestorben sind(wollten eigentlich beide flüchten) konnte ich mich ja wieder bewegen usw, dann hat aber die eine Wache die andere Wache totgeschlagen ohne das die andere dagegen was unternommen hat, den der noch gelebt hatte konnte ich dann ohne Verteidigungsversuche erschlagen.
Wegen dem Feuerball verlege ich das dann glaube ich in einen anderen Interior, oder gibt es vllt einen Scriptbefehl wie "disable.Feuerball" oder so? :D
 
Zuletzt bearbeitet:
Ich bin im Moment auf der Suche nach einer Moeglichkeit, folgendes Szenario ins Spiel einzubauen


Der Spieler betritt ein Haus. (Ab jetzt sollte die Steuerung deaktiviert sein!) Eine der Personen, die sich im Raum aufhaelt, spricht den Spieler an. Nach dem Gespraech soll das Steuern wieder moeglich sein und alle Personen im Raum sollen dem Spieler folgen und ihn im Kampf unterstuetzen!


Danke schonmal im Voraus, Runic
 
Dafür legst du auf den NPC, der den Spieler ansprechen soll dieses Skript:
Code:
scn name

short init

Begin GameMode

if init == 0
 disablePlayerControls
 startConversation player <Topic-ID>
 set init to 1
endif

end

In das Result-Skript des Topics schreibst du:
Code:
enablePlayerControls
<NPC-Ref>.addScriptPackage <Follow-Package-ID>

Das Package musst du vorher erstellen.
 
  • Like
Reaktionen: Runic
Hi ich brauchen einne script das folgendes passiert.

Triggerbox berührt.

Lichter aus.
Menschen erscheinen .
Licjter an.

Ich habe einen Script geschrieben nur das läuft zu schnell ab es soll während die Menschen erscheinen dunkel sein.
 
Da musste einen timer einbauen ganz einfach
Code:
scn script
float timer
short doonce
begin Gamemode
if doonce == 1
if timer < 40 ; zeit bis zum auslösen
set timer to timer - getsecondspassed
else
;Lichter an
endif
endif 
end
du musst set doonce to 1 machen nachdem die lichter erschienen sind. Dann wird erst der Timer ausgeführt
 
Könntest du das in diesen Script einbauen ?

scn 0oliweareback

Begin onTrigger player

t1.disable
t2.disable
t3.disable
t4.disable
t5.disable
t6.disable
t7.disable

q1.enable
q2.enable

t1.enable
t2.enable
t3.enable
t4.enable
t5.enable
t6.enable
t7.enable


end
 
Code:
scn 0oliweareback
float timer
short doonce
begin Gamemode
if doonce == 1
if timer < 40 ; zeit bis zum auslösen
set timer to timer - getsecondspassed
else
t1.enable

t2.enable

t3.enable

t4.enable

t5.enable

t6.enable

t7.enable
set doonce to 2
endif
endif 
end


Begin onTrigger player


if doonce == 0
t1.disable

t2.disable

t3.disable

t4.disable

t5.disable

t6.disable

t7.disable



q1.enable

q2.enable

set doonce to 1
endif




end
EDIT: Erster :p
 
Zuletzt bearbeitet:
Code:
scn 0oliweareback

short once
float timer

Begin onTrigger player
	if once == 0
		set timer to 5
		set once to 1
	endif
end

begin Gamemode
	if once == 1
	Set Timer to Timer - GetSecondspassed
	endif

		if timer <= 4 && once == 1
			t1.disable
			t2.disable
			t3.disable
			t4.disable
			t5.disable
			t6.disable
			t7.disable
		endif

		if timer <= 2 && once == 1
			q1.enable
			q2.enable
		endif

	if timer <= 0 && once == 1
		t1.enable
		t2.enable
		t3.enable
		t4.enable
		t5.enable
		t6.enable
		t7.enable
		set once to 2
	endif
end
 
Zuletzt bearbeitet:
Code:
scn 0oliweareback

float timer
short doonce

Begin onTrigger player
If doonce == 0
	set timer to 3
	set doonce to 1
	t1.disable
	t2.disable
	t3.disable
	t4.disable
	t5.disable
	t6.disable
	t7.disable
	q1.enable
	q2.enable
Endif
End

Begin GameMode
If doonce < 1
	return
Else
	If timer > 0
		set timer to timer -getsecondspassed
	Elseif timer <= 0
		set doonce to -1
		t1.enable
		t2.enable
		t3.enable
		t4.enable
		t5.enable
		t6.enable
		t7.enable
	Endif
Endif
end

EDIT: Verdammte Drängler :p
Aber bei death-lord ist der timer falsch (in seinem Fall muss gamesecondspassed addiert und nicht subtrahiert werden) und Master of Worlds hat vergessen die Variable once auf 1 zu setzen.
 
Zuletzt bearbeitet:
EDIT: Verdammte Drängler :p
Aber bei death-lord ist der timer falsch (in seinem Fall muss gamesecondspassed addiert und nicht subtrahiert werden) und Master of Worlds hat vergessen die Variable once auf 1 zu setzen.

Habe meinen Fehler auch noch bemerkt. Ist bereits korrigiert. :D

Bei deinem Skript fehlt wohl noch ein Leerzeichen. ;)

Code:
		set timer to timer [B]-[/B]getsecondspassed

MfG Master of Worlds
 
Dann versuch ihn so:
Code:
scn 0oliweareback
float timer
short doonce
begin Gamemode
if doonce == 1
if timer < 40 ; zeit bis zum auslösen
set timer to timer + getsecondspassed
else
t1.enable

t2.enable

t3.enable

t4.enable

t5.enable

t6.enable

t7.enable
set doonce to 2
endif
endif 
end


Begin onTrigger player


if doonce == 0
t1.disable

t2.disable

t3.disable

t4.disable

t5.disable

t6.disable

t7.disable



q1.enable

q2.enable

set doonce to 1
endif




end
 
Hi,

in dieser einen Quest in Bravil muss man mit einem Boot zu der Festung fahren in der Menschen gejagt werden.
Dieses Boot existiert ja nicht als Tür, sondern als Activator.
Ich will das so machen, das dieses Boot, mit anderer ID natürlich, immer abfragt wo man hinfahren will. Dabei soll sich dann ein Menü öffnen und man soll dort auswählen können ob man zu Boot 1 , 2 oder 3 will. Das soll man aber unentlich oft tuen können.
Das Boot im CS findet man unter Activator MS08Rowboat.

mfg