Difference between revisions of "Talk:Bethesda Tutorial Radiant Quests"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Roarian
imported>Rasikko
 
(40 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Alias_ThiefLocation.GetReference().AddToMap() is giving me problems: claiming that 'GetReference' doesn't exist, etc. I've configured ThiefLocation as shown and for whatever reason, it won't work. Any info on what I'm doing wrong? --[[User:Roarian|Roarian]] 22:45, 11 February 2012 (EST)
Alias_ThiefLocation.GetReference().AddToMap() is giving me problems: claiming that 'GetReference' doesn't exist, etc. I've configured ThiefLocation as shown and for whatever reason, it won't work. Any info on what I'm doing wrong? --[[User:Roarian|Roarian]] 22:45, 11 February 2012 (EST)
Found what was wrong with the existing explanation and fixed it to the best of my ability. --[[User:Roarian|Roarian]] 00:39, 12 February 2012 (EST)
Found what was wrong with the existing explanation and fixed it to the best of my ability. --[[User:Roarian|Roarian]] 00:39, 12 February 2012 (EST)
== Engine Bug regarding the Map ==
Get the radiant quest to kill the thief at Bthalft and return to Mixwater Mill via clicking "M" on the quest objective. The quest arrow on Mixwater Mill shows up all fine and dandy, but the mill icon to facilitate fast travel never pops up. Travel to another location e.g Broken Limb Camp, and the Mill icon returns. The bug might not be replicated at higher resolutions (mine was 1366 X 768)--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-02-04T06:31:57 (EST)
== Dirty Thief is still at Reachwind Eyrie ==
Even though Reachwind Eyrie is not a radiant location anymore, the Dirty Thief (albeit disabled) is still there. This may not be of concern to all perfectionists, but repositioned him in a corner of MixwatermillWorkershouse anyway.--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-02-06T00:11:27 (EST)
== "But That is Left as an Exercise for the Reader" -Hold Locations ==
--'''Spoiler Alert'''--
*Create 9 location aliases for the Holds for the specific locations:
    EastmarchHoldLocation
    FalkreathHoldLocation
    HaafingarHoldLocation
    HjaalmarchHoldLocation
    PaleHoldLocation
    ReachHoldLocation
    RiftHoldLocation
    WhiterunHoldLocation
    WinterholdHoldLocation
*Reorder the Quest Alias list thus:
    ThiefLocation
    LocationMarker
    Thief
    Bendu
    Amulet
    Gilfre
    All the hold aliases
*Go to Dialogue Views and add a condition in the Topic info for GSQ01MeetingBenduYes, "Oh Thank you so much...":
    Function Name: GetIsEditorLocAlias
    Fill the alias with the name supplied for the EastmarchHoldLocation (mine was EastmarchHold)
    Run on Quest Alias, and choose the LocationMarker for the Alias.
*Change the middle part of the info response to something like: "It's been taken to a place somewhere in the Hold of Eastmarch." and change the recorded wav file accordingly.
*Right click on the white topic info box and select copy. Do this 8 times, the new topic boxes may require resizing and re-positioning during the copy.
*For each Hold: Fill the condition alias with the appropriate Hold, change the info response, and make a new recording.
One has to be mindful of mods like Wyrmstooth which also use the radiant system. Unfortunately that location isn't part of any Hold, so the Bendu quest will not complete until Wyrmstooth is added to the Holds list and given the appropriate condition check.
A more elegant way would be with a HoldsOfSkyrim Formlist, but as Formlist objects are not accessible by conditions, can suppression of the other eight Topic Infos be performed by script alone?
--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-02-06T05:50:34 (EST)
== Some ThiefLocation Aliases not Filling ==
This happens in perhaps as much as 1 in 3 game loads. But here we are using a game save that's more than halfway to completion. Some of the radiant locations have already been reserved by other quests.
In an attempt to get an idea of what they are, trying something like
    Location myThiefLocation = Alias_ThiefLocation.GetLocation()
    Debug.MessageBox(myThiefLocation)
in the Stage 0 fragment. Unfortunately this will fail as scripts will not run until all aliases are filled. A workaround might be to:
*Use "optional". Implement another "failsafe" topic (should we reconsider ReachwindEyrie01?), then refill the alias with
    Alias_ThiefLocation.Clear (just in case)
    Alias_ThiefLocation.ForceLocationTo(Some_"failsafe"_location)
*Complete the current quest (can we suppress the quest complete message?) and use "failsafe" locations in a duplicate quest. Of course, a script that has the facility to duplicate any such number of quests in-game would be fabulous.
*Ideally these locations are best reserved at the onset of a new game. New game, anyone? :P
For reference, here's a list of the 28 loctypeBanditCamp locations less bosses in no particular order of Holds. There were 31 with Bosses
    Nilheim          The Rift
    TrevasWatch      The Rift
    RiftWatchTower    The Rift
    BrokenHelmHollow  The Rift
    FaldarsTooth      The Rift
    UtteringHillsCamp Eastmarch
    CragslaneCavern  Eastmarch
    StonyCreekCave    Eastmarch
    GallowsRock      Eastmarch
    LostKnifeHideout  Eastmarch
    SilentMoonsCamp  Whiterun
    RedoransRetreat  Whiterun
    HaltedStreamCamp  Whiterun
    ValtheimKeep      Whiterun
    WhiteriverWatch  Whiterun
    Embershard        Falkreath
    BilegulchMine    Falkreath
    KnifePointRidge  Falkreath
    CrackedTuskKeep  Falkreath
    SnowpointBeacon  Winterhold
    FortFellhammer    Winterhold
    Orotheim          Hjaalmarch
    RobbersGorge      Hjaalmarch
    BrokenOarGrotto  Haafingar
    FourskullsLookout The Reach
    FrostmereCrypt    The Pale
    WinterWar        Winterhold
--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-02-06T16:54:26 (EST)
::Tested for locations in the Eastmarch area and found that StonyCreekCave met the criteria for a radiant location, but would not fill. Turns out it was explored in game for the [http://www.uesp.net/wiki/Skyrim:Finn%27s_Lute Finn's Lute Quest] and had not reached the 10-30 day respawn threshold. So the question for posterity being: Is there a radiant dungeon "available" flag that can be used in conditions? No.--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-02-07T08:06:50 (EST)
== Papyrus and the Thief ==
It's most likely that any logged Papyrus messages for this quest were non-existent until changes were made on the Thief Alias Tab here.
    <nowiki>[Date: Time]</nowiki> Error: Unable to bind script GSQThiefScript to alias Thief on quest GSQ01 (2E000D62) because their base types do not match
The script is attached to the alias, not bound; and the alias functions well enough in the mod. Had anyone seen the error message in Papyrus before reaching this chapter?--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-02-13T06:01:52 (EST)
::[[https://www.creationkit.com/index.php?title=Bethesda_Tutorial_Radiant_Quests#Whoops Whoops again]]:
    Scriptname GSQThiefScript extends ObjectReference
ahould be
    Scriptname GSQThiefScript extends ReferenceAlias
and the error is gone.--Lmstearn 2015-02-26T12:23:59 (EST)

Latest revision as of 02:20, 16 July 2018

Alias_ThiefLocation.GetReference().AddToMap() is giving me problems: claiming that 'GetReference' doesn't exist, etc. I've configured ThiefLocation as shown and for whatever reason, it won't work. Any info on what I'm doing wrong? --Roarian 22:45, 11 February 2012 (EST)

Found what was wrong with the existing explanation and fixed it to the best of my ability. --Roarian 00:39, 12 February 2012 (EST)

Engine Bug regarding the Map[edit source]

Get the radiant quest to kill the thief at Bthalft and return to Mixwater Mill via clicking "M" on the quest objective. The quest arrow on Mixwater Mill shows up all fine and dandy, but the mill icon to facilitate fast travel never pops up. Travel to another location e.g Broken Limb Camp, and the Mill icon returns. The bug might not be replicated at higher resolutions (mine was 1366 X 768)--Lmstearn (talk) 2015-02-04T06:31:57 (EST)

Dirty Thief is still at Reachwind Eyrie[edit source]

Even though Reachwind Eyrie is not a radiant location anymore, the Dirty Thief (albeit disabled) is still there. This may not be of concern to all perfectionists, but repositioned him in a corner of MixwatermillWorkershouse anyway.--Lmstearn (talk) 2015-02-06T00:11:27 (EST)

"But That is Left as an Exercise for the Reader" -Hold Locations[edit source]

--Spoiler Alert--

  • Create 9 location aliases for the Holds for the specific locations:
   EastmarchHoldLocation
   FalkreathHoldLocation
   HaafingarHoldLocation
   HjaalmarchHoldLocation
   PaleHoldLocation
   ReachHoldLocation
   RiftHoldLocation
   WhiterunHoldLocation
   WinterholdHoldLocation
  • Reorder the Quest Alias list thus:
   ThiefLocation
   LocationMarker
   Thief
   Bendu
   Amulet
   Gilfre
   All the hold aliases
  • Go to Dialogue Views and add a condition in the Topic info for GSQ01MeetingBenduYes, "Oh Thank you so much...":
   Function Name: GetIsEditorLocAlias
   Fill the alias with the name supplied for the EastmarchHoldLocation (mine was EastmarchHold)
   Run on Quest Alias, and choose the LocationMarker for the Alias.
  • Change the middle part of the info response to something like: "It's been taken to a place somewhere in the Hold of Eastmarch." and change the recorded wav file accordingly.


  • Right click on the white topic info box and select copy. Do this 8 times, the new topic boxes may require resizing and re-positioning during the copy.


  • For each Hold: Fill the condition alias with the appropriate Hold, change the info response, and make a new recording.


One has to be mindful of mods like Wyrmstooth which also use the radiant system. Unfortunately that location isn't part of any Hold, so the Bendu quest will not complete until Wyrmstooth is added to the Holds list and given the appropriate condition check.

A more elegant way would be with a HoldsOfSkyrim Formlist, but as Formlist objects are not accessible by conditions, can suppression of the other eight Topic Infos be performed by script alone? --Lmstearn (talk) 2015-02-06T05:50:34 (EST)

Some ThiefLocation Aliases not Filling[edit source]

This happens in perhaps as much as 1 in 3 game loads. But here we are using a game save that's more than halfway to completion. Some of the radiant locations have already been reserved by other quests. In an attempt to get an idea of what they are, trying something like

   Location myThiefLocation = Alias_ThiefLocation.GetLocation()
   Debug.MessageBox(myThiefLocation)

in the Stage 0 fragment. Unfortunately this will fail as scripts will not run until all aliases are filled. A workaround might be to:

  • Use "optional". Implement another "failsafe" topic (should we reconsider ReachwindEyrie01?), then refill the alias with
   Alias_ThiefLocation.Clear (just in case)
   Alias_ThiefLocation.ForceLocationTo(Some_"failsafe"_location)
  • Complete the current quest (can we suppress the quest complete message?) and use "failsafe" locations in a duplicate quest. Of course, a script that has the facility to duplicate any such number of quests in-game would be fabulous.
  • Ideally these locations are best reserved at the onset of a new game. New game, anyone? :P

For reference, here's a list of the 28 loctypeBanditCamp locations less bosses in no particular order of Holds. There were 31 with Bosses

   Nilheim           The Rift
   TrevasWatch       The Rift
   RiftWatchTower    The Rift
   BrokenHelmHollow  The Rift
   FaldarsTooth      The Rift
   UtteringHillsCamp Eastmarch
   CragslaneCavern   Eastmarch
   StonyCreekCave    Eastmarch
   GallowsRock       Eastmarch
   LostKnifeHideout  Eastmarch
   SilentMoonsCamp   Whiterun
   RedoransRetreat   Whiterun
   HaltedStreamCamp  Whiterun
   ValtheimKeep      Whiterun
   WhiteriverWatch   Whiterun
   Embershard        Falkreath
   BilegulchMine     Falkreath
   KnifePointRidge   Falkreath
   CrackedTuskKeep   Falkreath
   SnowpointBeacon   Winterhold
   FortFellhammer    Winterhold
   Orotheim          Hjaalmarch
   RobbersGorge      Hjaalmarch
   BrokenOarGrotto   Haafingar
   FourskullsLookout The Reach
   FrostmereCrypt    The Pale
   WinterWar         Winterhold


--Lmstearn (talk) 2015-02-06T16:54:26 (EST)

Tested for locations in the Eastmarch area and found that StonyCreekCave met the criteria for a radiant location, but would not fill. Turns out it was explored in game for the Finn's Lute Quest and had not reached the 10-30 day respawn threshold. So the question for posterity being: Is there a radiant dungeon "available" flag that can be used in conditions? No.--Lmstearn (talk) 2015-02-07T08:06:50 (EST)

Papyrus and the Thief[edit source]

It's most likely that any logged Papyrus messages for this quest were non-existent until changes were made on the Thief Alias Tab here.

   [Date: Time] Error: Unable to bind script GSQThiefScript to alias Thief on quest GSQ01 (2E000D62) because their base types do not match

The script is attached to the alias, not bound; and the alias functions well enough in the mod. Had anyone seen the error message in Papyrus before reaching this chapter?--Lmstearn (talk) 2015-02-13T06:01:52 (EST)

[Whoops again]:
   Scriptname GSQThiefScript extends ObjectReference

ahould be

   Scriptname GSQThiefScript extends ReferenceAlias

and the error is gone.--Lmstearn 2015-02-26T12:23:59 (EST)