Changed folder name.
Changed folder name.
This commit is contained in:
143
_module/nss/nwnx_system.nss
Normal file
143
_module/nss/nwnx_system.nss
Normal file
@@ -0,0 +1,143 @@
|
||||
/******************************************************************************/
|
||||
/* NWNX_SYSTEM Function Include */
|
||||
/******************************************************************************/
|
||||
/* Copyright(c) Krynnhaven - Xanas */
|
||||
/* Created: January 18, 2004 */
|
||||
/* Updated: January 19, 2004 */
|
||||
/******************************************************************************/
|
||||
#include "string_inc"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/****************************** Prototypes ************************************/
|
||||
// Object param is used to get player name (so players can only delete their own characters
|
||||
// charname is the name of the character name to delete, excluding the .bic
|
||||
void DeleteCharacterFile(object oObject, string sCharName);
|
||||
|
||||
// As DeleteCharacterFile but for dms and use a string of player name (object is the dm)
|
||||
void DMDeleteCharacterFile(object oObject, string sCharName, string sPlayerName);
|
||||
|
||||
// Object supplied produces the character name, players can only retrieve their own characters listing
|
||||
string RetrieveCharacterFiles(object oObject);
|
||||
|
||||
// Same as RetrieveCharacterFiles only a string of the playername is supplied for the listing (for dm usage)
|
||||
string DMRetrieveCharacterFiles(string sPlayerName);
|
||||
|
||||
// Same as DeleteCharacterFile but performs a backup, in example this is used previous to DeleteCommand in case of problems
|
||||
void BackupCharacterFile(object oObject, string sCharName);
|
||||
|
||||
// Same as BackupCharacterFile but for dms, uses string of PlayerName as well
|
||||
void DMBackupCharacterFile(object oObject, string sCharName, string sPlayerName);
|
||||
|
||||
// Handles listener commands for NWNX System - requires string_inc
|
||||
void NWNXSystemCommandHandler(object oPlayer, string sParameter);
|
||||
|
||||
/****************************** Prototypes ************************************/
|
||||
|
||||
|
||||
/**************************** Implementation *********************************/
|
||||
void DeleteCharacterFile(object oObject, string sCharName)
|
||||
{
|
||||
string sPlayerName = GetPCPlayerName(oObject);
|
||||
DelayCommand(5.0, SetLocalString(oObject, "NWNX!SYSTEM!DELETE", "./servervault/"+sPlayerName+"/"+sCharName+".bic"));
|
||||
}
|
||||
string RetrieveCharacterFiles(object oObject)
|
||||
{
|
||||
string sPlayerName = GetPCPlayerName(oObject);
|
||||
// long long string for storage buffering.
|
||||
SetLocalString(GetModule(), "NWNX!SYSTEM!RETRIEVE", sPlayerName+"! "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" ");
|
||||
string sCharReturn = GetLocalString(GetModule(), "NWNX!SYSTEM!RETRIEVE");
|
||||
if(sCharReturn == "")
|
||||
{
|
||||
sCharReturn = "Call this again to retrieve character files";
|
||||
}
|
||||
return sCharReturn;
|
||||
}
|
||||
void BackupCharacterFile(object oObject, string sCharName)
|
||||
{
|
||||
string sPlayerName = GetPCPlayerName(oObject);
|
||||
SetLocalString(oObject, "NWNX!SYSTEM!BACKUP", sPlayerName+"/"+sCharName+".bic");
|
||||
}
|
||||
|
||||
void DMDeleteCharacterFile(object oObject, string sCharName, string sPlayerName)
|
||||
{
|
||||
DelayCommand(5.0, SetLocalString(oObject, "NWNX!SYSTEM!DELETE", "./servervault/"+sPlayerName+"/"+sCharName+".bic"));
|
||||
}
|
||||
|
||||
void DMBackupCharacterFile(object oObject, string sCharName, string sPlayerName)
|
||||
{
|
||||
SetLocalString(oObject, "NWNX!SYSTEM!BACKUP", sPlayerName+"/"+sCharName+".bic");
|
||||
}
|
||||
string DMRetrieveCharacterFiles(string sPlayerName)
|
||||
{
|
||||
SetLocalString(GetModule(), "NWNX!SYSTEM!RETRIEVE", sPlayerName+"! "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" "+
|
||||
" ");
|
||||
string sCharReturn = GetLocalString(GetModule(), "NWNX!SYSTEM!RETRIEVE");
|
||||
if(sCharReturn == "")
|
||||
{
|
||||
sCharReturn = "Call this again to retrieve character files";
|
||||
}
|
||||
return sCharReturn;
|
||||
}
|
||||
void NWNXSystemCommandHandler(object oPlayer, string sParameter)
|
||||
{
|
||||
if(GetStringLeft(sParameter, 4) == "list" || GetStringLeft(sParameter, 4) == "help")
|
||||
{
|
||||
SendMessageToPC(oPlayer, "nwnx::DeleteMyChar CharNameToDelete (don't use bic extension) \n"+
|
||||
"nwnx::ListMyChars (lists chars in your folder \n"+
|
||||
"nwnx::ListPlayerChars PlayerName (lists players chars - dm tool) \n"+
|
||||
"nwnx::DeletePlayerChar PlayerName CharName (don't use bic extension");
|
||||
return;
|
||||
}
|
||||
if(GetStringLeft(sParameter, 12) == "DeleteMyChar")
|
||||
{
|
||||
BackupCharacterFile(oPlayer, ReturnWord(sParameter, 2));
|
||||
DeleteCharacterFile(oPlayer, ReturnWord(sParameter, 2));
|
||||
SendMessageToPC(oPlayer, "Character with name "+sParameter+" deleted");
|
||||
return;
|
||||
}
|
||||
if(GetStringLeft(sParameter, 11) == "ListMyChars")
|
||||
{
|
||||
SendMessageToPC(oPlayer, RetrieveCharacterFiles(oPlayer));
|
||||
return;
|
||||
}
|
||||
if(GetStringLeft(sParameter, 16) == "DeletePlayerChar" && GetIsDM(oPlayer))
|
||||
{
|
||||
string sParam1 = ReturnWord(sParameter, 2);
|
||||
string sParam2 = ReturnWord(sParameter, 3);
|
||||
DMBackupCharacterFile(oPlayer, sParam2, sParam1);
|
||||
DMDeleteCharacterFile(oPlayer, sParam2, sParam1);
|
||||
SendMessageToPC(oPlayer, "Character with name "+sParam1+" deleted from folder of player "+sParam2);
|
||||
return;
|
||||
}
|
||||
|
||||
if(GetStringLeft(sParameter, 15) == "ListPlayerChars" && GetIsDM(oPlayer))
|
||||
{
|
||||
string sParam = ReturnWord(sParameter, 2);
|
||||
SendMessageToPC(oPlayer, DMRetrieveCharacterFiles(sParam));
|
||||
SendMessageToPC(oPlayer, "Retrieving "+sParam);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**************************** Implementation *********************************/
|
||||
|
Reference in New Issue
Block a user