Yep. You're right CWO. Sorry Pumpkins. Maybe this will make up for my mistake. Did you replace the CheckSkillCap function in AttributeCore.src with the following one?
Code:
function CheckSkillCap(who, ev)
var attributeid := ev.skid;
var priorValue;
var theId;
var lowerholder;
var lockArray := GetObjProperty(who, "SkLockArray");
priorValue := GetAttributeBaseValue(who, attributeid);
if(priorValue < 1000)
if (ev.base > priorValue) // Adding Skill, check for lock set to up
if ((!lockArray) ||
(lockArray[GetSkillIdByAttributeId(attributeid) + 1] == 0))
SetAttributeBaseValue(who, attributeid, Cint(ev.base));
endif
elseif (ev.base < priorValue) // Lowering Skill, check for lock set to down
if ((lockArray != error) &&
(lockArray[GetSkillIdByAttributeId(attributeid) + 1] == 1))
SetAttributeBaseValue(who, attributeid, Cint(ev.base));
endif
endif
endif
if(GetAttributeBaseValue(who, attributeid) > 1000)
priorValue := 1000;
SetAttributeBaseValue(who, attributeid, 1000);
endif
var skillarray := GetObjProperty(who,"SkillArray");
var skilltotal := 0;
var skillval := 0;
var check := 0;
var loops := 0;
var holder, newval, final;
var base, mods, true;
while(check == 0)
if(loops >= 6)
if (priorValue < GetAttributeBaseValue(who, attributeid))
SetAttributeBaseValue(who, attributeid, priorValue);
endif
break;
endif
skilltotal := 0;
lowerholder := -1;
for (theId := 0; theID < SKILLID__HIGHEST; theID := theID + 1)
true := GetBaseSkillBaseValue(who, theID);
base := Cint(true - GetAttributeIntrinsicMod(who, GetAttributeIdBySkillId(theId)));
skilltotal := skilltotal + base;
if ( (base > 0) &&
(lockarray != error) &&
(lockarray[theId + 1] == 1) )
lowerholder := theId;
elseif (base > 0)
holder := theId;
endif
if ((lowerholder >= 0) && (skilltotal > CONST_SKILLCAP))
break;
endif
endfor
if (lowerholder >=0)
holder := lowerholder;
endif
if(skilltotal > CONST_SKILLCAP)
newval := GetBaseSkillBaseValue(who, holder);
final := (newval - 1);
SetBaseSkillBaseValue(who, holder, final);
else
check := 1;
endif
loops := loops + 1;
endwhile
return 1;
endfunction
If not then open AttributeCore.src found in \pkg\foundations\hooks and replace the CheckSkillCap function in there with the one above. I believe it is what you need to make the skill locks work. Be sure to make a backup of the AttributeCore.src file just in case this causes undesireable results. I can't help with support for this. It is provided as is. I dug it out of my "script mines" but I think it is what you need.