Custom quest support

For all talk about quest development - creation, testing, and quest system.
Post Reply
User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quest support

Post by Interkarma »

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: 4061
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Custom quest support

Post by Jay_H »

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

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

Re: Custom quest support

Post by Interkarma »

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: 4061
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Custom quest support

Post by Jay_H »

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.

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

Re: Custom quest support

Post by Interkarma »

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: 4061
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Custom quest support

Post by Jay_H »

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.

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

Re: Custom quest support

Post by Interkarma »

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

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

Re: Custom quest support

Post by Jay_H »

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 

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

Re: Custom quest support

Post by Interkarma »

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

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

Re: Custom quest support

Post by Jay_H »

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.

Post Reply