Initial commit
Adding all of the current content for Anphillia Unlimited.
This commit is contained in:
77
_module/nss/mod_onchat.nss
Normal file
77
_module/nss/mod_onchat.nss
Normal file
@@ -0,0 +1,77 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// mod_onchat
|
||||
// written by: eyesolated
|
||||
// written at: Jan. 30, 2004
|
||||
//
|
||||
// Notes: Placeholder for the module-wide OnPlayerChat Event
|
||||
#include "eas_inc"
|
||||
#include "color_inc"
|
||||
#include "esm_inc"
|
||||
#include "dbg_inc"
|
||||
#include "chr_inc"
|
||||
#include "nwnx_webhook"
|
||||
#include "dev_inc"
|
||||
|
||||
const string WEBHOOK_DM = "/api/webhooks/451344020606812161/2JC0H5AkfAs4EeCbI1R0xzpCmGwxcLM7P7JxCmI4Qwf-7SwZ1uxi6V6YMNFtdjIyMQVW/slack";
|
||||
|
||||
void main()
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "CURRENT_SCRIPT", EVENT_SCRIPT_MODULE_ON_PLAYER_CHAT);
|
||||
object oPC = GetPCChatSpeaker();
|
||||
string sMessage = GetPCChatMessage();
|
||||
int nVolume = GetPCChatVolume();
|
||||
int bTeam = dev_IsTeamMember(oPC);
|
||||
|
||||
// Call esm OnPlayerChat
|
||||
esm_OnPlayerChat(oPC, sMessage);
|
||||
|
||||
if (nVolume == TALKVOLUME_SHOUT && !bTeam)
|
||||
{
|
||||
SetPCChatMessage("");
|
||||
}
|
||||
string sParam;
|
||||
|
||||
// OOC talk
|
||||
if (GetStringLeft(sMessage, 2) == "//" || GetStringLeft(sMessage, 2) == "((")
|
||||
{
|
||||
SetPCChatMessage(COLOR_CODE_ORANGE + sMessage + COLOR_CODE_END);
|
||||
}
|
||||
else if (GetStringLeft(sMessage, 1) == "/")
|
||||
{
|
||||
ExecuteScript("chat_commands", OBJECT_SELF);
|
||||
}
|
||||
|
||||
chr_LogPlayerChatMessage(oPC, sMessage);
|
||||
if (nVolume == TALKVOLUME_TALK || nVolume == TALKVOLUME_WHISPER)
|
||||
if (!chr_GetPlayerCanSpeak(oPC))
|
||||
SetPCChatMessage("");
|
||||
|
||||
// DM commands start with # (to match ## builtins)
|
||||
if (GetStringLeft(sMessage, 1) == "#" && bTeam)
|
||||
ExecuteScript("dev_commands", OBJECT_SELF);
|
||||
|
||||
|
||||
if (nVolume == TALKVOLUME_PARTY && !bTeam)
|
||||
{
|
||||
SendMessageToPC(oPC, "Party chat has been disabled");
|
||||
SetPCChatMessage("");
|
||||
}
|
||||
|
||||
if (nVolume == TALKVOLUME_SILENT_SHOUT)
|
||||
{
|
||||
NWNX_WebHook_SendWebHookHTTPS("discordapp.com", WEBHOOK_DM, sMessage, GetSubString(GetName(oPC), 0, 20));
|
||||
}
|
||||
|
||||
object oOther = GetLocalObject(oPC, "SPEAK_THROUGH_OTHER");
|
||||
if (GetIsObjectValid(oOther))
|
||||
{
|
||||
AssignCommand(oOther, SpeakString(sMessage, nVolume));
|
||||
SetPCChatMessage("");
|
||||
}
|
||||
|
||||
string sExtraScript = GetLocalString(oPC, "ON_PLAYER_CHAT_SCRIPT");
|
||||
if (sExtraScript != "")
|
||||
ExecuteScript(sExtraScript, OBJECT_SELF);
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "CURRENT_SCRIPT");
|
||||
}
|
||||
Reference in New Issue
Block a user