ff_u_chat_pc_cmd

Enables standard actions via chat commands.

Enables standard actions via chat commands.

Enables /export to export PC to servervault. Enables /rest to rest.

Variables

ENABLE__FF_U_CHAT_PC_CMD: (string) (opt-out) Set to “N” on module to disable unit.

Source code

// @code

#include "ff_i_core"



const string C1 = CHAT_COLOR_DEBUG;
const string C2 = CHAT_COLOR_SERVER;

const string ENABLE__FF_U_CHAT_PC_CMD = "ENABLE__FF_U_CHAT_PC_CMD";

// -----------------------------------------------------------------------------

void OnHelp();
void OnHelp()
{
  object oSpeaker = GetPCChatSpeaker();

  SendMessageToPC(oSpeaker, _RGB("/export: ", C1) + _RGB("Force save the PC to servervault.", C2));
  SendMessageToPC(oSpeaker, _RGB("/rest: ", C1) + _RGB("Rest", C2));
}


// -----------------------------------------------------------------------------
void OnChat();
void OnChat()
{
  object oSpeaker = GetPCChatSpeaker();
  string sMessage = GetPCChatMessage();

  sMessage = GetStringTrim(GetStringLowerCase(sMessage));
  struct CLI_ARGUMENTS sArgs = GetArguments(sMessage);

  if (sArgs.sArg0 == "/export")
  {
    ExportSingleCharacter(oSpeaker);
    SendSuccessMessage(oSpeaker, "Player has been saved to servervault.");
    SetPCChatMessage("");
    return;
  }

  if (sArgs.sArg0 == "/rest")
  {
    AssignCommand(oSpeaker, ActionRest(TRUE));
    SetPCChatMessage("");
    return;
  }
}


// -----------------------------------------------------------------------------

void main()
{
  if (!GetModuleFlag(ENABLE__FF_U_CHAT_PC_CMD, TRUE))
    return;

  string sEvent = GetCurrentEvent();
  if (sEvent == ON_REGISTER)
  {
    SubscribeToEvent(ON_DEFAULT_PLAYER_CHAT, __FILE__);
    SubscribeToEvent(ON_DEFAULT_PLAYER_CHAT_HELP, __FILE__);
  }
  else if (sEvent == ON_DEFAULT_PLAYER_CHAT)
    OnChat();
  else if (sEvent == ON_DEFAULT_PLAYER_CHAT_HELP)
    OnHelp();
}