Aschbourne_PRC8/_module/nss/mk_inc_exec.nss
GetOffMyYarn 69879d6957 Areas and Fixes
Added CCOH and missing areas
Changed some areas to be craftable,
Fixed some on death issues,
Fixed the Gaurd
2024-08-30 11:38:44 -04:00

220 lines
8.5 KiB
Plaintext

// mk_inc_exec
#include "mk_inc_debug"
const string MK_EXEC_INT_VALUE = "MK_EXEC_INT_VALUE";
const string MK_EXEC_STR_VALUE = "MK_EXEC_STR_VALUE";
const string MK_EXEC_OBJ_VALUE = "MK_EXEC_OBJ_VALUE";
const string MK_EXEC_FLT_VALUE = "MK_EXEC_FLT_VALUE";
const string MK_EXEC_INT_PARAM = "MK_EXEC_INT_PARAM";
const string MK_EXEC_OBJ_PARAM = "MK_EXEC_OBJ_PARAM";
// Make oTarget run sScript and then return execution to the calling script.
// The return value should be set inside sScript by making a call to
// void MK_EXEC_INT_SetReturnValue(int nReturnValue)
// If sScript does not specify a compiled script, nothing happens.
// If sScript does not set the return value nDefault will be returned instead.
// sVarName is the name of a local int to be used to store the return value.
int MK_EXEC_INT_ExecuteScript(string sScript, object oTarget = OBJECT_SELF, int nDefault=0, string sVarName=MK_EXEC_INT_VALUE);
int MK_EXEC_INT_I_I_ExecuteScript(string sScript, int nParam0, int nParam1, object oTarget = OBJECT_SELF, int nDefault=0, string sVarName=MK_EXEC_INT_VALUE);
int MK_EXEC_INT_O_O_O_I_I_ExecuteScript(string sScript, object oParam0, object oParam1, object oParam2, int nParam3, int nParam4, object oTarget=OBJECT_SELF, int nDefault=0, string sVarName=MK_EXEC_INT_VALUE);
// Make oTarget run sScript and then return execution to the calling script.
// The return value should be set inside sScript by making a call to
// void MK_EXEC_INT_SetReturnValue(int nReturnValue)
// If sScript does not specify a compiled script, nothing happens.
// If sScript does not set the return value sDefault will be returned instead.
// sVarName is the name of a local int to be used to store the return value.
string MK_EXEC_STR_ExecuteScript(string sScript, object oTarget = OBJECT_SELF, string sDefault="", string sVarName=MK_EXEC_STR_VALUE);
// Make oTarget run sScript and then return execution to the calling script.
// The return value should be set inside sScript by making a call to
// void MK_EXEC_INT_SetReturnValue(int nReturnValue)
// If sScript does not specify a compiled script, nothing happens.
// If sScript does not set the return value sDefault will be returned instead.
// sVarName is the name of a local int to be used to store the return value.
object MK_EXEC_OBJ_ExecuteScript(string sScript, object oTarget = OBJECT_SELF, object oDefault=OBJECT_INVALID, string sVarName=MK_EXEC_STR_VALUE);
// To be used inside a script called by MK_EXEC_INT_ExecuteScript(...)
// to set the value returned by MK_EXEC_INT_ExecuteScript(...).
void MK_EXEC_INT_SetReturnValue(int nReturnValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_VALUE);
// To be used inside a script called by MK_EXEC_STR_ExecuteScript(...)
// to set the value returned by MK_EXEC_STR_ExecuteScript(...).
void MK_EXEC_STR_SetReturnValue(string sReturnValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_VALUE);
// To be used inside a script called by MK_EXEC_OBJ_ExecuteScript(...)
// to set the value returned by MK_EXEC_OBJ_ExecuteScript(...).
void MK_EXEC_OBJ_SetReturnValue(object oReturnValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_VALUE);
void MK_EXEC_SetIntParam(int nParam, int nValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_PARAM);
void MK_EXEC_SetObjParam(int nParam, object oValue, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_OBJ_PARAM);
int MK_EXEC_GetIntParam(int nParam, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_INT_PARAM);
object MK_EXEC_GetObjParam(int nParam, object oTarget = OBJECT_SELF, string sVarName=MK_EXEC_OBJ_PARAM);
void MK_EXEC_SetIntParam(int nParam, int nValue, object oTarget, string sVarName)
{
SetLocalInt(oTarget, sVarName+IntToString(nParam), nValue);
}
void MK_EXEC_SetObjParam(int nParam, object oValue, object oTarget, string sVarName)
{
SetLocalObject(oTarget, sVarName+IntToString(nParam), oValue);
}
int MK_EXEC_GetIntParam(int nParam, object oTarget, string sVarName)
{
return GetLocalInt(oTarget, sVarName+IntToString(nParam));
}
object MK_EXEC_GetObjParam(int nParam, object oTarget, string sVarName)
{
return GetLocalObject(oTarget, sVarName+IntToString(nParam));
}
void MK_EXEC_INT_SetReturnValue(int nReturnValue, object oTarget, string sVarName)
{
SetLocalInt(oTarget, sVarName, nReturnValue);
MK_DEBUG_TRACE("MK_EXEC_INT_SetReturnValue("+IntToString(nReturnValue)+", "+GetName(oTarget)+", "+sVarName+")");
}
void MK_EXEC_STR_SetReturnValue(string sReturnValue, object oTarget, string sVarName)
{
SetLocalString(oTarget, sVarName, sReturnValue);
MK_DEBUG_TRACE("MK_EXEC_STR_SetReturnValue('"+sReturnValue+'", "+GetName(oTarget)+", "+sVarName+")");
}
void MK_EXEC_OBJ_SetReturnValue(object oReturnValue, object oTarget, string sVarName)
{
SetLocalObject(oTarget, sVarName, oReturnValue);
MK_DEBUG_TRACE("MK_EXEC_OBJ_SetReturnValue('"+GetName(oReturnValue)+'", "+GetName(oTarget)+", "+sVarName+")");
}
int MK_EXEC_INT_GetReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE)
{
return GetLocalInt(oTarget, sVarName);
}
string MK_EXEC_STR_GetReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE)
{
return GetLocalString(oTarget, sVarName);
}
object MK_EXEC_OBJ_GetReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE)
{
return GetLocalObject(oTarget, sVarName);
}
void MK_EXEC_INT_DeleteReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE)
{
DeleteLocalInt(oTarget, sVarName);
}
void MK_EXEC_STR_DeleteReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE)
{
DeleteLocalString(oTarget, sVarName);
}
void MK_EXEC_OBJ_DeleteReturnValue(object oTarget, string sVarName=MK_EXEC_INT_VALUE)
{
DeleteLocalObject(oTarget, sVarName);
}
void MK_EXEC_ExecuteScript(string sScript, object oTarget)
{
// if (sScript=="") return;
// string sOverideScript = GetLocalString(GetModule(), sScript);
// if (sOverrideScript!="")
// {
// sScript = sOverrideScript;
// }
ExecuteScript(sScript, oTarget);
}
int MK_EXEC_INT_ExecuteScript(string sScript, object oTarget, int nDefault, string sVarName)
{
MK_EXEC_INT_SetReturnValue(nDefault, oTarget, sVarName);
MK_EXEC_ExecuteScript(sScript, oTarget);
int nReturn = MK_EXEC_INT_GetReturnValue(oTarget, sVarName);
// MK_DEBUG_TRACE("MK_EXEC_INT_ExecuteScript("+sScript+", "+GetName(oTarget)+", "+IntToString(nDefault)+", "+sVarName+")="+IntToString(nReturn));
MK_EXEC_INT_DeleteReturnValue(oTarget, sVarName);
return nReturn;
}
int MK_EXEC_INT_I_I_ExecuteScript(string sScript, int nParam0, int nParam1, object oTarget, int nDefault, string sVarName)
{
MK_EXEC_SetIntParam(0, nParam0);
MK_EXEC_SetIntParam(1, nParam1);
// MK_DEBUG_TRACE("MK_EXEC_INT_I_I_ExecuteScript('"+sScript+"', nParam0="+IntToString(nParam0)+", nParam1="+IntToString(nParam1)+")");
int nReturn = MK_EXEC_INT_ExecuteScript(sScript, oTarget, nDefault, sVarName);
// MK_DEBUG_TRACE(" > nReturn = "+IntToString(nReturn));
MK_EXEC_SetIntParam(1, 0);
MK_EXEC_SetIntParam(0, 0);
return nReturn;
}
int MK_EXEC_INT_O_O_O_I_I_ExecuteScript(string sScript, object oParam0, object oParam1, object oParam2, int nParam3, int nParam4, object oTarget, int nDefault, string sVarName)
{
MK_EXEC_SetObjParam(0, oParam0, oTarget);
MK_EXEC_SetObjParam(1, oParam1, oTarget);
MK_EXEC_SetObjParam(2, oParam2, oTarget);
MK_EXEC_SetIntParam(3, nParam3, oTarget);
MK_EXEC_SetIntParam(4, nParam4, oTarget);
int nReturn = MK_EXEC_INT_ExecuteScript(sScript, oTarget, nDefault, sVarName);
// MK_DEBUG_TRACE(" > nReturn = "+IntToString(nReturn));
MK_EXEC_SetIntParam(4, 0, oTarget);
MK_EXEC_SetIntParam(3, 0, oTarget);
MK_EXEC_SetObjParam(2, OBJECT_INVALID, oTarget);
MK_EXEC_SetObjParam(1, OBJECT_INVALID, oTarget);
MK_EXEC_SetObjParam(0, OBJECT_INVALID, oTarget);
return nReturn;
}
string MK_EXEC_STR_ExecuteScript(string sScript, object oTarget, string sDefault, string sVarName)
{
MK_EXEC_STR_SetReturnValue(sDefault, oTarget, sVarName);
MK_EXEC_ExecuteScript(sScript, oTarget);
string sReturn = MK_EXEC_STR_GetReturnValue(oTarget, sVarName);
MK_EXEC_STR_DeleteReturnValue(oTarget, sVarName);
return sReturn;
}
object MK_EXEC_OBJ_ExecuteScript(string sScript, object oTarget, object oDefault, string sVarName)
{
MK_EXEC_OBJ_SetReturnValue(oDefault, oTarget, sVarName);
MK_EXEC_ExecuteScript(sScript, oTarget);
object oReturn = MK_EXEC_OBJ_GetReturnValue(oTarget, sVarName);
MK_EXEC_OBJ_DeleteReturnValue(oTarget, sVarName);
return oReturn;
}
/*
void main()
{
}
/**/