Jump to content

Limit trader given missions, is it possible?


ZombiDweller

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?

 

Link to comment
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.

Link to comment
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.

Link to comment
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?

Link to comment
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.

Link to comment
Share on other sites

  • 3 weeks later...
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>

 

Link to comment
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?

Link to comment
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. 

Link to comment
Share on other sites

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

Link to comment
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. 

Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
Share on other sites

  • 1 month later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...