[RELz] Oblivion XP script modification

Post » Sat Mar 12, 2011 2:19 am

EDIT2: I've made a 'mod' that makes it easier to implement the changes for people who never used the CS. It comes with the altered script as txt file for copy/paste and a step by step tutorial that is really easy to follow. Doesn't take more then two minutes to implement the changes now. Download can be found http://www.tesnexus.com/downloads/file.php?id=30728.

EDIT: Problem solved, see post #4 for a tutorial if you'd like to have this in your Oblivion XP as well.

I love Oblivion XP, but there is one thing that bothers me. Increasing your major/special skills goes too fast if you concentrate on it. There is only a level cap for when you are allowed to raise your skill points to the next perk level (25/50/75/100). But once you reach the level needed you can add a huge amount of points to a skill at once. An example:

I have a character that has combat specialization and blade as a major skill so blade costs 2 points per skill point at level up. My level cap for the journeyman level is set to 6, my skill points per level up are the default 36. I increase the skill to 49 at level 2 already (starting with 35) and stay there till level 6. At level 6 I can raise it directly to 67 and at level 7 I can raise it to 74. Then I stay there until I reach the next level cap.

This bothers me a bit because important skills can be raised in large chunks once you reach the next perk level. The difference between a level 5 and a level 6 character is huge, his weapons deal a lot more damage only because he has reached the next possible perk level. There is a maximum attribute points increase per level and attribute, I wonder why there is not the same for skills. I would love to have one for skills as well, like a maximum of 5 skills points increase per level and skill.

Under normal circumstances I would just alter the mod myself, but after looking at the Oblivion XP scripts I realized that it is a bit too complicated for me. I have a decent understanding of scripts, but I have never used OBSE commands and the scripts are generally pretty complicated. I'm sure it wouldn't work in the best case if I tried and it would break the mod in the worst case.

So I'm here to make a request. Are there any experienced OBSE scripters out there who read and understand the Oblivion XP scripts like it was a children's book? There is already a points per level cap for attributes so I imagine it wouldn't be too hard to add one for skills as well. I'm pretty sure other people would be interested in an addition like that as well.

Since an altered version of the mod can't be reuploaded without permission from Sir Frederik it would be enough to post the parts of the scripts that need to be altered so I and others can implement them on their own.

The only thing I can offer in return is that I'd make a mesh for you if you need any for your own mods. I'm not completely useless after all and I'd really love to have that script add-on. Too late!
User avatar
Jessica Colville
 
Posts: 3349
Joined: Wed Oct 18, 2006 6:53 pm

Post » Sat Mar 12, 2011 12:47 pm

I'm pretty sure that the hardcoe OBSE scripters sleep all day and get up late in the afternoon. They need the sleep to regenerate their brains. So here is a bump for them.
User avatar
james tait
 
Posts: 3385
Joined: Fri Jun 22, 2007 6:26 pm

Post » Sat Mar 12, 2011 7:06 am

What you ask for is out of my league, but if anyone comes through for you, I would be interested in the fix as well. I do love Oblivion XP, but you are absolutely right about the sudden jumps. Reminds me of punctuated equilibrium.

gothemasticator
User avatar
Rachael
 
Posts: 3412
Joined: Sat Feb 17, 2007 2:10 pm

Post » Sat Mar 12, 2011 1:21 am

Ok, I found a way to utilize the ObXPSettings.maximumAttributeIncrease for skills as well. Since at least one person is interested in this as well I'll post a 'tutorial':

1. The obvious thing to do. Load the mod with the obse infected Construction Set. If you don't know how to do this - open command prompt or write a batch file and type 'obse_loader -editor' to load the CS with obse.

2. Go to gameplay>edit scripts and open the script called ObXPUILevelUpScript.

3. Scroll down until you see a line called:

;only enable increase buttons if player has enough points


You can also use find text to find it, it's nearly at the end of the script.

4. Below that line are the caps for attributes and skills on level up. You will see that there are four sections of code, one for attributes (the first one) and three (that might look like one large section for you) for the different skill types (combat, magic, stealth). Leave the first section alone, we only need the three sections for skills. As you will notice every attribute and skill has a number, like

arrayActorValue[12] + statPointsSpent[12] / statPointCost[12]


Each number represents a skill or attribute according to the http://cs.elderscrolls.com/constwiki/index.php/Stats_List. So 12 for example stands for armorer. The values from 0-7 are for the 8 attributes, numbers from 12 to 32 are for skills. For each skill (each number between 12 and 32) there is a line like that:

let tempShort := 2 - ( ( ObXPMain.skillPoints < statPointCost[12] ) || ( ( arrayActorValue[12] + statPointsSpent[12] / statPointCost[12] ) >= ObXPSettings.capSkills + ( player.getTotalAEAbilityMagnitudeC tempLong 12 ) ) || tempShort )


We need to change the end of that line. It should look like this:

let tempShort := 2 - ( ( ObXPMain.skillPoints < statPointCost[12] ) || ( ( arrayActorValue[12] + statPointsSpent[12] / statPointCost[12] ) >= ObXPSettings.capSkills + ( player.getTotalAEAbilityMagnitudeC tempLong 12 ) ) || tempShort || ( statPointsSpent[12] >= ObXPSettings.maximumAttributeIncrease * 2))


I hope you notice that I changed the last part to add this between tempShort and the final bracket:

|| ( statPointsSpent[12] >= ObXPSettings.maximumAttributeIncrease * 2)


This will utilize the setting that caps the maximum increase for attributes you can adjust in the Oblivion XP ini. In the case I posted above you can spend twice as many skill points on level up per skill as you can spend on attributes. So if your setting is at 5 you can spend 10 points per skill max. Note that this is the amount of Oblivion XP skill points (default 36), not the actual skill stat. So if you have a major skill with specialization (costs 2 points per skill increase) you can increase it by 5 points per level. A major skill without specialization (costs 3 points) could be increased by 4 points per level up since the script will only disable the '+' button if the amount of points spent is equal to or higher than the specified amount (if you have spent 9 points you can spent another three, but if you have spent 12 points you can't spend more). You can of course adjust the setting to your liking, like 3x the amount of attribute points. You can also make it independant from the setting in the ini and simply set it to a fixed value, like:

|| ( statPointsSpent[12] >= 10)


And you can even set it per skill, so you are able to raise mercantile faster than blade for example if you like.

5. Anyway, now add this code to each of the 21 skill lines. You need to adjust the number in

statPointsSpent[12]


to fit the skill you're adjusting for each line. Like mentioned above you can see the numbers in the first part of the line so for each skill it needs to be appropriate (like 12,13, 14, 15...till 32).

And that's it. Save the mod. I suggest you make a backup of the original mod just in case. I tested this in game and it works without a hitch, but you never know.

I think this is actually much better than I had hoped for because the amount of points you can spend per level is dependant on whether it's a major/minor/specialized skill. It is very hard this way to ever bring a non-specialized minor skill up to 100, you'd need to start very early to be able to do that. You need to plan your character more and can't just increase a skill you were always bad at from level 30-35 suddenly to a very high level if you feel like it. It also makes it more rewarding to increase the less important skills (like armorer, athletics, security) early already instead of spending all your skill points on the important combat/magic/stealth skills (like blade, heavy/light armor etc, depending on character).

I hope this was understandable, if you have any questions let me know.
User avatar
Isabella X
 
Posts: 3373
Joined: Sat Dec 02, 2006 3:44 am

Post » Sat Mar 12, 2011 3:24 am

Thanks for posting this. I will actually use it. Bit by bit I am sliding down the slippery slope toward actually creating something of my own, and every little bit of tinkering helps.

gothemasticator
User avatar
Jennie Skeletons
 
Posts: 3452
Joined: Wed Jun 21, 2006 8:21 am

Post » Sat Mar 12, 2011 12:48 pm

Nice job. Maybe fix poison kills next? ;)
User avatar
Matt Bee
 
Posts: 3441
Joined: Tue Jul 10, 2007 5:32 am

Post » Sat Mar 12, 2011 3:55 am

I did not understand a word of what you are saying (I am not familiar with leveling algorithm, vanilla or XP), but it would make a lot of sense if the array index (the [12] in arrayActorValue[12]) matched the Actor Value internal code.
(See WIKI: http://cs.elderscrolls.com/constwiki/index.php/Stats_List or http://cs.elderscrolls.com/constwiki/index.php/GetActorValueC)
Hope it helps.
User avatar
carly mcdonough
 
Posts: 3402
Joined: Fri Jul 28, 2006 3:23 am

Post » Sat Mar 12, 2011 9:36 am

I did not understand a word of what you are saying (I am not familiar with leveling algorithm, vanilla or XP), but it would make a lot of sense if the array index (the [12] in arrayActorValue[12]) matched the Actor Value internal code.
(See WIKI: http://cs.elderscrolls.com/constwiki/index.php/Stats_List or http://cs.elderscrolls.com/constwiki/index.php/GetActorValueC)
Hope it helps.


Ah, didn't know about the internal code, thanks. That makes it easier to adjust per skill if anyone wants to do that. I'll edit the tutorial and point to the page you linked to.
User avatar
Reanan-Marie Olsen
 
Posts: 3386
Joined: Thu Mar 01, 2007 6:12 am

Post » Sat Mar 12, 2011 4:18 am

Since I really like the gameplay change this small modification brings I've made a 'mod' that makes it easier to implement the changes for people who never used the CS. It comes with the altered script as txt file for copy/paste and a step by step tutorial that is really easy to follow. Doesn't take more then two minutes to implement the changes now even if you have never opened the CS before. Download can be found in the OP.
User avatar
Marine Arrègle
 
Posts: 3423
Joined: Sat Mar 24, 2007 5:19 am

Post » Sat Mar 12, 2011 4:08 am

For the stupid and/or the lazy, would be able to post the already edited script? :P
User avatar
naome duncan
 
Posts: 3459
Joined: Tue Feb 06, 2007 12:36 am

Post » Sat Mar 12, 2011 4:57 pm

For the stupid and/or the lazy, would be able to post the already edited script? :P


I just uploaded a 'mod' that includes the altered script as txt file and step by step instructions. Link is in the OP.
User avatar
Nicole M
 
Posts: 3501
Joined: Thu Jun 15, 2006 6:31 am


Return to IV - Oblivion