Difference between revisions of "GetPCSpeaker"

From NWN Lexicon
Jump to: navigation, search
(Created page with " =GetPCSpeaker()= Retrieves the PC that is currently in a conversation with an NPC. object  GetPCSpeaker(); ====Description==== Returns the P...")
 
Line 7: Line 7:
 
Retrieves the PC that is currently in a conversation with an NPC.
 
Retrieves the PC that is currently in a conversation with an NPC.
  
 +
<nwscript>
 
  [[object | object ]] GetPCSpeaker();
 
  [[object | object ]] GetPCSpeaker();
 +
</nwscript>
  
 
====Description====
 
====Description====
Line 27: Line 29:
 
====Example====
 
====Example====
  
<font color="#007f00">// An "Actions Taken" script to set a quest variable on the PC
+
<nwscript>
  </font><font color="#007f00">// in an NPC conversation
+
// An "Actions Taken" script to set a quest variable on the PC
  </font><font color="#0000ff">void</font> main() {
+
  // in an NPC conversation
   <font color="#0000ff">object</font> oPC = GetPCSpeaker();
+
  void main() {
   SetLocalInt( oPC, <font color="#00007f">"golden_duck"</font>, <font color="#7f007f">100</font>);
+
   object oPC = GetPCSpeaker();
 +
   SetLocalInt( oPC, "golden_duck", 100);
 
  }
 
  }
  <font color="#007f00">// --- end of the 'Actions Taken' example.
+
  // --- end of the 'Actions Taken' example.
  </font>
+
   
  <font color="#007f00">// a StartingConditional for the "Text Appears When"
+
  // a StartingConditional for the "Text Appears When"
  </font><font color="#007f00">// script of an NPC conversation. The conversation node
+
  // script of an NPC conversation. The conversation node
  </font><font color="#007f00">// this script is attached to will only appear when the PC
+
  // this script is attached to will only appear when the PC
  </font><font color="#007f00">// variable "golden_duck" has set to 100.
+
  // variable "golden_duck" has set to 100.
  </font><font color="#0000ff">int</font> StartingConditional() {
+
  int StartingConditional() {
   <font color="#0000ff">object</font> oPC = GetPCSpeaker();
+
   object oPC = GetPCSpeaker();
   <font color="#0000ff">int</font> nDuckState = GetLocalInt( oPC, <font color="#00007f">"golden_duck"</font>);
+
   int nDuckState = GetLocalInt( oPC, "golden_duck");
   <font color="#0000ff">if</font> (<font color="#7f007f">100</font> == nDuckState) <font color="#0000ff">return</font> <font color="#0000ff">TRUE</font>;
+
   if (100 == nDuckState) return TRUE;
   <font color="#0000ff">return</font> <font color="#0000ff">FALSE</font>;
+
   return FALSE;
 
  }
 
  }
 +
</nwscript>
  
 
====See Also====
 
====See Also====

Revision as of 21:44, 25 August 2012



GetPCSpeaker()

Retrieves the PC that is currently in a conversation with an NPC.

Description

Returns the PC that is speaking in the current conversation.

It will return OBJECT_INVALID if there is no PC speaker, for example, with SpeakOneLinerConversation().



Remarks

This function can only be used in scripts that are called as part of a conversation, and always returns the PC talking.

Of course, if it is an NPC speaking to another NPC, it will return the NPC who is the one who takes the conversation choices (NPC's always take the first one after a short delay).


Version

1.28

Example

 // An "Actions Taken" script to set a quest variable on the PC
 // in an NPC conversation
 void main() {
   object oPC = GetPCSpeaker();
   SetLocalInt( oPC, "golden_duck", 100);
 }
 // --- end of the 'Actions Taken' example.
 
 // a StartingConditional for the "Text Appears When"
 // script of an NPC conversation. The conversation node
 // this script is attached to will only appear when the PC
 // variable "golden_duck" has set to 100.
 int StartingConditional() {
   object oPC = GetPCSpeaker();
   int nDuckState = GetLocalInt( oPC, "golden_duck");
   if (100 == nDuckState) return TRUE;
   return FALSE;
 }

See Also

functions: 

GetLastSpeaker

events: 

OnConversation Event



 author: Iskander Merriman, editor: Jasperre, additional contributor(s): Charles Feduke