Author Topic: Teaching Ability  (Read 499 times)

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Teaching Ability
« on: June 20, 2012, 01:10:40 am »


               In Arnheim, I give all players the ability to teach each other. So far the things that can be taught only include Languages and class Prerequisites. Future additions will include: Alternate Combat animations (currently in game), special lore (not yet in game), quests, boat destinations (system currently in development), etc...

This is a feat which targets creatures, and opens a dialog for the teacher, and then later for the student who can accept or decline the lesson. I am using Z-dialog, so the entire conversation is recorded in a script. aa_dlg_teach.

I'd love to hear some criticism of this system, recommendations for improvement, ideas about things that can be taught etc...

Some background:
in Arnheim, each class including the Basic classes Barbarian through Wizard, requires a knowledge prerequisite to take the class. Each character gains some knowledge prerequisites based on background which is determined at level one by race, class, feats, and skills (and sometimes religion) chosen during character creation. Starting languages are also determined by background, and the maximum number of languages that can be learned is based on number of ranks in the Skill: Languages which is an intelligence based skill which only accepts the base intelligence bonus (items and spells do not change this for you).

How it Works:
In order to gain more multiclassing options or languages, PCs may teach one another the prerequisites for classes that they have, and likewise NPCs can do the same should a DM wish to award the PC with some lessons. So this involves using the Teach Feat, clicking on another PC, and deciding what you will teach them. Thus the lessons begin. Only one new thing can be learned in each category (class, language).

Completion of the lessons happens after 30 game days (and another use of the teach ability by an appropriate mentor), or at the first level up after lessons have started, whichever comes first. In the later case, the class prerequisites are not usable for that first level-up. They are active for the next level-up.
               
               

               


                     Modifié par henesua, 20 juin 2012 - 12:11 .
                     
                  


            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Teaching Ability
« Reply #1 on: June 20, 2012, 09:02:29 pm »


                The system works. I tested it by logging in with two player clients on a server.

I found an odd bug, and I don't know if I have solved it yet. In the Teacher's dialog I call a StartDlg function (a z-dialog function) to open a dialog for the Student PC. The Teacher's dialog sets up the lesson. The Student dialog allows the student to accept or decline the lesson. Here's the code:

// Start Student conversation
int nGreet      = FALSE;
int nPrivate    = FALSE;
int nZoom       = FALSE;
AssignCommand(oStudent, StartDlg( oStudent, oStudent, "aa_dlg_teach", nPrivate, nGreet, nZoom) );

I figured that if I assigned that function to the Student, that it would open a separate conversation only for the student. Oddly both the student and the teacher say the first line of that new conversation, although that is all that happens for the teacher. The rest only continues with the student.

So I'm not sure what is going on. Perhaps I need to create a separate script that calls the StartDlg function and ExecuteScript("mynewscript", oStudent);

My first try will be to make both conversations private and see what happens.
               
               

               
            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
Teaching Ability
« Reply #2 on: June 23, 2012, 03:21:06 am »


               Sorry,  I do not know enough about zzDialog to be of much help on the last point.   I however do not see much suport for conversations between two PC within nwn via the standard conversations.     The biggest problem I see you running into is the fact that the object the conversation is running on is going to be the default speaker that the PC is conversing with.    and I see no suport for dymanicly changing the tag for the Speaker of a conversation node. Even if there was the other PC has no tag in NWN.     You may be better off going with a Chat based system.  

---

I do have a few thought on languages though.   Setting the number of languges a PC can learn by there intelegence has never made any since to me.  To me the intelegence of the PC should only effect the type of language they can learn and how well they can speak, read, write  and understand it.  

Take your lower intelegences.  They can bearly speak there own language and be lucky if they could write it or even understand someone giving a lecture on the chatoic paterns of gas systems to explain weather.   

Witha little more intelegence and the PC becomes fluent in there own language and able to pick up languages that are similar to there own.   The number they can learn is not limited it is just how close grammatically and culturally it is  to there own.    For a english speaking person it is not that hard to pick up spanish even though the things are often backwards to what they are use to.   However  trying to pick us a language like Greek or japanese  would be a lot harder for them, but could be possibly simpler for a Azetec or an egyption to pick up.  

I would really like to see a system where intelegence did not restrict the number of languages that could be learned but rather limited how culturally and  grammatically divergent tha language could be.  

I would even concider giving bonuses to lore based on how many languages they know and how divergent they are. 

Just my two copper.   
               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Teaching Ability
« Reply #3 on: June 23, 2012, 08:28:27 am »


               regarding conversations: I am calling separate conversations. And each conversation is with one PC and themself. The first conversation allows the first PC to configure the decision that the second PC makes in their conversation. So I don't think the problem is as you described. I think its a zz-dialog problem. Anyway.. i'll figure it out.

Your points on language are well taken, but the way I have it configured makes it very easy for players to understand and work with. While I could introduce the nuance you describe, it would likely confuse PCs who are accustomed to the method I am using. As it is I already had to explain at length how it works.
               
               

               


                     Modifié par henesua, 23 juin 2012 - 07:28 .