As _Knightmare_ said, scripts don't degrade or anything. From what I can see the problem might be really simple, as I'm guessing that's your "onEnter" script: you never actually call "DisableAllPrestigeclasses()". This should work, I'm guessing:
void DisableAllPrestigeclasses(object oPC, int bExistingToo=FALSE){
if(bExistingToo || GetLevelByclass(class_TYPE_SHADOWDANCER,oPC) < 1)
SetLocalInt(oPC,"X1_AllowShadow",1);
if(bExistingToo || GetLevelByclass(class_TYPE_HARPER,oPC) < 1)
SetLocalInt(oPC,"X1_AllowHarper",1);
if(bExistingToo || GetLevelByclass(class_TYPE_ARCANE_ARCHER,oPC) < 1)
SetLocalInt(oPC,"X1_AllowArcher",1);
if(bExistingToo || GetLevelByclass(class_TYPE_ASSASSIN,oPC) < 1)
SetLocalInt(oPC,"X1_AllowAsasin",1);
if(bExistingToo || GetLevelByclass(class_TYPE_BLACKGUARD,oPC) < 1)
SetLocalInt(oPC,"X1_AllowBlkGrd",1);
if(bExistingToo || GetLevelByclass(class_TYPE_DIVINE_CHAMPION,oPC) < 1)
SetLocalInt(oPC,"X2_AllowDivcha",1);
if(bExistingToo || GetLevelByclass(class_TYPE_WEAPON_MASTER,oPC) < 1)
SetLocalInt(oPC,"X2_AllowWM",1);
if(bExistingToo || GetLevelByclass(class_TYPE_PALE_MASTER,oPC) < 1)
SetLocalInt(oPC,"X2_AllowPalema",1);
if(bExistingToo || GetLevelByclass(class_TYPE_SHIFTER,oPC) < 1)
SetLocalInt(oPC,"X2_AllowShiftr",1);
if(bExistingToo || GetLevelByclass(class_TYPE_DWARVEN_DEFENDER,oPC) < 1)
SetLocalInt(oPC,"X1_AllowDwDef",1);
if(bExistingToo || GetLevelByclass(class_TYPE_DRAGON_DISCIPLE,oPC) < 1)
SetLocalInt(oPC,"X1_AllowDrDis",1);
if(bExistingToo || GetLevelByclass(class_TYPE_PURPLE_DRAGON_KNIGHT,oPC) < 1)
SetLocalInt(oPC,"DLA_AllowPDK",1);
}
void main()
{
object oPC = GetEnteringObject();
RestorePersistentJournal(oPC);
DisableAllPrestigeclasses(oPC);
ExecuteScript ("cnr_module_oce", oPC);
}
Modifié par NorthWolf, 04 décembre 2010 - 05:54 .