Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim questen
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.
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.
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.
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.
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.
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.
... 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, 12:34
Ich denke das Problem ist hier einfach ein fehlendes SetStage um die erste QuestStage aufzurufen. ;)
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
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.
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, 16: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.
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, 17: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
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?
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)
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...
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.