1. Script Name: Who All
2. What it does: Script that gives a list of all players in the module,
with their levels and locations.
3. Notes: Instructions for implementation are included as comments in
the first script. In addition, you can dl a module that demonstrates the
script
http://home.austin.rr.com/maffei/NWN/WhoStone.zip
4. The Script itself
NWScript:
void main()
{
object oPC = OBJECT_SELF;
object oSearchPC;
object oArea;
string sArea;
string sMessage;
string sName;
string sAreaTag;
string sLevel;
SendMessageToPC(oPC, "---------------------------------------");
SendMessageToPC(oPC, "Players in Who Stone Example");
SendMessageToPC(oPC, "---------------------------------------");
oSearchPC = GetFirstPC();
while (oSearchPC != OBJECT_INVALID)
{
oArea = GetArea(oSearchPC);
sAreaTag = GetTag(oArea);
sName = GetName(oSearchPC);
sArea = GetName(oArea);
int nDruid = GetLevelByClass(CLASS_TYPE_DRUID, oSearchPC);
int nMonk = GetLevelByClass(CLASS_TYPE_MONK, oSearchPC);
int nRogue = GetLevelByClass(CLASS_TYPE_ROGUE, oSearchPC);
int nWizard = GetLevelByClass(CLASS_TYPE_WIZARD, oSearchPC);
int nSorcerer = GetLevelByClass(CLASS_TYPE_SORCERER, oSearchPC);
int nFighter = GetLevelByClass(CLASS_TYPE_FIGHTER, oSearchPC);
int nBarbarian = GetLevelByClass(CLASS_TYPE_BARBARIAN, oSearchPC);
int nBard = GetLevelByClass(CLASS_TYPE_BARD, oSearchPC);
int nCleric = GetLevelByClass(CLASS_TYPE_CLERIC, oSearchPC);
int nPaladin = GetLevelByClass(CLASS_TYPE_PALADIN, oSearchPC);
int nRanger = GetLevelByClass(CLASS_TYPE_RANGER, oSearchPC);
string sDruidLevel = IntToString(nDruid);
string sMonkLevel = IntToString(nMonk);
string sRogueLevel = IntToString(nRogue);
string sWizardLevel = IntToString(nWizard);
string sSorcererLevel = IntToString(nSorcerer);
string sFighterLevel = IntToString(nFighter);
string sBarbarianLevel = IntToString(nBarbarian);
string sBardLevel = IntToString(nBard);
string sClericLevel = IntToString(nCleric);
string sPaladinLevel = IntToString(nPaladin);
string sRangerLevel = IntToString(nRanger);
if(nDruid) sLevel = sLevel + "Druid:" + sDruidLevel + " ";
if(nMonk) sLevel = sLevel + "Monk:" + sMonkLevel + " ";
if(nRogue) sLevel = sLevel + "Rogue:" + sRogueLevel + " ";
if(nWizard) sLevel = sLevel + "Wizard:" + sWizardLevel + " ";
if(nSorcerer) sLevel = sLevel + "Sorcerer:" + sSorcererLevel + " ";
if(nFighter) sLevel = sLevel + "Fighter:" + sFighterLevel + " ";
if(nBarbarian) sLevel = sLevel + "Barbarian:" + sBarbarianLevel + " ";
if(nBard) sLevel = sLevel + "Bard:" + sBardLevel + " ";
if(nCleric) sLevel = sLevel + "Cleric:" + sClericLevel + " ";
if(nPaladin) sLevel = sLevel + "Paladin:" + sPaladinLevel + " ";
if(nRanger) sLevel = sLevel + "Ranger:" + sRangerLevel + " ";
SendMessageToPC(oPC, sName + " - " + sLevel + "- " + sAreaTag);
sLevel = "";
oSearchPC = GetNextPC();
}
SendMessageToPC(oPC, "---------------------------------------");
}
NWScript:
void main()
{
object oItemUsed;
object oItemUser;
string sItemTag;
event eUserEvent;
oItemUsed = GetItemActivated();
sItemTag = GetTag(oItemUsed);
if (sItemTag == "whostone")
{
oItemUser = GetItemActivator();
ExecuteScript("jcm_whoall", oItemUser);
}
}
NWScript:
void main()
{
object oPC = GetLastUsedBy();
ExecuteScript("jcm_whoall", oPC);
}
NWScript:
void main()
{
object oPC;
oPC = GetPCSpeaker();
CreateItemOnObject("whostone", oPC);
}
_________________
Server Name: Midnight Odyssey
Genre: Action
My NWN Resource Page
I Cant Find My
Sheep
|