I want to make new quests with WeiDU but I don't know how.

Hello! I am having a hard time finding quest making help so I came here. I have worked on expanding Baldur's Gate before successfully: https://forums.beamdog.com/discussion/73749/extra-expanded-enhanced-encounters-module-download/p1



Right now I have a half-finished project with the Ghost Knights of Firewine Ruins (It is about three Drizzts Hard).


More Loot Screen Shots.



Here are some more in-depth details on what I am currently stuck at.

Trying to make a new quest that is the Ghost Knight Quest but the Ghost Knights do not disappear at the end and have a different journal entry and dialog at the quest hand in of the Ancient Armor (now OLMISC82.ITM).

The new Ghost Knight Idol of Kozah quest would be unlocked after the completion of the altered Undead Knight quest (curse not lifted). Once the altered Undead Knight quest is completed the lead Ghost Knight initiates a shout dialog (that hints the players to find the Idol of Kozah) and starts the new Ghost Knight Idol of Kozah quest. I am not sure how to make 'quest check points' (globals?); the Undead Knight quest completion would need to be a 'quest check point' for later. Once the player with Idol of Kozah is in sight of the lead Ghost Knight, the lead Ghost Knight initiates a shout dialog and all the Ghost Knights go berserk (turn hostile from the madness onset via Idol of Kozah) after the shout dialog ends. The lead Ghost Knight initiates a shout dialog when is slain only if the Undead Knight quest is completed ('quest check point'); during this dialog the Ghost Knight quest is completed and rewards the player and prompts the journal. With the player killing the hostile Ghost Knights their ethereal corpses are left behind and are lootable.

Also to have the Ancient Armor (OLMISC82.ITM) be not destroyed but stays in the Ghost Knight Leader's inventory (and the Ghost Knights do not destroy themselves after the quest hand in of the Undead Knight quest; perhaps remove the destroy-self in the quest script). This is so after the new Ghost Knight Idol of Kozah quest encounter the Ancient Armor can be continued to be used with Ulcaster Ghost The Vampire's Revenge quest.

I am not sure how to initiate a dialog shout from a slain creature when the player kills a creature (and then completes the new Ghost Knight Idol of Kozah quest after the dialog is finished). With Ancient Armor not destroyed after the Ghost Knight quest so that the Ulcaster Ghost Vampire's Revenge quest can also be completed. Also how are quest rewards altered for I plan to swap SW1H19 with OLSW1H04 (An expanded version of cursed Long Sword 'The Vampire's Revenge'.

Basically my request to learn WeiDU:
I am not sure how to add and alter quests with WeiDU.
I am not sure how to add and alter journal entries with WeiDU.
I am not sure how to alter preexisting dialog with WeiDU.
I am not sure how to initiate a dialog shout from a slain creature when the player kills a creature (and then complete a quest during the shout dialog).

(I am not sure how to create this sequences of events: creature (lead Ghost Knight) dies -> shouts dialog at player only if a quest is completed (shouts only if Undead Knight quest is completed) -> A quest is completed during the dialog (Ghost Knight Idol of Kozah quest is completed) -> Dialog ends.)





























«13456710

Comments

  • edited July 2019
    Is this supposed to be for BGEE or BG1 classic or both or BGEE + EET?

    Reason I ask is that BGEE already has a global that might be usable for you while classic does not but you may add it there and use it in the same way.

    (Look into Knight.dlg state 1 in a BGEE game where Global("bd_knight_quest","GLOBAL") is set to 1 when you hand in the armour.)

    You can just as well have the game set your own global on the event (in addition zo the existing ones, so that is compatible with everything else)
    ADD_TRANS_ACTION Knight BEGIN 1 END BEGIN 0 END ~SetGlobal("MyQuest_knight_armour","GLOBAL",1)~
    Your mod can now evaluate the global you have set and increment it as you need.

    Note - In EET the respective dialogue is Knight_,dlg to distinguish it from a file of the same name in SoA.
  • edited July 2019
    This is for Baldur's Gate Version 2.0+ (with Siege of Dragonspear). The Prefix registered I use is OL if that helps. This is so that the content will work when added to my larger module. I want to make this a template to make other quest modules.

    I was planning on making everything new (patched over top) and I used the OL prefix to help not conflict with other content. I need to learn how to do the work with WeiDU in order to realize this goal; in this pursuit I need help.

    I have not made a fresh quest in the past. An example to work from as a template would work well for myself to learn. Step by step, I can do the work but I need to know how to work.

    The first quest has a simple idea, copy the original ghost knight quest and change the ending so that the last dialog box gives a different end line and the ghost knights remain and dialog hint and journal entry hint towards the Idol of Kozah. If this first quest can be done the search for help will be a success. The other quest will come easier after.

    I am trying to learn how to add a new journal entry after the completion of the first altered ghost knight quest. A new journal entry that hints towards the Idol of Kozah once the OLMISC82.ITM (Ancient Armor) is returned to the ghost knights from the new version of Undead Knight.

    The next step is when the player shows up with the Idol of Kozah the Ghost Knights initiate a shout dialog and they all turn hostile (whether or not the first quest Undead Knight was done).

    When the Ghost Knight Leader is slain he gives a shout dialog and the quest is completed and the globals and journal entries (loose ends) from the previous quests are completed (erased and or toggled complete).

    This is all that I want to know how to achieve. Yet I do not know how to make the dialog work with the quest in WeiDU. If I learn how to do this I can make this into a template for other encounters; dragons, demons, liches, beholders, mind flayers, drow and dungeons!

    I am looking for help to manufacture two quests (an altered copy and a new quest) to work in WeiDU; I know that it has been done but I have not been able to find help.

  • What are the lines of code for WeiDU (and possibly separate scripts) for the mechanics for a simple hand in quest?


    Phase one (quest initiates): Quest giver talked to first time - gives 'fetch me this quest item' dialog and adds a quest journal entry 'find the quest item'.

    Phase two (while fetching): Quest giver talked to after first dialog yet party has no quest item - dialog is 'get me the quest item'.

    Phase three (hand in): The quest giver talked to with quest item hand in - gives 'thank you for the quest item here is your reward' dialog, gives party reward (e.g. 100 gold, DAGG01.ITM, 1,000 experience) and toggles quest global as complete, and 'removes previous quest journal entry 'find the quest item' and completes the quest.


    Another bump in the road is a quest completion 'hand in' dialog that forcefully activates over the corpse of the quest giver when it is slain. What are the solutions to these problems?

  • Hopefully I understand what you intend
    1) You meet the knights without having the original armour. They say
    "Together enter... Together fall... Such was the vow agreed... None shall leave until all are one... Such the vow remains... We must be as one..." and you get the original journal entry for that. >>> This part of the vanilla quest remains untouched
    2) You find the missing knight and get the armour from him and return to the waiting ones.
    3) You offer them the armour (Do they take it? does the original quest end?) but they tell you this is not enough to free them. >>> Here your quest starts
    4) They tell you to find some item (Kozah) and you get a new quest entry. They stay where they are
    5) You find the idol, and go back to them with it.
    6) They say something "...that is the item...but the power..we can't withstand the power...whatever" and then they all turn hostile + you get a quest solved entry.
    (Does the leader really have to be dead to trigger the solved entry or can it be done with the dialogue already?) Can be done both ways but triggers upon Die() sometimes fail...

    One issue with the above - there are a number of NPCs that can add comments on the original end of the quest. Those will be lost with your mod. It is not really an incompatibility because those comments are a) not crucial for the respective mods and b) only fit for the ending that does not happen with your mod.
    I just mention it so that you are aware of it.

    If my above assumptions are correct, that can be done with not much effort - (what I do not understand is why you need an own version of the armour for it?)

  • Here is an example of how it could be done.
    What it does:
    - you get the original quest and journal entry.
    - you bring back the armour and the ghost takes it and ends the original quest he then tells you that they still have a duty to find the idol (text is just a first draft for demonstration) - knights stay and you get a new journal entry.
    - you find the idol and return it
    - conversation that the duty is fulfilled - but then idol's power is released, ghosts start to talk in the ancient tongue (text taken from doomsayer to fit) - they turn hostle.
    - when killed the one you gave the armour to will drop it.
    - the original knights have -20 AC and 100 HP, so pretty hard to kill. Even when hostile they do nothing, so you might want to give them some script to fight if red.

    I packed it as a stand-alone component to show which elements are needed. You may want to integrate it into a larger mod but maybe as a separate component.
  • edited July 2019
    Ah that is great Roxanne! :-D

    I agree with you that the original quest should not change; my goal is just to alter the ending like with your ideas mentioned. I am just not good at patching new dialog quest content into Baldur's Gate so I resorted to plan B of gutting and adding content (sloppy, although I just did not know how to implement your *better* idea for plan A). If the original ghost knight quest can be kept with the ending altered that would be a better success.

    I have new versions of the ghost knights and undead knight to alter the -20 a.c. and 100% damage resist (make them 'legal' and regular kill-able but challenging). I suppose that the dialog files can remain the same from the original ghost knight quest to retain compatibility. Also the ghost knights should keep the Ancient Armor (MISC82.ITM) from the first ghost knight quest.

    Then when the party has the Idol of Kozah (MISC48.ITM) the ghost knights turn hostile and do not take the Idol of Kozah. When they are slain, the ghost knight with the quest hand-in can be looted for the Ancient Armor (MISC82.ITM) that was previously handed in from the first ghost knight quest. Then the Ancient Armor (MISC82.ITM) can be handed into Ulcaster ghost for the Vampiric Sword etc. etc. More quests in general (this it to give more quest rewards to improve for my item reforge module).

    Although the ending is what I am trying to patch into the outcome that you mentioned above. Also if 'extend bottom' or something like that can be used to add in new dialog lines and journal entries for the quest that would be marvelous :'3 (It has been so much trouble to get this progressing into success to share x.x). I just find it so hard to code (art and story is great!); yet it feels like I am a beaver trying to sprint xD.

    Yes the death quest completion part is worrying for it may break (and it sounds really complex and a pain in the butt to make). If the Idol of Kozah quest can be completed when the ghost knights shout and turn hostile from the presence of the player having the Idol of Kozah that would be more reliable and a success.

    I have packaged my work sharable into a .zip file with a working WeiDU installer (I should have given you this from the start). So far I have progressed with killable and better fighting ghost knights yet the dialog is not implemented yet; I just got the actors to be be replaced :). Also please enjoy some new items I made (ask me if you want some cool high quality items or something; they just have to go to nice homes xD).

    P.S. Yes the current extra loot is a bit 'much' but if I can make this a success I can spread the loot out to other new encounters hopefully :-).



  • edited July 2019
    Eh I got it to work and tinkered and tinkered and I made the whole thing work! A great success! :-D :-D :-D! Now I can add more quest just like it! Thank you so much Roxanne!:-D Here is the working module download :-D!
  • I made a quick test as well and it works for me as well.
    Knights attacked, armour was dropped and the idol stayed with me as well. The journal extensions and updates worked as well. The original XP gain is kept (aside from the XP for killing them).

    Some cosmetic things for your package
    - remove the second setup.exe that is inside the mod folder
    - move the baf and d files into scripts and dialogue subfolders respectively (update the paths in the tp2)
    - add a "translations" subfolder (you already reference it in your tp2 even it does not exist).
    - move the tra-file into the new translation subfolder and update the path in the tp2 accordingly.
  • Here is an issue

    ActionOverride("KNIGHTSK",DestroySelf()) in ar5201 does NOT work because the cre-file does not contain a script name
    In order to work you need this in tp2

    COPY_EXISTING ~knightsk.cre~ ~override~
                  WRITE_ASCII 0x280 ~knightsk~
  • Hmm needs more tweaking for sure:-D.

    Are two Undead Knights spawning again? I had a trouble finding a solution that replaced the Undead Knight with my improved version.

    I don't want to say if it is not broke don't fix it for I am all about improving although I am wondering if I should leave it the way it is if it does work. I am a bit conflicted; I must fix the bugs although if it works it should be fine? What should I do?
  • You are right.
    It works and my proposed change is not necessary,

    Just take this line out of OL5201.baf
    ActionOverride("KNIGHTSK",DestroySelf())

    The new solution with LPF ALTER_AREA_ACTOR is doing the job.
  • edited July 2019
    Hey Roxanne I made a better version of Hull's Long Sword (a Masterwork Longsword that does not suffer from the iron crisis). I had the idea to make a small quest alteration for Hull's Sword Quest.

    I started a play test with Abdel (default CHARNAME) and there are no quest rewards that suit his Longsword weapon proficiency in Candlekeep and I thought to improve Hull's Long Sword quest in the past anyway; so I figured to ask for help. I am getting better at making quests although I don't want to break the game here tinkering with an original quest; you know a lot:-P.

    I was wondering if Hull's dialog could be updated to request OLSW1H12 (Hull's Masterwork Longsword) and to not have the sword be destroyed when turned in but to remain in his inventory (available to be pick pocketed).

    Also add a dialog option after quest hand in to purchase Hull's Long Sword (OLSW1H12) for 315 Gold (the base value price) for their upcoming journey with Gorion (purchase optional available if the the speaker has 12 intellect and 12 charisma for realism value).

    Hull would part ways with his family heirloom saying Gorion is his friend and the sword would be put to good use in your travels; he preferred training with halberds and quarterstaves anyway.

    I am thinking of patching in two mage scrolls of Friends in the Candlekeep (one in the Inn upstairs in a drawer and one in the assassin Bunkhouse) as well so that the player can get the 18 charisma Dagger +1 if they play their cards right.

    Also I am thinking of patching in a mage scroll of Find Familiar (in the Candlekeep Inn upstairs in a different drawer) as well. This is so that the mage player does not need to lose one learned spell because the game originally did not have the Find Familiar spell at the start; more Candlekeep play style start options.

    I already know how to achieve these patch goals (and how to patch to replace the default Hull's Long sword with my Masterwork version in hull's chest in the barracks) for the mage scrolls with WeiDU with success although I am wondering if they should be implemented? What are your thoughts hey Roxanne?

    Also how can Winthrop's store (Candlekeep Inn keeper) be patched to allow the sale of mage scrolls and potions from the player (which currently cannot be sold to Winthrop)? The Katana seems like a weird thing to have in the store if most players (and class combinations) cannot even remotely afford the weapon early on (outside of the default munchkin'ing the combat training to sell those temporary NPC items xD).
  • Sorry to derail the thread, but it would be cool, WithinAmnesia, if you could also release your module of encounters compatible with EET.
  • Hmm Sergio that would be cool although I don't know how top do that or what the targets are for compatibility.

  • Remarks for Hull's Longsword

    - It may not be required to change Winthrop for scrolls/potions because the Oghma temple in Candlekeep buys and sells those.
    - You can either patch the items into the containers with LPF...from your tp2 (I think you know how to do it) or use area script for it. Just be careful in the choice o containers since some cannot be opened by non-thief protagonists or low level thieves.
    - Hull's sword is not destroyed when you return it, he equips it. In order to steal it, it must stay in his inventory.

    To make Hull react to your sword, you may try to use this in your tp2 (in this order!)

    COPY_EXISTING ~Hull.dlg~ ~override~
    DECOMPILE_AND_PATCH BEGIN
    REPLACE_TEXTUALLY ~"TakePartyItem("SW1H12") 
    FillSlot(SLOT_WEAPON1)
    EquipMostDamagingMelee()"~ ~"TakePartyItem("SW1H12")"~
    END
    COPY_EXISTING ~Hull.dlg~ ~override~
    DECOMPILE_AND_PATCH BEGIN
    REPLACE_TEXTUALLY ~"sw1h12"~ ~"olsw1h12"~
    END

    I have not tested it since I anticipate you already have some files to incorporate this in?

  • edited July 2019
    Roxanne said:

    Some cosmetic things for your package
    - remove the second setup.exe that is inside the mod folder
    - move the baf and d files into scripts and dialogue subfolders respectively (update the paths in the tp2)
    - add a "translations" subfolder (you already reference it in your tp2 even it does not exist).
    - move the tra-file into the new translation subfolder and update the path in the tp2 accordingly.

    Regarding your GhostKnight quest:

    You should really clean up that package.

    In addition to the above issues
    - remove the backup folder - or at least empty it.
  • edited July 2019
    @Roxanne I do not know how to fix the translation error at the end of the install but I cleaned up the package as you directed; I hope you are happy with this update:-). P.S. Thank you for Hull's hand In quest it works great :-D! Is it possible to add a line in to buy the sword back off of Hull after the quest? It feels a bit weird to punish the player for doing a quest (also Abdel can't pick pocket at level 1 for he is a fighter, I know it is nerdy x.x):-S.
  • Hello I am trying to find why this won't add an item to a chest (container 5) yet it can delete SW1H12 (Hull's Long Sword) just fine. Also this is the code and script taken from my working modules.

    The idea is that this WeiDU package will destroy item SW1H12.ITM from container 5 in AR2618.ARE (Hull's Chest Candlekeep Barracks) and create item OLSW1H12.ITM (Hulls' Long Sword [but masterwork]) and also create item Goodberry x3 in container 5 of AR2618.ARE.

    I am spent after trying all that I know and coming up short with a destroyed SW1H12 (Hull's Long Sword) yet no OLSW1H12.ITM (Hulls' Long Sword [but masterwork]) and also create item Goodberry x3 in container 5 of AR2618.ARE. Can anyone help fix this mystery?
  • Update! @Roxanne Hey check this out: https://forums.beamdog.com/discussion/comment/1082887#Comment_1082887 CamDawg found a solution and fixed the chest bug! Yay:-)!

    I am still wondering how to add a player dialog option after SetGlobal("HelpHull","GLOBAL",1) in Hull.DLG [after quest hand in] that requires the speaker with 10 intellect and 14 charisma to purchase Hull's Long Sword (OLSW1H12) for 315 Gold (the base value price) for their upcoming journey with Gorion. Hull would part ways with his family heirloom saying Gorion is his friend and the sword would be put to good use in your travels; he preferred training with halberds and quarterstaves anyway. I have the working mini-module if it helps :-S.

    Here is a download link for the new Ghost Knight Quest version 0.2 :-D!
  • edited July 2019
    Here is version 0.3

    - Tested again Ghost knights and found it working

    - Made new component for "Hull extension" it is up to you to keep that, just for testing it was easier to keep the two extensions separated

    - Improved the code for Hull to accept the OL-sword and not equip it (in tp2)

    - Added new dialogue options for Hull to buy the sword from him
       - INT 10 and CHR 14 or better are required otherwise he refuses
       - you can buy if you have the money or come back later if you still need more coin
       - if you insult him for asking money instead of giving it for free, you miss your chance
       - considered a price negotiation option but decided against it, just keep it simple for the initial version.
  • This is version 0.4

    The addition here is native EET compatibility, i.e. the mod can be installed on an EET game in the BG2EE part after EET even though the content is for the BG1 part. To achieve this:

    - a standard file liam_bgee_vars.tpa is added that lists BGEE specific resources like area names (we need no such file for EET because the EET mod itself has always the most recent version of the file and our tp2 just uses it from EET/other/cpmvars/eet_cpmvars.tpa  >>>all of this is in the ALWAYS block on the top of the file

    - the area scripts use those tpa files to determine the ARxxxx vs BGxxxx references

    - the Knight.dlg is a special case because in EET there is a BG2EE knight.dlg for a knight in the Firkraag plot while the Firewine knight has knight_,dlg. In addition, the journal entries for the original quest have different references in both games.

    - in EET we need no area script assignment in Candlekeep because EET adds this for all areas per default already. So the modification for ar2812.are is only needed for BGEE

  • edited July 2019
    @Roxanne Oh thank you! I did a lot of troubleshooting and learned how to make a rough version of what you just did xD. I am just to patch in some scrolls and a potion of persuasiveness to Candlekeep.

    I will have to try out your new versions, they are more successful :-D!

    Here are the files from my earlier efforts xD.
  • There I finished adding Mage Scrolls of Friends x2, Mage Scroll of Find Familiar x1, Mage Scroll of Magic Missile x1, Leather Armor x1, Potion of Health x1, Antidote x1, Potion of Healing x1, Good Berries x5 and Potion of Persuasiveness x1 to containers around Candlekeep (also the Temple can now offer the player to sell their items to them Priest of Oghma). I aslo learned that the first locked drawer in the Candlekeep Inn is open-able by a PLAT01 as its key xD.
  • edited July 2019
    Hey I like your writing :-D! @Roxanne How can the extra item patches / scripts added around Candlekeep be made compatible in WeiDU with version 0.4? I do not want to break anything:S

    As I did with version 0.25 where I kept breaking the poor codes and scripts until they eventually worked (it feels sometimes like I a code with a hammer x.x). I was originally surprised when version 0.25 installed for the first time without error (minus the translation errors) xD.

    You know how to code much better than I do, especially for EET compatibility :-P.
  • Here is v0.5

    - I have incorporated your new stuff around Candlekeep (adding items to containers in 5 areas, new Oghma store related to the priest) into the 0.4 version.

    - I have also cleaned up the code a bit to allow better overview about what is ghost knights and what is Hull.

    - The mini-mod works both on BGEE and EET now with all elements.

    I suggest that further changes best go on top of this baseline.

    Even better, having the mod on github (instead of using zip-exchange) would make work much easier. You should consider this as well in the light of having a reliable download source later on for the mod.
  • edited July 2019
    Oh thank you @Roxanne :-D! How did you learn so much about coding / scripting for games? You are really good at it:-)!

    I really should grow and use github more. In the past I have tinkered with this in combining people's work on a few game prototypes. Yet the issue was not github but rather teams fizzling apart over the years:-S. Iterate, iterate, iterate:-D!

    I am not good with github although I do know that I should try to use it for everyone else's sake. Convenience is a great thing to give to people. I would say that sharing is more important than knowing o.O.

    Also I have this in the back of my mind; just there...




    ~Bla bla thoughts...
    I feel kind of guilty asking for so much help to be honest for I usually give the help than take it; yet happy with working with people.
    It is a mixed bag that I am glad has happened. I just wish I could do more to give back to people or hire people to do things like what I do with construction etc.
    You must have some kind of game projects kicking about? It would seem odd with so much talent to be so selfless. Usually we have dreams that pull us towards a creative goal. I wonder what your creative goals are?


  • I have been involved in re-animating a lot of old mods for EE/EET
    On top I have created a number of own mods (see https://baldursextendedworld.com/)

    Especially the 3 parts of the Sandrah Saga include about every aspect of modding from area/item making to complex cutscenes, dialogues and interjections with existing dialogues, to crossmod with big mods and more. Adding to worldmap or journal or putting items into stores or containers are just everyday features.

    In the past I have also contributed for some years to the (now defunct) BWFixpack and to BWS, and while troubleshooting I dug deep into almost any mod around.

    Lastly, the maintenance of the EE/EET mod Install Tool requires/trains such knowledge about mods - often more than modders themself may bring along (or maybe sometimes they are too close to the object to see the problems an outsider can spot at a glance...)
  • Hey @Roxanne how hard would it be to have another dream sequence after a chapter but CHARNAME is transported to an area (like a fall asleep and they are transported to a dream area)?

    I have been working on the Seatower of Balduran and I always was curious about having some of their restored cut content /earlier version dreams become a second / another dream after a chapter. How could this be done to go to sleep and if say chapter 1 be teleported into an area instead of having a cutscene and then when the event in the dream ends to be teleported back to where the player last when to sleep before the dream?

    The Sea Tower of Balduran has fully functioning dream sequences one for each in game chapter based on the AR26XX cut dream content, like the White Knight, Ogre, Claw etc. It would be a shame that these dreams have so much work put into them yet no proper way to link them up the way they were originally intended to be played.
  • edited July 2019
    @Roxanne I uploaded to Mega the latest (2017) Work In Progress version 0.22 of Sea Tower of Balduran although I added a skeleton encounter but in 2017 I had no idea how to use WeiDU so the project kind of just went on ice.

    Here is the download link. I am wondering how to include the Version 1.3.5 (skeleton encounter) with the WeiDU installer. Also there are the dreams included that I was talking about wondering how to activate them after each chapter as regular extra chapter based dreams.


  • edited July 2019
    Fun fact: The Baldur's Gate Arms and Armour Emporium project started as I began work on helping with Sea Tower of Balduran where the smiths sold too good of items for their career as stay at castle barracks and maintenance tradespeople. So I started to make my own Arms and Armour Emporium for Baldur's Gate's Trade District. Now I just need to finish the recipes and fix the polygons and release the module (hopefully before Christmas) :-P.
Sign In or Register to comment.