• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

Quest System in Mods Question

Orphen

New member
I was trying to make all the perk books provide 1 skill point one time if read instead of using it to learn the perk. I thought I had it all set to only allow it to be read one time and not be useable again but seems you can still use multiple copies.  I'm not sure why though. I appended each perk book like this:

<append xpath="/items/item[@name='bookFiremansAlmanacHeat']">
<property class="Action1">
<property value="Quest" name="Class"/>
<property value="0" name="Delay"/>
<property value="quest_bookFiremansAlmanacHeat" name="QuestGiven"/>
</property>
</append>


and made a quest for each like one like this:

<quest id="quest_bookFiremansAlmanacHeat">
<property name="group_name_key" value="quest_L2read" />
<property name="name_key" value="The Fireman's Almanac Vol 1" />
<property name="subtitle_key" value="Gain a skillpoint" />
<property name="description_key" value="Gain a skillpoint through reading a Fireman's Almanac" />
<property name="offer_key" value="You read a book and learned something new.." />
<property name="icon" value="ui_game_symbol_quest" />
<property name="repeatable" value="false" />
<property name="category_key" value="quest" />
<property name="difficulty" value="easy"/>
<property name="shareable" value="false" />
<reward type="SkillPoints" value="1" />
</quest>


Did I miss something? I have the repeatable set to false.

 
I believe you have to update the cvar so that the game knows you've read that particular book before. Try copying the effect_group lines from Action0 into your new Action1 and see if that works for you.

 
Yeah, you need a cvar to keep track of it. Here's an example of a quest item from my mod:

<item name="questPewPew">
<property name="CustomIcon" value="questPewPew"/>
<property name="Extends" value="questMaster"/>
<property name="Stacknumber" value="1"/>
<property name="Weight" value="0"/>
<property name="Group" value="Special Items"/>
<property name="DescriptionKey" value="questPewPewDesc"/>
<property class="Action0">
<property name="Class" value="Quest"/>
<property name="QuestGiven" value="questPewPewstart"/>
<property name="Delay" value="0"/>
<requirement name="CVarCompare" cvar="$oneTimeQuest" operation="LTE" value="0"/>
</property>
<effect_group tiered="false">
<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$oneTimeQuest" operation="set" value="1"/>
</effect_group>
</item>




This makes it so once you use it the first time, it set the cvar to 1, which means after that it won't fire the quest when you use it again.

 
Thank you, another question about quests I wasn't sure about for a different one.  How do you make it so that the kills for a quest are shared with party members? I've noticed the kills for all the vanilla quests allow the kills other party members make to count for each other.  I added a mod that put a few more quests in that doesn't share the kills.  So when done in a party the one with the quest usually winds up short when others help.

 
Last edited by a moderator:
I believe the kills are shared by default, and I don't know of any way to keep them from being shared (unless the quest itself couldn't be shared, like treasure chests or the intro quest chain). Does the quest in question have certain conditions the player has to meet in order for the kills to count--drunk, holding a certain weapon, etc? If your friends don't also meet those conditions, their kills likely won't count toward the quest total (turrets seem to get a pass on this, or at least they did in A18).

 
Back
Top