Author Topic: Easy to script class restrictions?  (Read 2100 times)

Legacy_SuperFly_2000

  • Hero Member
  • *****
  • Posts: 1292
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #30 on: September 30, 2011, 08:47:58 am »


               Thanks lightfoot but it is getting too advanced now.

I was hoping for something only scripting and only setting variables....no 2da's.

If it gets more crude then doesn't matter so much for me.

I don't have to make the checks all along the way and also I could go down to 1/4 of the levels needed.
               
               

               
            

Legacy_SuperFly_2000

  • Hero Member
  • *****
  • Posts: 1292
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #31 on: September 30, 2011, 08:57:02 am »


               But as I've seen this grow more and more complicated I'm just thinking to maybe restrict the player to only have two classes maximum.

That is at least easily scripted right? ...and doesn't have too many unwanted effects...(?).

Also I know Bioware has some XP penalties for multiclassing...can theese be made larger? ..or how big are they to start with?
               
               

               
            

Legacy_SuperFly_2000

  • Hero Member
  • *****
  • Posts: 1292
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #32 on: September 30, 2011, 02:00:30 pm »


               Another way that I just came to think of...would be to remove PC's that take prestige classes from the minimum level for lesser class needed (but not from the max 2 classes limit)....if possible to script again. That would solve everything I think.

(I was thinking to NOT have RDD, WM, SD, AA and shifter.)
               
               

               


                     Modifié par SuperFly_2000, 30 septembre 2011 - 01:04 .
                     
                  


            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #33 on: September 30, 2011, 04:45:14 pm »


               <nodding his head...>

ShaDoOoW wrote...
The best would be to not tell player why is he deleveled or tell him always only one reason, so if he try to become Harper Scout first delevel will teach him he need:
- allertness, now redo levelling process
- "you need iron will feat", again
- "you need also improved parry, just our custom change", again
- "you need at least 4skill ranks in discipline", again
- "you need at least 6skill ranks in lore", again
- "yea 8 persuade dude!", again
- "forgot about search? 4ranks idiot", again
- "what the hell you think you can become harper without being in harper guild?", again

Wow that would be epic fun! I can imagine how im redoing whole levelling up process and distributing all saved skillpoints all over again. (Would be a good idea to delevel anyone who will try to save up skillpoints anyway)
':devil:'

In the OP idea, one could be actually deleveled when changing all his sorcerrer/bard spell selection too, very funny.

 
Ahhh... sarcasm. But you do have a few good ideas hiding in there :-)

First and foremost, feedback on why you can't choose a class. It annoys me to have to dig through a class description and then compare it to my character (because I run a whole stable of them) to figure out what feat/skill I'm lacking. Generally, I have the data somewhere in this cavernous skull, but that's not the same thing as it occupying my forebrain :-P

In the default levelup process, there is no feedback. It would have to be scripted into an alternative levelup process.

On saved skillpoints... I prefer soft limits over forcing anything. I would prefer that you make the skill points as advantageous at low levels as saving them up is to high levels. That way the player makes his own trade-off choice.

I think (from this and other posts) that you prefer *no* restrictions...
I once ran a challenge campaign with 8 men for 6 months (we were floating in the Indian ocean, so I had a captive audience =). They could create 2 characters of any race/class/level they wished as long as the group as a whole made sense. They chose high-level drow. So I, um *neutralized* Lolth :-) I promised a 50% mortality rate restoring Her. I delivered. 
No restrictions can be interesting, even fun. But then, so is madness ;-)

I prefer context and framework, story and relationship.  By the end of that campaign, so did 8 battle-hardened sailors :-)

Oops. Rambling. Sorry. Old wizards are not known to be terse :-P

<...as he tries to keep his eyes open>
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #34 on: September 30, 2011, 05:28:17 pm »


               Yea, Im not very good in explaining what I have on my mind. I think that this sarcastic post described it better than thousands words.

Though the feedback thing is really a positive (if it would tell you everything you are missing) redoing the whole levelling up process which can take a while if you are not planning the character beforehand is a significant disadvantage.
               
               

               
            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #35 on: September 30, 2011, 05:39:51 pm »


               

ShaDoOoW wrote...

WhiZard wrote...

However 2das also have limitations.  If
you require certain feats for taking a prestige class then a character
with those feats on equipped items will be able to level up in the
prestige class (even though they naturally do not qualify).  Even the
race requirement for prestige class can be bypassed when leveling up
polymorphed into that race.

I thought it works only on skin (which is why it works in polymorph) - are you sure it works with a bonus feats on any other item?


Nope, works for any equipped item, and ELC seems to check after the equipped items are registered in their places.  This means characters can hook dodge, mobility, whirlwind attack, and just need expertise and weapon focus naturally for WM (spring attack is actually not required).
               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #36 on: September 30, 2011, 05:40:16 pm »


               <smiling...>

ShaDoOoW wrote...
Yea, Im not very good in explaining what I have on my mind. I think that this sarcastic post described it better than thousands words.

Sarcasm is a form of humor, and humor is a sure indication of intelligence. Being able to marshal your thoughts in such a short post proves this.

Don't agree that deleveling is lame, but I agree with the annoyance factor of re-levelling vs. preventing erroneous levels in the first place. :-)

Though the feedback thing is really a positive (if it would tell you everything you are missing) redoing the whole levelling up process which can take a while if you are not planning the character beforehand is a significant disadvantage.

Yup. Completely agree.  
Though... there have been times I wished I could hit the "reset" button and re-define a character who wasn't *quite* what I had been hoping for.
Skeaver Demonsbane started that way. Pretty much brainless tank with a berzerker tendency around demons... but I stuck with him and now he's one of my more fun (if terribly shallow) avatars. He solved the problem of traps by simply surviving whatever happens... Like Clint in "Any Which Way..." he rather likes pain :-) The boy is cray-cray.

<...ruefully>
               
               

               


                     Modifié par Rolo Kipp, 30 septembre 2011 - 04:47 .
                     
                  


            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #37 on: October 01, 2011, 06:57:32 pm »


               

Lightfoot8 wrote...

@Funky   the script you posted does not really compair to what is being talked about.  

You're right, it doens't 'compair' to what's being talked about, it IS what's being talked about.

Your posted code delevels due to them taking a Skill that they are not allowed to take.  That is an entirely diffearant matter then taking the wrong class. 

No, it isn't a entirely different matter. It's a nearly identical matter, which is precisely why deleveling works to address it.

Bioware already has things in place to prevent PC's from taking a  calss, If you do not mind using modified 2da's.   They  do not have anything that I know of to act the same way with preventing skills via scripting.  

That is certainly true. I'm well aware of this, as you might've guessed from reading my post, since I remarked that the delevel method 'saves you using 2das'. I was not, as you seem to think, discussing only illegal-skill deleveling, but all deleveling - I simply offered it as an example of code, to make a point to Shad, as you will also see if you go back and read my posts.

The matter to me simply comes down to if using modified 2da is worth the benifit of a more streem line system  to the OP.  You have already answered that as No it is not worth it to you in past posts.  It may hoever be worth it to the OP.

No, I did NOT answer 'no' to that - I expressly said the exact same thing you are saying:

It's not a question of lacking knowledge or skill, but of weighing different alternatives.


Shad was the one disparaging one method without considering another, not me. If you're going to criticize someone's post, it would behoove you to READ it first.

Funky
               
               

               
            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #38 on: October 01, 2011, 07:00:26 pm »


               

ShaDoOoW wrote...

BTW just got and interesting idea that maybe some of the "hard way" camp will like.

One could remove all class prerequisities from 2das in order to allow player to take any class without them and script those prerequisities in OnLevelUp script and delevel anyone who doesnt fullfills them.
 
Best would be to add yur own custom prerequisities into every class like certain quest, gold ammount, guild membership etc. or really knowing the 3rd spell level for become PM etc. Of course these special prerequisities wont be written in class description via TLK, rather hidden somewhere in your forum which adress you have written in server description only.

The best would be to not tell player why is he deleveled or tell him always only one reason, so if he try to become Harper Scout first delevel will teach him he need:
- allertness, now redo levelling process
- "you need iron will feat", again
- "you need also improved parry, just our custom change", again
- "you need at least 4skill ranks in discipline", again
- "you need at least 6skill ranks in lore", again
- "yea 8 persuade dude!", again
- "forgot about search? 4ranks idiot", again
- "what the hell you think you can become harper without being in harper guild?", again

Wow that would be epic fun! I can imagine how im redoing whole levelling up process and distributing all saved skillpoints all over again. (Would be a good idea to delevel anyone who will try to save up skillpoints anyway)
':devil:'

In the OP idea, one could be actually deleveled when changing all his sorcerrer/bard spell selection too, very funny.

That sarcasm would've been much more effective if what you proposed didn't ALSO require custom 2das. Brilliant! ':lol:'

Funky
               
               

               


                     Modifié par FunkySwerve, 01 octobre 2011 - 06:00 .
                     
                  


            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #39 on: October 01, 2011, 07:11:37 pm »


               

SuperFly_2000 wrote...

But as I've seen this grow more and more complicated I'm just thinking to maybe restrict the player to only have two classes maximum.

That is at least easily scripted right? ...and doesn't have too many unwanted effects...(?).

Also I know Bioware has some XP penalties for multiclassing...can theese be made larger? ..or how big are they to start with?

This isn't complicated at all, really, I promise. Some people in this thread seem intent on painting it that way for whatever reason, but it can be as simple as this:


void main() {
    object oPC = GetPCLevellingUp();
    int nclass1 = GetLevelByPosition(1, oPC);
    int nclass2 = GetLevelByPosition(2, oPC);
    int nclass3 = GetLevelByPosition(3, oPC);
    int nDiff12 = abs(nclass1-nclass2);
    int nDiff13 = abs(nclass1-nclass3);
    int nDiff23 = abs(nclass2-nclass3);
    if (nDiff12 > 4 || nDiff13 > 4 || nDiff23 > 4) {
        FloatingTextStringOnCreature("You must keep all your classes within 4 levels of each other!", oPC, FALSE);
        DelevelPC(oPC);//using the previously posted function
    }
}

You'll have to be more specific about what you want (the above is just an example), but it takes hardly any code at all. Note that the above would block them taking ANY 2nd or 3rd class once they hit level 5 in a single class, so you might want to make provision to allow them to level up such classes even if it'd break the 'within 4' restriction, though that'd get a little more involved - just depends on what you want.

Funky
               
               

               
            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #40 on: October 01, 2011, 07:18:46 pm »


               

ShaDoOoW wrote...
ok maybe its really bull**** and

Bingo!

  Thats for me as a player is a better option then being learned "the hard way". When building Im trying to be as much user friendly as possible and I always trying to make things the way the player could say "wow this is nicely done!".

I agree that way has more polish, which is why we don't use many delevels, though it's not much of an issue from a practical standpoint - such delevels are typically rare and one-time occurances, and the inconvenience to the player is minimal.  None of that justifies pushing an entire unrelated plugin on someone just looking for a simple script - someone you've now managed to leave with the impression that this very simple thing is incredibly complicated.

Funky
               
               

               


                     Modifié par FunkySwerve, 01 octobre 2011 - 08:01 .
                     
                  


            

Legacy_KMdS

  • Newbie
  • *
  • Posts: 49
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #41 on: October 01, 2011, 11:56:30 pm »


               Quick question as to why the need to limit or restrict the various levels/classes a player has. Is the actual need due to some undesired benefit players exploit. I have over the years developed many ways to restrict many of the exploits players abuse, though I have never released any to the community. At this time I am willing to begin releasing a few.
               
               

               


                     Modifié par KMdS, 01 octobre 2011 - 10:57 .
                     
                  


            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #42 on: October 02, 2011, 12:12:09 am »


               

KMdS wrote...

Quick question as to why the need to limit or restrict the various levels/classes a player has. Is the actual need due to some undesired benefit players exploit. I have over the years developed many ways to restrict many of the exploits players abuse, though I have never released any to the community. At this time I am willing to begin releasing a few.

What someone consider an exploit someone else can see as an feature. These techniques definitely doesnt fall into exploit definition.
               
               

               
            

Legacy_KMdS

  • Newbie
  • *
  • Posts: 49
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #43 on: October 02, 2011, 12:39:07 am »


               Actually,my queastion is directed to superfly as he is making the original comment/request. I take no position on anything else posted here. It just wanted to ask if there was some deeper reason for his question.  The better the information on the request the better the possibility of a relevant answer.
               
               

               


                     Modifié par KMdS, 01 octobre 2011 - 11:40 .
                     
                  


            

Legacy_Failed.Bard

  • Hero Member
  • *****
  • Posts: 1409
  • Karma: +0/-0
Easy to script class restrictions?
« Reply #44 on: October 02, 2011, 09:24:58 am »


               

FunkySwerve wrote...

This isn't complicated at all, really, I promise. Some people in this thread seem intent on painting it that way for whatever reason, but it can be as simple as this:


void main() {
    object oPC = GetPCLevellingUp();
    int nclass1 = GetLevelByPosition(1, oPC);
    int nclass2 = GetLevelByPosition(2, oPC);
    int nclass3 = GetLevelByPosition(3, oPC);
    int nDiff12 = abs(nclass1-nclass2);
    int nDiff13 = abs(nclass1-nclass3);
    int nDiff23 = abs(nclass2-nclass3);
    if (nDiff12 > 4 || nDiff13 > 4 || nDiff23 > 4) {
        FloatingTextStringOnCreature("You must keep all your classes within 4 levels of each other!", oPC, FALSE);
        DelevelPC(oPC);//using the previously posted function
    }
}
Funky


  I would add a check to that to make sure they have levels in the second and third class positions before comparing those levels, but aside from that what Funky posted is similar to the comparisons I do in my mod (Aside from mine being > 7).