PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim questen



flobby
24.08.2008, 02:06
Hi
Ich habe ein Problem:
ICh versuche mich mal am Questen, habe aber das PRoblem, dass der Quest nie startet. Quest Conditions ist "GetDistance [ID]" ein QuestScript hab ich auch schon versucht, aer es will einfach nicht starten. Den Questscript post ich morgen, bin grad zu müde, aber falls jemand davor schon was weiß könnte er es schreiben.

Atoom
24.08.2008, 17:24
Questconditiones geben nur an unter welchen bedingungen der spieler eine Quest bekommen kann, bekommen tut er sie nicht automatisch. Und wenn ein quest nicht läuft, läuft auch das dazugehörige questscript nicht. Der quest muss daher mit einem externen script (activator, zauber, wasweisich...) gestartet werden.

Satsuma
24.08.2008, 18:04
Eben nicht, ein Quest "GameMode" Script, läuft immer, dafür muss der Quest nicht gestartet sein. Viele Funktionen die einfach nur immer in Spiel ablaufen sollen, werden beispielsweise durch ein Questscript ausgeführt.

Atoom
24.08.2008, 18:23
Eben nicht, ein questscript auch mit gamemode oder nicht, läuft nur wenn des quest läuft, sonst nicht, sonst würden dummy-quests, die dem spieler zum beispiel einen gegenstand geben und zum beispiel so ein skript haben:

scn dummyquestSCR
begin gamemode
player.additem dingsbums 1
stopquest dummyquest
end des ganze inventar voll spammen. Dass ein quest(skript) läuft, ohne das es explizit gestartet wird liegt daran, dass ein häckchen bei "start game enabled" ist. Dann läuft es sobald das spiel gestartet wird, aber auch nur bis es mit stopquest gestoppt wird.

Satsuma
24.08.2008, 18:56
Ok, vielleicht meinst du wenn das Häkchen nicht drinnen ist, aber wenn das häckhen bei "Start GameQuest" (oder wie auch immer; das ist standardmäßig drinnen) drinnen ist, dann läuft das Quest script immer. Viele meine Mods, die standardmäßige Funktionen machen, laufen ewig.

Atoom
25.08.2008, 00:52
NEIN, TUN SIE NICHT! Wenn man sie dann mit stopquest stoppt wird auch das Questscript (MIT GAMEMODE-BLOCK oder nicht) NICHT mehr abgespielt, EGAL ob ein Häckchen da ist oder nicht.

Satsuma
25.08.2008, 07:35
... Wenn man sie dann mit stopquest stoppt wird auch das Questscript (MIT GAMEMODE-BLOCK oder nicht) NICHT mehr abgespielt...

Ok, schön. Da hast du recht. Nur: die rede war nie von stopquest. Flobby braucht etwas damit der Quest startet, und bevor er startet und auch währenddessen wird das Quest script laufen.

Low Post
25.08.2008, 13:34
Ich denke das Problem ist hier einfach ein fehlendes SetStage um die erste QuestStage aufzurufen. ;)

Satsuma
25.08.2008, 13:41
scn [scriptname]

Begin GameMode
If (GetStage [DeineQuest] 0) && ( Player.GetDistance [DemHeiniDa] <= 200)
SetStage [DeineQuest] 10
AddTopic [DerTopic] ; Den wollte Flobby nämlich auch wissen
endif
end

Atoom
25.08.2008, 14:18
ja, das flobby nicht von stopquest geredet hat war mir schon klar, aber ich hab auch schon hier gesagt was ich mit "nicht laufen" meine:

Dass ein quest(skript) läuft, ohne das es explizit gestartet wird liegt daran, dass ein häckchen bei "start game enabled" ist. Dann läuft es sobald das spiel gestartet wird, aber auch nur bis es mit stopquest gestoppt wird. Für meine Sicht läuft ein Quest halt wenn es läuft, dh. wenn auch des Questscript läuft und nicht wenn man einen Eintrag im Questlog bekommt.

flobby
25.08.2008, 17:34
Also ich hab den obenstehenden Script von Sutsuma genommen, Häckchen bei Game Start Enabled (oder wie auch immer), aber der Questlog kommt trotzdem nicht dann wann er kommen soll...

Low Post
25.08.2008, 17:42
Ist denn die Stage von dem Questeintrag auch 10?
Wenn nicht muss du die Ziffer hinter dem SetStage natürlich entsprechend anpassen.


Oder aber du bist nicht nah genug an [DemHeiniDa] dran. 200 Units sind etwas mehr als 2 Meter.
Teleportiert dich mal mittels 'Player.MoveTo [DemHeiniDa]' direkt zu dem hin. Wenn das dann nicht anschlägt liegt es (noch) an mindestens einer anderen Sache.

flobby
25.08.2008, 17:57
Also ich will ja net unbedingt rummeckern, aber das Quest-Tutorial

Wie aus dem Lehrbuch
Kann man kaum gebrauchen... Was schriftliches wär mir da lieber...
Deshalb wusste ich au net, dass die Queststage "10" sein muss, ich habs geändert und auch auf <= 200 und versuch es gleich nochmal obs geht...
thx @ all

Edit: Funzt immer noch nicht :(

Low Post
25.08.2008, 18:47
Ich hab einen kleinen Fehler (== vergessen) in Satsumas Script gefunden. Kein Wunder das das nicht geht.
Versuch folgendes:

scn [scriptname]

Begin GameMode
If ( GetStage [DeineQuest] == 0 ) && ( Player.GetDistance [DemHeiniDa] <= [Entfernung in Units] )
SetStage [DeineQuest] [QuestStage]
AddTopic [TopicID]
endif
end

flobby
25.08.2008, 18:54
Kleine Frage, Lowpost, was ist da jetzt eigtl anders dran?
Achso und was an dem Questscript falsch war, was ich aber hoffentlich selbstbehoben hab, denn das mit "player.getdistance [derheini]" hat cs nicht akzeptierst, es hat gesagt des wär ein "invalid parameter reference". Die einzige Variante die ging war: "[derheini].getdistance player" könnte es sein, dass es damit auch ein Problem hat?

Rung
25.08.2008, 19:50
Für [derheini] musst Du die Referenz Deines Quest-NPCs eingeben. Wenn der Spieler sich dem NPC nähert, der das Quest vergeben soll, erscheint der Tagebucheintrag.
Du solltest außerdem alle Konditionen, die Du für das Quest eingestellt hast, entfernen, das könnte zu Schwierigkeiten führen.
Du kannst statt einem QuestNPC auch jedes andere Objekt in Oblivion wählen, solange es in der Welt vorhanden und eine ReferenzID hat.

Wenn Du möchtest, dass das Quest erst ausgelöst wird, wenn Du mit dem QuestNPC gesprochen hast, solltest Du das Questscript weglassen und SetStage [DeinQuest] [da muss jetzt die ID Deines Quests rein) 10 am Ende des Dialogs in das Result-Script-Fenster eingeben.

Am besten, Du nimmst Dir mal ein Quest-Tutorial zur Hand.
Tut von Ryan (http://www.multimediaxis.de/showpost.php?p=1713238&postcount=12)
Tut von LordKain (http://www.ei-der-zeit.com/portal/index.php?option=com_content&view=article&id=184:lordkains-quest-tutorial&catid=74:tutorials&Itemid=135)

flobby
25.08.2008, 21:35
Also mal so zu dem ersten von deinen Tuts: Des hab ich mir angeschaut, hab aber ehrlich gesagt nix verstanden, weil des eben nur diese 4-5 Bilder sind... Das vom 2. schau ich mir mal an...