Changed folder name.
Changed folder name.
This commit is contained in:
91
_module/nss/fky_chat_target.nss
Normal file
91
_module/nss/fky_chat_target.nss
Normal file
@@ -0,0 +1,91 @@
|
||||
//::////////////////////////////////////////////////////////////////////////:://
|
||||
//:: SIMTools V3.0 Speech Integration & Management Tools Version 3.0 :://
|
||||
//:: Created By: FunkySwerve :://
|
||||
//:: Created On: April 4 2006 :://
|
||||
//:: Last Updated: March 27 2007 :://
|
||||
//:: With Thanks To: :://
|
||||
//:: Dumbo - for his amazing plugin :://
|
||||
//:: Virusman - for Linux versions, and for the reset plugin, and for :://
|
||||
//:: his excellent events plugin, without which this update would not :://
|
||||
//:: be possible :://
|
||||
//:: Dazzle - for his script samples :://
|
||||
//:: Butch - for the emote wand scripts :://
|
||||
//:: The DMFI project - for the languages conversions and many of the emotes:://
|
||||
//:: Lanessar and the players of the Myth Drannor PW - for the new languages:://
|
||||
//:: The players and DMs of Higher Ground for their input and playtesting :://
|
||||
//::////////////////////////////////////////////////////////////////////////:://
|
||||
#include "x2_inc_switches"
|
||||
#include "fky_chat_inc"
|
||||
void main()
|
||||
{
|
||||
if (GetUserDefinedItemEventNumber() == X2_ITEM_EVENT_ACTIVATE)
|
||||
{
|
||||
object oPC = GetItemActivator();
|
||||
object oItem = GetItemActivated();
|
||||
object oTarget = GetItemActivatedTarget();
|
||||
location lTarget = GetItemActivatedTargetLocation();
|
||||
// SetLocalString(oCPC, "FKY_CHAT_COMMAND", OBJECT_TARGET+COMMAND_SYMBOL + sNormalCase);
|
||||
string sCommand = GetLocalString(oPC, "FKY_CHAT_COMMAND");
|
||||
string sReturnType = GetStringLeft(sCommand, 1);
|
||||
sCommand = GetStringRight(sCommand, GetStringLength(sCommand) - 1);
|
||||
if (sReturnType == AREA_TARGET_OK)//command requires an object input, but allows area objects and will default to the area if no object selected
|
||||
{
|
||||
DeleteLocalString(oPC, "FKY_CHAT_COMMAND");
|
||||
if (GetIsObjectValid(oTarget))
|
||||
{
|
||||
SetLocalObject(oPC, "FKY_CHAT_TARGET", oTarget);
|
||||
AssignCommand(oPC, SpeakString(sCommand));
|
||||
}
|
||||
else
|
||||
{
|
||||
oTarget = GetArea(oPC);
|
||||
if (GetIsObjectValid(oTarget))
|
||||
{
|
||||
SetLocalObject(oPC, "FKY_CHAT_TARGET", oTarget);
|
||||
AssignCommand(oPC, SpeakString(sCommand));
|
||||
}
|
||||
else FloatingTextStringOnCreature(COLOR_RED+TARGETER_ERROR+COLOR_END, oPC, FALSE); //should never fire, debug
|
||||
}
|
||||
}
|
||||
else if (sReturnType == OBJECT_TARGET)//command requires an object input
|
||||
{
|
||||
DeleteLocalString(oPC, "FKY_CHAT_COMMAND");
|
||||
if (GetIsObjectValid(oTarget))
|
||||
{
|
||||
SetLocalObject(oPC, "FKY_CHAT_TARGET", oTarget);
|
||||
AssignCommand(oPC, SpeakString(sCommand));
|
||||
}
|
||||
else FloatingTextStringOnCreature(COLOR_RED+TARGETER_ERROR2+COLOR_END, oPC, FALSE);
|
||||
}
|
||||
else if (sReturnType == LOCATION_TARGET)//command requires a location input
|
||||
{
|
||||
if (GetIsObjectValid(GetAreaFromLocation(lTarget)))
|
||||
{
|
||||
SetLocalLocation(oPC, "FKY_CHAT_LOCATION", lTarget);
|
||||
DeleteLocalString(oPC, "FKY_CHAT_COMMAND");//here we only delete if they selected a valid location - otherwise propmpt for retry
|
||||
AssignCommand(oPC, SpeakString(sCommand));
|
||||
}
|
||||
else FloatingTextStringOnCreature(COLOR_RED+TARGETER_ERROR3+COLOR_END, oPC, FALSE);
|
||||
}
|
||||
else if (sReturnType == ITEM_TARGET)//command requires a location input
|
||||
{
|
||||
DeleteLocalString(oPC, "FKY_CHAT_COMMAND");
|
||||
if (GetObjectType(oTarget) == OBJECT_TYPE_ITEM)
|
||||
{
|
||||
SetLocalObject(oPC, "FKY_CHAT_TARGET", oTarget);
|
||||
AssignCommand(oPC, SpeakString(sCommand));
|
||||
}
|
||||
else
|
||||
{
|
||||
FloatingTextStringOnCreature(COLOR_RED+TARGETER_ERROR4+COLOR_END, oPC, FALSE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DeleteLocalString(oPC, "FKY_CHAT_COMMAND");
|
||||
FloatingTextStringOnCreature(COLOR_RED+TARGETER_ERROR+COLOR_END, oPC, FALSE); //should never fire, debug
|
||||
}
|
||||
}
|
||||
SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
|
||||
}
|
||||
|
Reference in New Issue
Block a user