Author Topic: stop multi-classing  (Read 315 times)

Legacy_Surek

  • Full Member
  • ***
  • Posts: 169
  • Karma: +0/-0
stop multi-classing
« on: July 06, 2014, 07:13:59 pm »


               

Is there any way stop someone from multi-classing? Sorry if this has been asked before. I did not see much about this here on the forum. or maybe I missed it.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
stop multi-classing
« Reply #1 on: July 06, 2014, 07:31:34 pm »


               

You need to make a cls_pres_ 2da files for each base class and then use a variable to block the class from being available.


 


Certain unofficial patch already offer this feature, check here.



               
               

               
            

Legacy_Surek

  • Full Member
  • ***
  • Posts: 169
  • Karma: +0/-0
stop multi-classing
« Reply #2 on: July 06, 2014, 09:30:28 pm »


               

Is there any way to do this through scripting?  I really don't want to use the patch and I'm not really sure what I'm doing when it comes to 2das



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
stop multi-classing
« Reply #3 on: July 06, 2014, 09:38:42 pm »


               

this needs both 2da and scripting, no other way around than delevel player which is lame - but suit yourself



               
               

               
            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
stop multi-classing
« Reply #4 on: July 06, 2014, 10:25:47 pm »


               

The prestige classes only can be blocked by scripting alone, though this involves setting variables whenever the PC enters the module.  For example SetLocalInt(X1_AllowArcher, TRUE); blocks the Arcane Archer class.  This is of course backwards of the intended procedure where the 2das are assumed to be changed to requiring TRUE to allow, so that by default the class is not allowed.



               
               

               
            

Legacy_GhostOfGod

  • Hero Member
  • *****
  • Posts: 1490
  • Karma: +0/-0
stop multi-classing
« Reply #5 on: July 06, 2014, 11:26:33 pm »


               

Scripting only method. You could just put something like this in your mods "OnPlayerLevelUp" event:


 


 


void main()

{

    object oPC = GetPCLevellingUp();

    int iXP = GetXP(oPC);


    if (GetLevelByPosition(2, oPC) || GetLevelByPosition(3, oPC))

    {

        SendMessageToPC(oPC, "Multi-classing is not allowed. Please re-level with your original class.");

        int iLevel = GetHitDice(oPC);

        int iDelevelXP = (iLevel-1) * (iLevel - 2) * 500;

        SetXP(oPC, iDelevelXP);

        DelayCommand(1.0, SetXP(oPC, iXP));

    }

}