Construction Set Skriptthread zum Construction Set

Code:
scn NAME 
ref mySelf 
ref myParent 
short activated 

begin ontriggeractor
if activated == 0 
set myParent to getParentRef
set mySelf to getSelf
set activated to 1
playgroup forward 0 

if player.getinfaction DarkBrotherhood==0 && player.getinfaction ThievesGuild==0 && player.getvampire==0 myParent.activate mySelf 1 endif  
       
endif end  begin onReset
reset3DState
set activated to 0
end

Okay,ich hab jetzt meins einfach so umgeschrieben,dass es funktionieren müsste ;)
 
Bei dem kommt aber die Meldung Unknown command getPCvampire?
Wie müsste ich das Script denn dann schreiben wenn jeder NPC auch erwischt werden soll, also z.B eine Wache die da unten durch geht.

Ups... ich meinte eigentlich die Variable "PCVampire" und nicht "getPCVampire", also sollte es reichen, einfach das "get" rauszustreichen. Habs im Skript geändert.

Edit: Wenn das Skript bei jedem beliebigen Actor funktionieren soll, kannst du es so schreiben:
Code:
scn name

short triggered

ref mySelf
ref myParent
ref trigRef

Begin onTriggerActor

if triggered
 return
endif
set trigRef to getActionRef
if trigRef.getInFaction DarkBrotherhood
 return
elseif trigRef.getInFaction ThievesGuild
 return
elseif trigRef.getIsReference player
 if PCVampire > 0
  return
 endif
else
 if trigRef.getVampire
  return
 endif
endif
set triggered to 1
set mySelf to getSelf
set myParent to getParentRef
myParent.activate mySelf 1

end


Begin onReset

set triggered to 0

end
 
Zuletzt bearbeitet:
Moin, ist es möglich bestimmte Dinge (z.B. Sunbeams/Lichtstrahlen) vom momentanten Wetter abhängig zu machen? Sprich wenn es draußen regnet ->keine Lichtstrahlen, wenn draußen Sonne -> drinnen Lichtstrahlen. Wenn ja wie? Habe gerade entdeckt das es "GetIsCurrentWeather" gibt, geht es vllt damit?
 
da es verrückt ist 554 Seiten durchzulesen und ich die Vermutung habe das diese Frage schon mal gestellt wurde rede ich mich erstmal mit den 554 Seiten raus :lol:

So jetzt meine Frage
Undzwar suche ich einen Skript der es einer Lampe erlaubt um eine bestimmte Zeit anzugehen und das der Spieler sie durch aktivieren an/aus machen kann
Ich habe 2 Lampen einmal die Lampe die an ist und einmal die Lampe die aus ist
So das wars :lol:
Naja...

MfG TK
 
Ähm...Also die Lampe soll von alleine An udn ausgehen um ne bestimmte Uhrzeit UND der Spieler soll sie durch Aktivieren trotzdem an- udn ausschlaten können?!

Kann man da nicht einfach das Skript von der Leuchtturm-Lampe bei Anvil nehmen?
 
Ähm...Also die Lampe soll von alleine An udn ausgehen um ne bestimmte Uhrzeit UND der Spieler soll sie durch Aktivieren trotzdem an- udn ausschlaten können?!

Ähm ja so ungefähr. xD

Kann man da nicht einfach das Skript von der Leuchtturm-Lampe bei Anvil nehmen?
Ähm ich kenn die Lampe nenn wenn du mir sagst wie sie heißt probier ich es eifnach mal aus
Also die ID.

Aber sonst danke ;)

MfG TK
 
Mhm...
Wie bring ich jetzt meine normlae Lampe dazu nen Activator zu sein :lol:

Und das Script hab ich
PHP:
scn AnvilLighthouseActivator

begin OnActivate
	if IsActionRef player == 1

		if AnvilLighthouseFire.GetDisabled == 0
			AnvilLighthouseFire.disable
		else
			AnvilLighthouseFire.enable
		endif
	elseif IsActionRef UlfgarFogEyeRef == 1
;		message "DEBUG: Ulfgar activating lighthouse bowl"
		; turn on if evening, turn off if morning
		if gamehour <= 12
			AnvilLighthouseFire.disable
		else
			AnvilLighthouseFire.enable
		endif
	endif
end

Wie bring ich das jetzt auf meine Lampe ?
Und muss ich an den Lampen was ändern wenn ich eine hab die an ist und eine die aus ist?
 
Hmmm....okay das Skript ist leider anders aufgebaut als ich gehofft hab :(

Edit: Hast du die Meshes.bsa entpackt? Dann musst du einfach unter "Activator" rechtsklick machen, dann "new" und dort den Pfad von der Lampe auswählen. Ich würde dir empfehlen,nur eine Lampe OHNE Flamme zu benutzen und durch das Skript dann die Flamme ein- bzw. ausblenden zu lassen ;)
 
Okay also ich habe die Lampe ohne Flamme xD
Die Meshes.bsa habe ich nicht entpackt aber ich habe die Lampe die ich dahin haben will in dem Meshes ordner wo sie eben hin gehört xD
Ich habe die Lampe jetzt zu den Activatorn hinzugefügt bekommen ABER
Im spiel renn ich durch also wie mach ich sie solid und wie lautet der Skript, welcher die Flamme die ich in der Lampe plaziere :O
Sry bin aber nen totaler Skript Noob xD

MfG TK
 
Das mit dem Durchrennen könnte man höchstens durch ne Collision-Box lösen. Die sind unter "Static". Aber du darfst keinen "Kasten" um die Lampe bauen,weil du sie sonst nicht mehr aktivieren kannst...

Das Skript bestünde aus diesen 2 Blöcken.Allerdings muss man die noch irgendwie zusammenfügen...:?:
Code:
scn NAME

Begin onactivate
if <flamme-REF>.getdisabled==0
<flamme-REF>.disable
else
<flamme-REF>.enable
endif
end
Code:
begin gamemode
if gamehour >= 18 || gamehour < 6
<flamme-REF>.enable
elseif gamehour >= 6 || gamehour < 18
<flamme-REF>.disable
endif
end
Edit: Weist du was das größte Problem daran ist?! Du willst,dass das Licht von alleine an und ausgeht aber dass man es trotzdem kontrollieren kann...Stell dir mal vor das Licht geht ab 18 Uhr an. Dann sagst du dem Skript: "Ab 18 Uhr Licht einschalten!" - soweit kein Problem. Aber wenn du die Lampe jetzt noch aktivierst und sagst: "Geh aus!", dann geht sie zwar aus, aber dadurch dass du ihr gesagt hast, sie soll ab 18 Uhr angehn, macht sie das 1 Sekunde später auch wieder....:(
 
Zuletzt bearbeitet:
Mhm... klingt logisch xD
Gäbe es eine möglischkeit
Das die lampe abends an geht morgens aus und mittags wenn man sagt an angeht?
Weil wer will schon nachts draußen das licht ausmachen :lol:
Wenn du nichts findest ist es auch nicht so schlimm xD
Dann bleibt das Licht eben den ganzen Tag lang an ^-^
Mit dem Skript sähe es einfach nur schöner aus XD

MfG TK
 
Code:
scn NAME
short turned

begin gamemode
if gamehour >= 18 || gamehour < 6
    if turned==0
    <flamme-REF>.enable
    set turned to 1
    endif
elseif gamehour >= 6 ||gamehour < 18
    if turned==1
    <flamme-REF>.disable
    set turned to 0
    endif
endif
end

Begin onactivate
if <flamme-REF>.getdisabled==0
<flamme-REF>.disable
else
<flamme-REF>.enable
endif
end

Mach die Flamme "initially disabled". Es kann sein, dass es jetzt geht...Das Licht sollte jetzt pro Tag EINMAL angeschaltet werden,wenn es Nacht ist und morgens EINMAL wieder ausgehen. Durch Aktivieren wird es seinen Modus immer wechseln - Hoffe ich :oops:
 
Ich brauche ein Script, das ich auf einen Ayleiden Schalter lege.
Wenn man ihn aktiviert, wird ein Skellett gespawnt, das einen angreift.

Wie mache ich das?

g Käse

EDIT: es kann auch ein anderer Schalter oder Hebel sein, hauptsache es klappt!
 
Zuletzt bearbeitet:
Code:
scn name
short once

begin onactivate
if once==0
playgroup forward 0
<skeltt-REF>.enable
<skelett-REF>.pme ZSKE
<skelett-REF>.startcombat player
set once to  1
endif
end

Hierfür musst du das Skelett an die Stelle stellen,wo es spawnen soll udn ein Häkchen bei "initially disabled" machen.
 
  • Like
Reaktionen: Käsekuchen
wenn das skellett als ref testmonster hat, muss ich das dann so schreiben?

scn skelattack
short once
begin onactivate
if once==0
playgroup forward 0
<testmonster>.enable
<testskulll>.pme ZSKE
<testskulll>.startcombat player
set once to 1
endif
end

oder so:
scn skelattack
short once
begin onactivate
if once==0
playgroup forward 0
testmonster.enable
testmonsterl.pme ZSKE
testmonster.startcombat player
set once to 1
endif
end

aslo mit oder ohne < >
 
ich hab es mit und ohne ausprobiert aber es kommt folgende Fehlermeldung:

Script skelattack1 line 6
Non persistent reference thetestmonster cannot be used in a Script

Die ID des Monsters ist testmonsterr, die Ref Editor Id ist thetestmonster

Das Script sieht so aus:
scriptname skelattack1
short once
begin onactivate
if once==0
playgroup forward 0
thetestmonster.enable
thetestmonster.pme ZSKE
thetestmonster.startcombat player
set once to 1
endif
end

was ist falsch?
sry ich bin eben noch nicht so fortgeschritten im Scripten:-D

g Käse