Jump to content
ZombiDweller

Limit trader given missions, is it possible?

Recommended Posts

Looked around traders.xml , quests.xml and others. And couldn't figure or find out can this be done.

Infinite magic pool of duke coins the trader holds is little bit unfitting to survival game.

 

Is there away to limit or / and make trader missions little bit more scarce.

System like where you could set random chance does  the trader generate quest for you.

Maybe horde interval, every 7 days trader might have new jobs for you to earn some coins.

 

Found dialogs.xml and removed all but 1 line for job offers. Is there way to use the probability functions in this xml file?

 

Edited by ZombiDweller (see edit history)

Share this post


Link to post
Share on other sites

If your goal is to reduce coins, here is my tweaks.

I reduced reward for quests, I remove items from trader, and increased cost of some items.

Share this post


Link to post
Share on other sites

You had an interesting idea with limited amount of job offers. Here's my suggestion...

 

dialogs.xml contains these lines:

<response id="jobsnone" text="dialog_trader_response_jobsnone" nextstatementid="nojobs" >
		<requirement type="QuestStatus" value="InProgress" requirementtype="Hide" />
</response>
<response id="jobshave" text="dialog_trader_response_jobshave" nextstatementid="currentjobs" >
		<requirement type="QuestStatus" value="NotStarted" requirementtype="Hide" />
		<action type="AddJournalEntry" id="questTip" />
</response>

This is what takes care of the dialog options and most importantly what decides whether the game shows you some jobs from trader or not. You could play with it and add your own conditions like let it roll a dice that will decide whether the player is offered the jobs or not lol

 

Well, that's at least what could work in theory, but I haven't really tested it.

Share this post


Link to post
Share on other sites
22 hours ago, xxx73 said:

If your goal is to reduce coins, here is my tweaks.

I reduced reward for quests, I remove items from trader, and increased cost of some items.

Yes, trying to limit coins. But also give little bit more incentive to do something else than just run between trader and mission.

Mostly play with reduced loot amounts, and this has been easier way of players getting items they want.

 

We have thought about that making prices higher, and or/and sell value less.

Edited by ZombiDweller (see edit history)

Share this post


Link to post
Share on other sites
On 9/13/2020 at 12:02 AM, mr.devolver said:

You had an interesting idea with limited amount of job offers. Here's my suggestion...

 

dialogs.xml contains these lines:


<response id="jobsnone" text="dialog_trader_response_jobsnone" nextstatementid="nojobs" >
		<requirement type="QuestStatus" value="InProgress" requirementtype="Hide" />
</response>
<response id="jobshave" text="dialog_trader_response_jobshave" nextstatementid="currentjobs" >
		<requirement type="QuestStatus" value="NotStarted" requirementtype="Hide" />
		<action type="AddJournalEntry" id="questTip" />
</response>

This is what takes care of the dialog options and most importantly what decides whether the game shows you some jobs from trader or not. You could play with it and add your own conditions like let it roll a dice that will decide whether the player is offered the jobs or not lol

 

Well, that's at least what could work in theory, but I haven't really tested it.

This is interesting, but right now I dont know how to make something like this, what about use something similar to loot.xml, where some lootgroups have like count="0,3"> or probability?

Another thing, I think there is a timer on when new quests come, something similar to trader stock, is it possible to to extend this like giving new quests every 4 days instead 1 day?

Share this post


Link to post
Share on other sites
1 minute ago, xxx73 said:

This is interesting, but right now I dont know how to make something like this, what about use something similar to loot.xml, where some lootgroups have like count="0,3"> or probability?

Another thing, I think there is a timer on when new quests come, something similar to trader stock, is it possible to to extend this like giving new quests every 4 days instead 1 day?

It would highly depend on your luck at trying to find the variables that store various things you want to use in requirements. You have to put there something as a decision maker.

Share this post


Link to post
Share on other sites
On 9/14/2020 at 1:28 AM, xxx73 said:

This is interesting, but right now I dont know how to make something like this, what about use something similar to loot.xml, where some lootgroups have like count="0,3"> or probability?

Another thing, I think there is a timer on when new quests come, something similar to trader stock, is it possible to to extend this like giving new quests every 4 days instead 1 day?

There used to be a modlet called "JaxTeller718_TraderBalances" which worked back in a18 - what it did, basically, was increasing the trader restoking time from 3 days to 7 days and vending machines restocking timer from 1 days to 3 days. 

 

Trader offers 5 missions per player per refresh, supposedly, so by increasing the trader reset timer high enough it would mean that there is only up to 5 missions one can do between the trader refresh times. It would also, to a degree, fix the issue with players milking all the traders on your map for perk books by going through them all each refresh cycle - as it seems to be much easier to get the books from traders than from the loot. 

 

That modlet, unfortunately, is no longer working in a19 it seems. 

what it did, basically was:

<JaxTeller718>

	<set xpath="/traders/trader_info[@id='1']/@min_inventory">30</set>
	<set xpath="/traders/trader_info[@id='1']/@max_inventory">60</set>
	<set xpath="/traders/trader_info[@id='1']/@min_items_swapped">20</set>
	<set xpath="/traders/trader_info[@id='1']/@max_items_swapped">20</set>
	<set xpath="/traders/trader_info[@id='1']/@reset_interval">7</set>
	<set xpath="/traders/trader_info[@id='4']/@reset_interval">3</set>
	<set xpath="/traders/trader_info[@id='4']/@min_inventory">4</set>
	<set xpath="/traders/trader_info[@id='4']/@max_inventory">10</set>
	<set xpath="/traders/trader_info[@id='4']/@min_items_swapped">4</set>
	<set xpath="/traders/trader_info[@id='4']/@max_items_swapped">10</set>
</JaxTeller718>

 

Share this post


Link to post
Share on other sites
14 hours ago, Tehnomaag said:

There used to be a modlet called "JaxTeller718_TraderBalances" which worked back in a18 - what it did, basically, was increasing the trader restoking time from 3 days to 7 days and vending machines restocking timer from 1 days to 3 days. 

 

Trader offers 5 missions per player per refresh, supposedly, so by increasing the trader reset timer high enough it would mean that there is only up to 5 missions one can do between the trader refresh times. It would also, to a degree, fix the issue with players milking all the traders on your map for perk books by going through them all each refresh cycle - as it seems to be much easier to get the books from traders than from the loot. 

 

That modlet, unfortunately, is no longer working in a19 it seems. 

what it did, basically was:


<JaxTeller718>

	<set xpath="/traders/trader_info[@id='1']/@min_inventory">30</set>
	<set xpath="/traders/trader_info[@id='1']/@max_inventory">60</set>
	<set xpath="/traders/trader_info[@id='1']/@min_items_swapped">20</set>
	<set xpath="/traders/trader_info[@id='1']/@max_items_swapped">20</set>
	<set xpath="/traders/trader_info[@id='1']/@reset_interval">7</set>
	<set xpath="/traders/trader_info[@id='4']/@reset_interval">3</set>
	<set xpath="/traders/trader_info[@id='4']/@min_inventory">4</set>
	<set xpath="/traders/trader_info[@id='4']/@max_inventory">10</set>
	<set xpath="/traders/trader_info[@id='4']/@min_items_swapped">4</set>
	<set xpath="/traders/trader_info[@id='4']/@max_items_swapped">10</set>
</JaxTeller718>

 

Ok nice, thanks for posting this.
So what is the effect of this, it seem to have effect on much more than quests, what is your experience, how many quests are available in each cycle?

Share this post


Link to post
Share on other sites

It did not work for me in my current game, because, as it turns out it was targeting only trader Joel with the rebalance and ours was Bob. Here is the link to the relevant thread: 

Based on the suggestions given there how to get it working I edited the relevant "traders" xlm file in the modlet to be now 

<JaxTeller718>

	<set xpath="/traders/trader_info[@id='1']/@min_inventory">30</set>
	<set xpath="/traders/trader_info[@id='1']/@max_inventory">60</set>
	<set xpath="/traders/trader_info[@id='1']/@min_items_swapped">20</set>
	<set xpath="/traders/trader_info[@id='1']/@max_items_swapped">20</set>
	<set xpath="/traders/trader_info[@id='1']/@reset_interval">7</set>
	<set xpath="/traders/trader_info[@id='2']/@reset_interval">7</set>
	<set xpath="/traders/trader_info[@id='6']/@reset_interval">7</set>
	<set xpath="/traders/trader_info[@id='7']/@reset_interval">7</set>
	<set xpath="/traders/trader_info[@id='8']/@reset_interval">7</set>
	<set xpath="/traders/trader_info[@id='4']/@reset_interval">3</set>
	<set xpath="/traders/trader_info[@id='4']/@min_inventory">4</set>
	<set xpath="/traders/trader_info[@id='4']/@max_inventory">10</set>
	<set xpath="/traders/trader_info[@id='4']/@min_items_swapped">4</set>
	<set xpath="/traders/trader_info[@id='4']/@max_items_swapped">10</set>
</JaxTeller718>

Targeting only and only the trader refresh interval. What SHOULD happen is that traders refresh every 7 days instead of every 3 days and everything else should remain the same for them (except Joel who has some additional tweaks in this modlet). Traders should offer only 5 missions per person every refresh cycle. So with this modlet, starting from zero a person should need at minimim 14 days to reach tier 2 missions and then another 14 days to reach tier 3, etc. Unless people co-operate ofc and share their missions in multiplayer. '1' should be Joel and '4' should be the vending machine. 

Share this post


Link to post
Share on other sites
Posted (edited)

I am happy to report that the edited modlet seems to be working now (a19.1 b8). It is day 32 currently in my game and the next trader restocking day is day 38.  I have added the JaxTellers relevant modlet where I have added the additional lines for the new traders in a19 to change the new traders restocking days as well. The Modlet messes with Joel further, but for all the rest of the traders all it does is increasing their restoking interval from 3d to 7d. 

 

It should do, to some limited degree, what the OP is asking for .. by increasing the restocking interval the total number of trader missions per day is roughly halved, effectively (was 5 missions per 3 days, now is 5 missions available per 7 days). 

 

EDIT: However, this modlet, apparently, does not "fix" the trader missions issue. The trader, after some testing, still offers 5 missions each day.

JaxTeller718_TraderBalances.zip

Edited by Tehnomaag (see edit history)

Share this post


Link to post
Share on other sites
On 10/2/2020 at 2:00 AM, xxx73 said:

Ok nice, thanks for posting this.
So what is the effect of this, it seem to have effect on much more than quests, what is your experience, how many quests are available in each cycle?

I am sad to report that after some testing this does not affect missions at all. It appears that the modlet only changes the trader normal/special shop refresh time, but with this modlet the trader is still offering 5 missions per day, refreshing them every day. There must be a separate line in the xlm somewhere that is related specifically to the missions, I have to assume. 

Share this post


Link to post
Share on other sites
Posted (edited)

ok thanks for the update. I have not look more into this yet, but will later.

Maybe it is in dialogue as someone suggested earlier.

Edited by xxx73 (see edit history)

Share this post


Link to post
Share on other sites

As you have seen the refresh trader codes are only about the contents of the items they contain to sell. The quests are tied to dialogs.xml and quest.xml, the only work around I could think of would be converting all the trader quests to a paper variant like the other quests and make a unique vending machine that sells the quests, it would take some finetuning to hand out the proper level of quests but it would have more control over how many quests and how often it gets restocked with them.
Or you could convert all the quests to paper and make them an item that appears in the inventory of the traders, so it will then be tied to the reset values of the trader and be as scarce as you want.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...