Custom quest support

For all talk about quests. Creating, testing, bugs, and development progress.
Post Reply
User avatar
Interkarma
Posts: 3192
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quest support

Post by Interkarma » Sat Nov 04, 2017 3:14 am

There were some changes to this action recently, possibly something broken.

Could I trouble you for a save or a quick repro quest? Will take a look at this when I can.

User avatar
Jay_H
Posts: 1436
Joined: Tue Aug 25, 2015 1:54 am

Re: Custom quest support

Post by Jay_H » Sat Nov 04, 2017 4:34 am

Of course :) The save game is running this quest: JHPQ018.txt. The use action is meant for the Mark item.

http://drive.google.com/file/d/0BxjB9-1 ... lBIU2NsR1E
Check out the Daggerfall Unity mod page on ModDB.

I rarely read instructions well the first time. Tell me to re-read them. I'll do it.

User avatar
Interkarma
Posts: 3192
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quest support

Post by Interkarma » Mon Nov 06, 2017 5:46 am

I see the problem. The ItemUsedDo action is inside an inactive task. The problem is that nothing is starting the _tele1a_ task for ItemUsedDo to become active.

Code: Select all

_tele1a_ task:
         _mark1_ used do _tele1b_
ItemUsedDo isn't a trigger condition, it's just an action which starts another action. This means its parent task needs to be running before it will do anything.

A good solution is just to move the ItemUsedDo action up into the startup task. That way it will just sit and wait for item to be used.

If you want item use to be conditional (e.g. only usable after some plot point), that's when you'd assign the action to inactive task to be started later.

I hope that helps! Let me know how you get on.

User avatar
Jay_H
Posts: 1436
Joined: Tue Aug 25, 2015 1:54 am

Re: Custom quest support

Post by Jay_H » Mon Nov 06, 2017 3:50 pm

Yes, that worked. Thank you for taking the time to look into it.

The quest itself has developed a new problem, but it's outside the scope of the teleport parameter. Attempting to teleport to a residence quest marker leaves me far under the world, outdoors. But that's not what teleport is intended for, and if it's implemented at all, I should wait for it to be a future occurrence.
Image

I'll just modify the quest so it works in an acceptable manner.
Check out the Daggerfall Unity mod page on ModDB.

I rarely read instructions well the first time. Tell me to re-read them. I'll do it.

User avatar
Interkarma
Posts: 3192
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quest support

Post by Interkarma » Mon Nov 06, 2017 10:11 pm

Yeah, I definitely structured this to be dungeon-only. But there's no reason it couldn't work for buildings as well, I just need to add support for it. I'll take a look at this when I can.

Edit: Just had a look at this. Buildings are possible, but will need some extra support to quest system to handle teleport correctly. I don't have time to deep-dive into this now, but will get to it when I can. :)

User avatar
Jay_H
Posts: 1436
Joined: Tue Aug 25, 2015 1:54 am

Re: Custom quest support

Post by Jay_H » Sat May 12, 2018 7:55 pm

EDIT: False alarm, this needs a bug report rather than a quest help.
Last edited by Jay_H on Sat May 12, 2018 8:01 pm, edited 2 times in total.
Check out the Daggerfall Unity mod page on ModDB.

I rarely read instructions well the first time. Tell me to re-read them. I'll do it.

User avatar
Interkarma
Posts: 3192
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quest support

Post by Interkarma » Sat May 12, 2018 7:58 pm

The problem looks to be happening during material asset injection. I'll take a look when I can.

User avatar
Jay_H
Posts: 1436
Joined: Tue Aug 25, 2015 1:54 am

Re: Custom quest support

Post by Jay_H » Sat May 12, 2018 8:02 pm

I just tested it and my custom textures are messing it up. Thanks for checking. Would you want a bug report?

For preservation:

Code: Select all

ArgumentException: An element with the same key already exists in the dictionary.
  at System.Collections.Generic.Dictionary`2[System.Int32,DaggerfallWorkshop.CachedMaterial].Add (Int32 key, CachedMaterial value) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.MaterialReader.SetCachedMaterialCustomBillboard (Int32 archive, Int32 record, Int32 frame, CachedMaterial cachedMaterialIn) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.AssetInjection.TextureReplacement.LoadFromCacheOrImport (Int32 archive, Int32 record, Int32 frame, Boolean isEmissive, UnityEngine.Texture2D& albedo, UnityEngine.Texture2D& emission) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.AssetInjection.TextureReplacement.SetBillboardImportedTextures (UnityEngine.GameObject go, DaggerfallWorkshop.BillboardSummary& summary) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.DaggerfallBillboard.SetMaterial (Int32 archive, Int32 record, Int32 frame) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.GameObjectHelper.CreateDaggerfallBillboardGameObject (Int32 archive, Int32 record, UnityEngine.Transform parent) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.RDBLayout.AddFlat (RdbObject obj, UnityEngine.Transform parent, Int32 archive, Int32 record) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.RDBLayout.AddFlats (UnityEngine.GameObject go, System.Collections.Generic.Dictionary`2 actionLinkDict, DaggerfallConnect.DFBlock& blockData, .RdbObject[]& editorObjectsOut, UnityEngine.GameObject[]& startMarkersOut, UnityEngine.GameObject[]& enterMarkersOut, DungeonTypes dungeonType) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.GameObjectHelper.CreateRDBBlockGameObject (System.String blockName, System.Int32[] textureTable, Boolean allowExitDoors, DungeonTypes dungeonType, Single monsterPower, Int32 monsterVariance, Int32 seed, DaggerfallWorkshop.DaggerfallRDBBlock cloneFrom, Boolean importEnemies) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.DaggerfallDungeon.LayoutDungeon (DaggerfallConnect.DFLocation& location, Boolean importEnemies) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.DaggerfallDungeon.SetDungeon (DFLocation location, Boolean importEnemies) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Utility.GameObjectHelper.CreateDaggerfallDungeonGameObject (DFLocation location, UnityEngine.Transform parent, Boolean importEnemies) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.PlayerEnterExit.TransitionDungeonInterior (UnityEngine.Transform doorOwner, StaticDoor door, DFLocation location, Boolean doFade) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.PlayerActivate.Update () [0x00000] in <filename unknown>:0 
Check out the Daggerfall Unity mod page on ModDB.

I rarely read instructions well the first time. Tell me to re-read them. I'll do it.

User avatar
Interkarma
Posts: 3192
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quest support

Post by Interkarma » Sat May 12, 2018 8:06 pm

Yes please. If you can, mention which texture pack was causing the problem and which dungeon wasn't loading.

User avatar
Jay_H
Posts: 1436
Joined: Tue Aug 25, 2015 1:54 am

Re: Custom quest support

Post by Jay_H » Sat May 12, 2018 9:42 pm

Sorry, I can't reproduce it. I was using only 3: a new compass texture, username's No Nudity patch, and my Less Violent Corpses patch. I've removed and added them, and now it's all working fine.
Check out the Daggerfall Unity mod page on ModDB.

I rarely read instructions well the first time. Tell me to re-read them. I'll do it.

Post Reply