Page 1 of 1
Stats/Skill Cap
Posted: Mon Dec 25, 2006 6:39 am
by lokaum
Hi people
I want to change the skill/stats cap on my server
i dont know the archives that i need change
i want fix the skillcap 165 and statscap 180
anyone can help me?
thanks
Posted: Mon Dec 25, 2006 7:08 am
by CWO
Is this the POL095 Distro? If so, look for pkg/foundations/hooks/attributecore.src
right on top
const CONST_STATCAP := 225;
const CONST_SKILLCAP := 7000;
CONST_SKILLCAP is skillcap*10 so the 7000 there actually means 700.
Posted: Mon Dec 25, 2006 10:25 am
by lokaum
pkg/foundations/hooks/attributecore.src
i dont found this directory on my server...
what i do now? ;/
PS.: Im using UL(by montuZ) server to change this things
Posted: Mon Dec 25, 2006 3:43 pm
by CWO
that instruction was based on the POL095 distro. Other than that I dont know exactly. I can suggest looking for syshook.cfg and looking into it for the CheckSkill hook. Find that script and look inside it to see if or where it enforces a skillcap.
Posted: Mon Dec 25, 2006 4:28 pm
by lokaum
CheckSkill.cfg:
Setting 1
{
AlwaysGainUntil 0.0 // Always award a part of the points when the base skill is lower than this
MinChance 1 // Min % of success.
MaxChance 165 // Max % of success.
}
SysHook.cfg
SystemHookScript shilhook.ecl
{
CheckSkill ShilCheckSkill
}
SystemHookScript shilcombat.ecl
{
CombatAdvancement ShilCombatAdvancement
}
SystemHookScript parry.ecl
{
ParryAdvancement NewParryAdvancement
}
What the problem with these scripts? o.O
i did change the MaxChange to 165 bug the skillcap continue 150

Posted: Mon Dec 25, 2006 5:23 pm
by CWO
Look at the comment, thats max chance of success, not skillcap.
look for the script shilhook.src thats your skillgain script. The constant for skillcap might be in there or in one of the includes for it.
Posted: Tue Dec 26, 2006 5:11 am
by lokaum
shilhook.src
Code: Select all
use uo;
use os;
use cfgfile;
include "include/random";
include "include/attributes";
include "include/classes";
program shilhook()
print( "Using ShilCheckSkill..." );
return 1;
endprogram
exported Function ShilCheckSkill( who, skillid, difficulty, points )
If( who.IsA(POLCLASS_NPC) && skillid != SKILLID_DETECTINGHIDDEN )
return 1;
Elseif( who.cmdlevel )
return 1;
Elseif( difficulty == 0 )
return 1;
Elseif( difficulty < 0 )
return SkillAsPercentSkillCheck( who, skillid, difficulty, points );
Else
return DifficultySkillCheck( who, skillid, difficulty, points );
Endif
Endfunction
function DifficultySkillCheck( who, skillid, difficulty, points )
var skill := GetEffectiveSkill( who, skillid );
if( skill == 0 )
if( who.IsA(POLCLASS_NPC) )
return 0;
endif
endif
var chance := CInt( skill - difficulty + 20 );
if( chance < 0 )
return 0;
elseif( chance == 0 )
chance := 2;
else
chance := CInt( chance * 2.5 );
if( chance > 120 )
chance := 120;
endif
endif
var check := RandomInt(100);
if( check >= chance )
if( IsSpecialisedIn( who, skillid ) )
check := RandomInt(100);
if( check >= chance )
return 0;
else
points := 0;
endif
else
return 0;
endif
endif
if( !who.isA(POLCLASS_NPC) )
points := CInt( points * CDbl(1.0 - (CDbl(chance) / 100.0)) );
if( points > 0 )
AwardPoints( who, skillid, points );
endif
endif
return 1;
endfunction
function SkillAsPercentSkillCheck( who, skillid, difficulty, points )
var skill := GetEffectiveSkill( who, skillid );
if( skill == 0 )
if( who.IsA(POLCLASS_NPC) )
return 0;
endif
endif
var chance := skill + CInt((difficulty+1) * 15);
if( chance < 2 )
chance := 2;
elseif( chance > 98 )
chance := 98;
endif
var check := RandomInt(100);
if( check >= chance )
if( IsSpecialisedIn( who, skillid ) )
check := RandomInt(100);
if( check >= chance )
if( chance < 10 )
AwardPoints( who, skillid, CInt(points/2) );
endif
return 0;
else
points := 0;
endif
else
if( chance < 10 )
AwardPoints( who, skillid, CInt(points/2) );
endif
return 0;
endif
endif
if( !who.isA(POLCLASS_NPC) )
if( points > 0 )
AwardPoints( who, skillid, points );
endif
endif
return 1;
endfunction
function GetSuccessLevel( who, skillid, success_level )
success_level := CInt( success_level + IsSpecialisedIn( who, skillid ) );
if( success_level <= 0 )
success_level := 1; // it must be a success (just in case)
endif
return success_level;
endfunction
sorry but i dont know what i need change to keep 165skillcap and 180statscap...
i look for scripts\include\attributes.inc
and i dont found the location that i need change ;/
if you want that i post the attributes.inc here.. talk me..
Posted: Tue Dec 26, 2006 5:23 am
by lokaum
ill test change uo.em
Posted: Tue Dec 26, 2006 5:37 am
by lokaum
FIXED
THANKS ALOT!!
Posted: Tue Dec 26, 2006 5:39 am
by CWO
This looks like a modified 095 distro...
Just wondering... do you mean 165/180 in 1 skill/stat? Or the overall total of skills and stats?
Posted: Tue Dec 26, 2006 7:37 am
by lokaum
only set all stats/skill caps 180..
but now it are fixed..