Construction Set Skriptthread zum Construction Set

Hiho!
Ich brauche ein Script für ein Buch, dass einen Gegenstand in den Inventar des Spielers erscheinen lässt, sobald der Spieler das Buch öffnet. Das Script werde ich dann dem Buch anhängen.
Dies ist ein Teil meines Oblivion-Quest-Mod s "Essel Harrar". Ich möchte noch einmal darauf hinweisen das ich auch noch Hilfe gebrauchen könnte.(icq/e-mail/PN)
 
Zuletzt bearbeitet:
hmm, das sollte in etwa so aussehen:

Code:
scn ...

begin OnActivate
player.additem ID
end

oder

Code:
scn ...

begin OnEquip
player.additem ID
end

für deinen fall wohl eher das zweite
(für ID die ID des gegenstandes, der ins inventar soll)
 
Hallo, ich habe eine Frage, ich brauche ein Script(wenn überhaupt nötig), das das Wetter global auf Schnee setzt- nur es soll sofort geschehen-; ohne das der Spieler was machen muss, egal in welcher Zelle er ist.

MfG

Code:
scn Schneescript

short doonce

Begin GameMode
if (doonce == 0) && (player.getinworldspace Tamriel == 1)
set doonce to 1
setweather Snow
endif
end
ich bin nicht sicher, aber es ist möglich, dass du das Script auf irgendein Objekt/Quest legen musst, dmait es wirkt. Möglicherweise funktioniert es aber auch so.
Ich habe eine Abfrage eingebaut, sodass es nur in Tamriel schneit, sonst kann es passiren, dass es in irgendeiner Oblivionebene anfängt, zu schneien, aber dafür in Tamriel das reguläre Wetter herrscht.



Essel schrieb:
Hiho!
Ich brauche ein Script für ein Buch, dass einen Gegenstand in den Inventar des Spielers erscheinen lässt, sobald der Spieler das Buch öffnet. Das Script werde ich dann dem Buch anhängen.
Dies ist ein Teil meines Oblivion-Quest-Mod s "Essel Harrar". Ich möchte noch einmal darauf hinweisen das ich auch noch Hilfe gebrauchen könnte.
Code:
scn Buchscript

short doonce

Begin OnActivate
activate
if doonce == 0
set doonce to 1
player.additem [I][ID des Gegenstandes][/I] 1
endif
end
Für das in den eckigen Klammern geschriebene musst du dann eben die ObjectID des hinzuzufügenden Objekts einfügen. Die Klammern dann übrigens weglassen ;)
 
ach ****, natürlich, du willst es ja wahrscheinlich nur einmal haben, das doonce hab ich vergessen.
@essel: und wie gesagt, du solltest lieber OnEquip nehmen, statt OnActivate. sonst kriegst du den gegenstand, wenn du das buch aufnimmst.
ist es eigentlich wichtig, ob das "set doonce to 1" unter der aktion (hier z.b. player.additem ...) steht, oder kanns auch darüber stehen?
 
Zuletzt bearbeitet:
Nur bei Funktionen wie "moveto", da diese den aktuellen Block automatisch abshcließen; alles was danach steht, wird nicht mehr ausgeführt.

Allerdings habe ich schon absichtlich OnActivate gewählt, in der Annahme, dass das Buch irgendwo herumliegt oder so. bei OnEquip müsste der Spieler es zuerst lesen, um es aufzunehmen und danach noch einmal lesen, damit er es wirklich "ausrüstet" ;)
 
ich bin nicht sicher, aber es ist möglich, dass du das Script auf irgendein Objekt/Quest legen musst, dmait es wirkt. Möglicherweise funktioniert es aber auch so.
Ich habe eine Abfrage eingebaut, sodass es nur in Tamriel schneit, sonst kann es passiren, dass es in irgendeiner Oblivionebene anfängt, zu schneien, aber dafür in Tamriel das reguläre Wetter herrscht.

Danke!
MfG Jauffre
 
@Arcanum:
Zitat:
Code:
Hiho!
Ich brauche ein Script für ein Buch, dass einen Gegenstand in den Inventar des Spielers erscheinen lässt, sobald der Spieler das Buch öffnet.
(Haarspalterei, ich weiß!)

@Essel: das ist egal, du kannst beide varianten (Onactivate und OnEquip) benutzten, auch wenn dein buch in einem schrank liegt, du kannst es schließlich ablegen, aber praktischer dürfte es sein, OnEquip zu nehmen, dann musst du es bei einem schrank nicht ablegen.
 
@Knochenkeule: Was genau meinst du mit "ablegen"? :huh:

Afaik tritt OnEquip ein, wnen man es aus dem Inventar heraus aktiviert und OnActivate, wnen es in der Welt rumliegt um man es aktiviert oder nicht?
 
ja, natürlich, ich meint nur, das er, wenn er onactivate benutzte, das buch aber in einen schrank, truhe etc. tut, er das buch aus dem inventar auf den boden legen muss, damit er es aktivieren kann.
 
ja, natürlich, ich meint nur, das er, wenn er onactivate benutzte, das buch aber in einen schrank, truhe etc. tut, er das buch aus dem inventar auf den boden legen muss, damit er es aktivieren kann.
:idea:
Oder man nimmt schlicht und ergreifend beide Varianten. Wenn sie auf die selbe Variable zugreifen, geht es trotzdem nur einmal und es ist egal, wo oder wie das Buch liegt:
Code:
short doonce

Begin OnActivate
activate
if doonce == 0
set doonce to 1
player.additem [I][ID des Gegenstandes][/I] 1
endif
end

Begin OnEquip
if doonce == 0
set doonce to 1
player.additem [I][ID des Gegenstandes][/I] 1
endif
end
@dGdA:
Code:
scn hulledonk

Begin GameMode
if (GameHour =< 7) || (GameHour => 22)
[ObjektReferenz].enable
else
disable
endif
end
 
Trigboxteleportation

Hi
ich hab ein kleines problemchen
ich habe zwei zellen
in jeder befindt sich ein marker un eine trigbox (in cell1 trigger1 und marker1, logo)
so jetzt hab ich auf die beiden trigger das entsprechende script gelegt

Auf Trigger1:

scn Name1

ref act

Begin OnTrigger
set act to getActionRef
act.MoveToMarker Xmarker2

End


Auf Trigger2:

scn Name2

ref act

Begin OnTrigger
set act to getActionRef
act.MoveToMarker Xmarker1

End

und nun, ich kann mithilfe von trigger1 in cell2 gelangen, aber wenn ich nun wieder in cell1 zurückkehren will, mit trigger2, schmiert mein Oblivion ab un ich kann nochmal neu starten

kann mir bitte jemand sagen, was ich falsch gemacht hab

Übrigens: das andere skript, was mir hier angeboten wurde, funzt auf dieselbe art nicht:
http://www.scharesoft.de/joomla/forum/showthread.php?t=14473


Edit: Wenn niemand ne idee hat, könne irgendjemand mir dann bitte sagen, ob er dieses Problem auch hat, oder ob alles wie am schnürchen läuft. dann weiß ich nämlich, ob ne neuinstall helfen würde oder ob ich nen anderen weg suchen muss
 
Zuletzt bearbeitet:
Hallo,

ich benötige einen Script. Er soll folgendermaßen sein:
Ich habe einen Eimer (ist dieser Weintraubeneimer, also ein 3D Objekt, dass man nicht aufnehmen kann) und dazu auch Vasen in denen sich Flüssigkeiten befinden.
Ich möchte, dass man die Vasen aufnehmen kann (befindet sich dann im Misc-Inventar des Spielers), dann den Eimer 'anklickt' und dann soll eine Meldung kommen wie z.B. 'Ah, sehr erfrischend' oder sowas in der Art.
Die Vase soll dann nicht aus dem Inventar verschwunden sein, sondern noch da sein.

Kann mir jemand bitte so einen Script machen?

Danke im Voraus

MfG
Diego 2

EDIT: Hat sich erledigt :)
 
Zuletzt bearbeitet:
Hallo,
Ich brauch mal wieder Hilfe.
Wie kann ich einbauen, dass bei diesem Script die ganzen Referenzen erst nachdem ein Tag vergangen ist enabled werden?

Code:
scn aaaxy

short doonce
float timer

Begin GameMode
	if (player.getitemcount 00xy == 1) && (doonce == 0)
	set timer to 1
	ship01.enable
	ship02.enable
	ship03.enable
	ship04.enable
	ship05.enable
	ship06.enable
	ship07.enable
	ship08.enable
	ship09.enable
	ship10.enable
	ship11.enable
	ship12.enable
	ship13.enable
	endif
end
 
Also ich nehme an, die sollen einen Tag danach enabled werden, wenn diese gegebene Vorraussetzung erfüllt ist. Demnach so:
Code:
scn aaaxy

short day
short hour
short doonce
float timer

Begin GameMode
	if ( player.getitemcount 00xy == 1 ) && ( hour == 0 ) && ( doonce == 0 )
	set timer to 1
	set doonce to 1
	set hour to gamehour
	set day to gameday + 1
	Endif
	if ( hour == gamehour ) && ( day == gameday ) && ( doonce == 1 )
	set doonce to 2
	ship01.enable
	ship02.enable
	ship03.enable
	ship04.enable
	ship05.enable
	ship06.enable
	ship07.enable
	ship08.enable
	ship09.enable
	ship10.enable
	ship11.enable
	ship12.enable
	ship13.enable
	endif
end
Das bewirkt, dass die ganzen Dinge erst am nächsten Tag um die selbe Zeit aktiviert werden.

MfG Gildur
 
Moin
Ja also wie mach ich das script das ich beim aufnehmen eines Items von einem Leichnam oder anlegen die nächste quest stage aktivier also mit activate weiss ich aber wie geht das mit add?
 
der teil sollte etwa so aussehen (nur grob):

scn ...

short doonce

begin OnEquip

if doonce == 0
set [QuestID] to stage [nächste] ;bei der zeile bin ich mir nicht ganz sicher
set doonce to 1
endif
end
----------------------
short doonce

begin OnAddItem ;unsicher

if doonce == 0
set [QuestID] to stage [nächste] ;wie oben nicht sicher
set doonce to 1
endif
end

so in etwa sollte es aussehen
verbessert mich, wenn nicht