Construction Set Ein paar fragen

Xaser

Ehrbarer Bürger
Hi!
Also ich habe ein paar fragen, für meinen zukünftigen Hausmod:
1. Wie amche ich ein Teleporteramulett?
2. Wie kann ich es hinbekommen, das eine quests erst zum 2ten Stage kommt, wen ich alle Narhcichten gelesen habe?
3. Wie mache ich einen Pool?
4. Würde es ZU lange dauern einen NPC dialog zu erstellen der dan so aussehen würd:

Ansprehcehn-> Gerüchte-> Gerüchte (sagt er dann)
-> ich brauche zutaten-> liste von allen zutaten (wenn man eins anklickt bekommt man die Zutat ins inventar)

Oder sollte ich lieber einen Zutatenhändler dahin stellen?

5. wo bekomme ich eine Tür, die in den Ramen vom Haus Berinus in Anvil passt? oder ins den Ramen des Kaiser septim Hotels? oder was weis ich in den Ramen eines Hauses in Skingrad?

6. Kann man es irgentwie einstellen, das man nicht jedes Item mit Onership Player einstellen muss, damit man es nehmen kann ohne gleich Kopfgeld zu bekommen?
 
Zuletzt bearbeitet:
Zu deiner 2.Frage:
Musste halt so amchen das jede ne variable auf 1 setzt und alle variablen auf 1 sein müssen das ne neue stage kommt.

3.Frage
das wasser so hoch einstellen das es übern boden is;)

4.Frage
Ne des is einfach, geht sehr schnell. Aber ein Händler noch schneller;)

5.Frage
unter worldobjects --> door musste halt suchen. Wenns die Tür aus ner bestimmten stadt is steht da auch der stadtname davor;)

6.Frage
Wenns ein intorier is kannste auch einafch den Intorier als ownership palyer machen.

Zur 1.Frage
Zieh dir einfach ein paar scriptinmg tuts;)
 
Das Script fürs Amulett wäre
Code:
scn 00teleporteramulettscript

Begin OnEquip
player.moveto XMarkerHeadingReferenzID
end
und du musst vorher logischerwiese einen "XMarkerHeading" (unter Static ganz unten) an den ort setzen, an den der SPieler kommen soll und dem eine Referenz ID verpassen.
 
Ok danke erstmal, ich werd mir mal nen paar script tutorials reinziehn..

aber mit dem Pool.. welcher interirror is dafür am besten??
 
hmm ja daruas lässt sich was machen..

udn noch eine frage zu meinen anderen:
ich breuchte noch ein Script, womit man öffnungsschutz auf einen Behälter legen kan und einen Schutz brechen geht sowas?

EDIT:
ich hab noch ne frage^^
ist dieses Script richtig? das sol auf ein Amulett gelegt werden, damit man zu jeder Stadt und zu "einer speziellen Villa" kommen kann: (DVDG is diese Spezielle Villa bzw der Xmarker davon)
Code:
scn tele

short tele

Begin ScriptEffectStart

messagebox "Wohin möchtet ihr?", "Nach Hause", "Zur Kaiserstadt", "Nach Anvil", "Nach Skingrad", "Nach Leyawiin", "Nach Bravil", "Nach Cheydinhal", "Nach Bruma"
end

Begin OnEquip
Set tele to GetButtonPressed
if tele == 0
player.moveto DVDG
elseif tele == 1
player.moveto ICMarketWestGateMarker
elseif tele == 2
player.moveto AnvilLandGateMarker
elseif tele == 3
player.moveto MG13CarstenMark
elseif tele == 4
player.moveto LeyawiinGreenGateMarker
elseif tele == 5
player.moveto BravilCenterMarker
elseif tele == 6
player.moveto CheydinhalBlueGateMarker
elseif tele == 7
player.moveto BrumaBeggarGate
endif
end
 
Zuletzt bearbeitet:
Eigentlich ist es schon fast richtig, aber so wird soweit ich weiß zuerst der 2. Block ausgeführt, danach erst der 1., was ja eigentlich nicht geht...

Setze am besten den ersten Block zu einem OnEquip-Block, den zweiten dann GameMode.
also dass das script dann so aussieht:
Code:
scn telescript

short tele

Begin [B]OnEquip[/B]
messagebox "Wohin möchtet ihr?", "Nach Hause", "Zur Kaiserstadt", "Nach Anvil", "Nach Skingrad", "Nach Leyawiin", "Nach Bravil", "Nach Cheydinhal", "Nach Bruma"
end

Begin [B]GameMode[/B]
Set tele to GetButtonPressed
if tele == 0
player.moveto DVDG
elseif tele == 1
player.moveto ICMarketWestGateMarker
elseif tele == 2
player.moveto AnvilLandGateMarker
elseif tele == 3
player.moveto MG13CarstenMark
elseif tele == 4
player.moveto LeyawiinGreenGateMarker
elseif tele == 5
player.moveto BravilCenterMarker
elseif tele == 6
player.moveto CheydinhalBlueGateMarker
elseif tele == 7
player.moveto BrumaBeggarGate
endif
end
 
Aha.. danke soweit.. aber was heißt eigentlich ONEquip? und warum Gamemod woanders? weil Gamemods? Hä? in allen Frames geht??? was heißst das den?
Also die MEssage Box soll erscheinen, wenn man das Amulett anlegen will...


PS: und geht das mit den Schutzzaubern?
 
So wird der lock ausgeführt, wenn das Amlett angelegt wird (On Equip eben)

Aber wegen dem GameMode: mist, da hab ich nicht nachgedacht, so wird man ja jedes Frame an den Ort teleportiert, das ist wohl kaum Sinn der Übung :D

Also: Korrektur: Entweder du schreibst alles in einen ScriptEffectStart/OnEquiptBlock (also alles einfach untereinander) oder, wenn du eine Verzögerung habe willst, das erste als ScriptEffectStart und den zweiten Block mit ScriptEffectFinish (über die Dauer vo der Verzauberung kannst du dann die Verzögerung einstellen)

Und wegen dem truhen schützen (wenn ich das richtig verstehe doch eigentlich verhindern, dass man sie öffnen kann und dann per Script geöffnet wird), dann müsste man so ein Script verwenden (je nachdem, ob es ein zeuber oder Activator ist halt ScriptEffectStart oder OnActivate oder was auch imemr)
Code:
scn bla

short open

Begin ScriptEffectStart
if (open == 0)
truhenID.unlock
set open to 1
elseif (open == 1)
lockrefTruhenID
endif
end
so wird dann jedesmal, wenn das Script ausgeführt wird die Truhe verschlossen oder eben geöffnet. Vorher musst du halt die Truhe noch unmöglich verschließen...
 
kann mir mal einer eklärn was nen "Frame" is???
also ich habs jetzt so umgeschrieben:
Code:
scn telescript

short tele

Begin ScriptEffectStart
messagebox "Wohin möchtet ihr?", "Nach Hause", "Zur Kaiserstadt", "Nach Anvil", "Nach Skingrad", "Nach Leyawiin", "Nach Bravil", "Nach Cheydinhal", "Nach Bruma"
end

Begin ScriptEffectFinish
Set tele to GetButtonPressed
if tele == 0
player.moveto DVDG
elseif tele == 1
player.moveto ICMarketWestGateMarker
elseif tele == 2
player.moveto AnvilLandGateMarker
elseif tele == 3
player.moveto MG13CarstenMark
elseif tele == 4
player.moveto LeyawiinGreenGateMarker
elseif tele == 5
player.moveto BravilCenterMarker
elseif tele == 6
player.moveto CheydinhalBlueGateMarker
elseif tele == 7
player.moveto BrumaBeggarGate
endif
end

wir die Message Box jetzt dann angezeigt, wen ich das Amulett anlege? und habe ich da jetzt eine verzögerung?

PS: meine erstes eigenes Script fertig!:hah:
 
1.) Ein Frame ist ein "Bild", das in Oblivion angezeigt wird (quasi wie ein Duamenkino, nur fortschrittlicher xD). Sind zu wneige Frames da, ruckelt das spiel, sind genug Frames da, läuft es zügig.
2.) Ja, wenn du das Script in ne Verzauberung packst, die du auf das Amulett legst, dann schon.
3.) ne verzögerung hast du, wenn du als Duration von dem Effekt irgendwas größer null eingibst
4.) :clap: :good:
 
1 achso diese Frames.. dan müste der ja dauernt von Stadt zu stant springen:eek:

2. muss ich das erst in ne verzauberung tun?? kann ich das net direkt aufs amulett packen? oder meinste das mit "verzauberung"?
3. is auch egal

4. Thx^^
 
ScriptEffectStart ScritpEffectUpdate und ScriptEffectFinish funktionieren nur in MagicEffect Scripts, also müsste man das hier in ne Verzauberung packen und das Amulett damit verhexen xD
 
Aha... und wie kann ich das direkt auf das Amulett legen? Wenn das Script so aussieht?

Code:
scn telescript

short tele

Begin OnActivate
messagebox "Wohin möchtet ihr?", "Nach Hause", "Zur Kaiserstadt", "Nach Anvil", "Nach Skingrad", "Nach Leyawiin", "Nach Bravil", "Nach Cheydinhal", "Nach Bruma"
end

Begin Gamemode
Set tele to GetButtonPressed
if tele == 0
player.moveto DVDG
elseif tele == 1
player.moveto ICMarketWestGateMarker
elseif tele == 2
player.moveto AnvilLandGateMarker
elseif tele == 3
player.moveto MG13CarstenMark
elseif tele == 4
player.moveto LeyawiinGreenGateMarker
elseif tele == 5
player.moveto BravilCenterMarker
elseif tele == 6
player.moveto CheydinhalBlueGateMarker
elseif tele == 7
player.moveto BrumaBeggarGate
endif
end
Weil dann wird der Effekt ja aktiviert, wenn das Amulett Anktiviert wirt, also umgelegt wird

und noch eine frage: weöche Programiersprache wird hier bneutzt. wie heißt sie? c++?
 
Zuletzt bearbeitet:
naja, das würde funktionieren, aber nur, wenn der spieler das Amulett irgendwie per Script oder so bekommt, weil wenn man es normal aufnimmt aus der umgebung, aktiviert man es ja auch, also startet das Script, am besten nimmst du hier OnEquip, dann ist es mit sicherheit dann, wenn es ausgerüstet wird

so müsste es eigentlich gehen, aber nach jedem Teleportbefehl musst du noch die variable zurücksetzen, sodass der Spieler eben nicht jedes Frame an den selben Ort gebracht wird, also jedesmal noch dazuschreiben:
set tele to -1
 
Code:
scn telescript

short tele

Begin OnEquip
messagebox "Wohin möchtet ihr?", "Nach Hause", "Zur Kaiserstadt", "Nach Anvil", "Nach Skingrad", "Nach Leyawiin", "Nach Bravil", "Nach Cheydinhal", "Nach Bruma"
end

Begin Gamemode
Set tele to GetButtonPressed
if tele == 0
player.moveto DVDG
set tele to -1
elseif tele == 1
player.moveto ICMarketWestGateMarker
set tele to -1
elseif tele == 2
player.moveto AnvilLandGateMarker
set tele to -1
elseif tele == 3
player.moveto MG13CarstenMark
set tele to -1
elseif tele == 4
player.moveto LeyawiinGreenGateMarker
set tele to -1
elseif tele == 5
player.moveto BravilCenterMarker
set tele to -1
elseif tele == 6
player.moveto CheydinhalBlueGateMarker
set tele to -1
elseif tele == 7
player.moveto BrumaBeggarGate
set tele to -1
endif
end

Dann passiert jetzt was? wenn ich das Scrpit direkt auf das Amulett lege, funktioniert das?
 
müsste es eigentlich, ja
also: wnen man das Amulett anlegt (OnEquip) kommt die Nachricht mit der Auswahl (ich weiß nicht, ob das wichtig ist, aber versetz das "set tele to getuttonpressed" evtl lieber in den ersten Block mit rein...).
Dann wird jedes Frame abgefragt, ob der Spieler etwas gedrückt hat. wenn ja, wird er an den entsprechenden XMarkerHeading gebracht.

Eine Alternative zu dem Script hier wäre wie schon gesgt, den ganzen Inhalt des GameMode-Blocks noch in den OnEquip-Block zu schreiben, dann wird das nur ein einziges mal abgefragt, was der Performance sicherlich nicht schadet ;)
(nicht dass das etwas weltbewegendes wäre, ein einziges Script mit GameMode mehr, aber...)
 
Also ich habe jetzt dieses Script verwendet:
Code:
short tele

Begin ScriptEffectStart
messagebox "Wohin möchtet ihr?", "Nach Hause", "Zur Kaiserstadt", "Nach Anvil", "Nach Skingrad", "Nach Leyawiin", "Nach Bravil", "Nach Cheydinhal", "Nach Bruma"
end

Begin ScriptEffectFinish
Set tele to GetButtonPressed
if tele == 0
player.moveto DVDG
elseif tele == 1
player.moveto ICMarketWestGateMarker
elseif tele == 2
player.moveto AnvilLandGateMarker
elseif tele == 3
player.moveto MG13CarstenMark
elseif tele == 4
player.moveto LeyawiinGreenGateMarker
elseif tele == 5
player.moveto BravilCenterMarker
elseif tele == 6
player.moveto CheydinhalBlueGateMarker
elseif tele == 7
player.moveto BrumaBeggarGate
endif
end

und siehe da, wie konnt es anders sien, es geht ent. beim Anlegen passiert nix