Jump to content

Add SKILL/PERK via BUFF


Recommended Posts

Hello survivors,

 

we want to introduce permanent players on our server. These players should then also have the opportunity to do special things.
Whether it is certain recipes or that they get better loot because of certain skills. And of course also reserved slots, so that they can always play.

 

We want to be able to assign this status and have ended up with BUFF DEBUFF.
Assigning the BUFF to the player via timed bash script is no problem, but how can I activate certain skills with that BUFF? 

 

Do you have an example for me of how a BUFF > PERK/SKILL could look? Because I can't get it to work, and I haven't found anything, yet, that could serve as an example or template.
 

Link to comment
Share on other sites

Thank you @meganoth for this hint.

 

Here is what if have done:

buffs.xml

<append xpath="/buffs">
		<buff name="Donor" name_key="Donor" icon="ui_game_symbol_diamond" icon_color="0,128,0">
			<!-- hidden="true" remove_on_death="false" -->
			<display_value_key value="Donor"/>
			<display_value value="Donor"/>
			<stack_type value="ignore"/>
			<duration value="0"/>
			<effect_group>
				<triggered_effect trigger="onSelfBuffStart" name="AttributeLevel" tags="perkDonor" operation="base_add" value="1"/>
				<triggered_effect trigger="onSelfBuffRemove" name="AttributeLevel" tags="perkDonor" operation="base_add" value="0"/>
			</effect_group>
		</buff>
	</append>

 

and in progression.xml i implemented that:

<configs>
	<append xpath="/progression/perks">
		<perk name="perkDonor" max_level="1" base_skill_point_cost="0" desc_key="perkDonor" long_desc_key="perkDonor"/>
	</append>
</configs>

 

and in recipes.xml i wrote this:

<recipe name="LVL4 Purple LootBox" count="1" craft_area="LootboxMachine" craft_time="0" tags="learnable,perkDonor">
			<ingredient name="Green Ticket" count="0"/>
			<ingredient name="Yellow Ticket" count="0"/>
			<ingredient name="Red Ticket" count="0"/>
			<ingredient name="Purple Ticket" count="1"/>
		</recipe>

 

and the regarding items in the items.xml are looking like this:

<item name="LVL4 Purple LootBox">
			<property name="Extends" value="LVL1 Green LootBox"/>
			<property name="CustomIcon" value="cntMunitionsBox"/>
			<property name="CustomIconTint" value="128,0,128"/>
			<property name="UnlockedBy" value="perkDonor"/>
			<property class="Action0">
				<property name="QuestGiven" value="purplelootbox"/>
			</property>
		</item>

 

The expectation now would have been that the items can be produced when the BUFF is activated. With a deactivated BUFF, they cannot.

Unfortunately, this is not the case, the items cannot be produced in this way.

Excuse me for asking such a stupid question, but I don't understand the BUFF/PERKS/etc. system at all.

 

Is there a hint as to what I am doing wrong here?

 

Link to comment
Share on other sites

For the buff, it would need to be something like:

<passive_effect name="PerkLevel" operation="base_add" value="1" tags="perkDonor"/>

so as long as you have the buff it keeps the perk at level 1. Then just need to have a way to remove the buff.

 

For the perk, that's where you need to gate the recipe. So the perk needs to look like:

<perk name="perkDonor" max_level="1" base_skill_point_cost="0" desc_key="perkDonorDesc" long_desc_key="perkWildWastelandCompleteLongDesc">
  <effect_group>
    <passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="LVL4 Purple LootBox"/>
  </effect_group>
</perk>

This should get you close at least.

Link to comment
Share on other sites

Hi @bdubyah,

 

thank you for this answer ... I tried this, but now, every time I want to open the skill menu, the client crashes back to windows.

 

This is what I have done to the buffs.xml:

<append xpath="/buffs">
		<buff name="buffDonor" name_key="buffDonorKey" icon="ui_game_symbol_diamond" icon_color="0,128,0">
			<!-- hidden="true" remove_on_death="false" -->
			<display_value_key value="Donor"/>
			<display_value value="Donor"/>
			<stack_type value="ignore"/>
			<duration value="0"/>
			<effect_group>
				<passive_effect name="PerkLevel" operation="base_add" value="1" tags="perkDonor"/>
			</effect_group>
		</buff>
	</append>

 

and that to the progression.xml:

<append xpath="/progression/perks">
		<perk name="perkDonor" max_level="1" base_skill_point_cost="0" desc_key="perkDonorDesc" long_desc_key="perkDonorDesc">
			<effect_group>
				<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="LVL4 Purple LootBox"/>
				<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="LVL3 Red LootBox"/>
			</effect_group>
		</perk>
	</append>

 

and here the recipes.xml:

	<append xpath="/recipes">
		<recipe name="LVL3 Red LootBox" count="1" craft_area="LootboxMachine" craft_time="0" tags="learnable,perkDonor">
			<ingredient name="Green Ticket" count="0"/>
			<ingredient name="Yellow Ticket" count="0"/>
			<ingredient name="Red Ticket" count="1"/>
			<ingredient name="Purple Ticket" count="0"/>
		</recipe>
		<recipe name="LVL4 Purple LootBox" count="1" craft_area="LootboxMachine" craft_time="0" tags="learnable,perkDonor">
			<ingredient name="Green Ticket" count="0"/>
			<ingredient name="Yellow Ticket" count="0"/>
			<ingredient name="Red Ticket" count="0"/>
			<ingredient name="Purple Ticket" count="1"/>
		</recipe>
	</append>

 

I am very sure that there is no overlap with other mods.

But unfortunately I have no idea why it crashes every time.

 

Help😢 please ...

 

 

Edited by dwarfmaster1974
typo (see edit history)
Link to comment
Share on other sites

Are you getting any errors when the game loads up the mod?

 

Also, have you looked at the ConfigDumps files to see what your mod is doing to the original files after it loads up?

 

I might try copying and pasting this into a file when I get home tonight and see what it does on my end with a vanilla game of no mods.

Link to comment
Share on other sites

6 hours ago, BFT2020 said:

This may be obvious and not applies, but you do have objects / assets in the game called Lvl1 Green Loot box, Level2 Yellow loot box, etc?

Yes, we have.

 

These items are from an external Lootbox-Mod and have no technical names or ID. 

You were absolutely right, when you say that this is a bad idea ... but in that case. Not my fault 😅

 

Here is the log: https://pastebin.com/YRhzHEM8

I can't see anything obvious here.

 

Every Mod is loaded and there are no Warnings, Errors or Exceptions.

 

 

Link to comment
Share on other sites

Not entirely sure what's going wrong here, but I do have a few suggestions. First, make sure the lootbox mod is loading before this mod that references it (that is, your new mod should come after it alphabetically). Second, I would really avoid using spaces in your recipe and item names. Use underscores or run the words together. In my experience, weird things seem to happen to stuff with spaces in the name. Use localization to give everything a pretty name once it's running properly. Finally, I don't see the logic behind having 0 count ingredients in every LootBox recipe. 

Remove the 0 count ingredients, get the spaces out of the item/recipe names, and confirm that your lootbox mod is loading first, and then see if that makes things run more smoothly.

Link to comment
Share on other sites

I have now adjusted everything and tidied up a little.

The perk also runs very well, and only the recipes that are supposed to be unlocked are unlocked.

BUT it is still the case that when I open the skills, the client crashes. Also, on other computers under other (steam) users. 
I just had it tested by others.

Unfortunately, there was no outputput.log for any of them, which could have provided information about the reason.

 

So I had to proceed iteratively and cut back piece by piece. It took a while, but the crash only occurred when I added the progression.xml.

<configs>
	<append xpath="/progression/perks">
		<perk name="perkDonor" max_level="1" base_skill_point_cost="0" desc_key="perkDonorDesc" long_desc_key="perkDonorDesc">
			<effect_group>
				<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="purpleBox"/>
				<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="redBox"/>
			</effect_group>
		</perk>
	</append>
</configs>


What could be the reason? I am in despair 😵

 

Even the red and the purpleBox are existing items, and they are working well in between the LootMachine

 

 

 

 

Link to comment
Share on other sites

17 hours ago, dwarfmaster1974 said:

I have now adjusted everything and tidied up a little.

The perk also runs very well, and only the recipes that are supposed to be unlocked are unlocked.

BUT it is still the case that when I open the skills, the client crashes. Also, on other computers under other (steam) users. 
I just had it tested by others.

Unfortunately, there was no outputput.log for any of them, which could have provided information about the reason.

 

So I had to proceed iteratively and cut back piece by piece. It took a while, but the crash only occurred when I added the progression.xml.

<configs>
	<append xpath="/progression/perks">
		<perk name="perkDonor" max_level="1" base_skill_point_cost="0" desc_key="perkDonorDesc" long_desc_key="perkDonorDesc">
			<effect_group>
				<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="purpleBox"/>
				<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="redBox"/>
			</effect_group>
		</perk>
	</append>
</configs>


What could be the reason? I am in despair 😵

 

Even the red and the purpleBox are existing items, and they are working well in between the LootMachine

 

 

 

 

 

Maybe the game expects you to add all perks to abilities!?

 

Make the condition to perk into it with points impossible and it doesn't matter that it is listed 

 

 

 

Link to comment
Share on other sites

11 minutes ago, Gazz said:

If you make the cost 0 it should be impossible to buy.

 

Ok. What do you mean? I don't get it.

Should I change ' base_skill_point_cost="0" ', and if so, to what value?

20 minutes ago, meganoth said:

 

Maybe the game expects you to add all perks to abilities!?

 

Make the condition to perk into it with points impossible and it doesn't matter that it is listed 

 

 

 

OK. I don't get that either?

What should I do ? Do you have a tiny Example for me? ... sorry for being such a noob 🙃

Link to comment
Share on other sites

23 minutes ago, dwarfmaster1974 said:

Ok. What do you mean? I don't get it.

Should I change ' base_skill_point_cost="0" ', and if so, to what value?

OK. I don't get that either?

What should I do ? Do you have a tiny Example for me? ... sorry for being such a noob 🙃

 

All the perks seem to refer to a parent, even book perks, and every line of parent-relationships seem to end with an attribute on top of the tree.

 

Edited by meganoth (see edit history)
Link to comment
Share on other sites

The referring was the right hint. After referring it to "attPerception" everything is working like a charm and no crashes anymore ...

 

Here is the final and working progression.xml :

<configs>
	<append xpath="/progression/perks">
		<perk name="perkDonor" parent="attPerception" desc_key="perkDonorDesc" long_desc_key="perkDonorDesc">
			<effect_group>
				<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="purpleBox"/>
				<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="redBox"/>
			</effect_group>
		</perk>
	</append>
</configs>

 

Thanks to all for your patient help! 😇

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