Jump to content

Removing xp


Roland

Recommended Posts

This is what I imagine you are saying...

 

All experience is shut off to 0 (you already know where this is)

turn experience to level to 1 pnt

New deathbuff created

lasts for 24 hours and is incurable

At 6am event is triggered

if death buff on character than

event(sad) triggered

play sad music and nothing else happens

if no death buff on character then

buff(experience) turns on and 1 point is given to character which levels them, this needs to overide the place you shut off the experience for the duration of buff(experience)

buff(experience) activates happy jingle

buff(experience) turns off.

Link to comment
Share on other sites

Skill points can be given via quest, I'm just not sure how to trigger that on new day.

 

Now LEVELS per day might be do-able since A17.2 now has this...

 

<triggered_effect trigger="onSelfBuffUpdate" action="ModifyCVar" cvar="$LastPlayerLevel" operation="add" value="1">
<requirement name="PlayerLevel" target="self" operation="GT" value="@$LastPlayerLevel"/>
</triggered_effect>

 

And we also have this in the buffs file for notes...

 

	//onGameDayStart, //Hook Up
//onGameNightStart, //Hook Up

 

So we might be able to use a custom buff + duration to get it to tick a level every so many RL hours... because duration is sadly seconds rather than server ticks.

 

Or you could poke the devs and find out if either of those triggers are hooked up and then we can apply it directly to the player entity. :)

 

Doing 2 levels every 3 days might be a little more difficult...

Link to comment
Share on other sites

how about timers? do they exist. set one off day 1 that resets at death. there must be one for debuffs when killed

test at 6am. you must be able to access the game time.

if timer between 24 and 48 hrs give 1 point

if timer over 48 hours give 2

I would have thought this one to be easy. theres that longest life stat along with number of kills and deaths etc, maybe that can be accessed at 6am for the test

Link to comment
Share on other sites

how about timers? do they exist. set one off day 1 that resets at death. there must be one for debuffs when killed

test at 6am. you must be able to access the game time.

if timer between 24 and 48 hrs give 1 point

if timer over 48 hours give 2

I would have thought this one to be easy. theres that longest life stat along with number of kills and deaths etc, maybe that can be accessed at 6am for the test

 

That sounds promising. I'm not sure how to set up a timer or which file to put it in.

Link to comment
Share on other sites

...how did I not see this thread?

 

First, glad the community is helping you.

 

Second, is your first post updated for what you still need?

 

Third, use a cvar (custom variable) that initializes on your initial spawn (see entityclasses) and tracks either time, or see if days alive is exposed via XML, for your one point a day request. You can get fancy and have death reset the count; programming is just math word problems, you'll be (obviously) fine on the logic, you'll just need help with the usage/format.

 

Fourth, if you want live help hit up my discord.

 

https://discord.gg/2jRhpWG

 

...just use a real account; crater likes to log in via the web app and has like 15 accounts. Tsbx is ocd and will probably ban him soon. :)

 

- - - Updated - - -

 

That sounds promising. I'm not sure how to set up a timer or which file to put it in.

 

Entityclasses initializes all player buffs; use one that sort of matches what you want to do and change a few names. :)

Link to comment
Share on other sites

So the logic is two buffs... isDead, which turns to 1 onDeath, and 0 onRespawn (or whatever it is).

 

The second buff is the timer that constantly checks if isDead is 0, and if 1, resets the clock.

 

That's the logic. Fairly certain there is a buff that tracks deaths because gazz likely uses it for gamestage calculations, assuming it's not still a hard coded variable.

Link to comment
Share on other sites

This gameplay style sounds like an interesting alternative playstyle. It might make a nice option in the game menus as well. It encourages and rewards survival... maybe the bloodmoon survival can grant an additional point?

 

I've always felt defending and surviving a bloodmoon should give the player some reward for doing it well.

Link to comment
Share on other sites

  • 2 weeks later...
...how did I not see this thread?

 

First, glad the community is helping you.

 

Second, is your first post updated for what you still need?

 

Third, use a cvar (custom variable) that initializes on your initial spawn (see entityclasses) and tracks either time, or see if days alive is exposed via XML, for your one point a day request. You can get fancy and have death reset the count; programming is just math word problems, you'll be (obviously) fine on the logic, you'll just need help with the usage/format.

 

Fourth, if you want live help hit up my discord.

 

https://discord.gg/2jRhpWG

 

...just use a real account; crater likes to log in via the web app and has like 15 accounts. Tsbx is ocd and will probably ban him soon. :)

 

- - - Updated - - -

 

 

 

Entityclasses initializes all player buffs; use one that sort of matches what you want to do and change a few names. :)

 

I looked through entityclasses and couldn't make heads or tails of it. Is there a tutorial on creating cvars that I could watch? I don't even know if I'm at a high enough level to be able to chat with you live and be able to understand. I need some basic learning first.

 

Okay I found this line in the Male Player Entity section:

 

<triggered_effect trigger="onSelfRespawn" action="AddBuff" target="self" buff="buffStatusCheck,buffPerkAbilityUpdate,buffNearDeathTraumaTrigger"/>

 

And I figure I would need to add something like buffPerkPointBlock that has a 24hr timer. That would block me from getting a perk point in the morning if I respawned after death anytime during the previous day. Don't know how to create that buff or tie it in with a timer.

Link to comment
Share on other sites

This gameplay style sounds like an interesting alternative playstyle. It might make a nice option in the game menus as well. It encourages and rewards survival... maybe the bloodmoon survival can grant an additional point?

 

I've always felt defending and surviving a bloodmoon should give the player some reward for doing it well.

 

If this mod gets made, I definitely want to do a YT series with it. Sounds awesome.

 

So far it has been a lot of fun. I keep having to remind myself that I don't have to kill the zombies. It makes zero difference if I do or if I don't. I'm going to progress as a character either way and will in fact get a 24 hour delay in my progress if I get myself killed.

 

Now, I'm one who naturally does whatever I want to do regardless of whether it showers me with xp or not. I would be interested to see how some of our most avowed efficiency speedsters would make of it. (obviously adjust the settings to 10 minute days...heheh)

Link to comment
Share on other sites

Okay okay I’ll join it next opportunity. It’s a bit intimidating to talk live about stuff I know so little about.

 

I thought that myself when I got invited on ... me being old skool Teamspeak and Ventrillo and as Guppy says sometimes question can take a while to get answered.

Link to comment
Share on other sites

Update:

 

I finally asked a question on Guppy's discord and got an answer fairly quickly but the answer was basically that if I want to do it cleanly and easily then I need to wait for the devs to finishing hooking up the triggers. The onDayStart trigger is not yet hooked up but once it is, it should be pretty simple to do what I want using that trigger.

 

Also, for anyone wanting to try this manually like I have here are the current changes that I have done:

 

 

1) Starter quest gives 1 skill point for each leg for a total of 8 points once done. The find the trader quest also gives one point so you begin with 9 points to spend.

 

2) All quests give skill points instead of xp. Challenge quests give 1 point. Tier 1/2 give 1 point. Tier 3/4 give 2 points and Tier 5 gives 3 points.

 

3) Changed the 25% xp modifier in the options menu to 0% and then selected that to remove all xp gains in the game.

 

4) Changed the player progression to be 100 xp per level with the growth factor changed to 1.0 so it will never change. Every morning I open the console and type giveselfxp 100 and that advances me a level and grants a daily skill point provided I didn't die at all during the previous day.

 

5) Changed zombie loot drop chances to 6%, 9%, and 12% for regular, feral, and radiated respectively (8,12,16 turned out to be too generous).

 

6) Removed all level gates from the perks.

 

 

Notes: I was using a quest that Royale kindly provided for me but the problem was that I was not progressing in levels at all so my gamestage was always in the dumpster. In A17.2 the devs changed the command "giveselfxp" so that it would work without being modified by the options menu selection. So now I don't need the quest. I can just give myself 100 xp and that raises me a level and grants me a skill point all at once. I really have been enjoying these changes.

 

I definitely want to eventually create a mod that will handle all these things automatically and am going to start looking for tutorials that can help me understand the cvars and buffs and doing more with xml than the very little I now know.

Link to comment
Share on other sites

I'll be posting an sdx version of this soon. It works, but cannot be done in vanilla silently. I bugged a dev and was told he might look into the specific issue why, so for now, sdx.

 

Roland, if you're willing to share your edits that prevent points from everything else, I'll include it.

Link to comment
Share on other sites

I'll be posting an sdx version of this soon. It works, but cannot be done in vanilla silently. I bugged a dev and was told he might look into the specific issue why, so for now, sdx.

 

Roland, if you're willing to share your edits that prevent points from everything else, I'll include it.

 

That’s awesome. While I am interested in experimenting and figuring out how it all works it is taking a long time. So I’m just as happy playing someone else’s mod for this as I am trying to do it myself.

 

I just went into the window xml inside the XUI folder and searched all references of the xpmodifiers of 25, 50, 100, 125, 150, 200 and changed the 25 into a 0. I think there are three different lines of that you need to change and once done you won’t earn xp for anything.

 

Of course you have to then select 0% in the menu options to enable it after launching the game. It is a very simple way to get rid of all xp but it also makes it difficult to gain levels since levels are based on xp. Using giveselfxp was the only way I could do it and only since 17.2.

 

I’ll keep plugging away at figuring out cvars and buffs just because I’m interested now but I will definitely use your sdx version once you have it going. I have no idea whether anyone else will even think this way of playing is fun or not. My other passion of playing with invisible HUD never seemed to gain any popularity.

Link to comment
Share on other sites

So the general gist of WHY it doesn't work in vanilla boils down to a disconnect between buffs and quests.

 

Buffs can track time and do exactly what I want, except there is NO event that works to assign a skillpoint.

 

Quests do NOTHING with time anymore and CAN assign skillpoints.

 

The only "hook" between the two is using a "Requirement" in quests that a buff is running at the time, which is fine and works great...

 

...except that the "Requirement" property requires an "Objective" property (else the requirement gets ignored), and that's where we run into problems.

 

There are very few "Objective" options, NONE of them are passive... you can kill a zombie, go to a trader, fetch and item, etc. "Optional = 'true'" no longer works in a17, so I couldn't defeat the objectives that way. Setting a "fetchKeep" to 0 didn't work either.

 

The closet I came was using the "random goto" objective, and making the goto distance really small and your proximity larger, so that it "automatically" said "you're there".

 

Sounds great, right?

 

Nope!

 

The spot it picks HAS to be the same spot during the perk assignment, so you would have to, at midnight, go back and stand in the same spot at the right time (when the new day buff kicks in) in order to meet the objective.

 

So instead, Sphereii just wrote an sdx mod that allows buffs to assign skillpoints. =)

 

The way I saw it, there were a few things that the devs can do to allow this.

 

One, finish buffs so that they allow skill point assignments.

 

Two, add back in the "optional = 'true'" property.

 

Three, remove the objective requirement when re-using the requirement objective.

 

The dev in question went with option four, which I'm not going to discuss since it's some real golden circle stuff. =)

 

(or because it might not make it in so why stir crap up, but pick your favorite reason! It's not like anyone reads my longer posts anyway!).

 

tldr; it ain't working right yet, but might be fixed.

Link to comment
Share on other sites

So my only burning question is....will Sphereii include it in his mod launcher since that's the only way I know how to play sdx mods?

 

Lie

 

Can he also write a mod that changes leveling up so that it is based on gaining skill points instead of gaining xp? That is another huge hurdle. The only way around it is to change the gamestage multiplier to make it ramp up a lot faster and then just not worry about levels at all. But it would be more natural to have the player progress in levels and then the multiplier can be adjusted slightly to tune the pacing as it is now instead of being used as a hammer to make gamestages progress at all.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...