In Misc/SkillCheck.cs, find this method around line 149:

Code:
public static bool CheckSkill

In that method, it uses a value called gc, which stands for "gain chance" and is going to be compared to a random double value later in the method. What you will want to do is, somewhere around line 169, before this line:

Code:
if( AllowGain(from, skill, amObj) )

...you will want to change gc to make the chance greater. You can either multiply gc by some number, or simply set it to the chance you want to give the players.

A value of "1.0" should be ALWAYS-GAIN, and a value of "0.01" is VERY-HARD-GAIN.

There are other ways to do it, and you could probably find some on these forums or searching the old RunUO forums - I know we discussed gains many times over there back in the day, and the SkillCheck script has not changed all that much in many years.
 
In Misc/SkillCheck.cs, find this method around line 149:

Code:
public static bool CheckSkill

In that method, it uses a value called gc, which stands for "gain chance" and is going to be compared to a random double value later in the method. What you will want to do is, somewhere around line 169, before this line:

Code:
if( AllowGain(from, skill, amObj) )

...you will want to change gc to make the chance greater. You can either multiply gc by some number, or simply set it to the chance you want to give the players.

A value of "1.0" should be ALWAYS-GAIN, and a value of "0.01" is VERY-HARD-GAIN.

There are other ways to do it, and you could probably find some on these forums or searching the old RunUO forums - I know we discussed gains many times over there back in the day, and the SkillCheck script has not changed all that much in many years.


i found misc/skillcheck.cs
just found it this scripts

if (from.Skills.Cap == 0)
return false;

bool success = (chance >= Utility.RandomDouble());
double gc = (double)(from.Skills.Cap - from.Skills.Total) / from.Skills.Cap;
gc += (skill.Cap - skill.Base) / skill.Cap;
gc /= 2;

gc += (1.0 - chance) * (success ? 0.5 : (Core.AOS ? 0.0 : 0.2));
gc /= 2;

gc *= skill.Info.GainFactor;

if (gc < 0.01)
gc = 0.01;

if (from is BaseCreature && ((BaseCreature)from).Controlled)
gc *= 2;

if (from.Alive && ((gc >= Utility.RandomDouble() && AllowGain(from, skill, amObj)) || skill.Base < 10.0))
Gain(from, skill);

return success;

so i need edit which part?
 
I was just looking into this on runuo and i found this quote. :)

"Go to Line 127. Line 127 should be this "gc /= 2;" 2 is the skillgain number. 10 would be REALLY slow gain, while .25 would be fast gain. I suggest starting off at .50 and working your way around, use different skills, and see which speed is right for you. NOTICE. you must also edit the "gc /= 2;" Below line 127, there are two, edit them both to the same thing."

Just ignore the line 127 (you've found it), try and change both the "gc /= 2;" like he/she stated.

link: http://www.runuo.com/community/threads/skill-gaining.493624/

I hope this helps. I havent tested this yet, but i will soon, so im interested in this myself. :)
 
i found misc/skillcheck.cs
just found it this scripts

if (from.Skills.Cap == 0)
return false;

bool success = (chance >= Utility.RandomDouble());
double gc = (double)(from.Skills.Cap - from.Skills.Total) / from.Skills.Cap;
gc += (skill.Cap - skill.Base) / skill.Cap;
gc /= 2; <<This one

gc += (1.0 - chance) * (success ? 0.5 : (Core.AOS ? 0.0 : 0.2));
gc /= 2; <<This one

gc *= skill.Info.GainFactor;

if (gc < 0.01)
gc = 0.01;

if (from is BaseCreature && ((BaseCreature)from).Controlled)
gc *= 2;

if (from.Alive && ((gc >= Utility.RandomDouble() && AllowGain(from, skill, amObj)) || skill.Base < 10.0))
Gain(from, skill);

return success;

so i need edit which part?

I put "<<This one" on the ones that link said to edit. :) just double click the quote and it will show the parts im pointing to.
 
so i edit all 2 change 0.25 is faster than now?

well its something that you will have to trial, but it should hopefully do the trick. again i havent tested this myself yet, but i will be doing this later on. :) if its too fast, just increase the number until you find the right level. just as a warning i believe passive skills like meditation and focus, will be increasing very fast.
[doublepost=1462801499][/doublepost]just tested it (0.25) on my server with swordsmanship, every swing is producing 0.1 gain (tried at skill of 60 and 100). I think there is also somewhere you can change how much each gain gives, to make it go even faster. but that seems fast to me.
 
Last edited:
If you're interested i found the line for what you gain on each success.

In SkillCheck.cs, look for line 259 (or around there) for something like this:

if (skill.Base < skill.Cap && skill.Lock == SkillLock.Up)
{
int toGain = 1;


Now you just need to change the "toGain" number to something higher. so if you put 5, each successful skill gain will give you 0.5, making you upgrade faster. If you want it to randomly choose between certain numbers change it to this:

int toGain = Utility.RandomMinMax(3, 6);

That will give you a random number from 3-6. change both numbers to suit your needs. :) just thought i would let you know, just in case. ;)
 
Back