When you see a script refer to _Player, it's referring to a variable for an object that is named player.
Let me show you a script I wrote to help explain:
INIT:
DB_Cultists(CHARACTER_Cultist1);
DB_Cultists(CHARACTER_Cultist2);
DB_Cultists(CHARACTER_Cultist3);
DB_Cultists(CHARACTER_Cultist4);
DB_Cultists(CHARACTER_Cultist5);
DB_Cultists(CHARACTER_Cultist6);
DB_Cultists(CHARACTER_Cultist7);
//This adds all existing CHARACTER_Cultists to a Database called DB_Cultist.
KB:
IF
DialogStartRequested(_Cultist, _Player) //Uses the _Cultist definition below, and defines any character starting Dialog as _Player/
AND
DB_Cultists(_Cultist) //This defines the character object _Cultist and tells it it can be anything inside the Database
THEN
CharacterDisplayText(_Cultist,"Cultist1"); //Displays text over the newly defined character _Cultist's head
Sorry for the confusing spacing, but as you see: _Player and _Cultist do not exist in the script until they are defined.
Once _Player is defined in this particular IF THEN statement, _Player can be referenced over and over. Same with _Cultist.
In any other IF THEN statement, those objects must be redefined all over again - they do not exist.
Edit:
I see a lot of people use Databases very wrongly. They don't need to be used in every script like the Larian folks do in the tutorials. Is it good practice for making changes later? Maybe. But do you need to add DB_Dialog to every script you write? Nope.
Last edited by Burgee; 02/01/15 10:20 PM.