Update for 37-13
Update for NWNEE 37-13. Updated NWNxEE. Full compile.
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
/// @brief Various admin related functions
|
||||
/// @{
|
||||
/// @file nwnx_admin.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Administration = "NWNX_Administration"; ///< @private
|
||||
|
||||
@@ -179,213 +178,161 @@ void NWNX_Administration_SetMaxLevel(int nLevel);
|
||||
|
||||
string NWNX_Administration_GetPlayerPassword()
|
||||
{
|
||||
string sFunc = "GetPlayerPassword";
|
||||
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Administration, "GetPlayerPassword");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Administration_SetPlayerPassword(string password)
|
||||
{
|
||||
string sFunc = "SetPlayerPassword";
|
||||
|
||||
NWNX_PushArgumentString(password);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(password);
|
||||
NWNXCall(NWNX_Administration, "SetPlayerPassword");
|
||||
}
|
||||
|
||||
void NWNX_Administration_ClearPlayerPassword()
|
||||
{
|
||||
string sFunc = "ClearPlayerPassword";
|
||||
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXCall(NWNX_Administration, "ClearPlayerPassword");
|
||||
}
|
||||
|
||||
string NWNX_Administration_GetDMPassword()
|
||||
{
|
||||
string sFunc = "GetDMPassword";
|
||||
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Administration, "GetDMPassword");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Administration_SetDMPassword(string password)
|
||||
{
|
||||
string sFunc = "SetDMPassword";
|
||||
|
||||
NWNX_PushArgumentString(password);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(password);
|
||||
NWNXCall(NWNX_Administration, "SetDMPassword");
|
||||
}
|
||||
|
||||
void NWNX_Administration_ShutdownServer()
|
||||
{
|
||||
string sFunc = "ShutdownServer";
|
||||
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXCall(NWNX_Administration, "ShutdownServer");
|
||||
}
|
||||
|
||||
void NWNX_Administration_DeletePlayerCharacter(object oPC, int bPreserveBackup = TRUE, string sKickMessage = "")
|
||||
{
|
||||
string sFunc = "DeletePlayerCharacter";
|
||||
|
||||
NWNX_PushArgumentString(sKickMessage);
|
||||
NWNX_PushArgumentInt(bPreserveBackup);
|
||||
NWNX_PushArgumentObject(oPC);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(sKickMessage);
|
||||
NWNXPushInt(bPreserveBackup);
|
||||
NWNXPushObject(oPC);
|
||||
NWNXCall(NWNX_Administration, "DeletePlayerCharacter");
|
||||
}
|
||||
|
||||
void NWNX_Administration_AddBannedIP(string ip)
|
||||
{
|
||||
string sFunc = "AddBannedIP";
|
||||
|
||||
NWNX_PushArgumentString(ip);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(ip);
|
||||
NWNXCall(NWNX_Administration, "AddBannedIP");
|
||||
}
|
||||
void NWNX_Administration_RemoveBannedIP(string ip)
|
||||
{
|
||||
string sFunc = "RemoveBannedIP";
|
||||
|
||||
NWNX_PushArgumentString(ip);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(ip);
|
||||
NWNXCall(NWNX_Administration, "RemoveBannedIP");
|
||||
}
|
||||
void NWNX_Administration_AddBannedCDKey(string key)
|
||||
{
|
||||
string sFunc = "AddBannedCDKey";
|
||||
|
||||
NWNX_PushArgumentString(key);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(key);
|
||||
NWNXCall(NWNX_Administration, "AddBannedCDKey");
|
||||
}
|
||||
void NWNX_Administration_RemoveBannedCDKey(string key)
|
||||
{
|
||||
string sFunc = "RemoveBannedCDKey";
|
||||
|
||||
NWNX_PushArgumentString(key);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(key);
|
||||
NWNXCall(NWNX_Administration, "RemoveBannedCDKey");
|
||||
}
|
||||
void NWNX_Administration_AddBannedPlayerName(string playerName)
|
||||
{
|
||||
string sFunc = "AddBannedPlayerName";
|
||||
|
||||
NWNX_PushArgumentString(playerName);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(playerName);
|
||||
NWNXCall(NWNX_Administration, "AddBannedPlayerName");
|
||||
}
|
||||
void NWNX_Administration_RemoveBannedPlayerName(string playerName)
|
||||
{
|
||||
string sFunc = "RemoveBannedPlayerName";
|
||||
|
||||
NWNX_PushArgumentString(playerName);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(playerName);
|
||||
NWNXCall(NWNX_Administration, "RemoveBannedPlayerName");
|
||||
}
|
||||
string NWNX_Administration_GetBannedList()
|
||||
{
|
||||
string sFunc = "GetBannedList";
|
||||
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Administration, "GetBannedList");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Administration_SetModuleName(string name)
|
||||
{
|
||||
string sFunc = "SetModuleName";
|
||||
|
||||
NWNX_PushArgumentString(name);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(name);
|
||||
NWNXCall(NWNX_Administration, "SetModuleName");
|
||||
}
|
||||
|
||||
void NWNX_Administration_SetServerName(string name)
|
||||
{
|
||||
string sFunc = "SetServerName";
|
||||
|
||||
NWNX_PushArgumentString(name);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushString(name);
|
||||
NWNXCall(NWNX_Administration, "SetServerName");
|
||||
}
|
||||
|
||||
string NWNX_Administration_GetServerName()
|
||||
{
|
||||
string sFunc = "GetServerName";
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Administration, "GetServerName");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_Administration_GetPlayOption(int option)
|
||||
{
|
||||
string sFunc = "GetPlayOption";
|
||||
|
||||
NWNX_PushArgumentInt(option);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(option);
|
||||
NWNXCall(NWNX_Administration, "GetPlayOption");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Administration_SetPlayOption(int option, int value)
|
||||
{
|
||||
string sFunc = "SetPlayOption";
|
||||
|
||||
NWNX_PushArgumentInt(value);
|
||||
NWNX_PushArgumentInt(option);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushInt(value);
|
||||
NWNXPushInt(option);
|
||||
NWNXCall(NWNX_Administration, "SetPlayOption");
|
||||
}
|
||||
|
||||
int NWNX_Administration_DeleteTURD(string playerName, string characterName)
|
||||
{
|
||||
string sFunc = "DeleteTURD";
|
||||
|
||||
NWNX_PushArgumentString(characterName);
|
||||
NWNX_PushArgumentString(playerName);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(characterName);
|
||||
NWNXPushString(playerName);
|
||||
NWNXCall(NWNX_Administration, "DeleteTURD");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Administration_GetDebugValue(int type)
|
||||
{
|
||||
string sFunc = "GetDebugValue";
|
||||
|
||||
NWNX_PushArgumentInt(type);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(type);
|
||||
NWNXCall(NWNX_Administration, "GetDebugValue");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Administration_SetDebugValue(int type, int state)
|
||||
{
|
||||
string sFunc = "SetDebugValue";
|
||||
|
||||
NWNX_PushArgumentInt(state);
|
||||
NWNX_PushArgumentInt(type);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushInt(state);
|
||||
NWNXPushInt(type);
|
||||
NWNXCall(NWNX_Administration, "SetDebugValue");
|
||||
}
|
||||
|
||||
void NWNX_Administration_ReloadRules()
|
||||
{
|
||||
string sFunc = "ReloadRules";
|
||||
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXCall(NWNX_Administration, "ReloadRules");
|
||||
}
|
||||
|
||||
int NWNX_Administration_GetMinLevel()
|
||||
{
|
||||
string sFunc = "GetMinLevel";
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Administration, "GetMinLevel");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Administration_SetMinLevel(int nLevel)
|
||||
{
|
||||
string sFunc = "SetMinLevel";
|
||||
NWNX_PushArgumentInt(nLevel);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushInt(nLevel);
|
||||
NWNXCall(NWNX_Administration, "SetMinLevel");
|
||||
}
|
||||
|
||||
int NWNX_Administration_GetMaxLevel()
|
||||
{
|
||||
string sFunc = "GetMaxLevel";
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Administration, "GetMaxLevel");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Administration_SetMaxLevel(int nLevel)
|
||||
{
|
||||
string sFunc = "SetMaxLevel";
|
||||
NWNX_PushArgumentInt(nLevel);
|
||||
NWNX_CallFunction(NWNX_Administration, sFunc);
|
||||
NWNXPushInt(nLevel);
|
||||
NWNXCall(NWNX_Administration, "SetMaxLevel");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Allows the appearance and some other things of creatures to be overridden per player.
|
||||
/// @{
|
||||
/// @file nwnx_appearance.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Appearance = "NWNX_Appearance"; ///< @private
|
||||
|
||||
@@ -49,25 +48,18 @@ int NWNX_Appearance_GetOverride(object oPlayer, object oCreature, int nType);
|
||||
|
||||
void NWNX_Appearance_SetOverride(object oPlayer, object oCreature, int nType, int nValue)
|
||||
{
|
||||
string sFunc = "SetOverride";
|
||||
|
||||
NWNX_PushArgumentInt(nValue);
|
||||
NWNX_PushArgumentInt(nType);
|
||||
NWNX_PushArgumentObject(oCreature);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Appearance, sFunc);
|
||||
NWNXPushInt(nValue);
|
||||
NWNXPushInt(nType);
|
||||
NWNXPushObject(oCreature);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Appearance, "SetOverride");
|
||||
}
|
||||
|
||||
int NWNX_Appearance_GetOverride(object oPlayer, object oCreature, int nType)
|
||||
{
|
||||
string sFunc = "GetOverride";
|
||||
|
||||
NWNX_PushArgumentInt(nType);
|
||||
NWNX_PushArgumentObject(oCreature);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Appearance, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nType);
|
||||
NWNXPushObject(oCreature);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Appearance, "GetOverride");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions exposing additional area properties as well as creating transitions.
|
||||
/// @{
|
||||
/// @file nwnx_area.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Area = "NWNX_Area"; ///< @private
|
||||
|
||||
@@ -353,536 +352,396 @@ void NWNX_Area_SetDefaultObjectUiDiscoveryMask(object oArea, int nObjectTypes, i
|
||||
|
||||
int NWNX_Area_GetNumberOfPlayersInArea(object area)
|
||||
{
|
||||
string sFunc = "GetNumberOfPlayersInArea";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetNumberOfPlayersInArea");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
object NWNX_Area_GetLastEntered(object area)
|
||||
{
|
||||
string sFunc = "GetLastEntered";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetLastEntered");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
object NWNX_Area_GetLastLeft(object area)
|
||||
{
|
||||
string sFunc = "GetLastLeft";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetLastLeft");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
int NWNX_Area_GetPVPSetting(object area)
|
||||
{
|
||||
string sFunc = "GetPVPSetting";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetPVPSetting");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetPVPSetting(object area, int pvpSetting)
|
||||
{
|
||||
string sFunc = "SetPVPSetting";
|
||||
|
||||
NWNX_PushArgumentInt(pvpSetting);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(pvpSetting);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetPVPSetting");
|
||||
}
|
||||
|
||||
int NWNX_Area_GetAreaSpotModifier(object area)
|
||||
{
|
||||
string sFunc = "GetAreaSpotModifier";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetAreaSpotModifier");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetAreaSpotModifier(object area, int spotModifier)
|
||||
{
|
||||
string sFunc = "SetAreaSpotModifier";
|
||||
|
||||
NWNX_PushArgumentInt(spotModifier);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(spotModifier);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetAreaSpotModifier");
|
||||
}
|
||||
|
||||
int NWNX_Area_GetAreaListenModifier(object area)
|
||||
{
|
||||
string sFunc = "GetAreaListenModifier";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetAreaListenModifier");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetAreaListenModifier(object area, int listenModifier)
|
||||
{
|
||||
string sFunc = "SetAreaListenModifier";
|
||||
|
||||
NWNX_PushArgumentInt(listenModifier);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(listenModifier);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetAreaListenModifier");
|
||||
}
|
||||
|
||||
int NWNX_Area_GetNoRestingAllowed(object area)
|
||||
{
|
||||
string sFunc = "GetNoRestingAllowed";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetNoRestingAllowed");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetNoRestingAllowed(object area, int bNoRestingAllowed)
|
||||
{
|
||||
string sFunc = "SetNoRestingAllowed";
|
||||
|
||||
NWNX_PushArgumentInt(bNoRestingAllowed);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(bNoRestingAllowed);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetNoRestingAllowed");
|
||||
}
|
||||
|
||||
int NWNX_Area_GetWindPower(object area)
|
||||
{
|
||||
string sFunc = "GetWindPower";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetWindPower");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetWindPower(object area, int windPower)
|
||||
{
|
||||
string sFunc = "SetWindPower";
|
||||
|
||||
NWNX_PushArgumentInt(windPower);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(windPower);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetWindPower");
|
||||
}
|
||||
|
||||
int NWNX_Area_GetWeatherChance(object area, int type)
|
||||
{
|
||||
string sFunc = "GetWeatherChance";
|
||||
|
||||
NWNX_PushArgumentInt(type);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(type);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetWeatherChance");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetWeatherChance(object area, int type, int chance)
|
||||
{
|
||||
string sFunc = "SetWeatherChance";
|
||||
|
||||
NWNX_PushArgumentInt(chance);
|
||||
NWNX_PushArgumentInt(type);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(chance);
|
||||
NWNXPushInt(type);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetWeatherChance");
|
||||
}
|
||||
|
||||
float NWNX_Area_GetFogClipDistance(object area)
|
||||
{
|
||||
string sFunc = "GetFogClipDistance";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueFloat();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetFogClipDistance");
|
||||
return NWNXPopFloat();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetFogClipDistance(object area, float distance)
|
||||
{
|
||||
string sFunc = "SetFogClipDistance";
|
||||
|
||||
NWNX_PushArgumentFloat(distance);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushFloat(distance);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetFogClipDistance");
|
||||
}
|
||||
|
||||
int NWNX_Area_GetShadowOpacity(object area)
|
||||
{
|
||||
string sFunc = "GetShadowOpacity";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetShadowOpacity");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetShadowOpacity(object area, int shadowOpacity)
|
||||
{
|
||||
string sFunc = "SetShadowOpacity";
|
||||
|
||||
NWNX_PushArgumentInt(shadowOpacity);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(shadowOpacity);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetShadowOpacity");
|
||||
}
|
||||
|
||||
|
||||
int NWNX_Area_GetDayNightCycle(object area)
|
||||
{
|
||||
string sFunc = "GetDayNightCycle";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetDayNightCycle");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetDayNightCycle(object area, int type)
|
||||
{
|
||||
string sFunc = "SetDayNightCycle";
|
||||
|
||||
NWNX_PushArgumentInt(type);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(type);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetDayNightCycle");
|
||||
}
|
||||
|
||||
int NWNX_Area_GetSunMoonColors(object area, int type)
|
||||
{
|
||||
string sFunc = "GetSunMoonColors";
|
||||
|
||||
NWNX_PushArgumentInt(type);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(type);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "GetSunMoonColors");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetSunMoonColors(object area, int type, int color)
|
||||
{
|
||||
string sFunc = "SetSunMoonColors";
|
||||
|
||||
NWNX_PushArgumentInt(color);
|
||||
NWNX_PushArgumentInt(type);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(color);
|
||||
NWNXPushInt(type);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "SetSunMoonColors");
|
||||
}
|
||||
|
||||
object NWNX_Area_CreateTransition(object area, object target, float x, float y, float z, float size = 2.0f, string tag="")
|
||||
{
|
||||
string sFunc = "CreateTransition";
|
||||
|
||||
NWNX_PushArgumentString(tag);
|
||||
NWNX_PushArgumentFloat(size);
|
||||
NWNX_PushArgumentFloat(z);
|
||||
NWNX_PushArgumentFloat(y);
|
||||
NWNX_PushArgumentFloat(x);
|
||||
NWNX_PushArgumentObject(target);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushString(tag);
|
||||
NWNXPushFloat(size);
|
||||
NWNXPushFloat(z);
|
||||
NWNXPushFloat(y);
|
||||
NWNXPushFloat(x);
|
||||
NWNXPushObject(target);
|
||||
NWNXPushObject(area);
|
||||
NWNXCall(NWNX_Area, "CreateTransition");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
int NWNX_Area_GetTileAnimationLoop(object oArea, float fTileX, float fTileY, int nAnimLoop)
|
||||
{
|
||||
string sFunc = "GetTileAnimationLoop";
|
||||
NWNXPushInt(nAnimLoop);
|
||||
NWNXPushFloat(fTileY);
|
||||
NWNXPushFloat(fTileX);
|
||||
NWNXPushObject(oArea);
|
||||
|
||||
NWNX_PushArgumentInt(nAnimLoop);
|
||||
NWNX_PushArgumentFloat(fTileY);
|
||||
NWNX_PushArgumentFloat(fTileX);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Area, "GetTileAnimationLoop");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetTileAnimationLoop(object oArea, float fTileX, float fTileY, int nAnimLoop, int bEnabled)
|
||||
{
|
||||
string sFunc = "SetTileAnimationLoop";
|
||||
|
||||
NWNX_PushArgumentInt(bEnabled);
|
||||
NWNX_PushArgumentInt(nAnimLoop);
|
||||
NWNX_PushArgumentFloat(fTileY);
|
||||
NWNX_PushArgumentFloat(fTileX);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(bEnabled);
|
||||
NWNXPushInt(nAnimLoop);
|
||||
NWNXPushFloat(fTileY);
|
||||
NWNXPushFloat(fTileX);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "SetTileAnimationLoop");
|
||||
}
|
||||
|
||||
string NWNX_Area_GetTileModelResRef(object oArea, float fTileX, float fTileY)
|
||||
{
|
||||
string sFunc = "GetTileModelResRef";
|
||||
NWNX_PushArgumentFloat(fTileY);
|
||||
NWNX_PushArgumentFloat(fTileX);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushFloat(fTileY);
|
||||
NWNXPushFloat(fTileX);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetTileModelResRef");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_Area_TestDirectLine(object oArea, float fStartX, float fStartY, float fEndX, float fEndY, float fPerSpace, float fHeight, int bIgnoreDoors=FALSE)
|
||||
{
|
||||
string sFunc = "TestDirectLine";
|
||||
|
||||
NWNX_PushArgumentInt(bIgnoreDoors);
|
||||
NWNX_PushArgumentFloat(fHeight);
|
||||
NWNX_PushArgumentFloat(fPerSpace);
|
||||
NWNX_PushArgumentFloat(fEndY);
|
||||
NWNX_PushArgumentFloat(fEndX);
|
||||
NWNX_PushArgumentFloat(fStartY);
|
||||
NWNX_PushArgumentFloat(fStartX);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(bIgnoreDoors);
|
||||
NWNXPushFloat(fHeight);
|
||||
NWNXPushFloat(fPerSpace);
|
||||
NWNXPushFloat(fEndY);
|
||||
NWNXPushFloat(fEndX);
|
||||
NWNXPushFloat(fStartY);
|
||||
NWNXPushFloat(fStartX);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "TestDirectLine");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Area_GetMusicIsPlaying(object oArea, int bBattleMusic = FALSE)
|
||||
{
|
||||
string sFunc = "GetMusicIsPlaying";
|
||||
|
||||
NWNX_PushArgumentInt(bBattleMusic);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(bBattleMusic);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetMusicIsPlaying");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
object NWNX_Area_CreateGenericTrigger(object oArea, float fX, float fY, float fZ, string sTag = "", float fSize = 1.0f)
|
||||
{
|
||||
string sFunc = "CreateGenericTrigger";
|
||||
|
||||
NWNX_PushArgumentFloat(fSize);
|
||||
NWNX_PushArgumentString(sTag);
|
||||
NWNX_PushArgumentFloat(fZ);
|
||||
NWNX_PushArgumentFloat(fY);
|
||||
NWNX_PushArgumentFloat(fX);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushFloat(fSize);
|
||||
NWNXPushString(sTag);
|
||||
NWNXPushFloat(fZ);
|
||||
NWNXPushFloat(fY);
|
||||
NWNXPushFloat(fX);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "CreateGenericTrigger");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
void NWNX_Area_AddObjectToExclusionList(object oObject)
|
||||
{
|
||||
string sFunc = "AddObjectToExclusionList";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Area, "AddObjectToExclusionList");
|
||||
}
|
||||
|
||||
void NWNX_Area_RemoveObjectFromExclusionList(object oObject)
|
||||
{
|
||||
string sFunc = "RemoveObjectFromExclusionList";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Area, "RemoveObjectFromExclusionList");
|
||||
}
|
||||
|
||||
int NWNX_Area_ExportGIT(object oArea, string sFileName = "", int bExportVarTable = TRUE, int bExportUUID = TRUE, int nObjectFilter = 0, string sAlias = "NWNX")
|
||||
{
|
||||
string sFunc = "ExportGIT";
|
||||
|
||||
NWNX_PushArgumentString(sAlias);
|
||||
NWNX_PushArgumentInt(nObjectFilter);
|
||||
NWNX_PushArgumentInt(bExportUUID);
|
||||
NWNX_PushArgumentInt(bExportVarTable);
|
||||
NWNX_PushArgumentString(sFileName);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sAlias);
|
||||
NWNXPushInt(nObjectFilter);
|
||||
NWNXPushInt(bExportUUID);
|
||||
NWNXPushInt(bExportVarTable);
|
||||
NWNXPushString(sFileName);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "ExportGIT");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
struct NWNX_Area_TileInfo NWNX_Area_GetTileInfo(object oArea, float fTileX, float fTileY)
|
||||
{
|
||||
string sFunc = "GetTileInfo";
|
||||
|
||||
NWNX_PushArgumentFloat(fTileY);
|
||||
NWNX_PushArgumentFloat(fTileX);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
NWNXPushFloat(fTileY);
|
||||
NWNXPushFloat(fTileX);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetTileInfo");
|
||||
struct NWNX_Area_TileInfo str;
|
||||
|
||||
str.nGridY = NWNX_GetReturnValueInt();
|
||||
str.nGridX = NWNX_GetReturnValueInt();
|
||||
str.nOrientation = NWNX_GetReturnValueInt();
|
||||
str.nHeight = NWNX_GetReturnValueInt();
|
||||
str.nID = NWNX_GetReturnValueInt();
|
||||
|
||||
str.nGridY = NWNXPopInt();
|
||||
str.nGridX = NWNXPopInt();
|
||||
str.nOrientation = NWNXPopInt();
|
||||
str.nHeight = NWNXPopInt();
|
||||
str.nID = NWNXPopInt();
|
||||
return str;
|
||||
}
|
||||
|
||||
int NWNX_Area_ExportARE(object oArea, string sFileName, string sNewName = "", string sNewTag = "", string sAlias = "NWNX")
|
||||
{
|
||||
string sFunc = "ExportARE";
|
||||
|
||||
NWNX_PushArgumentString(sAlias);
|
||||
NWNX_PushArgumentString(sNewTag);
|
||||
NWNX_PushArgumentString(sNewName);
|
||||
NWNX_PushArgumentString(sFileName);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sAlias);
|
||||
NWNXPushString(sNewTag);
|
||||
NWNXPushString(sNewName);
|
||||
NWNXPushString(sFileName);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "ExportARE");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Area_GetAmbientSoundDay(object oArea)
|
||||
{
|
||||
string sFunc = "GetAmbientSoundDay";
|
||||
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetAmbientSoundDay");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Area_GetAmbientSoundNight(object oArea)
|
||||
{
|
||||
string sFunc = "GetAmbientSoundNight";
|
||||
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetAmbientSoundNight");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Area_GetAmbientSoundDayVolume(object oArea)
|
||||
{
|
||||
string sFunc = "GetAmbientSoundDayVolume";
|
||||
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetAmbientSoundDayVolume");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Area_GetAmbientSoundNightVolume(object oArea)
|
||||
{
|
||||
string sFunc = "GetAmbientSoundNightVolume";
|
||||
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetAmbientSoundNightVolume");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
object NWNX_Area_CreateSoundObject(object oArea, vector vPosition, string sResRef)
|
||||
{
|
||||
string sFunc = "CreateSoundObject";
|
||||
|
||||
NWNX_PushArgumentString(sResRef);
|
||||
NWNX_PushArgumentFloat(vPosition.z);
|
||||
NWNX_PushArgumentFloat(vPosition.y);
|
||||
NWNX_PushArgumentFloat(vPosition.x);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushString(sResRef);
|
||||
NWNXPushVector(vPosition);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "CreateSoundObject");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
void NWNX_Area_RotateArea(object oArea, int nRotation)
|
||||
{
|
||||
string sFunc = "RotateArea";
|
||||
|
||||
NWNX_PushArgumentInt(nRotation);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(nRotation);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "RotateArea");
|
||||
}
|
||||
|
||||
struct NWNX_Area_TileInfo NWNX_Area_GetTileInfoByTileIndex(object oArea, int nIndex)
|
||||
{
|
||||
string sFunc = "GetTileInfoByTileIndex";
|
||||
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetTileInfoByTileIndex");
|
||||
struct NWNX_Area_TileInfo str;
|
||||
|
||||
str.nGridY = NWNX_GetReturnValueInt();
|
||||
str.nGridX = NWNX_GetReturnValueInt();
|
||||
str.nOrientation = NWNX_GetReturnValueInt();
|
||||
str.nHeight = NWNX_GetReturnValueInt();
|
||||
str.nID = NWNX_GetReturnValueInt();
|
||||
|
||||
str.nGridY = NWNXPopInt();
|
||||
str.nGridX = NWNXPopInt();
|
||||
str.nOrientation = NWNXPopInt();
|
||||
str.nHeight = NWNXPopInt();
|
||||
str.nID = NWNXPopInt();
|
||||
return str;
|
||||
}
|
||||
|
||||
int NWNX_Area_GetPathExists(object oArea, vector vStartPosition, vector vEndPosition, int nMaxDepth)
|
||||
{
|
||||
string sFunc = "GetPathExists";
|
||||
|
||||
NWNX_PushArgumentInt(nMaxDepth);
|
||||
NWNX_PushArgumentFloat(vEndPosition.y);
|
||||
NWNX_PushArgumentFloat(vEndPosition.x);
|
||||
NWNX_PushArgumentFloat(vStartPosition.y);
|
||||
NWNX_PushArgumentFloat(vStartPosition.x);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nMaxDepth);
|
||||
NWNXPushVector(vEndPosition);
|
||||
NWNXPushVector(vStartPosition);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetPathExists");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Area_GetAreaFlags(object oArea)
|
||||
{
|
||||
string sFunc = "GetAreaFlags";
|
||||
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetAreaFlags");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Area_SetAreaFlags(object oArea, int nFlags)
|
||||
{
|
||||
string sFunc = "SetAreaFlags";
|
||||
|
||||
NWNX_PushArgumentInt(nFlags);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(nFlags);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "SetAreaFlags");
|
||||
}
|
||||
|
||||
struct NWNX_Area_AreaWind NWNX_Area_GetAreaWind(object oArea)
|
||||
{
|
||||
string sFunc = "GetAreaWind";
|
||||
struct NWNX_Area_AreaWind data;
|
||||
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
|
||||
data.fPitch = NWNX_GetReturnValueFloat();
|
||||
data.fYaw = NWNX_GetReturnValueFloat();
|
||||
data.fMagnitude = NWNX_GetReturnValueFloat();
|
||||
data.vDirection.x = NWNX_GetReturnValueFloat();
|
||||
data.vDirection.y = NWNX_GetReturnValueFloat();
|
||||
data.vDirection.z = NWNX_GetReturnValueFloat();
|
||||
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "GetAreaWind");
|
||||
data.fPitch = NWNXPopFloat();
|
||||
data.fYaw = NWNXPopFloat();
|
||||
data.fMagnitude = NWNXPopFloat();
|
||||
data.vDirection = NWNXPopVector();
|
||||
return data;
|
||||
}
|
||||
|
||||
void NWNX_Area_SetDefaultObjectUiDiscoveryMask(object oArea, int nObjectTypes, int nMask, int bForceUpdate = FALSE)
|
||||
{
|
||||
string sFunc = "SetDefaultObjectUiDiscoveryMask";
|
||||
|
||||
NWNX_PushArgumentInt(bForceUpdate);
|
||||
NWNX_PushArgumentInt(nMask);
|
||||
NWNX_PushArgumentInt(nObjectTypes);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_Area, sFunc);
|
||||
NWNXPushInt(bForceUpdate);
|
||||
NWNXPushInt(nMask);
|
||||
NWNXPushInt(nObjectTypes);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_Area, "SetDefaultObjectUiDiscoveryMask");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions related to chat.
|
||||
/// @{
|
||||
/// @file nwnx_chat.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Chat = "NWNX_Chat"; ///< @private
|
||||
|
||||
@@ -80,79 +79,61 @@ float NWNX_Chat_GetChatHearingDistance(object listener = OBJECT_INVALID, int cha
|
||||
|
||||
int NWNX_Chat_SendMessage(int channel, string message, object sender = OBJECT_SELF, object target = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "SendMessage";
|
||||
|
||||
NWNX_PushArgumentObject(target);
|
||||
NWNX_PushArgumentObject(sender);
|
||||
NWNX_PushArgumentString(message);
|
||||
NWNX_PushArgumentInt(channel);
|
||||
NWNX_CallFunction(NWNX_Chat, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(target);
|
||||
NWNXPushObject(sender);
|
||||
NWNXPushString(message);
|
||||
NWNXPushInt(channel);
|
||||
NWNXCall(NWNX_Chat, "SendMessage");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Chat_RegisterChatScript(string script)
|
||||
{
|
||||
string sFunc = "RegisterChatScript";
|
||||
|
||||
NWNX_PushArgumentString(script);
|
||||
NWNX_CallFunction(NWNX_Chat, sFunc);
|
||||
NWNXPushString(script);
|
||||
NWNXCall(NWNX_Chat, "RegisterChatScript");
|
||||
}
|
||||
|
||||
void NWNX_Chat_SkipMessage()
|
||||
{
|
||||
string sFunc = "SkipMessage";
|
||||
|
||||
NWNX_CallFunction(NWNX_Chat, sFunc);
|
||||
NWNXCall(NWNX_Chat, "SkipMessage");
|
||||
}
|
||||
|
||||
int NWNX_Chat_GetChannel()
|
||||
{
|
||||
string sFunc = "GetChannel";
|
||||
|
||||
NWNX_CallFunction(NWNX_Chat, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Chat, "GetChannel");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
string NWNX_Chat_GetMessage()
|
||||
{
|
||||
string sFunc = "GetMessage";
|
||||
|
||||
NWNX_CallFunction(NWNX_Chat, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Chat, "GetMessage");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
object NWNX_Chat_GetSender()
|
||||
{
|
||||
string sFunc = "GetSender";
|
||||
|
||||
NWNX_CallFunction(NWNX_Chat, sFunc);
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXCall(NWNX_Chat, "GetSender");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
object NWNX_Chat_GetTarget()
|
||||
{
|
||||
string sFunc = "GetTarget";
|
||||
|
||||
NWNX_CallFunction(NWNX_Chat, sFunc);
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXCall(NWNX_Chat, "GetTarget");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
void NWNX_Chat_SetChatHearingDistance(float distance, object listener = OBJECT_INVALID, int channel = NWNX_CHAT_CHANNEL_PLAYER_TALK)
|
||||
{
|
||||
string sFunc = "SetChatHearingDistance";
|
||||
|
||||
NWNX_PushArgumentInt(channel);
|
||||
NWNX_PushArgumentObject(listener);
|
||||
NWNX_PushArgumentFloat(distance);
|
||||
NWNX_CallFunction(NWNX_Chat, sFunc);
|
||||
NWNXPushInt(channel);
|
||||
NWNXPushObject(listener);
|
||||
NWNXPushFloat(distance);
|
||||
NWNXCall(NWNX_Chat, "SetChatHearingDistance");
|
||||
}
|
||||
|
||||
float NWNX_Chat_GetChatHearingDistance(object listener = OBJECT_INVALID, int channel = NWNX_CHAT_CHANNEL_PLAYER_TALK)
|
||||
{
|
||||
string sFunc = "GetChatHearingDistance";
|
||||
|
||||
NWNX_PushArgumentInt(channel);
|
||||
NWNX_PushArgumentObject(listener);
|
||||
NWNX_CallFunction(NWNX_Chat, sFunc);
|
||||
return NWNX_GetReturnValueFloat();
|
||||
NWNXPushInt(channel);
|
||||
NWNXPushObject(listener);
|
||||
NWNXCall(NWNX_Chat, "GetChatHearingDistance");
|
||||
return NWNXPopFloat();
|
||||
}
|
||||
|
21
_module/nss/nwnx_core.nss
Normal file
21
_module/nss/nwnx_core.nss
Normal file
@@ -0,0 +1,21 @@
|
||||
/// @addtogroup nwnx NWNX
|
||||
/// @brief Core NWNX Functions.
|
||||
/// @{
|
||||
/// @file nwnx_core.nss
|
||||
|
||||
const string NWNX_Core = "NWNX_Core"; ///< @private
|
||||
|
||||
/// @brief Determines if the given plugin exists and is enabled.
|
||||
/// @param sPlugin The name of the plugin to check. This is the case sensitive plugin name as used by NWNXCall
|
||||
/// @note Example usage: NWNX_PluginExists("NWNX_Creature");
|
||||
/// @return TRUE if the plugin exists and is enabled, otherwise FALSE.
|
||||
int NWNX_Core_PluginExists(string sPlugin);
|
||||
|
||||
/// @}
|
||||
|
||||
int NWNX_Core_PluginExists(string sPlugin)
|
||||
{
|
||||
NWNXPushString(sPlugin);
|
||||
NWNXCall(NWNX_Core, "PluginExists");
|
||||
return NWNXPopInt();
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,6 @@
|
||||
/// @brief Run a script before damage and attack events allowing for modification. Includes function to arbitrarily apply damage.
|
||||
/// @{
|
||||
/// @file nwnx_damage.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Damage = "NWNX_Damage"; ///< @private
|
||||
|
||||
@@ -174,245 +173,223 @@ void NWNX_Damage_DealDamage(struct NWNX_Damage_DamageData data, object oTarget,
|
||||
|
||||
void NWNX_Damage_SetDamageEventScript(string sScript, object oOwner=OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "SetEventScript";
|
||||
|
||||
NWNX_PushArgumentObject(oOwner);
|
||||
NWNX_PushArgumentString(sScript);
|
||||
NWNX_PushArgumentString("DAMAGE");
|
||||
|
||||
NWNX_CallFunction(NWNX_Damage, sFunc);
|
||||
NWNXPushObject(oOwner);
|
||||
NWNXPushString(sScript);
|
||||
NWNXPushString("DAMAGE");
|
||||
NWNXCall(NWNX_Damage, "SetEventScript");
|
||||
}
|
||||
|
||||
struct NWNX_Damage_DamageEventData NWNX_Damage_GetDamageEventData()
|
||||
{
|
||||
string sFunc = "GetDamageEventData";
|
||||
struct NWNX_Damage_DamageEventData data;
|
||||
|
||||
NWNX_CallFunction(NWNX_Damage, sFunc);
|
||||
|
||||
data.oDamager = NWNX_GetReturnValueObject();
|
||||
data.iBludgeoning = NWNX_GetReturnValueInt();
|
||||
data.iPierce = NWNX_GetReturnValueInt();
|
||||
data.iSlash = NWNX_GetReturnValueInt();
|
||||
data.iMagical = NWNX_GetReturnValueInt();
|
||||
data.iAcid = NWNX_GetReturnValueInt();
|
||||
data.iCold = NWNX_GetReturnValueInt();
|
||||
data.iDivine = NWNX_GetReturnValueInt();
|
||||
data.iElectrical = NWNX_GetReturnValueInt();
|
||||
data.iFire = NWNX_GetReturnValueInt();
|
||||
data.iNegative = NWNX_GetReturnValueInt();
|
||||
data.iPositive = NWNX_GetReturnValueInt();
|
||||
data.iSonic = NWNX_GetReturnValueInt();
|
||||
data.iBase = NWNX_GetReturnValueInt();
|
||||
data.iCustom1 = NWNX_GetReturnValueInt();
|
||||
data.iCustom2 = NWNX_GetReturnValueInt();
|
||||
data.iCustom3 = NWNX_GetReturnValueInt();
|
||||
data.iCustom4 = NWNX_GetReturnValueInt();
|
||||
data.iCustom5 = NWNX_GetReturnValueInt();
|
||||
data.iCustom6 = NWNX_GetReturnValueInt();
|
||||
data.iCustom7 = NWNX_GetReturnValueInt();
|
||||
data.iCustom8 = NWNX_GetReturnValueInt();
|
||||
data.iCustom9 = NWNX_GetReturnValueInt();
|
||||
data.iCustom10 = NWNX_GetReturnValueInt();
|
||||
data.iCustom11 = NWNX_GetReturnValueInt();
|
||||
data.iCustom12 = NWNX_GetReturnValueInt();
|
||||
data.iCustom13 = NWNX_GetReturnValueInt();
|
||||
data.iCustom14 = NWNX_GetReturnValueInt();
|
||||
data.iCustom15 = NWNX_GetReturnValueInt();
|
||||
data.iCustom16 = NWNX_GetReturnValueInt();
|
||||
data.iCustom17 = NWNX_GetReturnValueInt();
|
||||
data.iCustom18 = NWNX_GetReturnValueInt();
|
||||
data.iCustom19 = NWNX_GetReturnValueInt();
|
||||
data.iSpellId = NWNX_GetReturnValueInt();
|
||||
|
||||
NWNXCall(NWNX_Damage, "GetDamageEventData");
|
||||
data.oDamager = NWNXPopObject();
|
||||
data.iBludgeoning = NWNXPopInt();
|
||||
data.iPierce = NWNXPopInt();
|
||||
data.iSlash = NWNXPopInt();
|
||||
data.iMagical = NWNXPopInt();
|
||||
data.iAcid = NWNXPopInt();
|
||||
data.iCold = NWNXPopInt();
|
||||
data.iDivine = NWNXPopInt();
|
||||
data.iElectrical = NWNXPopInt();
|
||||
data.iFire = NWNXPopInt();
|
||||
data.iNegative = NWNXPopInt();
|
||||
data.iPositive = NWNXPopInt();
|
||||
data.iSonic = NWNXPopInt();
|
||||
data.iBase = NWNXPopInt();
|
||||
data.iCustom1 = NWNXPopInt();
|
||||
data.iCustom2 = NWNXPopInt();
|
||||
data.iCustom3 = NWNXPopInt();
|
||||
data.iCustom4 = NWNXPopInt();
|
||||
data.iCustom5 = NWNXPopInt();
|
||||
data.iCustom6 = NWNXPopInt();
|
||||
data.iCustom7 = NWNXPopInt();
|
||||
data.iCustom8 = NWNXPopInt();
|
||||
data.iCustom9 = NWNXPopInt();
|
||||
data.iCustom10 = NWNXPopInt();
|
||||
data.iCustom11 = NWNXPopInt();
|
||||
data.iCustom12 = NWNXPopInt();
|
||||
data.iCustom13 = NWNXPopInt();
|
||||
data.iCustom14 = NWNXPopInt();
|
||||
data.iCustom15 = NWNXPopInt();
|
||||
data.iCustom16 = NWNXPopInt();
|
||||
data.iCustom17 = NWNXPopInt();
|
||||
data.iCustom18 = NWNXPopInt();
|
||||
data.iCustom19 = NWNXPopInt();
|
||||
data.iSpellId = NWNXPopInt();
|
||||
return data;
|
||||
}
|
||||
|
||||
void NWNX_Damage_SetDamageEventData(struct NWNX_Damage_DamageEventData data)
|
||||
{
|
||||
string sFunc = "SetDamageEventData";
|
||||
NWNXPushInt(data.iCustom19);
|
||||
NWNXPushInt(data.iCustom18);
|
||||
NWNXPushInt(data.iCustom17);
|
||||
NWNXPushInt(data.iCustom16);
|
||||
NWNXPushInt(data.iCustom15);
|
||||
NWNXPushInt(data.iCustom14);
|
||||
NWNXPushInt(data.iCustom13);
|
||||
NWNXPushInt(data.iCustom12);
|
||||
NWNXPushInt(data.iCustom11);
|
||||
NWNXPushInt(data.iCustom10);
|
||||
NWNXPushInt(data.iCustom9);
|
||||
NWNXPushInt(data.iCustom8);
|
||||
NWNXPushInt(data.iCustom7);
|
||||
NWNXPushInt(data.iCustom6);
|
||||
NWNXPushInt(data.iCustom5);
|
||||
NWNXPushInt(data.iCustom4);
|
||||
NWNXPushInt(data.iCustom3);
|
||||
NWNXPushInt(data.iCustom2);
|
||||
NWNXPushInt(data.iCustom1);
|
||||
NWNXPushInt(data.iBase);
|
||||
NWNXPushInt(data.iSonic);
|
||||
NWNXPushInt(data.iPositive);
|
||||
NWNXPushInt(data.iNegative);
|
||||
NWNXPushInt(data.iFire);
|
||||
NWNXPushInt(data.iElectrical);
|
||||
NWNXPushInt(data.iDivine);
|
||||
NWNXPushInt(data.iCold);
|
||||
NWNXPushInt(data.iAcid);
|
||||
NWNXPushInt(data.iMagical);
|
||||
NWNXPushInt(data.iSlash);
|
||||
NWNXPushInt(data.iPierce);
|
||||
NWNXPushInt(data.iBludgeoning);
|
||||
|
||||
NWNX_PushArgumentInt(data.iCustom19);
|
||||
NWNX_PushArgumentInt(data.iCustom18);
|
||||
NWNX_PushArgumentInt(data.iCustom17);
|
||||
NWNX_PushArgumentInt(data.iCustom16);
|
||||
NWNX_PushArgumentInt(data.iCustom15);
|
||||
NWNX_PushArgumentInt(data.iCustom14);
|
||||
NWNX_PushArgumentInt(data.iCustom13);
|
||||
NWNX_PushArgumentInt(data.iCustom12);
|
||||
NWNX_PushArgumentInt(data.iCustom11);
|
||||
NWNX_PushArgumentInt(data.iCustom10);
|
||||
NWNX_PushArgumentInt(data.iCustom9);
|
||||
NWNX_PushArgumentInt(data.iCustom8);
|
||||
NWNX_PushArgumentInt(data.iCustom7);
|
||||
NWNX_PushArgumentInt(data.iCustom6);
|
||||
NWNX_PushArgumentInt(data.iCustom5);
|
||||
NWNX_PushArgumentInt(data.iCustom4);
|
||||
NWNX_PushArgumentInt(data.iCustom3);
|
||||
NWNX_PushArgumentInt(data.iCustom2);
|
||||
NWNX_PushArgumentInt(data.iCustom1);
|
||||
NWNX_PushArgumentInt(data.iBase);
|
||||
NWNX_PushArgumentInt(data.iSonic);
|
||||
NWNX_PushArgumentInt(data.iPositive);
|
||||
NWNX_PushArgumentInt(data.iNegative);
|
||||
NWNX_PushArgumentInt(data.iFire);
|
||||
NWNX_PushArgumentInt(data.iElectrical);
|
||||
NWNX_PushArgumentInt(data.iDivine);
|
||||
NWNX_PushArgumentInt(data.iCold);
|
||||
NWNX_PushArgumentInt(data.iAcid);
|
||||
NWNX_PushArgumentInt(data.iMagical);
|
||||
NWNX_PushArgumentInt(data.iSlash);
|
||||
NWNX_PushArgumentInt(data.iPierce);
|
||||
NWNX_PushArgumentInt(data.iBludgeoning);
|
||||
|
||||
NWNX_CallFunction(NWNX_Damage, sFunc);
|
||||
NWNXCall(NWNX_Damage, "SetDamageEventData");
|
||||
}
|
||||
|
||||
void NWNX_Damage_SetAttackEventScript(string sScript, object oOwner=OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "SetEventScript";
|
||||
|
||||
NWNX_PushArgumentObject(oOwner);
|
||||
NWNX_PushArgumentString(sScript);
|
||||
NWNX_PushArgumentString("ATTACK");
|
||||
|
||||
NWNX_CallFunction(NWNX_Damage, sFunc);
|
||||
NWNXPushObject(oOwner);
|
||||
NWNXPushString(sScript);
|
||||
NWNXPushString("ATTACK");
|
||||
NWNXCall(NWNX_Damage, "SetEventScript");
|
||||
}
|
||||
|
||||
struct NWNX_Damage_AttackEventData NWNX_Damage_GetAttackEventData()
|
||||
{
|
||||
string sFunc = "GetAttackEventData";
|
||||
struct NWNX_Damage_AttackEventData data;
|
||||
|
||||
NWNX_CallFunction(NWNX_Damage, sFunc);
|
||||
|
||||
data.oTarget = NWNX_GetReturnValueObject();
|
||||
data.iBludgeoning = NWNX_GetReturnValueInt();
|
||||
data.iPierce = NWNX_GetReturnValueInt();
|
||||
data.iSlash = NWNX_GetReturnValueInt();
|
||||
data.iMagical = NWNX_GetReturnValueInt();
|
||||
data.iAcid = NWNX_GetReturnValueInt();
|
||||
data.iCold = NWNX_GetReturnValueInt();
|
||||
data.iDivine = NWNX_GetReturnValueInt();
|
||||
data.iElectrical = NWNX_GetReturnValueInt();
|
||||
data.iFire = NWNX_GetReturnValueInt();
|
||||
data.iNegative = NWNX_GetReturnValueInt();
|
||||
data.iPositive = NWNX_GetReturnValueInt();
|
||||
data.iSonic = NWNX_GetReturnValueInt();
|
||||
data.iBase = NWNX_GetReturnValueInt();
|
||||
data.iCustom1 = NWNX_GetReturnValueInt();
|
||||
data.iCustom2 = NWNX_GetReturnValueInt();
|
||||
data.iCustom3 = NWNX_GetReturnValueInt();
|
||||
data.iCustom4 = NWNX_GetReturnValueInt();
|
||||
data.iCustom5 = NWNX_GetReturnValueInt();
|
||||
data.iCustom6 = NWNX_GetReturnValueInt();
|
||||
data.iCustom7 = NWNX_GetReturnValueInt();
|
||||
data.iCustom8 = NWNX_GetReturnValueInt();
|
||||
data.iCustom9 = NWNX_GetReturnValueInt();
|
||||
data.iCustom10 = NWNX_GetReturnValueInt();
|
||||
data.iCustom11 = NWNX_GetReturnValueInt();
|
||||
data.iCustom12 = NWNX_GetReturnValueInt();
|
||||
data.iCustom13 = NWNX_GetReturnValueInt();
|
||||
data.iCustom14 = NWNX_GetReturnValueInt();
|
||||
data.iCustom15 = NWNX_GetReturnValueInt();
|
||||
data.iCustom16 = NWNX_GetReturnValueInt();
|
||||
data.iCustom17 = NWNX_GetReturnValueInt();
|
||||
data.iCustom18 = NWNX_GetReturnValueInt();
|
||||
data.iCustom19 = NWNX_GetReturnValueInt();
|
||||
data.iAttackNumber = NWNX_GetReturnValueInt();
|
||||
data.iAttackResult = NWNX_GetReturnValueInt();
|
||||
data.iWeaponAttackType = NWNX_GetReturnValueInt();
|
||||
data.iSneakAttack = NWNX_GetReturnValueInt();
|
||||
data.bKillingBlow = NWNX_GetReturnValueInt();
|
||||
data.iAttackType = NWNX_GetReturnValueInt();
|
||||
data.iToHitRoll = NWNX_GetReturnValueInt();
|
||||
data.iToHitModifier = NWNX_GetReturnValueInt();
|
||||
|
||||
NWNXCall(NWNX_Damage, "GetAttackEventData");
|
||||
data.oTarget = NWNXPopObject();
|
||||
data.iBludgeoning = NWNXPopInt();
|
||||
data.iPierce = NWNXPopInt();
|
||||
data.iSlash = NWNXPopInt();
|
||||
data.iMagical = NWNXPopInt();
|
||||
data.iAcid = NWNXPopInt();
|
||||
data.iCold = NWNXPopInt();
|
||||
data.iDivine = NWNXPopInt();
|
||||
data.iElectrical = NWNXPopInt();
|
||||
data.iFire = NWNXPopInt();
|
||||
data.iNegative = NWNXPopInt();
|
||||
data.iPositive = NWNXPopInt();
|
||||
data.iSonic = NWNXPopInt();
|
||||
data.iBase = NWNXPopInt();
|
||||
data.iCustom1 = NWNXPopInt();
|
||||
data.iCustom2 = NWNXPopInt();
|
||||
data.iCustom3 = NWNXPopInt();
|
||||
data.iCustom4 = NWNXPopInt();
|
||||
data.iCustom5 = NWNXPopInt();
|
||||
data.iCustom6 = NWNXPopInt();
|
||||
data.iCustom7 = NWNXPopInt();
|
||||
data.iCustom8 = NWNXPopInt();
|
||||
data.iCustom9 = NWNXPopInt();
|
||||
data.iCustom10 = NWNXPopInt();
|
||||
data.iCustom11 = NWNXPopInt();
|
||||
data.iCustom12 = NWNXPopInt();
|
||||
data.iCustom13 = NWNXPopInt();
|
||||
data.iCustom14 = NWNXPopInt();
|
||||
data.iCustom15 = NWNXPopInt();
|
||||
data.iCustom16 = NWNXPopInt();
|
||||
data.iCustom17 = NWNXPopInt();
|
||||
data.iCustom18 = NWNXPopInt();
|
||||
data.iCustom19 = NWNXPopInt();
|
||||
data.iAttackNumber = NWNXPopInt();
|
||||
data.iAttackResult = NWNXPopInt();
|
||||
data.iWeaponAttackType = NWNXPopInt();
|
||||
data.iSneakAttack = NWNXPopInt();
|
||||
data.bKillingBlow = NWNXPopInt();
|
||||
data.iAttackType = NWNXPopInt();
|
||||
data.iToHitRoll = NWNXPopInt();
|
||||
data.iToHitModifier = NWNXPopInt();
|
||||
return data;
|
||||
}
|
||||
|
||||
void NWNX_Damage_SetAttackEventData(struct NWNX_Damage_AttackEventData data)
|
||||
{
|
||||
string sFunc = "SetAttackEventData";
|
||||
|
||||
NWNX_PushArgumentInt(data.iSneakAttack);
|
||||
NWNX_PushArgumentInt(data.iAttackResult);
|
||||
NWNX_PushArgumentInt(data.iCustom19);
|
||||
NWNX_PushArgumentInt(data.iCustom18);
|
||||
NWNX_PushArgumentInt(data.iCustom17);
|
||||
NWNX_PushArgumentInt(data.iCustom16);
|
||||
NWNX_PushArgumentInt(data.iCustom15);
|
||||
NWNX_PushArgumentInt(data.iCustom14);
|
||||
NWNX_PushArgumentInt(data.iCustom13);
|
||||
NWNX_PushArgumentInt(data.iCustom12);
|
||||
NWNX_PushArgumentInt(data.iCustom11);
|
||||
NWNX_PushArgumentInt(data.iCustom10);
|
||||
NWNX_PushArgumentInt(data.iCustom9);
|
||||
NWNX_PushArgumentInt(data.iCustom8);
|
||||
NWNX_PushArgumentInt(data.iCustom7);
|
||||
NWNX_PushArgumentInt(data.iCustom6);
|
||||
NWNX_PushArgumentInt(data.iCustom5);
|
||||
NWNX_PushArgumentInt(data.iCustom4);
|
||||
NWNX_PushArgumentInt(data.iCustom3);
|
||||
NWNX_PushArgumentInt(data.iCustom2);
|
||||
NWNX_PushArgumentInt(data.iCustom1);
|
||||
NWNX_PushArgumentInt(data.iBase);
|
||||
NWNX_PushArgumentInt(data.iSonic);
|
||||
NWNX_PushArgumentInt(data.iPositive);
|
||||
NWNX_PushArgumentInt(data.iNegative);
|
||||
NWNX_PushArgumentInt(data.iFire);
|
||||
NWNX_PushArgumentInt(data.iElectrical);
|
||||
NWNX_PushArgumentInt(data.iDivine);
|
||||
NWNX_PushArgumentInt(data.iCold);
|
||||
NWNX_PushArgumentInt(data.iAcid);
|
||||
NWNX_PushArgumentInt(data.iMagical);
|
||||
NWNX_PushArgumentInt(data.iSlash);
|
||||
NWNX_PushArgumentInt(data.iPierce);
|
||||
NWNX_PushArgumentInt(data.iBludgeoning);
|
||||
|
||||
NWNX_CallFunction(NWNX_Damage, sFunc);
|
||||
NWNXPushInt(data.iSneakAttack);
|
||||
NWNXPushInt(data.iAttackResult);
|
||||
NWNXPushInt(data.iCustom19);
|
||||
NWNXPushInt(data.iCustom18);
|
||||
NWNXPushInt(data.iCustom17);
|
||||
NWNXPushInt(data.iCustom16);
|
||||
NWNXPushInt(data.iCustom15);
|
||||
NWNXPushInt(data.iCustom14);
|
||||
NWNXPushInt(data.iCustom13);
|
||||
NWNXPushInt(data.iCustom12);
|
||||
NWNXPushInt(data.iCustom11);
|
||||
NWNXPushInt(data.iCustom10);
|
||||
NWNXPushInt(data.iCustom9);
|
||||
NWNXPushInt(data.iCustom8);
|
||||
NWNXPushInt(data.iCustom7);
|
||||
NWNXPushInt(data.iCustom6);
|
||||
NWNXPushInt(data.iCustom5);
|
||||
NWNXPushInt(data.iCustom4);
|
||||
NWNXPushInt(data.iCustom3);
|
||||
NWNXPushInt(data.iCustom2);
|
||||
NWNXPushInt(data.iCustom1);
|
||||
NWNXPushInt(data.iBase);
|
||||
NWNXPushInt(data.iSonic);
|
||||
NWNXPushInt(data.iPositive);
|
||||
NWNXPushInt(data.iNegative);
|
||||
NWNXPushInt(data.iFire);
|
||||
NWNXPushInt(data.iElectrical);
|
||||
NWNXPushInt(data.iDivine);
|
||||
NWNXPushInt(data.iCold);
|
||||
NWNXPushInt(data.iAcid);
|
||||
NWNXPushInt(data.iMagical);
|
||||
NWNXPushInt(data.iSlash);
|
||||
NWNXPushInt(data.iPierce);
|
||||
NWNXPushInt(data.iBludgeoning);
|
||||
NWNXCall(NWNX_Damage, "SetAttackEventData");
|
||||
}
|
||||
|
||||
void NWNX_Damage_DealDamage(struct NWNX_Damage_DamageData data, object oTarget, object oSource, int iRanged = FALSE)
|
||||
{
|
||||
string sFunc = "DealDamage";
|
||||
|
||||
NWNX_PushArgumentInt(iRanged);
|
||||
NWNX_PushArgumentInt(data.iPower);
|
||||
NWNX_PushArgumentInt(data.iCustom19);
|
||||
NWNX_PushArgumentInt(data.iCustom18);
|
||||
NWNX_PushArgumentInt(data.iCustom17);
|
||||
NWNX_PushArgumentInt(data.iCustom16);
|
||||
NWNX_PushArgumentInt(data.iCustom15);
|
||||
NWNX_PushArgumentInt(data.iCustom14);
|
||||
NWNX_PushArgumentInt(data.iCustom13);
|
||||
NWNX_PushArgumentInt(data.iCustom12);
|
||||
NWNX_PushArgumentInt(data.iCustom11);
|
||||
NWNX_PushArgumentInt(data.iCustom10);
|
||||
NWNX_PushArgumentInt(data.iCustom9);
|
||||
NWNX_PushArgumentInt(data.iCustom8);
|
||||
NWNX_PushArgumentInt(data.iCustom7);
|
||||
NWNX_PushArgumentInt(data.iCustom6);
|
||||
NWNX_PushArgumentInt(data.iCustom5);
|
||||
NWNX_PushArgumentInt(data.iCustom4);
|
||||
NWNX_PushArgumentInt(data.iCustom3);
|
||||
NWNX_PushArgumentInt(data.iCustom2);
|
||||
NWNX_PushArgumentInt(data.iCustom1);
|
||||
NWNX_PushArgumentInt(0);// Padding for Base Damage
|
||||
NWNX_PushArgumentInt(data.iSonic);
|
||||
NWNX_PushArgumentInt(data.iPositive);
|
||||
NWNX_PushArgumentInt(data.iNegative);
|
||||
NWNX_PushArgumentInt(data.iFire);
|
||||
NWNX_PushArgumentInt(data.iElectrical);
|
||||
NWNX_PushArgumentInt(data.iDivine);
|
||||
NWNX_PushArgumentInt(data.iCold);
|
||||
NWNX_PushArgumentInt(data.iAcid);
|
||||
NWNX_PushArgumentInt(data.iMagical);
|
||||
NWNX_PushArgumentInt(data.iSlash);
|
||||
NWNX_PushArgumentInt(data.iPierce);
|
||||
NWNX_PushArgumentInt(data.iBludgeoning);
|
||||
NWNX_PushArgumentObject(oTarget);
|
||||
NWNX_PushArgumentObject(oSource);
|
||||
|
||||
NWNX_CallFunction(NWNX_Damage, sFunc);
|
||||
NWNXPushInt(iRanged);
|
||||
NWNXPushInt(data.iPower);
|
||||
NWNXPushInt(data.iCustom19);
|
||||
NWNXPushInt(data.iCustom18);
|
||||
NWNXPushInt(data.iCustom17);
|
||||
NWNXPushInt(data.iCustom16);
|
||||
NWNXPushInt(data.iCustom15);
|
||||
NWNXPushInt(data.iCustom14);
|
||||
NWNXPushInt(data.iCustom13);
|
||||
NWNXPushInt(data.iCustom12);
|
||||
NWNXPushInt(data.iCustom11);
|
||||
NWNXPushInt(data.iCustom10);
|
||||
NWNXPushInt(data.iCustom9);
|
||||
NWNXPushInt(data.iCustom8);
|
||||
NWNXPushInt(data.iCustom7);
|
||||
NWNXPushInt(data.iCustom6);
|
||||
NWNXPushInt(data.iCustom5);
|
||||
NWNXPushInt(data.iCustom4);
|
||||
NWNXPushInt(data.iCustom3);
|
||||
NWNXPushInt(data.iCustom2);
|
||||
NWNXPushInt(data.iCustom1);
|
||||
NWNXPushInt(0);// Padding for Base Damage
|
||||
NWNXPushInt(data.iSonic);
|
||||
NWNXPushInt(data.iPositive);
|
||||
NWNXPushInt(data.iNegative);
|
||||
NWNXPushInt(data.iFire);
|
||||
NWNXPushInt(data.iElectrical);
|
||||
NWNXPushInt(data.iDivine);
|
||||
NWNXPushInt(data.iCold);
|
||||
NWNXPushInt(data.iAcid);
|
||||
NWNXPushInt(data.iMagical);
|
||||
NWNXPushInt(data.iSlash);
|
||||
NWNXPushInt(data.iPierce);
|
||||
NWNXPushInt(data.iBludgeoning);
|
||||
NWNXPushObject(oTarget);
|
||||
NWNXPushObject(oSource);
|
||||
NWNXCall(NWNX_Damage, "DealDamage");
|
||||
}
|
||||
|
@@ -3,8 +3,6 @@
|
||||
/// @{
|
||||
/// @file nwnx_dialog.nss
|
||||
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Dialog = "NWNX_Dialog"; ///< @private
|
||||
|
||||
/// @name Dialog Node Types
|
||||
@@ -80,60 +78,46 @@ void NWNX_Dialog_End(object oObject);
|
||||
|
||||
int NWNX_Dialog_GetCurrentNodeType()
|
||||
{
|
||||
string sFunc = "GetCurrentNodeType";
|
||||
|
||||
NWNX_CallFunction(NWNX_Dialog, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Dialog, "GetCurrentNodeType");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Dialog_GetCurrentScriptType()
|
||||
{
|
||||
string sFunc = "GetCurrentScriptType";
|
||||
|
||||
NWNX_CallFunction(NWNX_Dialog, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Dialog, "GetCurrentScriptType");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Dialog_GetCurrentNodeID()
|
||||
{
|
||||
string sFunc = "GetCurrentNodeID";
|
||||
|
||||
NWNX_CallFunction(NWNX_Dialog, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Dialog, "GetCurrentNodeID");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Dialog_GetCurrentNodeIndex()
|
||||
{
|
||||
string sFunc = "GetCurrentNodeIndex";
|
||||
|
||||
NWNX_CallFunction(NWNX_Dialog, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Dialog, "GetCurrentNodeIndex");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
string NWNX_Dialog_GetCurrentNodeText(int language=NWNX_DIALOG_LANGUAGE_ENGLISH, int gender=GENDER_MALE)
|
||||
{
|
||||
string sFunc = "GetCurrentNodeText";
|
||||
|
||||
NWNX_PushArgumentInt(gender);
|
||||
NWNX_PushArgumentInt(language);
|
||||
NWNX_CallFunction(NWNX_Dialog, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(gender);
|
||||
NWNXPushInt(language);
|
||||
NWNXCall(NWNX_Dialog, "GetCurrentNodeText");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Dialog_SetCurrentNodeText(string text, int language=NWNX_DIALOG_LANGUAGE_ENGLISH, int gender=GENDER_MALE)
|
||||
{
|
||||
string sFunc = "SetCurrentNodeText";
|
||||
|
||||
NWNX_PushArgumentInt(gender);
|
||||
NWNX_PushArgumentInt(language);
|
||||
NWNX_PushArgumentString(text);
|
||||
NWNX_CallFunction(NWNX_Dialog, sFunc);
|
||||
NWNXPushInt(gender);
|
||||
NWNXPushInt(language);
|
||||
NWNXPushString(text);
|
||||
NWNXCall(NWNX_Dialog, "SetCurrentNodeText");
|
||||
}
|
||||
|
||||
void NWNX_Dialog_End(object oObject)
|
||||
{
|
||||
string sFunc = "End";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Dialog, sFunc);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Dialog, "End");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Utility functions to manipulate the builtin effect type.
|
||||
/// @{
|
||||
/// @file nwnx_effect.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Effect = "NWNX_Effect"; ///< @private
|
||||
|
||||
@@ -143,52 +142,46 @@ effect NWNX_Effect_GetAppliedEffect(object oObject, int nNth);
|
||||
|
||||
/// @}
|
||||
|
||||
struct NWNX_EffectUnpacked __NWNX_Effect_ResolveUnpack(string sFunc, int bLink=TRUE)
|
||||
struct NWNX_EffectUnpacked __NWNX_Effect_ResolveUnpack(int bLink=TRUE)
|
||||
{
|
||||
struct NWNX_EffectUnpacked n;
|
||||
|
||||
n.sItemProp = NWNX_GetReturnValueString();
|
||||
n.sItemProp = NWNXPopString();
|
||||
|
||||
n.sTag = NWNX_GetReturnValueString();
|
||||
n.sTag = NWNXPopString();
|
||||
|
||||
float fZ = NWNX_GetReturnValueFloat();
|
||||
float fY = NWNX_GetReturnValueFloat();
|
||||
float fX = NWNX_GetReturnValueFloat();
|
||||
n.vParam1 = Vector(fX, fY, fZ);
|
||||
fZ = NWNX_GetReturnValueFloat();
|
||||
fY = NWNX_GetReturnValueFloat();
|
||||
fX = NWNX_GetReturnValueFloat();
|
||||
n.vParam0 = Vector(fX, fY, fZ);
|
||||
n.oParam3 = NWNX_GetReturnValueObject();
|
||||
n.oParam2 = NWNX_GetReturnValueObject();
|
||||
n.oParam1 = NWNX_GetReturnValueObject();
|
||||
n.oParam0 = NWNX_GetReturnValueObject();
|
||||
n.sParam5 = NWNX_GetReturnValueString();
|
||||
n.sParam4 = NWNX_GetReturnValueString();
|
||||
n.sParam3 = NWNX_GetReturnValueString();
|
||||
n.sParam2 = NWNX_GetReturnValueString();
|
||||
n.sParam1 = NWNX_GetReturnValueString();
|
||||
n.sParam0 = NWNX_GetReturnValueString();
|
||||
n.fParam3 = NWNX_GetReturnValueFloat();
|
||||
n.fParam2 = NWNX_GetReturnValueFloat();
|
||||
n.fParam1 = NWNX_GetReturnValueFloat();
|
||||
n.fParam0 = NWNX_GetReturnValueFloat();
|
||||
n.nParam7 = NWNX_GetReturnValueInt();
|
||||
n.nParam6 = NWNX_GetReturnValueInt();
|
||||
n.nParam5 = NWNX_GetReturnValueInt();
|
||||
n.nParam4 = NWNX_GetReturnValueInt();
|
||||
n.nParam3 = NWNX_GetReturnValueInt();
|
||||
n.nParam2 = NWNX_GetReturnValueInt();
|
||||
n.nParam1 = NWNX_GetReturnValueInt();
|
||||
n.nParam0 = NWNX_GetReturnValueInt();
|
||||
n.nNumIntegers = NWNX_GetReturnValueInt();
|
||||
n.vParam1 = NWNXPopVector();
|
||||
n.vParam0 = NWNXPopVector();
|
||||
n.oParam3 = NWNXPopObject();
|
||||
n.oParam2 = NWNXPopObject();
|
||||
n.oParam1 = NWNXPopObject();
|
||||
n.oParam0 = NWNXPopObject();
|
||||
n.sParam5 = NWNXPopString();
|
||||
n.sParam4 = NWNXPopString();
|
||||
n.sParam3 = NWNXPopString();
|
||||
n.sParam2 = NWNXPopString();
|
||||
n.sParam1 = NWNXPopString();
|
||||
n.sParam0 = NWNXPopString();
|
||||
n.fParam3 = NWNXPopFloat();
|
||||
n.fParam2 = NWNXPopFloat();
|
||||
n.fParam1 = NWNXPopFloat();
|
||||
n.fParam0 = NWNXPopFloat();
|
||||
n.nParam7 = NWNXPopInt();
|
||||
n.nParam6 = NWNXPopInt();
|
||||
n.nParam5 = NWNXPopInt();
|
||||
n.nParam4 = NWNXPopInt();
|
||||
n.nParam3 = NWNXPopInt();
|
||||
n.nParam2 = NWNXPopInt();
|
||||
n.nParam1 = NWNXPopInt();
|
||||
n.nParam0 = NWNXPopInt();
|
||||
n.nNumIntegers = NWNXPopInt();
|
||||
|
||||
if(bLink)
|
||||
{
|
||||
n.bLinkRightValid = NWNX_GetReturnValueInt();
|
||||
n.eLinkRight = NWNX_GetReturnValueEffect();
|
||||
n.bLinkLeftValid = NWNX_GetReturnValueInt();
|
||||
n.eLinkLeft = NWNX_GetReturnValueEffect();
|
||||
n.bLinkRightValid = NWNXPopInt();
|
||||
n.eLinkRight = NWNXPopEffect();
|
||||
n.bLinkLeftValid = NWNXPopInt();
|
||||
n.eLinkLeft = NWNXPopEffect();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -196,207 +189,166 @@ struct NWNX_EffectUnpacked __NWNX_Effect_ResolveUnpack(string sFunc, int bLink=T
|
||||
n.bLinkLeftValid = FALSE;
|
||||
}
|
||||
|
||||
n.nCasterLevel = NWNX_GetReturnValueInt();
|
||||
n.bShowIcon = NWNX_GetReturnValueInt();
|
||||
n.bExpose = NWNX_GetReturnValueInt();
|
||||
n.nSpellId = NWNX_GetReturnValueInt();
|
||||
n.oCreator = NWNX_GetReturnValueObject();
|
||||
n.nCasterLevel = NWNXPopInt();
|
||||
n.bShowIcon = NWNXPopInt();
|
||||
n.bExpose = NWNXPopInt();
|
||||
n.nSpellId = NWNXPopInt();
|
||||
n.oCreator = NWNXPopObject();
|
||||
|
||||
n.nExpiryTimeOfDay = NWNX_GetReturnValueInt();
|
||||
n.nExpiryCalendarDay = NWNX_GetReturnValueInt();
|
||||
n.fDuration = NWNX_GetReturnValueFloat();
|
||||
n.nExpiryTimeOfDay = NWNXPopInt();
|
||||
n.nExpiryCalendarDay = NWNXPopInt();
|
||||
n.fDuration = NWNXPopFloat();
|
||||
|
||||
n.nSubType = NWNX_GetReturnValueInt();
|
||||
n.nType = NWNX_GetReturnValueInt();
|
||||
n.sID = NWNX_GetReturnValueString();
|
||||
n.nSubType = NWNXPopInt();
|
||||
n.nType = NWNXPopInt();
|
||||
n.sID = NWNXPopString();
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
void __NWNX_Effect_ResolvePack(string sFunc, struct NWNX_EffectUnpacked e, int bReplace=FALSE)
|
||||
void __NWNX_Effect_ResolvePack(struct NWNX_EffectUnpacked e, int bReplace=FALSE)
|
||||
{
|
||||
if(!bReplace)
|
||||
NWNX_PushArgumentInt(e.nType);
|
||||
NWNXPushInt(e.nType);
|
||||
|
||||
NWNX_PushArgumentInt(e.nSubType);
|
||||
NWNXPushInt(e.nSubType);
|
||||
|
||||
NWNX_PushArgumentFloat(e.fDuration);
|
||||
NWNX_PushArgumentInt(e.nExpiryCalendarDay);
|
||||
NWNX_PushArgumentInt(e.nExpiryTimeOfDay);
|
||||
NWNXPushFloat(e.fDuration);
|
||||
NWNXPushInt(e.nExpiryCalendarDay);
|
||||
NWNXPushInt(e.nExpiryTimeOfDay);
|
||||
|
||||
NWNX_PushArgumentObject(e.oCreator);
|
||||
NWNX_PushArgumentInt(e.nSpellId);
|
||||
NWNX_PushArgumentInt(e.bExpose);
|
||||
NWNX_PushArgumentInt(e.bShowIcon);
|
||||
NWNX_PushArgumentInt(e.nCasterLevel);
|
||||
NWNXPushObject(e.oCreator);
|
||||
NWNXPushInt(e.nSpellId);
|
||||
NWNXPushInt(e.bExpose);
|
||||
NWNXPushInt(e.bShowIcon);
|
||||
NWNXPushInt(e.nCasterLevel);
|
||||
|
||||
if(!bReplace)
|
||||
{
|
||||
NWNX_PushArgumentEffect(e.eLinkLeft);
|
||||
NWNX_PushArgumentInt(e.bLinkLeftValid);
|
||||
NWNX_PushArgumentEffect(e.eLinkRight);
|
||||
NWNX_PushArgumentInt(e.bLinkRightValid);
|
||||
NWNXPushEffect(e.eLinkLeft);
|
||||
NWNXPushInt(e.bLinkLeftValid);
|
||||
NWNXPushEffect(e.eLinkRight);
|
||||
NWNXPushInt(e.bLinkRightValid);
|
||||
}
|
||||
|
||||
NWNX_PushArgumentInt(e.nNumIntegers);
|
||||
NWNX_PushArgumentInt(e.nParam0);
|
||||
NWNX_PushArgumentInt(e.nParam1);
|
||||
NWNX_PushArgumentInt(e.nParam2);
|
||||
NWNX_PushArgumentInt(e.nParam3);
|
||||
NWNX_PushArgumentInt(e.nParam4);
|
||||
NWNX_PushArgumentInt(e.nParam5);
|
||||
NWNX_PushArgumentInt(e.nParam6);
|
||||
NWNX_PushArgumentInt(e.nParam7);
|
||||
NWNX_PushArgumentFloat(e.fParam0);
|
||||
NWNX_PushArgumentFloat(e.fParam1);
|
||||
NWNX_PushArgumentFloat(e.fParam2);
|
||||
NWNX_PushArgumentFloat(e.fParam3);
|
||||
NWNX_PushArgumentString(e.sParam0);
|
||||
NWNX_PushArgumentString(e.sParam1);
|
||||
NWNX_PushArgumentString(e.sParam2);
|
||||
NWNX_PushArgumentString(e.sParam3);
|
||||
NWNX_PushArgumentString(e.sParam4);
|
||||
NWNX_PushArgumentString(e.sParam5);
|
||||
NWNX_PushArgumentObject(e.oParam0);
|
||||
NWNX_PushArgumentObject(e.oParam1);
|
||||
NWNX_PushArgumentObject(e.oParam2);
|
||||
NWNX_PushArgumentObject(e.oParam3);
|
||||
NWNXPushInt(e.nNumIntegers);
|
||||
NWNXPushInt(e.nParam0);
|
||||
NWNXPushInt(e.nParam1);
|
||||
NWNXPushInt(e.nParam2);
|
||||
NWNXPushInt(e.nParam3);
|
||||
NWNXPushInt(e.nParam4);
|
||||
NWNXPushInt(e.nParam5);
|
||||
NWNXPushInt(e.nParam6);
|
||||
NWNXPushInt(e.nParam7);
|
||||
NWNXPushFloat(e.fParam0);
|
||||
NWNXPushFloat(e.fParam1);
|
||||
NWNXPushFloat(e.fParam2);
|
||||
NWNXPushFloat(e.fParam3);
|
||||
NWNXPushString(e.sParam0);
|
||||
NWNXPushString(e.sParam1);
|
||||
NWNXPushString(e.sParam2);
|
||||
NWNXPushString(e.sParam3);
|
||||
NWNXPushString(e.sParam4);
|
||||
NWNXPushString(e.sParam5);
|
||||
NWNXPushObject(e.oParam0);
|
||||
NWNXPushObject(e.oParam1);
|
||||
NWNXPushObject(e.oParam2);
|
||||
NWNXPushObject(e.oParam3);
|
||||
|
||||
NWNX_PushArgumentFloat(e.vParam0.x);
|
||||
NWNX_PushArgumentFloat(e.vParam0.y);
|
||||
NWNX_PushArgumentFloat(e.vParam0.z);
|
||||
NWNXPushVector(e.vParam0);
|
||||
NWNXPushVector(e.vParam1);
|
||||
|
||||
NWNX_PushArgumentFloat(e.vParam1.x);
|
||||
NWNX_PushArgumentFloat(e.vParam1.y);
|
||||
NWNX_PushArgumentFloat(e.vParam1.z);
|
||||
NWNXPushString(e.sTag);
|
||||
|
||||
NWNX_PushArgumentString(e.sTag);
|
||||
|
||||
NWNX_PushArgumentString(e.sItemProp);
|
||||
NWNXPushString(e.sItemProp);
|
||||
}
|
||||
|
||||
struct NWNX_EffectUnpacked NWNX_Effect_UnpackEffect(effect e)
|
||||
{
|
||||
string sFunc = "UnpackEffect";
|
||||
|
||||
NWNX_PushArgumentEffect(e);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return __NWNX_Effect_ResolveUnpack(sFunc);
|
||||
NWNXPushEffect(e);
|
||||
NWNXCall(NWNX_Effect, "UnpackEffect");
|
||||
return __NWNX_Effect_ResolveUnpack();
|
||||
}
|
||||
effect NWNX_Effect_PackEffect(struct NWNX_EffectUnpacked e)
|
||||
{
|
||||
string sFunc = "PackEffect";
|
||||
|
||||
__NWNX_Effect_ResolvePack(sFunc, e);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
return NWNX_GetReturnValueEffect();
|
||||
__NWNX_Effect_ResolvePack(e);
|
||||
NWNXCall(NWNX_Effect, "PackEffect");
|
||||
return NWNXPopEffect();
|
||||
}
|
||||
|
||||
int NWNX_Effect_ReplaceEffect(object obj, effect eOld, effect eNew)
|
||||
{
|
||||
string sFunc = "ReplaceEffect";
|
||||
|
||||
NWNX_PushArgumentEffect(eNew);
|
||||
NWNX_PushArgumentEffect(eOld);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushEffect(eNew);
|
||||
NWNXPushEffect(eOld);
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Effect, "ReplaceEffect");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Effect_GetTrueEffectCount(object oObject)
|
||||
{
|
||||
string sFunc = "GetTrueEffectCount";
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Effect, "GetTrueEffectCount");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
struct NWNX_EffectUnpacked NWNX_Effect_GetTrueEffect(object oObject, int nIndex)
|
||||
{
|
||||
string sFunc = "GetTrueEffect";
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return __NWNX_Effect_ResolveUnpack(sFunc, FALSE);
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Effect, "GetTrueEffect");
|
||||
return __NWNX_Effect_ResolveUnpack(FALSE);
|
||||
}
|
||||
|
||||
void NWNX_Effect_ReplaceEffectByIndex(object oObject, int nIndex, struct NWNX_EffectUnpacked e)
|
||||
{
|
||||
string sFunc = "ReplaceEffectByIndex";
|
||||
|
||||
__NWNX_Effect_ResolvePack(sFunc, e, TRUE);
|
||||
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
__NWNX_Effect_ResolvePack(e, TRUE);
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Effect, "ReplaceEffectByIndex");
|
||||
}
|
||||
|
||||
int NWNX_Effect_RemoveEffectById(object oObject, string sID)
|
||||
{
|
||||
string sFunc = "RemoveEffectById";
|
||||
NWNX_PushArgumentString(sID);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sID);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Effect, "RemoveEffectById");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Effect_Apply(effect eEffect, object oObject)
|
||||
{
|
||||
string sFunc = "Apply";
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentEffect(eEffect);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushEffect(eEffect);
|
||||
NWNXCall(NWNX_Effect, "Apply");
|
||||
}
|
||||
|
||||
effect NWNX_Effect_SetEffectCreator(effect eEffect, object oObject)
|
||||
{
|
||||
string sFunc = "SetEffectCreator";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentEffect(eEffect);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueEffect();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushEffect(eEffect);
|
||||
NWNXCall(NWNX_Effect, "SetEffectCreator");
|
||||
return NWNXPopEffect();
|
||||
}
|
||||
|
||||
int NWNX_Effect_GetIsEffectValid(effect eEffect)
|
||||
{
|
||||
string sFunc = "GetIsEffectValid";
|
||||
|
||||
NWNX_PushArgumentEffect(eEffect);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushEffect(eEffect);
|
||||
NWNXCall(NWNX_Effect, "GetIsEffectValid");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Effect_GetAppliedEffectCount(object oObject)
|
||||
{
|
||||
string sFunc = "GetAppliedEffectCount";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Effect, "GetAppliedEffectCount");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
effect NWNX_Effect_GetAppliedEffect(object oObject, int nNth)
|
||||
{
|
||||
string sFunc = "GetAppliedEffect";
|
||||
|
||||
NWNX_PushArgumentInt(nNth);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueEffect();
|
||||
NWNXPushInt(nNth);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Effect, "GetAppliedEffect");
|
||||
return NWNXPopEffect();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Replacement for ValidateCharacter: ELC & ILR
|
||||
/// @{
|
||||
/// @file nwnx_elc.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_ELC = "NWNX_ELC"; ///< @private
|
||||
|
||||
@@ -147,95 +146,71 @@ int NWNX_ELC_GetValidationFailureSpellID();
|
||||
|
||||
void NWNX_ELC_SetELCScript(string sScript)
|
||||
{
|
||||
string sFunc = "SetELCScript";
|
||||
|
||||
NWNX_PushArgumentString(sScript);
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
NWNXPushString(sScript);
|
||||
NWNXCall(NWNX_ELC, "SetELCScript");
|
||||
}
|
||||
|
||||
void NWNX_ELC_EnableCustomELCCheck(int bEnabled)
|
||||
{
|
||||
string sFunc = "EnableCustomELCCheck";
|
||||
|
||||
NWNX_PushArgumentInt(bEnabled);
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
NWNXPushInt(bEnabled);
|
||||
NWNXCall(NWNX_ELC, "EnableCustomELCCheck");
|
||||
}
|
||||
|
||||
void NWNX_ELC_SkipValidationFailure()
|
||||
{
|
||||
string sFunc = "SkipValidationFailure";
|
||||
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
NWNXCall(NWNX_ELC, "SkipValidationFailure");
|
||||
}
|
||||
|
||||
int NWNX_ELC_GetValidationFailureType()
|
||||
{
|
||||
string sFunc = "GetValidationFailureType";
|
||||
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_ELC, "GetValidationFailureType");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_ELC_GetValidationFailureSubType()
|
||||
{
|
||||
string sFunc = "GetValidationFailureSubType";
|
||||
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_ELC, "GetValidationFailureSubType");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_ELC_GetValidationFailureMessageStrRef()
|
||||
{
|
||||
string sFunc = "GetValidationFailureMessageStrRef";
|
||||
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_ELC, "GetValidationFailureMessageStrRef");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_ELC_SetValidationFailureMessageStrRef(int nStrRef)
|
||||
{
|
||||
string sFunc = "SetValidationFailureMessageStrRef";
|
||||
|
||||
NWNX_PushArgumentInt(nStrRef);
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
NWNXPushInt(nStrRef);
|
||||
NWNXCall(NWNX_ELC, "SetValidationFailureMessageStrRef");
|
||||
}
|
||||
|
||||
object NWNX_ELC_GetValidationFailureItem()
|
||||
{
|
||||
string sFunc = "GetValidationFailureItem";
|
||||
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXCall(NWNX_ELC, "GetValidationFailureItem");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
int NWNX_ELC_GetValidationFailureLevel()
|
||||
{
|
||||
string sFunc = "GetValidationFailureLevel";
|
||||
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_ELC, "GetValidationFailureLevel");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_ELC_GetValidationFailureSkillID()
|
||||
{
|
||||
string sFunc = "GetValidationFailureSkillID";
|
||||
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_ELC, "GetValidationFailureSkillID");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_ELC_GetValidationFailureFeatID()
|
||||
{
|
||||
string sFunc = "GetValidationFailureFeatID";
|
||||
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_ELC, "GetValidationFailureFeatID");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_ELC_GetValidationFailureSpellID()
|
||||
{
|
||||
string sFunc = "GetValidationFailureSpellID";
|
||||
|
||||
NWNX_CallFunction(NWNX_ELC, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_ELC, "GetValidationFailureSpellID");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions exposing additional encounter properties.
|
||||
/// @{
|
||||
/// @file nwnx_encounter.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Encounter = "NWNX_Encounter"; ///< @private
|
||||
|
||||
@@ -122,205 +121,146 @@ void NWNX_Encounter_SetGeometry(object oTrigger, string sGeometry);
|
||||
|
||||
void NWNX_Encounter_Destroy(object encounter)
|
||||
{
|
||||
string sFunc = "Destroy";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "Destroy");
|
||||
}
|
||||
|
||||
int NWNX_Encounter_GetNumberOfCreaturesInEncounterList(object encounter)
|
||||
{
|
||||
string sFunc = "GetNumberOfCreaturesInEncounterList";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetNumberOfCreaturesInEncounterList");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
struct NWNX_Encounter_CreatureListEntry NWNX_Encounter_GetEncounterCreatureByIndex(object encounter, int index)
|
||||
{
|
||||
string sFunc = "GetEncounterCreatureByIndex";
|
||||
struct NWNX_Encounter_CreatureListEntry creatureEntry;
|
||||
|
||||
NWNX_PushArgumentInt(index);
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
creatureEntry.alreadyUsed = NWNX_GetReturnValueInt();
|
||||
creatureEntry.unique = NWNX_GetReturnValueInt();
|
||||
creatureEntry.challengeRating = NWNX_GetReturnValueFloat();
|
||||
creatureEntry.resref = NWNX_GetReturnValueString();
|
||||
|
||||
NWNXPushInt(index);
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetEncounterCreatureByIndex");
|
||||
creatureEntry.alreadyUsed = NWNXPopInt();
|
||||
creatureEntry.unique = NWNXPopInt();
|
||||
creatureEntry.challengeRating = NWNXPopFloat();
|
||||
creatureEntry.resref = NWNXPopString();
|
||||
return creatureEntry;
|
||||
}
|
||||
|
||||
void NWNX_Encounter_SetEncounterCreatureByIndex(object encounter, int index, struct NWNX_Encounter_CreatureListEntry creatureEntry)
|
||||
{
|
||||
string sFunc = "SetEncounterCreatureByIndex";
|
||||
|
||||
NWNX_PushArgumentInt(creatureEntry.alreadyUsed);
|
||||
NWNX_PushArgumentInt(creatureEntry.unique);
|
||||
NWNX_PushArgumentFloat(creatureEntry.challengeRating);
|
||||
NWNX_PushArgumentString(creatureEntry.resref);
|
||||
NWNX_PushArgumentInt(index);
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
NWNXPushInt(creatureEntry.alreadyUsed);
|
||||
NWNXPushInt(creatureEntry.unique);
|
||||
NWNXPushFloat(creatureEntry.challengeRating);
|
||||
NWNXPushString(creatureEntry.resref);
|
||||
NWNXPushInt(index);
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "SetEncounterCreatureByIndex");
|
||||
}
|
||||
|
||||
int NWNX_Encounter_GetFactionId(object encounter)
|
||||
{
|
||||
string sFunc = "GetFactionId";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetFactionId");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Encounter_SetFactionId(object encounter, int factionId)
|
||||
{
|
||||
string sFunc = "SetFactionId";
|
||||
|
||||
NWNX_PushArgumentInt(factionId);
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
NWNXPushInt(factionId);
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "SetFactionId");
|
||||
}
|
||||
|
||||
int NWNX_Encounter_GetPlayerTriggeredOnly(object encounter)
|
||||
{
|
||||
string sFunc = "GetPlayerTriggeredOnly";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetPlayerTriggeredOnly");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Encounter_SetPlayerTriggeredOnly(object encounter, int playerTriggeredOnly)
|
||||
{
|
||||
string sFunc = "SetPlayerTriggeredOnly";
|
||||
|
||||
NWNX_PushArgumentInt(playerTriggeredOnly);
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
NWNXPushInt(playerTriggeredOnly);
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "SetPlayerTriggeredOnly");
|
||||
}
|
||||
|
||||
int NWNX_Encounter_GetCanReset(object encounter)
|
||||
{
|
||||
string sFunc = "GetCanReset";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetCanReset");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Encounter_SetCanReset(object encounter, int reset)
|
||||
{
|
||||
string sFunc = "SetCanReset";
|
||||
|
||||
NWNX_PushArgumentInt(reset);
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
NWNXPushInt(reset);
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "SetCanReset");
|
||||
}
|
||||
|
||||
int NWNX_Encounter_GetResetTime(object encounter)
|
||||
{
|
||||
string sFunc = "GetResetTime";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetResetTime");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Encounter_SetResetTime(object encounter, int resetTime)
|
||||
{
|
||||
string sFunc = "SetResetTime";
|
||||
|
||||
NWNX_PushArgumentInt(resetTime);
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
NWNXPushInt(resetTime);
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "SetResetTime");
|
||||
}
|
||||
|
||||
int NWNX_Encounter_GetNumberOfSpawnPoints(object encounter)
|
||||
{
|
||||
string sFunc = "GetNumberOfSpawnPoints";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetNumberOfSpawnPoints");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
location NWNX_Encounter_GetSpawnPointByIndex(object encounter, int index)
|
||||
{
|
||||
string sFunc = "GetSpawnPointByIndex";
|
||||
|
||||
NWNX_PushArgumentInt(index);
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
float o = NWNX_GetReturnValueFloat();
|
||||
float z = NWNX_GetReturnValueFloat();
|
||||
float y = NWNX_GetReturnValueFloat();
|
||||
float x = NWNX_GetReturnValueFloat();
|
||||
|
||||
return Location(GetArea(encounter), Vector(x, y, z), o);
|
||||
NWNXPushInt(index);
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetSpawnPointByIndex");
|
||||
float fOrientation = NWNXPopFloat();
|
||||
vector vPosition = NWNXPopVector();
|
||||
return Location(GetArea(encounter), vPosition, fOrientation);
|
||||
}
|
||||
|
||||
int NWNX_Encounter_GetMinNumSpawned(object encounter)
|
||||
{
|
||||
string sFunc = "GetMinNumSpawned";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetMinNumSpawned");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Encounter_GetMaxNumSpawned(object encounter)
|
||||
{
|
||||
string sFunc = "GetMaxNumSpawned";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetMaxNumSpawned");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Encounter_GetCurrentNumSpawned(object encounter)
|
||||
{
|
||||
string sFunc = "GetCurrentNumSpawned";
|
||||
|
||||
NWNX_PushArgumentObject(encounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(encounter);
|
||||
NWNXCall(NWNX_Encounter, "GetCurrentNumSpawned");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
string NWNX_Encounter_GetGeometry(object oEncounter)
|
||||
{
|
||||
string sFunc = "GetGeometry";
|
||||
|
||||
NWNX_PushArgumentObject(oEncounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushObject(oEncounter);
|
||||
NWNXCall(NWNX_Encounter, "GetGeometry");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Encounter_SetGeometry(object oEncounter, string sGeometry)
|
||||
{
|
||||
string sFunc = "SetGeometry";
|
||||
|
||||
NWNX_PushArgumentString(sGeometry);
|
||||
NWNX_PushArgumentObject(oEncounter);
|
||||
NWNX_CallFunction(NWNX_Encounter, sFunc);
|
||||
NWNXPushString(sGeometry);
|
||||
NWNXPushObject(oEncounter);
|
||||
NWNXCall(NWNX_Encounter, "SetGeometry");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Provides an interface for plugins to create event-based systems, and exposes some events through that interface.
|
||||
/// @{
|
||||
/// @file nwnx_events.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Events = "NWNX_Events"; ///< @private
|
||||
|
||||
@@ -562,6 +561,11 @@ _______________________________________
|
||||
|
||||
`OBJECT_SELF` = The player disconnecting from the server
|
||||
|
||||
Event Data Tag | Type | Notes
|
||||
----------------------|--------|-------
|
||||
PLAYER_NAME | string | Player name of the disconnecting client
|
||||
CDKEY | string | Public cdkey of the disconnecting client
|
||||
|
||||
@note This event also runs when a player connects to the server but cancels out of character select.
|
||||
OBJECT_SELF will be OBJECT_INVALID in this case.
|
||||
|
||||
@@ -1650,6 +1654,18 @@ _______________________________________
|
||||
NWNX_Events_AddIDToWhitelist("NWNX_ON_BROADCAST_SAFE_PROJECTILE_SPELL", SPELL_*);
|
||||
\endcode
|
||||
`TARGET_OBJECT_ID` will be `OBJECT_INVALID` if the projectile is cast at a location
|
||||
_______________________________________
|
||||
## SetExperience Events
|
||||
- NWNX_ON_SET_EXPERIENCE_BEFORE
|
||||
- NWNX_ON_SET_EXPERIENCE_AFTER
|
||||
|
||||
`OBJECT_SELF` = The player the xp is being set on
|
||||
|
||||
Event Data Tag | Type | Notes
|
||||
----------------------|--------|-------
|
||||
XP | int | The xp value to be set. |
|
||||
|
||||
@note To set a different xp value in the BEFORE event: Skip the event and call NWNX_Events_SetEventResult() with the new value.
|
||||
_______________________________________
|
||||
## Broadcast Attack of Opportunity Events
|
||||
- NWNX_ON_BROADCAST_ATTACK_OF_OPPORTUNITY_BEFORE
|
||||
@@ -2282,6 +2298,7 @@ string NWNX_Events_GetEventData(string tag);
|
||||
/// - Broadcast Safe Projectile event
|
||||
/// - Attack of Opportunity events
|
||||
/// - Creature Jump events
|
||||
/// - SetExperience Events
|
||||
void NWNX_Events_SkipEvent();
|
||||
|
||||
/// Set the return value of the event.
|
||||
@@ -2355,163 +2372,127 @@ int NWNX_Events_GetNumSubscribers(string sEvent);
|
||||
|
||||
void NWNX_Events_SubscribeEvent(string evt, string script)
|
||||
{
|
||||
string sFunc = "SubscribeEvent";
|
||||
|
||||
NWNX_PushArgumentString(script);
|
||||
NWNX_PushArgumentString(evt);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushString(script);
|
||||
NWNXPushString(evt);
|
||||
NWNXCall(NWNX_Events, "SubscribeEvent");
|
||||
}
|
||||
|
||||
void NWNX_Events_UnsubscribeEvent(string evt, string script)
|
||||
{
|
||||
string sFunc = "UnsubscribeEvent";
|
||||
|
||||
NWNX_PushArgumentString(script);
|
||||
NWNX_PushArgumentString(evt);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushString(script);
|
||||
NWNXPushString(evt);
|
||||
NWNXCall(NWNX_Events, "UnsubscribeEvent");
|
||||
}
|
||||
|
||||
void NWNX_Events_UnsubscribeAllStartingWith(string prefix)
|
||||
{
|
||||
string sFunc = "UnsubscribeAllStartingWith";
|
||||
|
||||
NWNX_PushArgumentString(prefix);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushString(prefix);
|
||||
NWNXCall(NWNX_Events, "UnsubscribeAllStartingWith");
|
||||
}
|
||||
|
||||
void NWNX_Events_SubscribeEventScriptChunk(string sEvent, string sScriptChunk, int bWrapIntoMain = TRUE)
|
||||
{
|
||||
string sFunc = "SubscribeEventScriptChunk";
|
||||
|
||||
NWNX_PushArgumentInt(bWrapIntoMain);
|
||||
NWNX_PushArgumentString(sScriptChunk);
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushInt(bWrapIntoMain);
|
||||
NWNXPushString(sScriptChunk);
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Events, "SubscribeEventScriptChunk");
|
||||
}
|
||||
|
||||
void NWNX_Events_UnsubscribeEventScriptChunk(string sEvent, string sScriptChunk, int bWrapIntoMain = TRUE)
|
||||
{
|
||||
string sFunc = "UnsubscribeEventScriptChunk";
|
||||
|
||||
NWNX_PushArgumentInt(bWrapIntoMain);
|
||||
NWNX_PushArgumentString(sScriptChunk);
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushInt(bWrapIntoMain);
|
||||
NWNXPushString(sScriptChunk);
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Events, "UnsubscribeEventScriptChunk");
|
||||
}
|
||||
|
||||
void NWNX_Events_PushEventData(string tag, string data)
|
||||
{
|
||||
string sFunc = "PushEventData";
|
||||
|
||||
NWNX_PushArgumentString(data);
|
||||
NWNX_PushArgumentString(tag);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushString(data);
|
||||
NWNXPushString(tag);
|
||||
NWNXCall(NWNX_Events, "PushEventData");
|
||||
}
|
||||
|
||||
int NWNX_Events_SignalEvent(string evt, object target)
|
||||
{
|
||||
string sFunc = "SignalEvent";
|
||||
|
||||
NWNX_PushArgumentObject(target);
|
||||
NWNX_PushArgumentString(evt);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(target);
|
||||
NWNXPushString(evt);
|
||||
NWNXCall(NWNX_Events, "SignalEvent");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
string NWNX_Events_GetEventData(string tag)
|
||||
{
|
||||
string sFunc = "GetEventData";
|
||||
|
||||
NWNX_PushArgumentString(tag);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(tag);
|
||||
NWNXCall(NWNX_Events, "GetEventData");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Events_SkipEvent()
|
||||
{
|
||||
string sFunc = "SkipEvent";
|
||||
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXCall(NWNX_Events, "SkipEvent");
|
||||
}
|
||||
|
||||
void NWNX_Events_SetEventResult(string data)
|
||||
{
|
||||
string sFunc = "SetEventResult";
|
||||
|
||||
NWNX_PushArgumentString(data);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushString(data);
|
||||
NWNXCall(NWNX_Events, "SetEventResult");
|
||||
}
|
||||
|
||||
string NWNX_Events_GetCurrentEvent()
|
||||
{
|
||||
string sFunc = "GetCurrentEvent";
|
||||
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Events, "GetCurrentEvent");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Events_ToggleDispatchListMode(string sEvent, string sScriptOrChunk, int bEnable)
|
||||
{
|
||||
string sFunc = "ToggleDispatchListMode";
|
||||
|
||||
NWNX_PushArgumentInt(bEnable);
|
||||
NWNX_PushArgumentString(sScriptOrChunk);
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushInt(bEnable);
|
||||
NWNXPushString(sScriptOrChunk);
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Events, "ToggleDispatchListMode");
|
||||
}
|
||||
|
||||
void NWNX_Events_AddObjectToDispatchList(string sEvent, string sScriptOrChunk, object oObject)
|
||||
{
|
||||
string sFunc = "AddObjectToDispatchList";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentString(sScriptOrChunk);
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushString(sScriptOrChunk);
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Events, "AddObjectToDispatchList");
|
||||
}
|
||||
|
||||
void NWNX_Events_RemoveObjectFromDispatchList(string sEvent, string sScriptOrChunk, object oObject)
|
||||
{
|
||||
string sFunc = "RemoveObjectFromDispatchList";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentString(sScriptOrChunk);
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushString(sScriptOrChunk);
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Events, "RemoveObjectFromDispatchList");
|
||||
}
|
||||
|
||||
void NWNX_Events_ToggleIDWhitelist(string sEvent, int bEnable)
|
||||
{
|
||||
string sFunc = "ToggleIDWhitelist";
|
||||
|
||||
NWNX_PushArgumentInt(bEnable);
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushInt(bEnable);
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Events, "ToggleIDWhitelist");
|
||||
}
|
||||
|
||||
void NWNX_Events_AddIDToWhitelist(string sEvent, int nID)
|
||||
{
|
||||
string sFunc = "AddIDToWhitelist";
|
||||
|
||||
NWNX_PushArgumentInt(nID);
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushInt(nID);
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Events, "AddIDToWhitelist");
|
||||
}
|
||||
|
||||
void NWNX_Events_RemoveIDFromWhitelist(string sEvent, int nID)
|
||||
{
|
||||
string sFunc = "RemoveIDFromWhitelist";
|
||||
|
||||
NWNX_PushArgumentInt(nID);
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
NWNXPushInt(nID);
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Events, "RemoveIDFromWhitelist");
|
||||
}
|
||||
|
||||
int NWNX_Events_GetNumSubscribers(string sEvent)
|
||||
{
|
||||
string sFunc = "GetNumSubscribers";
|
||||
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Events, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Events, "GetNumSubscribers");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Define feat bonuses/penalties
|
||||
/// @{
|
||||
/// @file nwnx_feat.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Feat = "NWNX_Feat"; ///< @private
|
||||
|
||||
@@ -53,14 +52,11 @@ void NWNX_Feat_SetFeatModifier(int iFeat, int iMod, int iParam1 = 0xDEADBEEF, in
|
||||
|
||||
void NWNX_Feat_SetFeatModifier(int iFeat, int iMod, int iParam1 = 0xDEADBEEF, int iParam2 = 0xDEADBEEF, int iParam3 = 0xDEADBEEF, int iParam4 = 0xDEADBEEF)
|
||||
{
|
||||
string sFunc = "SetFeatModifier";
|
||||
|
||||
NWNX_PushArgumentInt(iParam4);
|
||||
NWNX_PushArgumentInt(iParam3);
|
||||
NWNX_PushArgumentInt(iParam2);
|
||||
NWNX_PushArgumentInt(iParam1);
|
||||
NWNX_PushArgumentInt(iMod);
|
||||
NWNX_PushArgumentInt(iFeat);
|
||||
|
||||
NWNX_CallFunction(NWNX_Feat, sFunc);
|
||||
NWNXPushInt(iParam4);
|
||||
NWNXPushInt(iParam3);
|
||||
NWNXPushInt(iParam2);
|
||||
NWNXPushInt(iParam1);
|
||||
NWNXPushInt(iMod);
|
||||
NWNXPushInt(iFeat);
|
||||
NWNXCall(NWNX_Feat, "SetFeatModifier");
|
||||
}
|
||||
|
@@ -10,7 +10,6 @@
|
||||
/// * -1 = Personal state is not set for Message
|
||||
/// @{
|
||||
/// @file nwnx_feedback.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Feedback = "NWNX_Feedback"; ///< @private
|
||||
|
||||
@@ -402,95 +401,69 @@ void NWNX_Feedback_SetCombatLogMessageMode(int bWhitelist);
|
||||
|
||||
int NWNX_Feedback_GetFeedbackMessageHidden(int nMessage, object oPC = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "GetMessageHidden";
|
||||
int nMessageType = 0;
|
||||
|
||||
NWNX_PushArgumentInt(nMessage);
|
||||
NWNX_PushArgumentInt(nMessageType);
|
||||
NWNX_PushArgumentObject(oPC);
|
||||
NWNX_CallFunction(NWNX_Feedback, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nMessage);
|
||||
NWNXPushInt(0);
|
||||
NWNXPushObject(oPC);
|
||||
NWNXCall(NWNX_Feedback, "GetMessageHidden");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Feedback_SetFeedbackMessageHidden(int nMessage, int isHidden, object oPC = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "SetMessageHidden";
|
||||
int nMessageType = 0;
|
||||
|
||||
NWNX_PushArgumentInt(isHidden);
|
||||
NWNX_PushArgumentInt(nMessage);
|
||||
NWNX_PushArgumentInt(nMessageType);
|
||||
NWNX_PushArgumentObject(oPC);
|
||||
NWNX_CallFunction(NWNX_Feedback, sFunc);
|
||||
NWNXPushInt(isHidden);
|
||||
NWNXPushInt(nMessage);
|
||||
NWNXPushInt(0);
|
||||
NWNXPushObject(oPC);
|
||||
NWNXCall(NWNX_Feedback, "SetMessageHidden");
|
||||
}
|
||||
|
||||
int NWNX_Feedback_GetCombatLogMessageHidden(int nMessage, object oPC = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "GetMessageHidden";
|
||||
int nMessageType = 1;
|
||||
NWNXPushInt(nMessage);
|
||||
NWNXPushInt(1);
|
||||
NWNXPushObject(oPC);
|
||||
NWNXCall(NWNX_Feedback, "GetMessageHidden");
|
||||
|
||||
NWNX_PushArgumentInt(nMessage);
|
||||
NWNX_PushArgumentInt(nMessageType);
|
||||
NWNX_PushArgumentObject(oPC);
|
||||
NWNX_CallFunction(NWNX_Feedback, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Feedback_SetCombatLogMessageHidden(int nMessage, int isHidden, object oPC = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "SetMessageHidden";
|
||||
int nMessageType = 1;
|
||||
|
||||
NWNX_PushArgumentInt(isHidden);
|
||||
NWNX_PushArgumentInt(nMessage);
|
||||
NWNX_PushArgumentInt(nMessageType);
|
||||
NWNX_PushArgumentObject(oPC);
|
||||
NWNX_CallFunction(NWNX_Feedback, sFunc);
|
||||
NWNXPushInt(isHidden);
|
||||
NWNXPushInt(nMessage);
|
||||
NWNXPushInt(1);
|
||||
NWNXPushObject(oPC);
|
||||
NWNXCall(NWNX_Feedback, "SetMessageHidden");
|
||||
}
|
||||
|
||||
int NWNX_Feedback_GetJournalUpdatedMessageHidden(object oPC = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "GetMessageHidden";
|
||||
int nMessageType = 2;
|
||||
|
||||
NWNX_PushArgumentInt(0);
|
||||
NWNX_PushArgumentInt(nMessageType);
|
||||
NWNX_PushArgumentObject(oPC);
|
||||
NWNX_CallFunction(NWNX_Feedback, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(0);
|
||||
NWNXPushInt(2);
|
||||
NWNXPushObject(oPC);
|
||||
NWNXCall(NWNX_Feedback, "GetMessageHidden");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Feedback_SetJournalUpdatedMessageHidden(int isHidden, object oPC = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "SetMessageHidden";
|
||||
int nMessageType = 2;
|
||||
|
||||
NWNX_PushArgumentInt(isHidden);
|
||||
NWNX_PushArgumentInt(0);
|
||||
NWNX_PushArgumentInt(nMessageType);
|
||||
NWNX_PushArgumentObject(oPC);
|
||||
NWNX_CallFunction(NWNX_Feedback, sFunc);
|
||||
NWNXPushInt(isHidden);
|
||||
NWNXPushInt(0);
|
||||
NWNXPushInt(2);
|
||||
NWNXPushObject(oPC);
|
||||
NWNXCall(NWNX_Feedback, "SetMessageHidden");
|
||||
}
|
||||
|
||||
void NWNX_Feedback_SetFeedbackMessageMode(int bWhitelist)
|
||||
{
|
||||
string sFunc = "SetFeedbackMode";
|
||||
int nMessageType = 0;
|
||||
|
||||
NWNX_PushArgumentInt(bWhitelist);
|
||||
NWNX_PushArgumentInt(nMessageType);
|
||||
NWNX_CallFunction(NWNX_Feedback, sFunc);
|
||||
NWNXPushInt(bWhitelist);
|
||||
NWNXPushInt(0);
|
||||
NWNXCall(NWNX_Feedback, "SetFeedbackMode");
|
||||
}
|
||||
|
||||
void NWNX_Feedback_SetCombatLogMessageMode(int bWhitelist)
|
||||
{
|
||||
string sFunc = "SetFeedbackMode";
|
||||
int nMessageType = 1;
|
||||
|
||||
NWNX_PushArgumentInt(bWhitelist);
|
||||
NWNX_PushArgumentInt(nMessageType);
|
||||
NWNX_CallFunction(NWNX_Feedback, sFunc);
|
||||
NWNXPushInt(bWhitelist);
|
||||
NWNXPushInt(1);
|
||||
NWNXCall(NWNX_Feedback, "SetFeedbackMode");
|
||||
}
|
||||
|
107
_module/nss/nwnx_httpclient.nss
Normal file
107
_module/nss/nwnx_httpclient.nss
Normal file
@@ -0,0 +1,107 @@
|
||||
/// @addtogroup httpclient HTTPClient
|
||||
/// @brief NWNX HTTPClient
|
||||
/// @{
|
||||
/// @file nwnx_httpclient.nss
|
||||
|
||||
const string NWNX_HTTPClient = "NWNX_HTTPClient"; ///< @private
|
||||
|
||||
/// @name Request Types
|
||||
/// @anchor request_types
|
||||
///
|
||||
/// @{
|
||||
const int NWNX_HTTPCLIENT_REQUEST_METHOD_GET = 0;
|
||||
const int NWNX_HTTPCLIENT_REQUEST_METHOD_POST = 1;
|
||||
const int NWNX_HTTPCLIENT_REQUEST_METHOD_DELETE = 2;
|
||||
const int NWNX_HTTPCLIENT_REQUEST_METHOD_PATCH = 3;
|
||||
const int NWNX_HTTPCLIENT_REQUEST_METHOD_PUT = 4;
|
||||
const int NWNX_HTTPCLIENT_REQUEST_METHOD_OPTION = 5;
|
||||
const int NWNX_HTTPCLIENT_REQUEST_METHOD_HEAD = 6;
|
||||
///@}
|
||||
|
||||
/// @name Content Types
|
||||
/// @anchor content_types
|
||||
///
|
||||
/// @{
|
||||
const int NWNX_HTTPCLIENT_CONTENT_TYPE_HTML = 0;
|
||||
const int NWNX_HTTPCLIENT_CONTENT_TYPE_PLAINTEXT = 1;
|
||||
const int NWNX_HTTPCLIENT_CONTENT_TYPE_JSON = 2;
|
||||
const int NWNX_HTTPCLIENT_CONTENT_TYPE_FORM_URLENCODED = 3;
|
||||
const int NWNX_HTTPCLIENT_CONTENT_TYPE_XML = 4;
|
||||
///@}
|
||||
|
||||
/// @name HTTP Authentication Types
|
||||
/// @anchor auth_types
|
||||
///
|
||||
/// @{
|
||||
const int NWNX_HTTPCLIENT_AUTH_TYPE_NONE = 0;
|
||||
const int NWNX_HTTPCLIENT_AUTH_TYPE_BASIC = 1;
|
||||
const int NWNX_HTTPCLIENT_AUTH_TYPE_DIGEST = 2;
|
||||
const int NWNX_HTTPCLIENT_AUTH_TYPE_BEARER_TOKEN = 3;
|
||||
///@}
|
||||
|
||||
/// A structure for an HTTP Client Request
|
||||
struct NWNX_HTTPClient_Request
|
||||
{
|
||||
int nRequestMethod; ///< A @ref request_types "Request Type"
|
||||
string sTag; ///< A unique tag for this request
|
||||
string sHost; ///< The host domain name/IP address
|
||||
string sPath; ///< The path for the url (include the leading /)
|
||||
string sData; ///< The data being sent
|
||||
int nContentType; ///< A @ref content_types "Content Type"
|
||||
int nAuthType; ///< An @ref auth_types "Authentication Type"
|
||||
string sAuthUserOrToken; ///< The authentication username or token
|
||||
string sAuthPassword; ///< The authentication password (ignored if just using a token)
|
||||
int nPort; ///< The host port
|
||||
string sHeaders; ///< Pipe (|) delimited header pairs, e.g. "User-Agent: My NWNX HTTP Client|Accept: application/vnd.github.v3+json"
|
||||
};
|
||||
|
||||
/// @brief Sends an http method to the given host.
|
||||
/// @param s The structured NWNX_HTTPClient_Request information.
|
||||
/// @return A unique identifier for the request for later access in the REQUEST_ID event data.
|
||||
int NWNX_HTTPClient_SendRequest(struct NWNX_HTTPClient_Request s);
|
||||
|
||||
/// @brief Returns an NWNX_HTTP_Client_Request structure
|
||||
/// @param nRequestId The request id returned from NWNX_HTTPClient_SendRequest()
|
||||
/// @return The structured NWNX_HTTPClient_Request information
|
||||
struct NWNX_HTTPClient_Request NWNX_HTTPClient_GetRequest(int nRequestId);
|
||||
|
||||
/// @}
|
||||
|
||||
int NWNX_HTTPClient_SendRequest(struct NWNX_HTTPClient_Request s)
|
||||
{
|
||||
NWNXPushString(s.sHeaders);
|
||||
NWNXPushInt(s.nPort);
|
||||
NWNXPushString(s.sAuthPassword);
|
||||
NWNXPushString(s.sAuthUserOrToken);
|
||||
NWNXPushInt(s.nAuthType);
|
||||
NWNXPushString(s.sData);
|
||||
NWNXPushInt(s.nContentType);
|
||||
NWNXPushString(s.sPath);
|
||||
NWNXPushString(s.sHost);
|
||||
NWNXPushInt(s.nRequestMethod);
|
||||
NWNXPushString(s.sTag);
|
||||
NWNXCall(NWNX_HTTPClient, "SendRequest");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
struct NWNX_HTTPClient_Request NWNX_HTTPClient_GetRequest(int nRequestId)
|
||||
{
|
||||
NWNXPushInt(nRequestId);
|
||||
NWNXCall(NWNX_HTTPClient, "GetRequest");
|
||||
|
||||
struct NWNX_HTTPClient_Request s;
|
||||
|
||||
s.sTag = NWNXPopString();
|
||||
s.nRequestMethod = NWNXPopInt();
|
||||
s.sHost = NWNXPopString();
|
||||
s.sPath = NWNXPopString();
|
||||
s.nContentType = NWNXPopInt();
|
||||
s.sData = NWNXPopString();
|
||||
s.nAuthType = NWNXPopInt();
|
||||
s.sAuthUserOrToken = NWNXPopString();
|
||||
s.sAuthPassword = NWNXPopString();
|
||||
s.nPort = NWNXPopInt();
|
||||
s.sHeaders = NWNXPopString();
|
||||
|
||||
return s;
|
||||
}
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions exposing additional item properties.
|
||||
/// @{
|
||||
/// @file nwnx_item.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Item = "NWNX_Item"; ///< @private
|
||||
|
||||
@@ -134,169 +133,120 @@ int NWNX_Item_GetMinEquipLevelOverride(object oItem);
|
||||
|
||||
void NWNX_Item_SetWeight(object oItem, int w)
|
||||
{
|
||||
string sFunc = "SetWeight";
|
||||
|
||||
NWNX_PushArgumentInt(w);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
NWNXPushInt(w);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "SetWeight");
|
||||
}
|
||||
|
||||
void NWNX_Item_SetBaseGoldPieceValue(object oItem, int g)
|
||||
{
|
||||
string sFunc = "SetBaseGoldPieceValue";
|
||||
|
||||
NWNX_PushArgumentInt(g);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
NWNXPushInt(g);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "SetBaseGoldPieceValue");
|
||||
}
|
||||
|
||||
void NWNX_Item_SetAddGoldPieceValue(object oItem, int g)
|
||||
{
|
||||
string sFunc = "SetAddGoldPieceValue";
|
||||
|
||||
NWNX_PushArgumentInt(g);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
NWNXPushInt(g);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "SetAddGoldPieceValue");
|
||||
}
|
||||
|
||||
int NWNX_Item_GetBaseGoldPieceValue(object oItem)
|
||||
{
|
||||
string sFunc = "GetBaseGoldPieceValue";
|
||||
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "GetBaseGoldPieceValue");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Item_GetAddGoldPieceValue(object oItem)
|
||||
{
|
||||
string sFunc = "GetAddGoldPieceValue";
|
||||
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "GetAddGoldPieceValue");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Item_SetBaseItemType(object oItem, int nBaseItem)
|
||||
{
|
||||
string sFunc = "SetBaseItemType";
|
||||
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "SetBaseItemType");
|
||||
}
|
||||
|
||||
void NWNX_Item_SetItemAppearance(object oItem, int nType, int nIndex, int nValue, int bUpdateCreatureAppearance = FALSE)
|
||||
{
|
||||
string sFunc = "SetItemAppearance";
|
||||
|
||||
NWNX_PushArgumentInt(bUpdateCreatureAppearance);
|
||||
NWNX_PushArgumentInt(nValue);
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentInt(nType);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
|
||||
NWNXPushInt(bUpdateCreatureAppearance);
|
||||
NWNXPushInt(nValue);
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushInt(nType);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "SetItemAppearance");
|
||||
}
|
||||
|
||||
string NWNX_Item_GetEntireItemAppearance(object oItem)
|
||||
{
|
||||
string sFunc = "GetEntireItemAppearance";
|
||||
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "GetEntireItemAppearance");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Item_RestoreItemAppearance(object oItem, string sApp)
|
||||
{
|
||||
string sFunc = "RestoreItemAppearance";
|
||||
|
||||
NWNX_PushArgumentString(sApp);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
NWNXPushString(sApp);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "RestoreItemAppearance");
|
||||
}
|
||||
|
||||
int NWNX_Item_GetBaseArmorClass(object oItem)
|
||||
{
|
||||
string sFunc = "GetBaseArmorClass";
|
||||
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "GetBaseArmorClass");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Item_GetMinEquipLevel(object oItem)
|
||||
{
|
||||
string sFunc = "GetMinEquipLevel";
|
||||
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "GetMinEquipLevel");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Item_MoveTo(object oItem, object oTarget, int bHideAllFeedback = FALSE)
|
||||
{
|
||||
string sFunc = "MoveTo";
|
||||
|
||||
NWNX_PushArgumentInt(bHideAllFeedback);
|
||||
NWNX_PushArgumentObject(oTarget);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(bHideAllFeedback);
|
||||
NWNXPushObject(oTarget);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "MoveTo");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Item_SetMinEquipLevelModifier(object oItem, int nModifier, int bPersist = TRUE)
|
||||
{
|
||||
string sFunc = "SetMinEquipLevelModifier";
|
||||
|
||||
NWNX_PushArgumentInt(bPersist);
|
||||
NWNX_PushArgumentInt(nModifier);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
NWNXPushInt(bPersist);
|
||||
NWNXPushInt(nModifier);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "SetMinEquipLevelModifier");
|
||||
}
|
||||
|
||||
int NWNX_Item_GetMinEquipLevelModifier(object oItem)
|
||||
{
|
||||
string sFunc = "GetMinEquipLevelModifier";
|
||||
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "GetMinEquipLevelModifier");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Item_SetMinEquipLevelOverride(object oItem, int nOverride, int bPersist = TRUE)
|
||||
{
|
||||
string sFunc = "SetMinEquipLevelOverride";
|
||||
|
||||
NWNX_PushArgumentInt(bPersist);
|
||||
NWNX_PushArgumentInt(nOverride);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
NWNXPushInt(bPersist);
|
||||
NWNXPushInt(nOverride);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "SetMinEquipLevelOverride");
|
||||
}
|
||||
|
||||
int NWNX_Item_GetMinEquipLevelOverride(object oItem)
|
||||
{
|
||||
string sFunc = "GetMinEquipLevelOverride";
|
||||
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Item, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_Item, "GetMinEquipLevelOverride");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Utility functions to manipulate the builtin itemproperty type.
|
||||
/// @{
|
||||
/// @file nwnx_itemprop.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_ItemProperty = "NWNX_ItemProperty"; ///< @private
|
||||
|
||||
@@ -44,70 +43,58 @@ struct NWNX_IPUnpacked NWNX_ItemProperty_GetActiveProperty(object oItem, int nIn
|
||||
|
||||
struct NWNX_IPUnpacked NWNX_ItemProperty_UnpackIP(itemproperty ip)
|
||||
{
|
||||
string sFunc = "UnpackIP";
|
||||
|
||||
NWNX_PushArgumentItemProperty(ip);
|
||||
NWNX_CallFunction(NWNX_ItemProperty, sFunc);
|
||||
|
||||
NWNXPushItemProperty(ip);
|
||||
NWNXCall(NWNX_ItemProperty, "UnpackIP");
|
||||
struct NWNX_IPUnpacked n;
|
||||
|
||||
n.sID = NWNX_GetReturnValueString();
|
||||
n.nProperty = NWNX_GetReturnValueInt();
|
||||
n.nSubType = NWNX_GetReturnValueInt();
|
||||
n.nCostTable = NWNX_GetReturnValueInt();
|
||||
n.nCostTableValue = NWNX_GetReturnValueInt();
|
||||
n.nParam1 = NWNX_GetReturnValueInt();
|
||||
n.nParam1Value = NWNX_GetReturnValueInt();
|
||||
n.nUsesPerDay = NWNX_GetReturnValueInt();
|
||||
n.nChanceToAppear = NWNX_GetReturnValueInt();
|
||||
n.bUsable = NWNX_GetReturnValueInt();
|
||||
n.nSpellId = NWNX_GetReturnValueInt();
|
||||
n.oCreator = NWNX_GetReturnValueObject();
|
||||
n.sTag = NWNX_GetReturnValueString();
|
||||
|
||||
n.sID = NWNXPopString();
|
||||
n.nProperty = NWNXPopInt();
|
||||
n.nSubType = NWNXPopInt();
|
||||
n.nCostTable = NWNXPopInt();
|
||||
n.nCostTableValue = NWNXPopInt();
|
||||
n.nParam1 = NWNXPopInt();
|
||||
n.nParam1Value = NWNXPopInt();
|
||||
n.nUsesPerDay = NWNXPopInt();
|
||||
n.nChanceToAppear = NWNXPopInt();
|
||||
n.bUsable = NWNXPopInt();
|
||||
n.nSpellId = NWNXPopInt();
|
||||
n.oCreator = NWNXPopObject();
|
||||
n.sTag = NWNXPopString();
|
||||
return n;
|
||||
}
|
||||
|
||||
itemproperty NWNX_ItemProperty_PackIP(struct NWNX_IPUnpacked n)
|
||||
{
|
||||
string sFunc = "PackIP";
|
||||
|
||||
NWNX_PushArgumentString(n.sTag);
|
||||
NWNX_PushArgumentObject(n.oCreator);
|
||||
NWNX_PushArgumentInt(n.nSpellId);
|
||||
NWNX_PushArgumentInt(n.bUsable);
|
||||
NWNX_PushArgumentInt(n.nChanceToAppear);
|
||||
NWNX_PushArgumentInt(n.nUsesPerDay);
|
||||
NWNX_PushArgumentInt(n.nParam1Value);
|
||||
NWNX_PushArgumentInt(n.nParam1);
|
||||
NWNX_PushArgumentInt(n.nCostTableValue);
|
||||
NWNX_PushArgumentInt(n.nCostTable);
|
||||
NWNX_PushArgumentInt(n.nSubType);
|
||||
NWNX_PushArgumentInt(n.nProperty);
|
||||
|
||||
NWNX_CallFunction(NWNX_ItemProperty, sFunc);
|
||||
return NWNX_GetReturnValueItemProperty();
|
||||
NWNXPushString(n.sTag);
|
||||
NWNXPushObject(n.oCreator);
|
||||
NWNXPushInt(n.nSpellId);
|
||||
NWNXPushInt(n.bUsable);
|
||||
NWNXPushInt(n.nChanceToAppear);
|
||||
NWNXPushInt(n.nUsesPerDay);
|
||||
NWNXPushInt(n.nParam1Value);
|
||||
NWNXPushInt(n.nParam1);
|
||||
NWNXPushInt(n.nCostTableValue);
|
||||
NWNXPushInt(n.nCostTable);
|
||||
NWNXPushInt(n.nSubType);
|
||||
NWNXPushInt(n.nProperty);
|
||||
NWNXCall(NWNX_ItemProperty, "PackIP");
|
||||
return NWNXPopItemProperty();
|
||||
}
|
||||
|
||||
struct NWNX_IPUnpacked NWNX_ItemProperty_GetActiveProperty(object oItem, int nIndex)
|
||||
{
|
||||
string sFunc = "GetActiveProperty";
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
NWNX_CallFunction(NWNX_ItemProperty, sFunc);
|
||||
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXCall(NWNX_ItemProperty, "GetActiveProperty");
|
||||
struct NWNX_IPUnpacked n;
|
||||
|
||||
n.nProperty = NWNX_GetReturnValueInt();
|
||||
n.nSubType = NWNX_GetReturnValueInt();
|
||||
n.nCostTable = NWNX_GetReturnValueInt();
|
||||
n.nCostTableValue = NWNX_GetReturnValueInt();
|
||||
n.nParam1 = NWNX_GetReturnValueInt();
|
||||
n.nParam1Value = NWNX_GetReturnValueInt();
|
||||
n.nUsesPerDay = NWNX_GetReturnValueInt();
|
||||
n.nChanceToAppear = NWNX_GetReturnValueInt();
|
||||
n.bUsable = NWNX_GetReturnValueInt();
|
||||
n.sTag = NWNX_GetReturnValueString();
|
||||
|
||||
n.nProperty = NWNXPopInt();
|
||||
n.nSubType = NWNXPopInt();
|
||||
n.nCostTable = NWNXPopInt();
|
||||
n.nCostTableValue = NWNXPopInt();
|
||||
n.nParam1 = NWNXPopInt();
|
||||
n.nParam1Value = NWNXPopInt();
|
||||
n.nUsesPerDay = NWNXPopInt();
|
||||
n.nChanceToAppear = NWNXPopInt();
|
||||
n.bUsable = NWNXPopInt();
|
||||
n.sTag = NWNXPopString();
|
||||
return n;
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Execute Lua code and generate events in NWScript
|
||||
/// @{
|
||||
/// @file nwnx_lua.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Lua = "NWNX_Lua"; ///< @private
|
||||
|
||||
@@ -25,27 +24,21 @@ void NWNX_Lua_RunEvent(string sEvent, object oObject, string sExtra="");
|
||||
|
||||
void NWNX_Lua_EvalVoid(string sCode)
|
||||
{
|
||||
string sFunc = "EvalVoid";
|
||||
|
||||
NWNX_PushArgumentString(sCode);
|
||||
NWNX_CallFunction(NWNX_Lua, sFunc);
|
||||
NWNXPushString(sCode);
|
||||
NWNXCall(NWNX_Lua, "EvalVoid");
|
||||
}
|
||||
|
||||
string NWNX_Lua_Eval(string sCode)
|
||||
{
|
||||
string sFunc = "Eval";
|
||||
|
||||
NWNX_PushArgumentString(sCode);
|
||||
NWNX_CallFunction(NWNX_Lua, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(sCode);
|
||||
NWNXCall(NWNX_Lua, "Eval");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Lua_RunEvent(string sEvent, object oObject, string sExtra="")
|
||||
{
|
||||
string sFunc = "RunEvent";
|
||||
|
||||
NWNX_PushArgumentString(sExtra);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentString(sEvent);
|
||||
NWNX_CallFunction(NWNX_Lua, sFunc);
|
||||
NWNXPushString(sExtra);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushString(sEvent);
|
||||
NWNXCall(NWNX_Lua, "RunEvent");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions to allow more control over ability/skill/bonuses stacking.
|
||||
/// @{
|
||||
/// @file nwnx_nostack.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_NoStack = "NWNX_NoStack"; ///< @private
|
||||
|
||||
@@ -31,10 +30,7 @@ void NWNX_NoStack_SetSpellBonusType(int spell, int type);
|
||||
|
||||
void NWNX_NoStack_SetSpellBonusType(int spell, int type)
|
||||
{
|
||||
string sFunc = "SetSpellBonusType";
|
||||
|
||||
NWNX_PushArgumentInt(type);
|
||||
NWNX_PushArgumentInt(spell);
|
||||
|
||||
NWNX_CallFunction(NWNX_NoStack, sFunc);
|
||||
NWNXPushInt(type);
|
||||
NWNXPushInt(spell);
|
||||
NWNXCall(NWNX_NoStack, "SetSpellBonusType");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Various extensions for the game's built-in sqlite database.
|
||||
/// @{
|
||||
/// @file nwnx_nwsqliteext.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_NWSQLiteExtensions = "NWNX_NWSQLiteExtensions"; ///< @private
|
||||
|
||||
@@ -17,9 +16,9 @@ int NWNX_NWSQLiteExtensions_CreateVirtual2DATable(string s2DA, string sColumnTyp
|
||||
|
||||
int NWNX_NWSQLiteExtensions_CreateVirtual2DATable(string s2DA, string sColumnTypeHints = "", string sTableName = "")
|
||||
{
|
||||
NWNX_PushArgumentString(sTableName);
|
||||
NWNX_PushArgumentString(sColumnTypeHints);
|
||||
NWNX_PushArgumentString(s2DA);
|
||||
NWNX_CallFunction(NWNX_NWSQLiteExtensions, "CreateVirtual2DATable");
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sTableName);
|
||||
NWNXPushString(sColumnTypeHints);
|
||||
NWNXPushString(s2DA);
|
||||
NWNXCall(NWNX_NWSQLiteExtensions, "CreateVirtual2DATable");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions exposing additional object properties.
|
||||
/// @{
|
||||
/// @file nwnx_object.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Object = "NWNX_Object"; ///< @private
|
||||
|
||||
@@ -437,641 +436,475 @@ void NWNX_Object_SetLocalizedName(object oObject, string sName, int nLanguage, i
|
||||
|
||||
int NWNX_Object_GetLocalVariableCount(object obj)
|
||||
{
|
||||
string sFunc = "GetLocalVariableCount";
|
||||
|
||||
NWNX_PushArgumentObject(obj);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "GetLocalVariableCount");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
struct NWNX_Object_LocalVariable NWNX_Object_GetLocalVariable(object obj, int index)
|
||||
{
|
||||
string sFunc = "GetLocalVariable";
|
||||
|
||||
NWNX_PushArgumentInt(index);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
NWNXPushInt(index);
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "GetLocalVariable");
|
||||
struct NWNX_Object_LocalVariable var;
|
||||
var.key = NWNX_GetReturnValueString();
|
||||
var.type = NWNX_GetReturnValueInt();
|
||||
var.key = NWNXPopString();
|
||||
var.type = NWNXPopInt();
|
||||
return var;
|
||||
}
|
||||
|
||||
void NWNX_Object_SetPosition(object oObject, vector vPosition, int bUpdateSubareas = TRUE)
|
||||
{
|
||||
string sFunc = "SetPosition";
|
||||
|
||||
NWNX_PushArgumentInt(bUpdateSubareas);
|
||||
NWNX_PushArgumentFloat(vPosition.x);
|
||||
NWNX_PushArgumentFloat(vPosition.y);
|
||||
NWNX_PushArgumentFloat(vPosition.z);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(bUpdateSubareas);
|
||||
NWNXPushVector(vPosition);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "SetPosition");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetCurrentHitPoints(object creature)
|
||||
{
|
||||
string sFunc = "GetCurrentHitPoints";
|
||||
|
||||
NWNX_PushArgumentObject(creature);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(creature);
|
||||
NWNXCall(NWNX_Object, "GetCurrentHitPoints");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetCurrentHitPoints(object creature, int hp)
|
||||
{
|
||||
string sFunc = "SetCurrentHitPoints";
|
||||
|
||||
NWNX_PushArgumentInt(hp);
|
||||
NWNX_PushArgumentObject(creature);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(hp);
|
||||
NWNXPushObject(creature);
|
||||
NWNXCall(NWNX_Object, "SetCurrentHitPoints");
|
||||
}
|
||||
|
||||
void NWNX_Object_SetMaxHitPoints(object creature, int hp)
|
||||
{
|
||||
string sFunc = "SetMaxHitPoints";
|
||||
|
||||
NWNX_PushArgumentInt(hp);
|
||||
NWNX_PushArgumentObject(creature);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(hp);
|
||||
NWNXPushObject(creature);
|
||||
NWNXCall(NWNX_Object, "SetMaxHitPoints");
|
||||
}
|
||||
|
||||
string NWNX_Object_Serialize(object obj)
|
||||
{
|
||||
string sFunc = "Serialize";
|
||||
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "Serialize");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
object NWNX_Object_Deserialize(string serialized)
|
||||
{
|
||||
string sFunc = "Deserialize";
|
||||
|
||||
NWNX_PushArgumentString(serialized);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushString(serialized);
|
||||
NWNXCall(NWNX_Object, "Deserialize");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
string NWNX_Object_GetDialogResref(object obj)
|
||||
{
|
||||
string sFunc = "GetDialogResref";
|
||||
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "GetDialogResref");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetDialogResref(object obj, string dialog)
|
||||
{
|
||||
string sFunc = "SetDialogResref";
|
||||
|
||||
NWNX_PushArgumentString(dialog);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushString(dialog);
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "SetDialogResref");
|
||||
}
|
||||
|
||||
void NWNX_Object_SetAppearance(object oPlaceable, int nAppearance)
|
||||
{
|
||||
string sFunc = "SetAppearance";
|
||||
|
||||
NWNX_PushArgumentInt(nAppearance);
|
||||
NWNX_PushArgumentObject(oPlaceable);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(nAppearance);
|
||||
NWNXPushObject(oPlaceable);
|
||||
NWNXCall(NWNX_Object, "SetAppearance");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetAppearance(object oPlaceable)
|
||||
{
|
||||
string sFunc = "GetAppearance";
|
||||
|
||||
NWNX_PushArgumentObject(oPlaceable);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oPlaceable);
|
||||
NWNXCall(NWNX_Object, "GetAppearance");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Object_GetHasVisualEffect(object obj, int nVFX)
|
||||
{
|
||||
string sFunc = "GetHasVisualEffect";
|
||||
|
||||
NWNX_PushArgumentInt(nVFX);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nVFX);
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "GetHasVisualEffect");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Object_GetDamageImmunity(object obj, int damageType)
|
||||
{
|
||||
string sFunc = "GetDamageImmunity";
|
||||
|
||||
NWNX_PushArgumentInt(damageType);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(damageType);
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "GetDamageImmunity");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_AddToArea(object obj, object area, vector pos)
|
||||
{
|
||||
string sFunc = "AddToArea";
|
||||
|
||||
NWNX_PushArgumentFloat(pos.z);
|
||||
NWNX_PushArgumentFloat(pos.y);
|
||||
NWNX_PushArgumentFloat(pos.x);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushVector(pos);
|
||||
NWNXPushObject(area);
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "AddToArea");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetPlaceableIsStatic(object obj)
|
||||
{
|
||||
string sFunc = "GetPlaceableIsStatic";
|
||||
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "GetPlaceableIsStatic");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetPlaceableIsStatic(object obj, int isStatic)
|
||||
{
|
||||
string sFunc = "SetPlaceableIsStatic";
|
||||
|
||||
NWNX_PushArgumentInt(isStatic);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(isStatic);
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "SetPlaceableIsStatic");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetAutoRemoveKey(object obj)
|
||||
{
|
||||
string sFunc = "GetAutoRemoveKey";
|
||||
|
||||
NWNX_PushArgumentObject(obj);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "GetAutoRemoveKey");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetAutoRemoveKey(object obj, int bRemoveKey)
|
||||
{
|
||||
string sFunc = "SetAutoRemoveKey";
|
||||
|
||||
NWNX_PushArgumentInt(bRemoveKey);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(bRemoveKey);
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "SetAutoRemoveKey");
|
||||
}
|
||||
|
||||
string NWNX_Object_GetTriggerGeometry(object oTrigger)
|
||||
{
|
||||
string sFunc = "GetTriggerGeometry";
|
||||
|
||||
NWNX_PushArgumentObject(oTrigger);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushObject(oTrigger);
|
||||
NWNXCall(NWNX_Object, "GetTriggerGeometry");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetTriggerGeometry(object oTrigger, string sGeometry)
|
||||
{
|
||||
string sFunc = "SetTriggerGeometry";
|
||||
|
||||
NWNX_PushArgumentString(sGeometry);
|
||||
NWNX_PushArgumentObject(oTrigger);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushString(sGeometry);
|
||||
NWNXPushObject(oTrigger);
|
||||
NWNXCall(NWNX_Object, "SetTriggerGeometry");
|
||||
}
|
||||
|
||||
void NWNX_Object_Export(object oObject, string sFileName, string sAlias = "NWNX")
|
||||
{
|
||||
string sFunc = "Export";
|
||||
|
||||
NWNX_PushArgumentString(sAlias);
|
||||
NWNX_PushArgumentString(sFileName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushString(sAlias);
|
||||
NWNXPushString(sFileName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "Export");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetInt(object oObject, string sVarName)
|
||||
{
|
||||
string sFunc = "GetInt";
|
||||
|
||||
NWNX_PushArgumentString(sVarName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sVarName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetInt");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetInt(object oObject, string sVarName, int nValue, int bPersist)
|
||||
{
|
||||
string sFunc = "SetInt";
|
||||
|
||||
NWNX_PushArgumentInt(bPersist);
|
||||
NWNX_PushArgumentInt(nValue);
|
||||
NWNX_PushArgumentString(sVarName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(bPersist);
|
||||
NWNXPushInt(nValue);
|
||||
NWNXPushString(sVarName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "SetInt");
|
||||
}
|
||||
|
||||
void NWNX_Object_DeleteInt(object oObject, string sVarName)
|
||||
{
|
||||
string sFunc = "DeleteInt";
|
||||
|
||||
NWNX_PushArgumentString(sVarName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushString(sVarName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "DeleteInt");
|
||||
}
|
||||
|
||||
string NWNX_Object_GetString(object oObject, string sVarName)
|
||||
{
|
||||
string sFunc = "GetString";
|
||||
|
||||
NWNX_PushArgumentString(sVarName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(sVarName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetString");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetString(object oObject, string sVarName, string sValue, int bPersist)
|
||||
{
|
||||
string sFunc = "SetString";
|
||||
|
||||
NWNX_PushArgumentInt(bPersist);
|
||||
NWNX_PushArgumentString(sValue);
|
||||
NWNX_PushArgumentString(sVarName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(bPersist);
|
||||
NWNXPushString(sValue);
|
||||
NWNXPushString(sVarName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "SetString");
|
||||
}
|
||||
|
||||
void NWNX_Object_DeleteString(object oObject, string sVarName)
|
||||
{
|
||||
string sFunc = "DeleteString";
|
||||
|
||||
NWNX_PushArgumentString(sVarName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushString(sVarName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "DeleteString");
|
||||
}
|
||||
|
||||
float NWNX_Object_GetFloat(object oObject, string sVarName)
|
||||
{
|
||||
string sFunc = "GetFloat";
|
||||
|
||||
NWNX_PushArgumentString(sVarName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueFloat();
|
||||
NWNXPushString(sVarName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetFloat");
|
||||
return NWNXPopFloat();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetFloat(object oObject, string sVarName, float fValue, int bPersist)
|
||||
{
|
||||
string sFunc = "SetFloat";
|
||||
|
||||
NWNX_PushArgumentInt(bPersist);
|
||||
NWNX_PushArgumentFloat(fValue);
|
||||
NWNX_PushArgumentString(sVarName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(bPersist);
|
||||
NWNXPushFloat(fValue);
|
||||
NWNXPushString(sVarName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "SetFloat");
|
||||
}
|
||||
|
||||
void NWNX_Object_DeleteFloat(object oObject, string sVarName)
|
||||
{
|
||||
string sFunc = "DeleteFloat";
|
||||
|
||||
NWNX_PushArgumentString(sVarName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushString(sVarName);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "DeleteFloat");
|
||||
}
|
||||
|
||||
void NWNX_Object_DeleteVarRegex(object oObject, string sRegex)
|
||||
{
|
||||
string sFunc = "DeleteVarRegex";
|
||||
|
||||
NWNX_PushArgumentString(sRegex);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushString(sRegex);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "DeleteVarRegex");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetPositionIsInTrigger(object oTrigger, vector vPosition)
|
||||
{
|
||||
string sFunc = "GetPositionIsInTrigger";
|
||||
|
||||
NWNX_PushArgumentFloat(vPosition.z);
|
||||
NWNX_PushArgumentFloat(vPosition.y);
|
||||
NWNX_PushArgumentFloat(vPosition.x);
|
||||
NWNX_PushArgumentObject(oTrigger);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushVector(vPosition);
|
||||
NWNXPushObject(oTrigger);
|
||||
NWNXCall(NWNX_Object, "GetPositionIsInTrigger");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Object_GetInternalObjectType(object oObject)
|
||||
{
|
||||
string sFunc = "GetInternalObjectType";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetInternalObjectType");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Object_AcquireItem(object oObject, object oItem)
|
||||
{
|
||||
string sFunc = "AcquireItem";
|
||||
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oItem);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "AcquireItem");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_ClearSpellEffectsOnOthers(object oObject)
|
||||
{
|
||||
string sFunc = "ClearSpellEffectsOnOthers";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "ClearSpellEffectsOnOthers");
|
||||
}
|
||||
|
||||
string NWNX_Object_PeekUUID(object oObject)
|
||||
{
|
||||
string sFunc = "PeekUUID";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "PeekUUID");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_Object_GetDoorHasVisibleModel(object oDoor)
|
||||
{
|
||||
string sFunc = "GetDoorHasVisibleModel";
|
||||
|
||||
NWNX_PushArgumentObject(oDoor);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oDoor);
|
||||
NWNXCall(NWNX_Object, "GetDoorHasVisibleModel");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Object_GetIsDestroyable(object oObject)
|
||||
{
|
||||
string sFunc = "GetIsDestroyable";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetIsDestroyable");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Object_DoSpellImmunity(object oDefender, object oCaster, int nSpellId=-1)
|
||||
{
|
||||
string sFunc = "DoSpellImmunity";
|
||||
NWNX_PushArgumentInt(nSpellId);
|
||||
NWNX_PushArgumentObject(oCaster);
|
||||
NWNX_PushArgumentObject(oDefender);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nSpellId);
|
||||
NWNXPushObject(oCaster);
|
||||
NWNXPushObject(oDefender);
|
||||
NWNXCall(NWNX_Object, "DoSpellImmunity");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Object_DoSpellLevelAbsorption(object oDefender, object oCaster, int nSpellId=-1, int nSpellLevel=-1, int nSpellSchool=-1)
|
||||
{
|
||||
string sFunc = "DoSpellLevelAbsorption";
|
||||
NWNX_PushArgumentInt(nSpellSchool);
|
||||
NWNX_PushArgumentInt(nSpellLevel);
|
||||
NWNX_PushArgumentInt(nSpellId);
|
||||
NWNX_PushArgumentObject(oCaster);
|
||||
NWNX_PushArgumentObject(oDefender);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nSpellSchool);
|
||||
NWNXPushInt(nSpellLevel);
|
||||
NWNXPushInt(nSpellId);
|
||||
NWNXPushObject(oCaster);
|
||||
NWNXPushObject(oDefender);
|
||||
NWNXCall(NWNX_Object, "DoSpellLevelAbsorption");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetHasInventory(object obj, int bHasInventory)
|
||||
{
|
||||
string sFunc = "SetHasInventory";
|
||||
|
||||
NWNX_PushArgumentInt(bHasInventory);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(bHasInventory);
|
||||
NWNXPushObject(obj);
|
||||
NWNXCall(NWNX_Object, "SetHasInventory");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetCurrentAnimation(object oObject)
|
||||
{
|
||||
string sFunc = "GetCurrentAnimation";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetCurrentAnimation");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Object_GetAILevel(object oObject)
|
||||
{
|
||||
string sFunc = "GetAILevel";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetAILevel");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetAILevel(object oObject, int nLevel)
|
||||
{
|
||||
string sFunc = "SetAILevel";
|
||||
|
||||
NWNX_PushArgumentInt(nLevel);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(nLevel);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "SetAILevel");
|
||||
}
|
||||
|
||||
string NWNX_Object_GetMapNote(object oObject, int nID = 0, int nGender = 0)
|
||||
{
|
||||
string sFunc = "GetMapNote";
|
||||
|
||||
NWNX_PushArgumentInt(nGender);
|
||||
NWNX_PushArgumentInt(nID);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(nGender);
|
||||
NWNXPushInt(nID);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetMapNote");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetMapNote(object oObject, string sMapNote, int nID = 0, int nGender = 0)
|
||||
{
|
||||
string sFunc = "SetMapNote";
|
||||
|
||||
NWNX_PushArgumentInt(nGender);
|
||||
NWNX_PushArgumentInt(nID);
|
||||
NWNX_PushArgumentString(sMapNote);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(nGender);
|
||||
NWNXPushInt(nID);
|
||||
NWNXPushString(sMapNote);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "SetMapNote");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetLastSpellCastFeat(object oObject)
|
||||
{
|
||||
string sFunc = "GetLastSpellCastFeat";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetLastSpellCastFeat");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetLastTriggered(object oObject, object oLast)
|
||||
{
|
||||
string sFunc = "SetLastTriggered";
|
||||
|
||||
NWNX_PushArgumentObject(oLast);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushObject(oLast);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "SetLastTriggered");
|
||||
}
|
||||
|
||||
float NWNX_Object_GetAoEObjectDurationRemaining(object oAoE)
|
||||
{
|
||||
string sFunc = "GetAoEObjectDurationRemaining";
|
||||
|
||||
NWNX_PushArgumentObject(oAoE);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueFloat();
|
||||
NWNXPushObject(oAoE);
|
||||
NWNXCall(NWNX_Object, "GetAoEObjectDurationRemaining");
|
||||
return NWNXPopFloat();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetConversationPrivate(object oObject, int bPrivate)
|
||||
{
|
||||
string sFunc = "SetConversationPrivate";
|
||||
|
||||
NWNX_PushArgumentInt(bPrivate);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(bPrivate);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "SetConversationPrivate");
|
||||
}
|
||||
|
||||
void NWNX_Object_SetAoEObjectRadius(object oAoE, float fRadius)
|
||||
{
|
||||
string sFunc = "SetAoEObjectRadius";
|
||||
|
||||
NWNX_PushArgumentFloat(fRadius);
|
||||
NWNX_PushArgumentObject(oAoE);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushFloat(fRadius);
|
||||
NWNXPushObject(oAoE);
|
||||
NWNXCall(NWNX_Object, "SetAoEObjectRadius");
|
||||
}
|
||||
|
||||
float NWNX_Object_GetAoEObjectRadius(object oAoE)
|
||||
{
|
||||
string sFunc = "GetAoEObjectRadius";
|
||||
|
||||
NWNX_PushArgumentObject(oAoE);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueFloat();
|
||||
NWNXPushObject(oAoE);
|
||||
NWNXCall(NWNX_Object, "GetAoEObjectRadius");
|
||||
return NWNXPopFloat();
|
||||
}
|
||||
|
||||
int NWNX_Object_GetLastSpellCastSpontaneous(object oObject)
|
||||
{
|
||||
string sFunc = "GetLastSpellCastSpontaneous";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetLastSpellCastSpontaneous");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Object_GetLastSpellCastDomainLevel(object oObject)
|
||||
{
|
||||
string sFunc = "GetLastSpellCastDomainLevel";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetLastSpellCastDomainLevel");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_ForceAssignUUID(object oObject, string sUUID)
|
||||
{
|
||||
string sFunc = "ForceAssignUUID";
|
||||
|
||||
NWNX_PushArgumentString(sUUID);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushString(sUUID);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "ForceAssignUUID");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetInventoryItemCount(object oObject)
|
||||
{
|
||||
string sFunc = "GetInventoryItemCount";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "GetInventoryItemCount");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_OverrideSpellProjectileVFX(object oCreature, int nProjectileType = -1, int nProjectilePathType = -1, int nSpellID = -1, int bPersist = FALSE)
|
||||
{
|
||||
string sFunc = "OverrideSpellProjectileVFX";
|
||||
|
||||
NWNX_PushArgumentInt(bPersist);
|
||||
NWNX_PushArgumentInt(nSpellID);
|
||||
NWNX_PushArgumentInt(nProjectilePathType);
|
||||
NWNX_PushArgumentInt(nProjectileType);
|
||||
NWNX_PushArgumentObject(oCreature);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushInt(bPersist);
|
||||
NWNXPushInt(nSpellID);
|
||||
NWNXPushInt(nProjectilePathType);
|
||||
NWNXPushInt(nProjectileType);
|
||||
NWNXPushObject(oCreature);
|
||||
NWNXCall(NWNX_Object, "OverrideSpellProjectileVFX");
|
||||
}
|
||||
|
||||
int NWNX_Object_GetLastSpellInstant()
|
||||
{
|
||||
string sFunc = "GetLastSpellInstant";
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Object, "GetLastSpellInstant");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetTrapCreator(object oObject, object oCreator)
|
||||
{
|
||||
string sFunc = "SetTrapCreator";
|
||||
NWNX_PushArgumentObject(oCreator);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXPushObject(oCreator);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Object, "SetTrapCreator");
|
||||
}
|
||||
|
||||
string NWNX_Object_GetLocalizedName(object oObject, int nLanguage, int nGender = 0)
|
||||
{
|
||||
string sFunc = "GetLocalizedName";
|
||||
|
||||
NWNX_PushArgumentInt(nGender);
|
||||
NWNX_PushArgumentInt(nLanguage);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNXPushInt(nGender);
|
||||
NWNXPushInt(nLanguage);
|
||||
NWNXPushObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Object, sFunc);
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Object_SetLocalizedName(object oObject, string sName, int nLanguage, int nGender = 0)
|
||||
{
|
||||
string sFunc = "SetLocalizedName";
|
||||
|
||||
NWNX_PushArgumentInt(nGender);
|
||||
NWNX_PushArgumentInt(nLanguage);
|
||||
NWNX_PushArgumentString(sName);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNXPushInt(nGender);
|
||||
NWNXPushInt(nLanguage);
|
||||
NWNXPushString(sName);
|
||||
NWNXPushObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Object, sFunc);
|
||||
NWNXCall(NWNX_Object, sFunc);
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions exposing additional player properties.
|
||||
/// @{
|
||||
/// @file nwnx_player.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Player = "NWNX_Player"; ///< @private
|
||||
|
||||
@@ -458,22 +457,16 @@ void NWNX_Player_ReloadColorPalettes(object oPlayer);
|
||||
|
||||
void NWNX_Player_ForcePlaceableExamineWindow(object player, object placeable)
|
||||
{
|
||||
string sFunc = "ForcePlaceableExamineWindow";
|
||||
|
||||
NWNX_PushArgumentObject(placeable);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(placeable);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "ForcePlaceableExamineWindow");
|
||||
}
|
||||
|
||||
void NWNX_Player_ForcePlaceableInventoryWindow(object player, object placeable)
|
||||
{
|
||||
string sFunc = "ForcePlaceableInventoryWindow";
|
||||
|
||||
NWNX_PushArgumentObject(placeable);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(placeable);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "ForcePlaceableInventoryWindow");
|
||||
}
|
||||
|
||||
void NWNX_Player_INTERNAL_StopGuiTimingBar(object player, string script = "", int id = -1) ///< @private
|
||||
@@ -482,17 +475,12 @@ void NWNX_Player_INTERNAL_StopGuiTimingBar(object player, string script = "", in
|
||||
// Either the timing event was never started, or it already finished.
|
||||
if (activeId == 0)
|
||||
return;
|
||||
|
||||
// If id != -1, we ended up here through DelayCommand. Make sure it's for the right ID
|
||||
if (id != -1 && id != activeId)
|
||||
return;
|
||||
|
||||
DeleteLocalInt(player, "NWNX_PLAYER_GUI_TIMING_ACTIVE");
|
||||
|
||||
string sFunc = "StopGuiTimingBar";
|
||||
NWNX_PushArgumentObject(player);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "StopGuiTimingBar");
|
||||
if(script != "")
|
||||
{
|
||||
ExecuteScript(script, player);
|
||||
@@ -503,18 +491,13 @@ void NWNX_Player_StartGuiTimingBar(object player, float seconds, string script =
|
||||
{
|
||||
if (GetLocalInt(player, "NWNX_PLAYER_GUI_TIMING_ACTIVE"))
|
||||
return;
|
||||
|
||||
string sFunc = "StartGuiTimingBar";
|
||||
NWNX_PushArgumentInt(type);
|
||||
NWNX_PushArgumentFloat(seconds);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
|
||||
NWNXPushInt(type);
|
||||
NWNXPushFloat(seconds);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "StartGuiTimingBar");
|
||||
int id = GetLocalInt(player, "NWNX_PLAYER_GUI_TIMING_ID") + 1;
|
||||
SetLocalInt(player, "NWNX_PLAYER_GUI_TIMING_ACTIVE", id);
|
||||
SetLocalInt(player, "NWNX_PLAYER_GUI_TIMING_ID", id);
|
||||
|
||||
DelayCommand(seconds, NWNX_Player_INTERNAL_StopGuiTimingBar(player, script, id));
|
||||
}
|
||||
|
||||
@@ -525,638 +508,471 @@ void NWNX_Player_StopGuiTimingBar(object player, string script = "")
|
||||
|
||||
void NWNX_Player_SetAlwaysWalk(object player, int bWalk=TRUE)
|
||||
{
|
||||
string sFunc = "SetAlwaysWalk";
|
||||
|
||||
NWNX_PushArgumentInt(bWalk);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(bWalk);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "SetAlwaysWalk");
|
||||
}
|
||||
|
||||
struct NWNX_Player_QuickBarSlot NWNX_Player_GetQuickBarSlot(object player, int slot)
|
||||
{
|
||||
string sFunc = "GetQuickBarSlot";
|
||||
struct NWNX_Player_QuickBarSlot qbs;
|
||||
|
||||
NWNX_PushArgumentInt(slot);
|
||||
NWNX_PushArgumentObject(player);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
|
||||
qbs.oAssociate = NWNX_GetReturnValueObject();
|
||||
qbs.nAssociateType = NWNX_GetReturnValueInt();
|
||||
qbs.nDomainLevel = NWNX_GetReturnValueInt();
|
||||
qbs.nMetaType = NWNX_GetReturnValueInt();
|
||||
qbs.nINTParam1 = NWNX_GetReturnValueInt();
|
||||
qbs.sToolTip = NWNX_GetReturnValueString();
|
||||
qbs.sCommandLine = NWNX_GetReturnValueString();
|
||||
qbs.sCommandLabel = NWNX_GetReturnValueString();
|
||||
qbs.sResRef = NWNX_GetReturnValueString();
|
||||
qbs.nMultiClass = NWNX_GetReturnValueInt();
|
||||
qbs.nObjectType = NWNX_GetReturnValueInt();
|
||||
qbs.oSecondaryItem = NWNX_GetReturnValueObject();
|
||||
qbs.oItem = NWNX_GetReturnValueObject();
|
||||
|
||||
NWNXPushInt(slot);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "GetQuickBarSlot");
|
||||
qbs.oAssociate = NWNXPopObject();
|
||||
qbs.nAssociateType = NWNXPopInt();
|
||||
qbs.nDomainLevel = NWNXPopInt();
|
||||
qbs.nMetaType = NWNXPopInt();
|
||||
qbs.nINTParam1 = NWNXPopInt();
|
||||
qbs.sToolTip = NWNXPopString();
|
||||
qbs.sCommandLine = NWNXPopString();
|
||||
qbs.sCommandLabel = NWNXPopString();
|
||||
qbs.sResRef = NWNXPopString();
|
||||
qbs.nMultiClass = NWNXPopInt();
|
||||
qbs.nObjectType = NWNXPopInt();
|
||||
qbs.oSecondaryItem = NWNXPopObject();
|
||||
qbs.oItem = NWNXPopObject();
|
||||
return qbs;
|
||||
}
|
||||
|
||||
void NWNX_Player_SetQuickBarSlot(object player, int slot, struct NWNX_Player_QuickBarSlot qbs)
|
||||
{
|
||||
string sFunc = "SetQuickBarSlot";
|
||||
|
||||
NWNX_PushArgumentObject(qbs.oItem);
|
||||
NWNX_PushArgumentObject(qbs.oSecondaryItem);
|
||||
NWNX_PushArgumentInt(qbs.nObjectType);
|
||||
NWNX_PushArgumentInt(qbs.nMultiClass);
|
||||
NWNX_PushArgumentString(qbs.sResRef);
|
||||
NWNX_PushArgumentString(qbs.sCommandLabel);
|
||||
NWNX_PushArgumentString(qbs.sCommandLine);
|
||||
NWNX_PushArgumentString(qbs.sToolTip);
|
||||
NWNX_PushArgumentInt(qbs.nINTParam1);
|
||||
NWNX_PushArgumentInt(qbs.nMetaType);
|
||||
NWNX_PushArgumentInt(qbs.nDomainLevel);
|
||||
NWNX_PushArgumentInt(qbs.nAssociateType);
|
||||
NWNX_PushArgumentObject(qbs.oAssociate);
|
||||
|
||||
NWNX_PushArgumentInt(slot);
|
||||
NWNX_PushArgumentObject(player);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(qbs.oItem);
|
||||
NWNXPushObject(qbs.oSecondaryItem);
|
||||
NWNXPushInt(qbs.nObjectType);
|
||||
NWNXPushInt(qbs.nMultiClass);
|
||||
NWNXPushString(qbs.sResRef);
|
||||
NWNXPushString(qbs.sCommandLabel);
|
||||
NWNXPushString(qbs.sCommandLine);
|
||||
NWNXPushString(qbs.sToolTip);
|
||||
NWNXPushInt(qbs.nINTParam1);
|
||||
NWNXPushInt(qbs.nMetaType);
|
||||
NWNXPushInt(qbs.nDomainLevel);
|
||||
NWNXPushInt(qbs.nAssociateType);
|
||||
NWNXPushObject(qbs.oAssociate);
|
||||
NWNXPushInt(slot);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "SetQuickBarSlot");
|
||||
}
|
||||
|
||||
string NWNX_Player_GetBicFileName(object player)
|
||||
{
|
||||
string sFunc = "GetBicFileName";
|
||||
|
||||
NWNX_PushArgumentObject(player);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "GetBicFileName");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Player_ShowVisualEffect(object player, int effectId, vector position, float scale=1.0f, vector translate=[], vector rotate=[])
|
||||
{
|
||||
string sFunc = "ShowVisualEffect";
|
||||
|
||||
NWNX_PushArgumentFloat(rotate.x);
|
||||
NWNX_PushArgumentFloat(rotate.y);
|
||||
NWNX_PushArgumentFloat(rotate.z);
|
||||
NWNX_PushArgumentFloat(translate.x);
|
||||
NWNX_PushArgumentFloat(translate.y);
|
||||
NWNX_PushArgumentFloat(translate.z);
|
||||
NWNX_PushArgumentFloat(scale);
|
||||
NWNX_PushArgumentFloat(position.x);
|
||||
NWNX_PushArgumentFloat(position.y);
|
||||
NWNX_PushArgumentFloat(position.z);
|
||||
NWNX_PushArgumentInt(effectId);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushVector(rotate);
|
||||
NWNXPushVector(translate);
|
||||
NWNXPushFloat(scale);
|
||||
NWNXPushVector(position);
|
||||
NWNXPushInt(effectId);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "ShowVisualEffect");
|
||||
}
|
||||
|
||||
void NWNX_Player_MusicBackgroundChangeDay(object player, int track)
|
||||
{
|
||||
string sFunc = "ChangeBackgroundMusic";
|
||||
|
||||
NWNX_PushArgumentInt(track);
|
||||
NWNX_PushArgumentInt(TRUE);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(track);
|
||||
NWNXPushInt(TRUE);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "ChangeBackgroundMusic");
|
||||
}
|
||||
|
||||
void NWNX_Player_MusicBackgroundChangeNight(object player, int track)
|
||||
{
|
||||
string sFunc = "ChangeBackgroundMusic";
|
||||
|
||||
NWNX_PushArgumentInt(track);
|
||||
NWNX_PushArgumentInt(FALSE);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(track);
|
||||
NWNXPushInt(FALSE);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "ChangeBackgroundMusic");
|
||||
}
|
||||
|
||||
void NWNX_Player_MusicBackgroundStart(object player)
|
||||
{
|
||||
string sFunc = "PlayBackgroundMusic";
|
||||
|
||||
NWNX_PushArgumentInt(TRUE);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(TRUE);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "PlayBackgroundMusic");
|
||||
}
|
||||
|
||||
void NWNX_Player_MusicBackgroundStop(object player)
|
||||
{
|
||||
string sFunc = "PlayBackgroundMusic";
|
||||
|
||||
NWNX_PushArgumentInt(FALSE);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(FALSE);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "PlayBackgroundMusic");
|
||||
}
|
||||
|
||||
void NWNX_Player_MusicBattleChange(object player, int track)
|
||||
{
|
||||
string sFunc = "ChangeBattleMusic";
|
||||
|
||||
NWNX_PushArgumentInt(track);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(track);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "ChangeBattleMusic");
|
||||
}
|
||||
|
||||
void NWNX_Player_MusicBattleStart(object player)
|
||||
{
|
||||
string sFunc = "PlayBattleMusic";
|
||||
|
||||
NWNX_PushArgumentInt(TRUE);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(TRUE);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "PlayBattleMusic");
|
||||
}
|
||||
|
||||
void NWNX_Player_MusicBattleStop(object player)
|
||||
{
|
||||
string sFunc = "PlayBattleMusic";
|
||||
|
||||
NWNX_PushArgumentInt(FALSE);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(FALSE);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "PlayBattleMusic");
|
||||
}
|
||||
|
||||
void NWNX_Player_PlaySound(object player, string sound, object target = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "PlaySound";
|
||||
|
||||
NWNX_PushArgumentObject(target);
|
||||
NWNX_PushArgumentString(sound);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(target);
|
||||
NWNXPushString(sound);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "PlaySound");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetPlaceableUsable(object player, object placeable, int usable)
|
||||
{
|
||||
string sFunc = "SetPlaceableUsable";
|
||||
|
||||
NWNX_PushArgumentInt(usable);
|
||||
NWNX_PushArgumentObject(placeable);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(usable);
|
||||
NWNXPushObject(placeable);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "SetPlaceableUsable");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetRestDuration(object player, int duration)
|
||||
{
|
||||
string sFunc = "SetRestDuration";
|
||||
|
||||
NWNX_PushArgumentInt(duration);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(duration);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "SetRestDuration");
|
||||
}
|
||||
|
||||
void NWNX_Player_ApplyInstantVisualEffectToObject(object player, object target, int visualeffect, float scale=1.0f, vector translate=[], vector rotate=[])
|
||||
{
|
||||
string sFunc = "ApplyInstantVisualEffectToObject";
|
||||
|
||||
NWNX_PushArgumentFloat(rotate.z);
|
||||
NWNX_PushArgumentFloat(rotate.y);
|
||||
NWNX_PushArgumentFloat(rotate.x);
|
||||
NWNX_PushArgumentFloat(translate.z);
|
||||
NWNX_PushArgumentFloat(translate.y);
|
||||
NWNX_PushArgumentFloat(translate.x);
|
||||
NWNX_PushArgumentFloat(scale);
|
||||
NWNX_PushArgumentInt(visualeffect);
|
||||
NWNX_PushArgumentObject(target);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushVector(rotate);
|
||||
NWNXPushVector(translate);
|
||||
NWNXPushFloat(scale);
|
||||
NWNXPushInt(visualeffect);
|
||||
NWNXPushObject(target);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "ApplyInstantVisualEffectToObject");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateCharacterSheet(object player)
|
||||
{
|
||||
string sFunc = "UpdateCharacterSheet";
|
||||
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "UpdateCharacterSheet");
|
||||
}
|
||||
|
||||
void NWNX_Player_OpenInventory(object player, object target, int open = TRUE)
|
||||
{
|
||||
string sFunc = "OpenInventory";
|
||||
|
||||
NWNX_PushArgumentInt(open);
|
||||
NWNX_PushArgumentObject(target);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(open);
|
||||
NWNXPushObject(target);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "OpenInventory");
|
||||
}
|
||||
|
||||
string NWNX_Player_GetAreaExplorationState(object player, object area)
|
||||
{
|
||||
string sFunc = "GetAreaExplorationState";
|
||||
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushObject(area);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "GetAreaExplorationState");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Player_SetAreaExplorationState(object player, object area, string str)
|
||||
{
|
||||
string sFunc = "SetAreaExplorationState";
|
||||
|
||||
NWNX_PushArgumentString(str);
|
||||
NWNX_PushArgumentObject(area);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushString(str);
|
||||
NWNXPushObject(area);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "SetAreaExplorationState");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetRestAnimation(object oPlayer, int nAnimation)
|
||||
{
|
||||
string sFunc = "SetRestAnimation";
|
||||
|
||||
NWNX_PushArgumentInt(nAnimation);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(nAnimation);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetRestAnimation");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetObjectVisualTransformOverride(object oPlayer, object oObject, int nTransform, float fValue)
|
||||
{
|
||||
string sFunc = "SetObjectVisualTransformOverride";
|
||||
|
||||
NWNX_PushArgumentFloat(fValue);
|
||||
NWNX_PushArgumentInt(nTransform);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushFloat(fValue);
|
||||
NWNXPushInt(nTransform);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetObjectVisualTransformOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_ApplyLoopingVisualEffectToObject(object player, object target, int visualeffect)
|
||||
{
|
||||
string sFunc = "ApplyLoopingVisualEffectToObject";
|
||||
|
||||
NWNX_PushArgumentInt(visualeffect);
|
||||
NWNX_PushArgumentObject(target);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(visualeffect);
|
||||
NWNXPushObject(target);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "ApplyLoopingVisualEffectToObject");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetPlaceableNameOverride(object player, object placeable, string name)
|
||||
{
|
||||
string sFunc = "SetPlaceableNameOverride";
|
||||
|
||||
NWNX_PushArgumentString(name);
|
||||
NWNX_PushArgumentObject(placeable);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushString(name);
|
||||
NWNXPushObject(placeable);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "SetPlaceableNameOverride");
|
||||
}
|
||||
|
||||
int NWNX_Player_GetQuestCompleted(object player, string sQuestName)
|
||||
{
|
||||
string sFunc = "GetQuestCompleted";
|
||||
|
||||
NWNX_PushArgumentString(sQuestName);
|
||||
NWNX_PushArgumentObject(player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sQuestName);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "GetQuestCompleted");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Player_SetPersistentLocation(string sCDKeyOrCommunityName, string sBicFileName, object oWP, int bFirstConnectOnly = TRUE)
|
||||
{
|
||||
string sFunc = "SetPersistentLocation";
|
||||
|
||||
NWNX_PushArgumentInt(bFirstConnectOnly);
|
||||
NWNX_PushArgumentObject(oWP);
|
||||
NWNX_PushArgumentString(sBicFileName);
|
||||
NWNX_PushArgumentString(sCDKeyOrCommunityName);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(bFirstConnectOnly);
|
||||
NWNXPushObject(oWP);
|
||||
NWNXPushString(sBicFileName);
|
||||
NWNXPushString(sCDKeyOrCommunityName);
|
||||
NWNXCall(NWNX_Player, "SetPersistentLocation");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateItemName(object oPlayer, object oItem)
|
||||
{
|
||||
string sFunc = "UpdateItemName";
|
||||
|
||||
NWNX_PushArgumentObject(oItem);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(oItem);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "UpdateItemName");
|
||||
}
|
||||
|
||||
int NWNX_Player_PossessCreature(object oPossessor, object oPossessed, int bMindImmune = TRUE, int bCreateDefaultQB = FALSE)
|
||||
{
|
||||
string sFunc = "PossessCreature";
|
||||
|
||||
NWNX_PushArgumentInt(bCreateDefaultQB);
|
||||
NWNX_PushArgumentInt(bMindImmune);
|
||||
NWNX_PushArgumentObject(oPossessed);
|
||||
NWNX_PushArgumentObject(oPossessor);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(bCreateDefaultQB);
|
||||
NWNXPushInt(bMindImmune);
|
||||
NWNXPushObject(oPossessed);
|
||||
NWNXPushObject(oPossessor);
|
||||
NWNXCall(NWNX_Player, "PossessCreature");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Player_GetPlatformId(object oPlayer)
|
||||
{
|
||||
string sFunc = "GetPlatformId";
|
||||
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "GetPlatformId");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Player_GetLanguage(object oPlayer)
|
||||
{
|
||||
string sFunc = "GetLanguage";
|
||||
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "GetLanguage");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Player_SetResManOverride(object oPlayer, int nResType, string sOldResName, string sNewResName)
|
||||
{
|
||||
string sFunc = "SetResManOverride";
|
||||
|
||||
NWNX_PushArgumentString(sNewResName);
|
||||
NWNX_PushArgumentString(sOldResName);
|
||||
NWNX_PushArgumentInt(nResType);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushString(sNewResName);
|
||||
NWNXPushString(sOldResName);
|
||||
NWNXPushInt(nResType);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetResManOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetCustomToken(object oPlayer, int nCustomTokenNumber, string sTokenValue)
|
||||
{
|
||||
string sFunc = "SetCustomToken";
|
||||
|
||||
NWNX_PushArgumentString(sTokenValue);
|
||||
NWNX_PushArgumentInt(nCustomTokenNumber);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushString(sTokenValue);
|
||||
NWNXPushInt(nCustomTokenNumber);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetCustomToken");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetCreatureNameOverride(object oPlayer, object oCreature, string sName)
|
||||
{
|
||||
string sFunc = "SetCreatureNameOverride";
|
||||
|
||||
NWNX_PushArgumentString(sName);
|
||||
NWNX_PushArgumentObject(oCreature);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushString(sName);
|
||||
NWNXPushObject(oCreature);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetCreatureNameOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_FloatingTextStringOnCreature(object oPlayer, object oCreature, string sText, int bChatWindow = TRUE)
|
||||
{
|
||||
string sFunc = "FloatingTextStringOnCreature";
|
||||
|
||||
NWNX_PushArgumentInt(bChatWindow);
|
||||
NWNX_PushArgumentString(sText);
|
||||
NWNX_PushArgumentObject(oCreature);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(bChatWindow);
|
||||
NWNXPushString(sText);
|
||||
NWNXPushObject(oCreature);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "FloatingTextStringOnCreature");
|
||||
}
|
||||
|
||||
void NWNX_Player_ToggleDM(object oPlayer, int bIsDM)
|
||||
{
|
||||
string sFunc = "ToggleDM";
|
||||
|
||||
NWNX_PushArgumentInt(bIsDM);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(bIsDM);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "ToggleDM");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetObjectMouseCursorOverride(object oPlayer, object oObject, int nCursor)
|
||||
{
|
||||
string sFunc = "SetObjectMouseCursorOverride";
|
||||
|
||||
NWNX_PushArgumentInt(nCursor);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(nCursor);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetObjectMouseCursorOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetObjectHiliteColorOverride(object oPlayer, object oObject, int nColor)
|
||||
{
|
||||
string sFunc = "SetObjectHiliteColorOverride";
|
||||
|
||||
NWNX_PushArgumentInt(nColor);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(nColor);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetObjectHiliteColorOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_RemoveEffectFromTURD(object oPlayer, string sEffectTag)
|
||||
{
|
||||
string sFunc = "RemoveEffectFromTURD";
|
||||
|
||||
NWNX_PushArgumentString(sEffectTag);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushString(sEffectTag);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "RemoveEffectFromTURD");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetSpawnLocation(object oPlayer, location locSpawn)
|
||||
{
|
||||
string sFunc = "SetSpawnLocation";
|
||||
|
||||
vector vPosition = GetPositionFromLocation(locSpawn);
|
||||
|
||||
NWNX_PushArgumentFloat(GetFacingFromLocation(locSpawn));
|
||||
NWNX_PushArgumentFloat(vPosition.z);
|
||||
NWNX_PushArgumentFloat(vPosition.y);
|
||||
NWNX_PushArgumentFloat(vPosition.x);
|
||||
NWNX_PushArgumentObject(GetAreaFromLocation(locSpawn));
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushLocation(locSpawn);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetSpawnLocation");
|
||||
}
|
||||
|
||||
void NWNX_Player_SendDMAllCreatorLists(object oPlayer)
|
||||
{
|
||||
string sFunc = "SendDMAllCreatorLists";
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SendDMAllCreatorLists");
|
||||
}
|
||||
|
||||
int NWNX_Player_AddCustomJournalEntry(object oPlayer, struct NWNX_Player_JournalEntry journalEntry, int nSilentUpdate = 0)
|
||||
{
|
||||
string sFunc = "AddCustomJournalEntry";
|
||||
NWNX_PushArgumentInt(nSilentUpdate);
|
||||
NWNX_PushArgumentInt(journalEntry.nTimeOfDay);
|
||||
NWNX_PushArgumentInt(journalEntry.nCalendarDay);
|
||||
NWNX_PushArgumentInt(journalEntry.nUpdated);
|
||||
NWNX_PushArgumentInt(journalEntry.nQuestDisplayed);
|
||||
NWNX_PushArgumentInt(journalEntry.nQuestCompleted);
|
||||
NWNX_PushArgumentInt(journalEntry.nPriority);
|
||||
NWNX_PushArgumentInt(journalEntry.nState);
|
||||
NWNX_PushArgumentString(journalEntry.sTag);
|
||||
NWNX_PushArgumentString(journalEntry.sText);
|
||||
NWNX_PushArgumentString(journalEntry.sName);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nSilentUpdate);
|
||||
NWNXPushInt(journalEntry.nTimeOfDay);
|
||||
NWNXPushInt(journalEntry.nCalendarDay);
|
||||
NWNXPushInt(journalEntry.nUpdated);
|
||||
NWNXPushInt(journalEntry.nQuestDisplayed);
|
||||
NWNXPushInt(journalEntry.nQuestCompleted);
|
||||
NWNXPushInt(journalEntry.nPriority);
|
||||
NWNXPushInt(journalEntry.nState);
|
||||
NWNXPushString(journalEntry.sTag);
|
||||
NWNXPushString(journalEntry.sText);
|
||||
NWNXPushString(journalEntry.sName);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "AddCustomJournalEntry");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
struct NWNX_Player_JournalEntry NWNX_Player_GetJournalEntry(object oPlayer, string questTag)
|
||||
{
|
||||
string sFunc = "GetJournalEntry";
|
||||
struct NWNX_Player_JournalEntry entry;
|
||||
|
||||
NWNX_PushArgumentString(questTag);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
|
||||
entry.nUpdated = NWNX_GetReturnValueInt();
|
||||
NWNXPushString(questTag);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "GetJournalEntry");
|
||||
entry.nUpdated = NWNXPopInt();
|
||||
if(entry.nUpdated == -1) // -1 set as an indicator to say that the entry was not found
|
||||
{
|
||||
return entry;
|
||||
}
|
||||
entry.nQuestDisplayed = NWNX_GetReturnValueInt();
|
||||
entry.nQuestCompleted = NWNX_GetReturnValueInt();
|
||||
entry.nPriority = NWNX_GetReturnValueInt();
|
||||
entry.nState = NWNX_GetReturnValueInt();
|
||||
entry.nTimeOfDay = NWNX_GetReturnValueInt();
|
||||
entry.nCalendarDay = NWNX_GetReturnValueInt();
|
||||
entry.sName = NWNX_GetReturnValueString();
|
||||
entry.sText = NWNX_GetReturnValueString();
|
||||
entry.nQuestDisplayed = NWNXPopInt();
|
||||
entry.nQuestCompleted = NWNXPopInt();
|
||||
entry.nPriority = NWNXPopInt();
|
||||
entry.nState = NWNXPopInt();
|
||||
entry.nTimeOfDay = NWNXPopInt();
|
||||
entry.nCalendarDay = NWNXPopInt();
|
||||
entry.sName = NWNXPopString();
|
||||
entry.sText = NWNXPopString();
|
||||
entry.sTag = questTag;
|
||||
return entry;
|
||||
}
|
||||
|
||||
void NWNX_Player_CloseStore(object oPlayer)
|
||||
{
|
||||
string sFunc = "CloseStore";
|
||||
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "CloseStore");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetTlkOverride(object oPlayer, int nStrRef, string sOverride, int bRestoreGlobal = TRUE)
|
||||
{
|
||||
string sFunc = "SetTlkOverride";
|
||||
|
||||
NWNX_PushArgumentInt(bRestoreGlobal);
|
||||
NWNX_PushArgumentString(sOverride);
|
||||
NWNX_PushArgumentInt(nStrRef);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(bRestoreGlobal);
|
||||
NWNXPushString(sOverride);
|
||||
NWNXPushInt(nStrRef);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetTlkOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_ReloadTlk(object oPlayer)
|
||||
{
|
||||
string sFunc = "ReloadTlk";
|
||||
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "ReloadTlk");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateWind(object oPlayer, vector vDirection, float fMagnitude, float fYaw, float fPitch)
|
||||
{
|
||||
string sFunc = "UpdateWind";
|
||||
|
||||
NWNX_PushArgumentFloat(fPitch);
|
||||
NWNX_PushArgumentFloat(fYaw);
|
||||
NWNX_PushArgumentFloat(fMagnitude);
|
||||
NWNX_PushArgumentFloat(vDirection.x);
|
||||
NWNX_PushArgumentFloat(vDirection.y);
|
||||
NWNX_PushArgumentFloat(vDirection.z);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushFloat(fPitch);
|
||||
NWNXPushFloat(fYaw);
|
||||
NWNXPushFloat(fMagnitude);
|
||||
NWNXPushVector(vDirection);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "UpdateWind");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateSkyBox(object oPlayer, int nSkyBox)
|
||||
{
|
||||
string sFunc = "UpdateSkyBox";
|
||||
|
||||
NWNX_PushArgumentInt(nSkyBox);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(nSkyBox);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "UpdateSkyBox");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateFogColor(object oPlayer, int nSunFogColor, int nMoonFogColor)
|
||||
{
|
||||
string sFunc = "UpdateFogColor";
|
||||
|
||||
NWNX_PushArgumentInt(nMoonFogColor);
|
||||
NWNX_PushArgumentInt(nSunFogColor);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(nMoonFogColor);
|
||||
NWNXPushInt(nSunFogColor);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "UpdateFogColor");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateFogAmount(object oPlayer, int nSunFogAmount, int nMoonFogAmount)
|
||||
{
|
||||
string sFunc = "UpdateFogAmount";
|
||||
|
||||
NWNX_PushArgumentInt(nMoonFogAmount);
|
||||
NWNX_PushArgumentInt(nSunFogAmount);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(nMoonFogAmount);
|
||||
NWNXPushInt(nSunFogAmount);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "UpdateFogAmount");
|
||||
}
|
||||
|
||||
object NWNX_Player_GetGameObject(object oPlayer)
|
||||
{
|
||||
string sFunc = "GetGameObject";
|
||||
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "GetGameObject");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
void NWNX_Player_SetObjectUiDiscoveryMaskOverride(object oPlayer, object oObject, int nMask)
|
||||
{
|
||||
string sFunc = "SetObjectUiDiscoveryMaskOverride";
|
||||
|
||||
NWNX_PushArgumentInt(nMask);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(nMask);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetObjectUiDiscoveryMaskOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_SendPartyInvite(object oPlayer, object oInviter, int bForceInvite = FALSE, int bHideDialog = FALSE)
|
||||
{
|
||||
string sFunc = "SendPartyInvite";
|
||||
|
||||
NWNX_PushArgumentInt(bHideDialog);
|
||||
NWNX_PushArgumentInt(bForceInvite);
|
||||
NWNX_PushArgumentObject(oInviter);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(bHideDialog);
|
||||
NWNXPushInt(bForceInvite);
|
||||
NWNXPushObject(oInviter);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SendPartyInvite");
|
||||
}
|
||||
|
||||
object NWNX_Player_GetTURD(object oPlayer)
|
||||
{
|
||||
string sFunc = "GetTURD";
|
||||
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "GetTURD");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
void NWNX_Player_ReloadColorPalettes(object oPlayer)
|
||||
{
|
||||
string sFunc = "ReloadColorPalettes";
|
||||
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "ReloadColorPalettes");
|
||||
}
|
||||
|
@@ -3,7 +3,6 @@
|
||||
/// @remark These functions are for advanced users.
|
||||
/// @{
|
||||
/// @file nwnx_profiler.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Profiler = "NWNX_Profiler"; ///< @private
|
||||
|
||||
@@ -39,22 +38,17 @@ void NWNX_Profiler_PopPerfScope();
|
||||
|
||||
void NWNX_Profiler_PushPerfScope(string name, string tag0_tag = "", string tag0_value = "")
|
||||
{
|
||||
string sFunc = "PushPerfScope";
|
||||
|
||||
NWNX_PushArgumentString(name);
|
||||
|
||||
if (tag0_value != "" && tag0_tag != "")
|
||||
{
|
||||
NWNX_PushArgumentString(tag0_value);
|
||||
NWNX_PushArgumentString(tag0_tag);
|
||||
NWNXPushString(tag0_value);
|
||||
NWNXPushString(tag0_tag);
|
||||
}
|
||||
|
||||
NWNX_CallFunction(NWNX_Profiler, sFunc);
|
||||
NWNXPushString(name);
|
||||
NWNXCall(NWNX_Profiler, "PushPerfScope");
|
||||
}
|
||||
|
||||
void NWNX_Profiler_PopPerfScope()
|
||||
{
|
||||
string sFunc = "PopPerfScope";
|
||||
NWNXCall(NWNX_Profiler, "PopPerfScope");
|
||||
}
|
||||
|
||||
NWNX_CallFunction(NWNX_Profiler, sFunc);
|
||||
}
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Define racial and subrace characteristics.
|
||||
/// @{
|
||||
/// @file nwnx_race.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Race = "NWNX_Race"; ///< @private
|
||||
|
||||
@@ -54,37 +53,50 @@ int NWNX_Race_GetParentRace(int iRace);
|
||||
/// or Favored Enemy: Wild Elf
|
||||
void NWNX_Race_SetFavoredEnemyFeat(int iRace, int iFeat);
|
||||
|
||||
/// @brief Removes any nwnx_race 'Effects' on the targeted creature. Suppression lasts until levelup, next login, or Reactivated by function.
|
||||
/// @param oCreature The creature to suppress
|
||||
/// @note Not all nwnx_race modifiers are achieved via effect. Those that are not directly consider the creatures current race.
|
||||
void NWNX_Race_SuppressCreatureRaceEffects(object oCreature);
|
||||
|
||||
/// @brief Reactivates the nwnx_race 'Effects' on the targeted creature after they were Suppressed.
|
||||
/// @param oCreature The creature to reactive
|
||||
/// @note Safe to use on non-suppressed creatures - Triggers a refresh of effects but won't stack.
|
||||
void NWNX_Race_ReactivateCreatureRaceEffects(object oCreature);
|
||||
|
||||
/// @}
|
||||
|
||||
void NWNX_Race_SetRacialModifier(int iRace, int iMod, int iParam1, int iParam2 = 0xDEADBEEF, int iParam3 = 0xDEADBEEF)
|
||||
{
|
||||
string sFunc = "SetRacialModifier";
|
||||
|
||||
NWNX_PushArgumentInt(iParam3);
|
||||
NWNX_PushArgumentInt(iParam2);
|
||||
NWNX_PushArgumentInt(iParam1);
|
||||
NWNX_PushArgumentInt(iMod);
|
||||
NWNX_PushArgumentInt(iRace);
|
||||
|
||||
NWNX_CallFunction(NWNX_Race, sFunc);
|
||||
NWNXPushInt(iParam3);
|
||||
NWNXPushInt(iParam2);
|
||||
NWNXPushInt(iParam1);
|
||||
NWNXPushInt(iMod);
|
||||
NWNXPushInt(iRace);
|
||||
NWNXCall(NWNX_Race, "SetRacialModifier");
|
||||
}
|
||||
|
||||
int NWNX_Race_GetParentRace(int iRace)
|
||||
{
|
||||
string sFunc = "GetParentRace";
|
||||
|
||||
NWNX_PushArgumentInt(iRace);
|
||||
|
||||
NWNX_CallFunction(NWNX_Race, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(iRace);
|
||||
NWNXCall(NWNX_Race, "GetParentRace");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Race_SetFavoredEnemyFeat(int iRace, int iFeat)
|
||||
{
|
||||
string sFunc = "SetFavoredEnemyFeat";
|
||||
|
||||
NWNX_PushArgumentInt(iFeat);
|
||||
NWNX_PushArgumentInt(iRace);
|
||||
|
||||
NWNX_CallFunction(NWNX_Race, sFunc);
|
||||
NWNXPushInt(iFeat);
|
||||
NWNXPushInt(iRace);
|
||||
NWNXCall(NWNX_Race, "SetFavoredEnemyFeat");
|
||||
}
|
||||
|
||||
void NWNX_Race_SuppressCreatureRaceEffects(object creature)
|
||||
{
|
||||
NWNXPushObject(creature);
|
||||
NWNXCall(NWNX_Race, "SuppressCreatureRaceEffects");
|
||||
}
|
||||
|
||||
void NWNX_Race_ReactivateCreatureRaceEffects(object oCreature)
|
||||
{
|
||||
NWNXPushObject(oCreature);
|
||||
NWNXCall(NWNX_Race, "ReactivateCreatureRaceEffects");
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,6 @@
|
||||
/// @{
|
||||
/// @file nwnx_redis_lib.nss
|
||||
/// @brief Allows connection and interfacing with a redis server.
|
||||
#include "nwnx"
|
||||
|
||||
/// @anchor redis_results
|
||||
/// @name Redis Results
|
||||
@@ -65,44 +64,44 @@ string NWNX_Redis_GetResultAsString(int resultId);
|
||||
|
||||
int NWNX_Redis_GetResultType(int resultId)
|
||||
{
|
||||
NWNX_PushArgumentInt(resultId);
|
||||
NWNX_CallFunction("NWNX_Redis", "GetResultType");
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(resultId);
|
||||
NWNXCall("NWNX_Redis", "GetResultType");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Redis_GetArrayLength(int resultId)
|
||||
{
|
||||
NWNX_PushArgumentInt(resultId);
|
||||
NWNX_CallFunction("NWNX_Redis", "GetResultArrayLength");
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(resultId);
|
||||
NWNXCall("NWNX_Redis", "GetResultArrayLength");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
// Returns the last
|
||||
int NWNX_Redis_GetArrayElement(int resultId, int idx)
|
||||
{
|
||||
NWNX_PushArgumentInt(resultId);
|
||||
NWNX_PushArgumentInt(idx);
|
||||
NWNX_CallFunction("NWNX_Redis", "GetResultArrayElement");
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(resultId);
|
||||
NWNXPushInt(idx);
|
||||
NWNXCall("NWNX_Redis", "GetResultArrayElement");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
float NWNX_Redis_GetResultAsFloat(int resultId)
|
||||
{
|
||||
NWNX_PushArgumentInt(resultId);
|
||||
NWNX_CallFunction("NWNX_Redis", "GetResultAsString");
|
||||
return StringToFloat(NWNX_GetReturnValueString());
|
||||
NWNXPushInt(resultId);
|
||||
NWNXCall("NWNX_Redis", "GetResultAsString");
|
||||
return StringToFloat(NWNXPopString());
|
||||
}
|
||||
|
||||
int NWNX_Redis_GetResultAsInt(int resultId)
|
||||
{
|
||||
NWNX_PushArgumentInt(resultId);
|
||||
NWNX_CallFunction("NWNX_Redis", "GetResultAsString");
|
||||
return StringToInt(NWNX_GetReturnValueString());
|
||||
NWNXPushInt(resultId);
|
||||
NWNXCall("NWNX_Redis", "GetResultAsString");
|
||||
return StringToInt(NWNXPopString());
|
||||
}
|
||||
|
||||
string NWNX_Redis_GetResultAsString(int resultId)
|
||||
{
|
||||
NWNX_PushArgumentInt(resultId);
|
||||
NWNX_CallFunction("NWNX_Redis", "GetResultAsString");
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(resultId);
|
||||
NWNXCall("NWNX_Redis", "GetResultAsString");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Interface to Redis PUBSUB
|
||||
/// @{
|
||||
/// @file nwnx_redis_ps.nss
|
||||
#include "nwnx"
|
||||
|
||||
/// A redis PUBSUB message
|
||||
struct NWNX_Redis_PubSubMessageData {
|
||||
@@ -15,9 +14,9 @@ struct NWNX_Redis_PubSubMessageData {
|
||||
struct NWNX_Redis_PubSubMessageData NWNX_Redis_GetPubSubMessageData()
|
||||
{
|
||||
struct NWNX_Redis_PubSubMessageData ret;
|
||||
NWNX_CallFunction("NWNX_Redis", "GetPubSubData");
|
||||
ret.message = NWNX_GetReturnValueString();
|
||||
ret.channel = NWNX_GetReturnValueString();
|
||||
NWNXCall("NWNX_Redis", "GetPubSubData");
|
||||
ret.message = NWNXPopString();
|
||||
ret.channel = NWNXPopString();
|
||||
return ret;
|
||||
}
|
||||
/// @}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,6 @@
|
||||
/// @brief Facilitates renaming, overriding and customization of player names.
|
||||
/// @{
|
||||
/// @file nwnx_rename.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Rename = "NWNX_Rename"; ///< @private
|
||||
|
||||
@@ -46,35 +45,26 @@ void NWNX_Rename_ClearPCNameOverride(object oTarget, object oObserver = OBJECT_I
|
||||
void NWNX_Rename_SetPCNameOverride(object oTarget, string sNewName, string sPrefix = "" , string sSuffix = "" ,
|
||||
int iPlayerNameState = NWNX_RENAME_PLAYERNAME_DEFAULT, object oObserver = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "SetPCNameOverride";
|
||||
|
||||
NWNX_PushArgumentObject(oObserver);
|
||||
NWNX_PushArgumentInt(iPlayerNameState);
|
||||
NWNX_PushArgumentString(sSuffix);
|
||||
NWNX_PushArgumentString(sPrefix);
|
||||
NWNX_PushArgumentString(sNewName);
|
||||
NWNX_PushArgumentObject(oTarget);
|
||||
|
||||
NWNX_CallFunction(NWNX_Rename, sFunc);
|
||||
NWNXPushObject(oObserver);
|
||||
NWNXPushInt(iPlayerNameState);
|
||||
NWNXPushString(sSuffix);
|
||||
NWNXPushString(sPrefix);
|
||||
NWNXPushString(sNewName);
|
||||
NWNXPushObject(oTarget);
|
||||
NWNXCall(NWNX_Rename, "SetPCNameOverride");
|
||||
}
|
||||
string NWNX_Rename_GetPCNameOverride(object oTarget, object oObserver = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "GetPCNameOverride";
|
||||
|
||||
NWNX_PushArgumentObject(oObserver);
|
||||
NWNX_PushArgumentObject(oTarget);
|
||||
|
||||
NWNX_CallFunction(NWNX_Rename, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushObject(oObserver);
|
||||
NWNXPushObject(oTarget);
|
||||
NWNXCall(NWNX_Rename, "GetPCNameOverride");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Rename_ClearPCNameOverride(object oTarget, object oObserver = OBJECT_INVALID, int clearAll = FALSE)
|
||||
{
|
||||
string sFunc = "ClearPCNameOverride";
|
||||
|
||||
NWNX_PushArgumentInt(clearAll);
|
||||
NWNX_PushArgumentObject(oObserver);
|
||||
NWNX_PushArgumentObject(oTarget);
|
||||
|
||||
NWNX_CallFunction(NWNX_Rename, sFunc);
|
||||
NWNXPushInt(clearAll);
|
||||
NWNXPushObject(oObserver);
|
||||
NWNXPushObject(oTarget);
|
||||
NWNXCall(NWNX_Rename, "ClearPCNameOverride");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Allows the selective revealing of a stealthing character to another character or their party.
|
||||
/// @{
|
||||
/// @file nwnx_reveal.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Reveal = "NWNX_Reveal"; ///< @private
|
||||
|
||||
@@ -28,22 +27,16 @@ void NWNX_Reveal_SetRevealToParty(object oHiding, int bReveal, int iDetectionMet
|
||||
|
||||
void NWNX_Reveal_RevealTo(object oHiding, object oObserver, int iDetectionMethod = NWNX_REVEAL_HEARD)
|
||||
{
|
||||
string sFunc = "RevealTo";
|
||||
|
||||
NWNX_PushArgumentInt(iDetectionMethod);
|
||||
NWNX_PushArgumentObject(oObserver);
|
||||
NWNX_PushArgumentObject(oHiding);
|
||||
|
||||
NWNX_CallFunction(NWNX_Reveal, sFunc);
|
||||
NWNXPushInt(iDetectionMethod);
|
||||
NWNXPushObject(oObserver);
|
||||
NWNXPushObject(oHiding);
|
||||
NWNXCall(NWNX_Reveal, "RevealTo");
|
||||
}
|
||||
|
||||
void NWNX_Reveal_SetRevealToParty(object oHiding, int bReveal, int iDetectionMethod = NWNX_REVEAL_HEARD)
|
||||
{
|
||||
string sFunc = "SetRevealToParty";
|
||||
|
||||
NWNX_PushArgumentInt(iDetectionMethod);
|
||||
NWNX_PushArgumentInt(bReveal);
|
||||
NWNX_PushArgumentObject(oHiding);
|
||||
|
||||
NWNX_CallFunction(NWNX_Reveal, sFunc);
|
||||
NWNXPushInt(iDetectionMethod);
|
||||
NWNXPushInt(bReveal);
|
||||
NWNXPushObject(oHiding);
|
||||
NWNXCall(NWNX_Reveal, "SetRevealToParty");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Allows users to execute arbitrary Ruby from the game.
|
||||
/// @{
|
||||
/// @file nwnx_ruby.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Ruby = "NWNX_Ruby"; ///< @private
|
||||
|
||||
@@ -13,11 +12,9 @@ string NWNX_Ruby_Evaluate(string sCode);
|
||||
/// @return The output of the call.
|
||||
string NWNX_Ruby_Evaluate(string sCode)
|
||||
{
|
||||
string sFunc = "Evaluate";
|
||||
|
||||
NWNX_PushArgumentString(sCode);
|
||||
NWNX_CallFunction(NWNX_Ruby, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(sCode);
|
||||
NWNXCall(NWNX_Ruby, "Evaluate");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
@@ -3,7 +3,6 @@
|
||||
/// skill related feats as well as modifying stock feats.
|
||||
/// @{
|
||||
/// @file nwnx_skillranks.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_SkillRanks = "NWNX_SkillRanks"; ///< @private
|
||||
|
||||
@@ -144,82 +143,67 @@ void NWNX_SkillRanks_SetAreaModifier(object oArea, int iSkill, int iModifier);
|
||||
|
||||
int NWNX_SkillRanks_GetSkillFeatCountForSkill(int iSkill)
|
||||
{
|
||||
string sFunc = "GetSkillFeatCountForSkill";
|
||||
|
||||
NWNX_PushArgumentInt(iSkill);
|
||||
NWNX_CallFunction(NWNX_SkillRanks, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(iSkill);
|
||||
NWNXCall(NWNX_SkillRanks, "GetSkillFeatCountForSkill");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
struct NWNX_SkillRanks_SkillFeat NWNX_SkillRanks_GetSkillFeatForSkillByIndex(int iSkill, int iIndex)
|
||||
{
|
||||
string sFunc = "GetSkillFeatForSkillByIndex";
|
||||
|
||||
NWNX_PushArgumentInt(iIndex);
|
||||
NWNX_PushArgumentInt(iSkill);
|
||||
NWNX_CallFunction(NWNX_SkillRanks, sFunc);
|
||||
|
||||
NWNXPushInt(iIndex);
|
||||
NWNXPushInt(iSkill);
|
||||
NWNXCall(NWNX_SkillRanks, "GetSkillFeatForSkillByIndex");
|
||||
struct NWNX_SkillRanks_SkillFeat skillFeat;
|
||||
|
||||
skillFeat.iSkill = iSkill;
|
||||
skillFeat.iFeat = NWNX_GetReturnValueInt();
|
||||
skillFeat.iModifier = NWNX_GetReturnValueInt();
|
||||
skillFeat.iFocusFeat = NWNX_GetReturnValueInt();
|
||||
skillFeat.sClasses = NWNX_GetReturnValueString();
|
||||
skillFeat.fClassLevelMod = NWNX_GetReturnValueFloat();
|
||||
skillFeat.iAreaFlagsRequired = NWNX_GetReturnValueInt();
|
||||
skillFeat.iAreaFlagsForbidden = NWNX_GetReturnValueInt();
|
||||
skillFeat.iDayOrNight = NWNX_GetReturnValueInt();
|
||||
skillFeat.bBypassArmorCheckPenalty = NWNX_GetReturnValueInt();
|
||||
skillFeat.iKeyAbilityMask = NWNX_GetReturnValueInt();
|
||||
|
||||
skillFeat.iFeat = NWNXPopInt();
|
||||
skillFeat.iModifier = NWNXPopInt();
|
||||
skillFeat.iFocusFeat = NWNXPopInt();
|
||||
skillFeat.sClasses = NWNXPopString();
|
||||
skillFeat.fClassLevelMod = NWNXPopFloat();
|
||||
skillFeat.iAreaFlagsRequired = NWNXPopInt();
|
||||
skillFeat.iAreaFlagsForbidden = NWNXPopInt();
|
||||
skillFeat.iDayOrNight = NWNXPopInt();
|
||||
skillFeat.bBypassArmorCheckPenalty = NWNXPopInt();
|
||||
skillFeat.iKeyAbilityMask = NWNXPopInt();
|
||||
return skillFeat;
|
||||
}
|
||||
|
||||
struct NWNX_SkillRanks_SkillFeat NWNX_SkillRanks_GetSkillFeat(int iSkill, int iFeat)
|
||||
{
|
||||
string sFunc = "GetSkillFeat";
|
||||
|
||||
NWNX_PushArgumentInt(iFeat);
|
||||
NWNX_PushArgumentInt(iSkill);
|
||||
NWNX_CallFunction(NWNX_SkillRanks, sFunc);
|
||||
|
||||
NWNXPushInt(iFeat);
|
||||
NWNXPushInt(iSkill);
|
||||
NWNXCall(NWNX_SkillRanks, "GetSkillFeat");
|
||||
struct NWNX_SkillRanks_SkillFeat skillFeat;
|
||||
|
||||
skillFeat.iSkill = iSkill;
|
||||
skillFeat.iFeat = iFeat;
|
||||
skillFeat.iModifier = NWNX_GetReturnValueInt();
|
||||
skillFeat.iFocusFeat = NWNX_GetReturnValueInt();
|
||||
skillFeat.sClasses = NWNX_GetReturnValueString();
|
||||
skillFeat.fClassLevelMod = NWNX_GetReturnValueFloat();
|
||||
skillFeat.iAreaFlagsRequired = NWNX_GetReturnValueInt();
|
||||
skillFeat.iAreaFlagsForbidden = NWNX_GetReturnValueInt();
|
||||
skillFeat.iDayOrNight = NWNX_GetReturnValueInt();
|
||||
skillFeat.bBypassArmorCheckPenalty = NWNX_GetReturnValueInt();
|
||||
skillFeat.iKeyAbilityMask = NWNX_GetReturnValueInt();
|
||||
|
||||
skillFeat.iModifier = NWNXPopInt();
|
||||
skillFeat.iFocusFeat = NWNXPopInt();
|
||||
skillFeat.sClasses = NWNXPopString();
|
||||
skillFeat.fClassLevelMod = NWNXPopFloat();
|
||||
skillFeat.iAreaFlagsRequired = NWNXPopInt();
|
||||
skillFeat.iAreaFlagsForbidden = NWNXPopInt();
|
||||
skillFeat.iDayOrNight = NWNXPopInt();
|
||||
skillFeat.bBypassArmorCheckPenalty = NWNXPopInt();
|
||||
skillFeat.iKeyAbilityMask = NWNXPopInt();
|
||||
return skillFeat;
|
||||
}
|
||||
|
||||
void NWNX_SkillRanks_SetSkillFeat(struct NWNX_SkillRanks_SkillFeat skillFeat, int createIfNonExistent = FALSE)
|
||||
{
|
||||
string sFunc = "SetSkillFeat";
|
||||
|
||||
NWNX_PushArgumentInt(createIfNonExistent);
|
||||
NWNX_PushArgumentInt(skillFeat.iKeyAbilityMask);
|
||||
NWNX_PushArgumentInt(skillFeat.bBypassArmorCheckPenalty);
|
||||
NWNX_PushArgumentInt(skillFeat.iDayOrNight);
|
||||
NWNX_PushArgumentInt(skillFeat.iAreaFlagsForbidden);
|
||||
NWNX_PushArgumentInt(skillFeat.iAreaFlagsRequired);
|
||||
NWNX_PushArgumentFloat(skillFeat.fClassLevelMod);
|
||||
NWNXPushInt(createIfNonExistent);
|
||||
NWNXPushInt(skillFeat.iKeyAbilityMask);
|
||||
NWNXPushInt(skillFeat.bBypassArmorCheckPenalty);
|
||||
NWNXPushInt(skillFeat.iDayOrNight);
|
||||
NWNXPushInt(skillFeat.iAreaFlagsForbidden);
|
||||
NWNXPushInt(skillFeat.iAreaFlagsRequired);
|
||||
NWNXPushFloat(skillFeat.fClassLevelMod);
|
||||
// We only need to send the string from the point of the first set bit
|
||||
NWNX_PushArgumentString(GetStringRight(skillFeat.sClasses,GetStringLength(skillFeat.sClasses)-FindSubString(skillFeat.sClasses,"1")));
|
||||
NWNX_PushArgumentInt(skillFeat.iFocusFeat);
|
||||
NWNX_PushArgumentInt(skillFeat.iModifier);
|
||||
NWNX_PushArgumentInt(skillFeat.iFeat);
|
||||
NWNX_PushArgumentInt(skillFeat.iSkill);
|
||||
NWNX_CallFunction(NWNX_SkillRanks, sFunc);
|
||||
NWNXPushString(GetStringRight(skillFeat.sClasses,GetStringLength(skillFeat.sClasses)-FindSubString(skillFeat.sClasses,"1")));
|
||||
NWNXPushInt(skillFeat.iFocusFeat);
|
||||
NWNXPushInt(skillFeat.iModifier);
|
||||
NWNXPushInt(skillFeat.iFeat);
|
||||
NWNXPushInt(skillFeat.iSkill);
|
||||
NWNXCall(NWNX_SkillRanks, "SetSkillFeat");
|
||||
}
|
||||
|
||||
struct NWNX_SkillRanks_SkillFeat NWNX_SkillRanks_AddSkillFeatClass(struct NWNX_SkillRanks_SkillFeat skillFeat, int iClass)
|
||||
@@ -237,47 +221,35 @@ struct NWNX_SkillRanks_SkillFeat NWNX_SkillRanks_AddSkillFeatClass(struct NWNX_S
|
||||
|
||||
void NWNX_SkillRanks_SetSkillFeatFocusModifier(int iModifier, int epicFocus = FALSE)
|
||||
{
|
||||
string sFunc = "SetSkillFeatFocusModifier";
|
||||
|
||||
NWNX_PushArgumentInt(epicFocus);
|
||||
NWNX_PushArgumentInt(iModifier);
|
||||
NWNX_CallFunction(NWNX_SkillRanks, sFunc);
|
||||
NWNXPushInt(epicFocus);
|
||||
NWNXPushInt(iModifier);
|
||||
NWNXCall(NWNX_SkillRanks, "SetSkillFeatFocusModifier");
|
||||
}
|
||||
|
||||
int NWNX_SkillRanks_GetBlindnessPenalty()
|
||||
{
|
||||
string sFunc = "GetBlindnessPenalty";
|
||||
|
||||
NWNX_CallFunction(NWNX_SkillRanks, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_SkillRanks, "GetBlindnessPenalty");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_SkillRanks_SetBlindnessPenalty(int iModifier)
|
||||
{
|
||||
string sFunc = "SetBlindnessPenalty";
|
||||
|
||||
NWNX_PushArgumentInt(iModifier);
|
||||
NWNX_CallFunction(NWNX_SkillRanks, sFunc);
|
||||
NWNXPushInt(iModifier);
|
||||
NWNXCall(NWNX_SkillRanks, "SetBlindnessPenalty");
|
||||
}
|
||||
|
||||
int NWNX_SkillRanks_GetAreaModifier(object oArea, int iSkill)
|
||||
{
|
||||
string sFunc = "GetAreaModifier";
|
||||
|
||||
NWNX_PushArgumentInt(iSkill);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_SkillRanks, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(iSkill);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_SkillRanks, "GetAreaModifier");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_SkillRanks_SetAreaModifier(object oArea, int iSkill, int iModifier)
|
||||
{
|
||||
string sFunc = "SetAreaModifier";
|
||||
|
||||
NWNX_PushArgumentInt(iModifier);
|
||||
NWNX_PushArgumentInt(iSkill);
|
||||
NWNX_PushArgumentObject(oArea);
|
||||
NWNX_CallFunction(NWNX_SkillRanks, sFunc);
|
||||
NWNXPushInt(iModifier);
|
||||
NWNXPushInt(iSkill);
|
||||
NWNXPushObject(oArea);
|
||||
NWNXCall(NWNX_SkillRanks, "SetAreaModifier");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions related to spellchecking
|
||||
/// @{
|
||||
/// @file nwnx_spellcheck.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_SpellChecker = "NWNX_SpellChecker"; ///< @private
|
||||
|
||||
@@ -27,17 +26,14 @@ string NWNX_SpellChecker_GetSuggestSpell(string word);
|
||||
|
||||
string NWNX_SpellChecker_FindMisspell(string sentence)
|
||||
{
|
||||
string sFunc = "FindMisspell";
|
||||
|
||||
NWNX_PushArgumentString(sentence);
|
||||
NWNX_CallFunction(NWNX_SpellChecker, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(sentence);
|
||||
NWNXCall(NWNX_SpellChecker, "FindMisspell");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
string NWNX_SpellChecker_GetSuggestSpell(string word)
|
||||
{
|
||||
string sFunc = "GetSuggestSpell";
|
||||
NWNX_PushArgumentString(word);
|
||||
NWNX_CallFunction(NWNX_SpellChecker, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(word);
|
||||
NWNXCall(NWNX_SpellChecker, "GetSuggestSpell");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions to interface with a database through SQL
|
||||
/// @{
|
||||
/// @file nwnx_sql.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_SQL = "NWNX_SQL"; ///< @private
|
||||
|
||||
@@ -116,19 +115,15 @@ void NWNX_SQL_PostgreSQL_SetNextQueryResultsBinaryMode();
|
||||
|
||||
int NWNX_SQL_PrepareQuery(string query)
|
||||
{
|
||||
string sFunc = "PrepareQuery";
|
||||
|
||||
NWNX_PushArgumentString(query);
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(query);
|
||||
NWNXCall(NWNX_SQL, "PrepareQuery");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_SQL_ExecutePreparedQuery()
|
||||
{
|
||||
string sFunc = "ExecutePreparedQuery";
|
||||
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_SQL, "ExecutePreparedQuery");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_SQL_ExecuteQuery(string query)
|
||||
@@ -146,76 +141,58 @@ int NWNX_SQL_ExecuteQuery(string query)
|
||||
|
||||
int NWNX_SQL_ReadyToReadNextRow()
|
||||
{
|
||||
string sFunc = "ReadyToReadNextRow";
|
||||
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_SQL, "ReadyToReadNextRow");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_SQL_ReadNextRow()
|
||||
{
|
||||
string sFunc = "ReadNextRow";
|
||||
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
NWNXCall(NWNX_SQL, "ReadNextRow");
|
||||
}
|
||||
|
||||
string NWNX_SQL_ReadDataInActiveRow(int column = 0)
|
||||
{
|
||||
string sFunc = "ReadDataInActiveRow";
|
||||
|
||||
NWNX_PushArgumentInt(column);
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(column);
|
||||
NWNXCall(NWNX_SQL, "ReadDataInActiveRow");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
|
||||
void NWNX_SQL_PreparedInt(int position, int value)
|
||||
{
|
||||
string sFunc = "PreparedInt";
|
||||
|
||||
NWNX_PushArgumentInt(value);
|
||||
NWNX_PushArgumentInt(position);
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
NWNXPushInt(value);
|
||||
NWNXPushInt(position);
|
||||
NWNXCall(NWNX_SQL, "PreparedInt");
|
||||
}
|
||||
void NWNX_SQL_PreparedString(int position, string value)
|
||||
{
|
||||
string sFunc = "PreparedString";
|
||||
|
||||
NWNX_PushArgumentString(value);
|
||||
NWNX_PushArgumentInt(position);
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
NWNXPushString(value);
|
||||
NWNXPushInt(position);
|
||||
NWNXCall(NWNX_SQL, "PreparedString");
|
||||
}
|
||||
void NWNX_SQL_PreparedFloat(int position, float value)
|
||||
{
|
||||
string sFunc = "PreparedFloat";
|
||||
|
||||
NWNX_PushArgumentFloat(value);
|
||||
NWNX_PushArgumentInt(position);
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
NWNXPushFloat(value);
|
||||
NWNXPushInt(position);
|
||||
NWNXCall(NWNX_SQL, "PreparedFloat");
|
||||
}
|
||||
void NWNX_SQL_PreparedObjectId(int position, object value)
|
||||
{
|
||||
string sFunc = "PreparedObjectId";
|
||||
|
||||
NWNX_PushArgumentObject(value);
|
||||
NWNX_PushArgumentInt(position);
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
NWNXPushObject(value);
|
||||
NWNXPushInt(position);
|
||||
NWNXCall(NWNX_SQL, "PreparedObjectId");
|
||||
}
|
||||
void NWNX_SQL_PreparedObjectFull(int position, object value, int base64 = TRUE)
|
||||
{
|
||||
string sFunc = "PreparedObjectFull";
|
||||
|
||||
NWNX_PushArgumentInt(base64);
|
||||
NWNX_PushArgumentObject(value);
|
||||
NWNX_PushArgumentInt(position);
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
NWNXPushInt(base64);
|
||||
NWNXPushObject(value);
|
||||
NWNXPushInt(position);
|
||||
NWNXCall(NWNX_SQL, "PreparedObjectFull");
|
||||
}
|
||||
void NWNX_SQL_PreparedNULL(int position)
|
||||
{
|
||||
string sFunc = "PreparedNULL";
|
||||
|
||||
NWNX_PushArgumentInt(position);
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
NWNXPushInt(position);
|
||||
NWNXCall(NWNX_SQL, "PreparedNULL");
|
||||
}
|
||||
void NWNX_SQL_PreparedJson(int position, json value)
|
||||
{
|
||||
@@ -227,60 +204,46 @@ void NWNX_SQL_PreparedJson(int position, json value)
|
||||
|
||||
object NWNX_SQL_ReadFullObjectInActiveRow(int column = 0, object owner = OBJECT_INVALID, float x = 0.0, float y = 0.0, float z = 0.0, int base64 = TRUE)
|
||||
{
|
||||
string sFunc = "ReadFullObjectInActiveRow";
|
||||
|
||||
NWNX_PushArgumentInt(base64);
|
||||
NWNX_PushArgumentFloat(z);
|
||||
NWNX_PushArgumentFloat(y);
|
||||
NWNX_PushArgumentFloat(x);
|
||||
NWNX_PushArgumentObject(owner);
|
||||
NWNX_PushArgumentInt(column);
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushInt(base64);
|
||||
NWNXPushFloat(z);
|
||||
NWNXPushFloat(y);
|
||||
NWNXPushFloat(x);
|
||||
NWNXPushObject(owner);
|
||||
NWNXPushInt(column);
|
||||
NWNXCall(NWNX_SQL, "ReadFullObjectInActiveRow");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
int NWNX_SQL_GetAffectedRows()
|
||||
{
|
||||
string sFunc = "GetAffectedRows";
|
||||
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_SQL, "GetAffectedRows");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
string NWNX_SQL_GetDatabaseType()
|
||||
{
|
||||
string sFunc = "GetDatabaseType";
|
||||
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_SQL, "GetDatabaseType");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_SQL_DestroyPreparedQuery()
|
||||
{
|
||||
string sFunc = "DestroyPreparedQuery";
|
||||
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
NWNXCall(NWNX_SQL, "DestroyPreparedQuery");
|
||||
}
|
||||
|
||||
string NWNX_SQL_GetLastError()
|
||||
{
|
||||
string sFunc = "GetLastError";
|
||||
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_SQL, "GetLastError");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_SQL_GetPreparedQueryParamCount()
|
||||
{
|
||||
string sFunc = "GetPreparedQueryParamCount";
|
||||
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_SQL, "GetPreparedQueryParamCount");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_SQL_PostgreSQL_SetNextQueryResultsBinaryMode()
|
||||
{
|
||||
string sFunc = "PostgreSQL_SetNextQueryResultsBinaryMode";
|
||||
|
||||
NWNX_CallFunction(NWNX_SQL, sFunc);
|
||||
NWNXCall(NWNX_SQL, "PostgreSQL_SetNextQueryResultsBinaryMode");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions exposing additional store properties.
|
||||
/// @{
|
||||
/// @file nwnx_store.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Store = "NWNX_Store"; ///< @private
|
||||
|
||||
@@ -51,81 +50,57 @@ int NWNX_Store_GetCurrentCustomersCount(object oStore);
|
||||
|
||||
int NWNX_Store_GetIsRestrictedBuyItem(object oStore, int nBaseItem)
|
||||
{
|
||||
string sFunc = "GetIsRestrictedBuyItem";
|
||||
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
NWNX_PushArgumentObject(oStore);
|
||||
|
||||
NWNX_CallFunction(NWNX_Store, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXPushObject(oStore);
|
||||
NWNXCall(NWNX_Store, "GetIsRestrictedBuyItem");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Store_GetBlackMarketMarkDown(object oStore)
|
||||
{
|
||||
string sFunc = "GetBlackMarketMarkDown";
|
||||
|
||||
NWNX_PushArgumentObject(oStore);
|
||||
|
||||
NWNX_CallFunction(NWNX_Store, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oStore);
|
||||
NWNXCall(NWNX_Store, "GetBlackMarketMarkDown");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Store_SetBlackMarketMarkDown(object oStore, int nValue)
|
||||
{
|
||||
string sFunc = "SetBlackMarketMarkDown";
|
||||
|
||||
NWNX_PushArgumentInt(nValue);
|
||||
NWNX_PushArgumentObject(oStore);
|
||||
|
||||
NWNX_CallFunction(NWNX_Store, sFunc);
|
||||
NWNXPushInt(nValue);
|
||||
NWNXPushObject(oStore);
|
||||
NWNXCall(NWNX_Store, "SetBlackMarketMarkDown");
|
||||
}
|
||||
|
||||
int NWNX_Store_GetMarkDown(object oStore)
|
||||
{
|
||||
string sFunc = "GetMarkDown";
|
||||
|
||||
NWNX_PushArgumentObject(oStore);
|
||||
|
||||
NWNX_CallFunction(NWNX_Store, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oStore);
|
||||
NWNXCall(NWNX_Store, "GetMarkDown");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Store_SetMarkDown(object oStore, int nValue)
|
||||
{
|
||||
string sFunc = "SetMarkDown";
|
||||
|
||||
NWNX_PushArgumentInt(nValue);
|
||||
NWNX_PushArgumentObject(oStore);
|
||||
|
||||
NWNX_CallFunction(NWNX_Store, sFunc);
|
||||
NWNXPushInt(nValue);
|
||||
NWNXPushObject(oStore);
|
||||
NWNXCall(NWNX_Store, "SetMarkDown");
|
||||
}
|
||||
|
||||
int NWNX_Store_GetMarkUp(object oStore)
|
||||
{
|
||||
string sFunc = "GetMarkUp";
|
||||
|
||||
NWNX_PushArgumentObject(oStore);
|
||||
|
||||
NWNX_CallFunction(NWNX_Store, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oStore);
|
||||
NWNXCall(NWNX_Store, "GetMarkUp");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Store_SetMarkUp(object oStore, int nValue)
|
||||
{
|
||||
string sFunc = "SetMarkUp";
|
||||
|
||||
NWNX_PushArgumentInt(nValue);
|
||||
NWNX_PushArgumentObject(oStore);
|
||||
|
||||
NWNX_CallFunction(NWNX_Store, sFunc);
|
||||
NWNXPushInt(nValue);
|
||||
NWNXPushObject(oStore);
|
||||
NWNXCall(NWNX_Store, "SetMarkUp");
|
||||
}
|
||||
|
||||
int NWNX_Store_GetCurrentCustomersCount(object oStore)
|
||||
{
|
||||
string sFunc = "GetCurrentCustomersCount";
|
||||
|
||||
NWNX_PushArgumentObject(oStore);
|
||||
|
||||
NWNX_CallFunction(NWNX_Store, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oStore);
|
||||
NWNXCall(NWNX_Store, "GetCurrentCustomersCount");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief An advanced plugin that exposes additional tileset and tile properties and allows builders to override the tiles of an area created with CreateArea().
|
||||
/// @{
|
||||
/// @file nwnx_tileset.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Tileset = "NWNX_Tileset"; ///< @private
|
||||
|
||||
@@ -166,174 +165,160 @@ void NWNX_Tileset_DeleteOverrideTileData(string sOverrideName, int nIndex);
|
||||
|
||||
struct NWNX_Tileset_TilesetData NWNX_Tileset_GetTilesetData(string sTileset)
|
||||
{
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTilesetData");
|
||||
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTilesetData");
|
||||
struct NWNX_Tileset_TilesetData str;
|
||||
str.bHasHeightTransition = NWNX_GetReturnValueInt();
|
||||
str.bInterior = NWNX_GetReturnValueInt();
|
||||
str.sUnlocalizedName = NWNX_GetReturnValueString();
|
||||
str.nDisplayNameStrRef = NWNX_GetReturnValueInt();
|
||||
str.sFloorTerrain = NWNX_GetReturnValueString();
|
||||
str.sDefaultTerrain = NWNX_GetReturnValueString();
|
||||
str.sBorderTerrain = NWNX_GetReturnValueString();
|
||||
str.nNumGroups = NWNX_GetReturnValueInt();
|
||||
str.nNumCrossers = NWNX_GetReturnValueInt();
|
||||
str.nNumTerrain = NWNX_GetReturnValueInt();
|
||||
str.fHeightTransition = NWNX_GetReturnValueFloat();
|
||||
str.nNumTileData = NWNX_GetReturnValueInt();
|
||||
|
||||
str.bHasHeightTransition = NWNXPopInt();
|
||||
str.bInterior = NWNXPopInt();
|
||||
str.sUnlocalizedName = NWNXPopString();
|
||||
str.nDisplayNameStrRef = NWNXPopInt();
|
||||
str.sFloorTerrain = NWNXPopString();
|
||||
str.sDefaultTerrain = NWNXPopString();
|
||||
str.sBorderTerrain = NWNXPopString();
|
||||
str.nNumGroups = NWNXPopInt();
|
||||
str.nNumCrossers = NWNXPopInt();
|
||||
str.nNumTerrain = NWNXPopInt();
|
||||
str.fHeightTransition = NWNXPopFloat();
|
||||
str.nNumTileData = NWNXPopInt();
|
||||
return str;
|
||||
}
|
||||
|
||||
string NWNX_Tileset_GetTilesetTerrain(string sTileset, int nIndex)
|
||||
{
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTilesetTerrain");
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTilesetTerrain");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
string NWNX_Tileset_GetTilesetCrosser(string sTileset, int nIndex)
|
||||
{
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTilesetCrosser");
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTilesetCrosser");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
struct NWNX_Tileset_TilesetGroupData NWNX_Tileset_GetTilesetGroupData(string sTileset, int nIndex)
|
||||
{
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTilesetGroupData");
|
||||
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTilesetGroupData");
|
||||
struct NWNX_Tileset_TilesetGroupData str;
|
||||
str.nColumns = NWNX_GetReturnValueInt();
|
||||
str.nRows = NWNX_GetReturnValueInt();
|
||||
str.nStrRef = NWNX_GetReturnValueInt();
|
||||
str.sName = NWNX_GetReturnValueString();
|
||||
|
||||
str.nColumns = NWNXPopInt();
|
||||
str.nRows = NWNXPopInt();
|
||||
str.nStrRef = NWNXPopInt();
|
||||
str.sName = NWNXPopString();
|
||||
return str;
|
||||
}
|
||||
|
||||
int NWNX_Tileset_GetTilesetGroupTile(string sTileset, int nGroupIndex, int nTileIndex)
|
||||
{
|
||||
NWNX_PushArgumentInt(nTileIndex);
|
||||
NWNX_PushArgumentInt(nGroupIndex);
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTilesetGroupTile");
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nTileIndex);
|
||||
NWNXPushInt(nGroupIndex);
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTilesetGroupTile");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
string NWNX_Tileset_GetTileModel(string sTileset, int nTileID)
|
||||
{
|
||||
NWNX_PushArgumentInt(nTileID);
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTileModel");
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(nTileID);
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTileModel");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
string NWNX_Tileset_GetTileMinimapTexture(string sTileset, int nTileID)
|
||||
{
|
||||
NWNX_PushArgumentInt(nTileID);
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTileMinimapTexture");
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(nTileID);
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTileMinimapTexture");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
struct NWNX_Tileset_TileEdgesAndCorners NWNX_Tileset_GetTileEdgesAndCorners(string sTileset, int nTileID)
|
||||
{
|
||||
NWNX_PushArgumentInt(nTileID);
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTileEdgesAndCorners");
|
||||
|
||||
NWNXPushInt(nTileID);
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTileEdgesAndCorners");
|
||||
struct NWNX_Tileset_TileEdgesAndCorners str;
|
||||
str.sLeft = NWNX_GetReturnValueString();
|
||||
str.sBottomLeft = NWNX_GetReturnValueString();
|
||||
str.sBottom = NWNX_GetReturnValueString();
|
||||
str.sBottomRight = NWNX_GetReturnValueString();
|
||||
str.sRight = NWNX_GetReturnValueString();
|
||||
str.sTopRight = NWNX_GetReturnValueString();
|
||||
str.sTop = NWNX_GetReturnValueString();
|
||||
str.sTopLeft = NWNX_GetReturnValueString();
|
||||
|
||||
str.sLeft = NWNXPopString();
|
||||
str.sBottomLeft = NWNXPopString();
|
||||
str.sBottom = NWNXPopString();
|
||||
str.sBottomRight = NWNXPopString();
|
||||
str.sRight = NWNXPopString();
|
||||
str.sTopRight = NWNXPopString();
|
||||
str.sTop = NWNXPopString();
|
||||
str.sTopLeft = NWNXPopString();
|
||||
return str;
|
||||
}
|
||||
|
||||
int NWNX_Tileset_GetTileNumDoors(string sTileset, int nTileID)
|
||||
{
|
||||
NWNX_PushArgumentInt(nTileID);
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTileNumDoors");
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nTileID);
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTileNumDoors");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
struct NWNX_Tileset_TileDoorData NWNX_Tileset_GetTileDoorData(string sTileset, int nTileID, int nIndex = 0)
|
||||
{
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentInt(nTileID);
|
||||
NWNX_PushArgumentString(sTileset);
|
||||
NWNX_CallFunction(NWNX_Tileset, "GetTileDoorData");
|
||||
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushInt(nTileID);
|
||||
NWNXPushString(sTileset);
|
||||
NWNXCall(NWNX_Tileset, "GetTileDoorData");
|
||||
struct NWNX_Tileset_TileDoorData str;
|
||||
str.fOrientation = NWNX_GetReturnValueFloat();
|
||||
str.fZ = NWNX_GetReturnValueFloat();
|
||||
str.fY = NWNX_GetReturnValueFloat();
|
||||
str.fX = NWNX_GetReturnValueFloat();
|
||||
str.nType = NWNX_GetReturnValueInt();
|
||||
|
||||
str.fOrientation = NWNXPopFloat();
|
||||
str.fZ = NWNXPopFloat();
|
||||
str.fY = NWNXPopFloat();
|
||||
str.fX = NWNXPopFloat();
|
||||
str.nType = NWNXPopInt();
|
||||
return str;
|
||||
}
|
||||
|
||||
void NWNX_Tileset_SetAreaTileOverride(string sAreaResRef, string sOverrideName)
|
||||
{
|
||||
NWNX_PushArgumentString(sOverrideName);
|
||||
NWNX_PushArgumentString(sAreaResRef);
|
||||
NWNX_CallFunction(NWNX_Tileset, "SetAreaTileOverride");
|
||||
NWNXPushString(sOverrideName);
|
||||
NWNXPushString(sAreaResRef);
|
||||
NWNXCall(NWNX_Tileset, "SetAreaTileOverride");
|
||||
}
|
||||
|
||||
void NWNX_Tileset_CreateTileOverride(string sOverrideName, string sTileSet, int nWidth, int nHeight)
|
||||
{
|
||||
NWNX_PushArgumentInt(nHeight);
|
||||
NWNX_PushArgumentInt(nWidth);
|
||||
NWNX_PushArgumentString(sTileSet);
|
||||
NWNX_PushArgumentString(sOverrideName);
|
||||
NWNX_CallFunction(NWNX_Tileset, "CreateTileOverride");
|
||||
NWNXPushInt(nHeight);
|
||||
NWNXPushInt(nWidth);
|
||||
NWNXPushString(sTileSet);
|
||||
NWNXPushString(sOverrideName);
|
||||
NWNXCall(NWNX_Tileset, "CreateTileOverride");
|
||||
}
|
||||
|
||||
void NWNX_Tileset_DeleteTileOverride(string sOverrideName)
|
||||
{
|
||||
NWNX_PushArgumentString(sOverrideName);
|
||||
NWNX_CallFunction(NWNX_Tileset, "DeleteTileOverride");
|
||||
NWNXPushString(sOverrideName);
|
||||
NWNXCall(NWNX_Tileset, "DeleteTileOverride");
|
||||
}
|
||||
|
||||
void NWNX_Tileset_SetOverrideTileData(string sOverrideName, int nIndex, struct NWNX_Tileset_CustomTileData strCustomTileData)
|
||||
{
|
||||
NWNX_PushArgumentInt(strCustomTileData.bAnimLoop3);
|
||||
NWNX_PushArgumentInt(strCustomTileData.bAnimLoop2);
|
||||
NWNX_PushArgumentInt(strCustomTileData.bAnimLoop1);
|
||||
NWNX_PushArgumentInt(strCustomTileData.nSourceLightColor2);
|
||||
NWNX_PushArgumentInt(strCustomTileData.nSourceLightColor1);
|
||||
NWNX_PushArgumentInt(strCustomTileData.nMainLightColor2);
|
||||
NWNX_PushArgumentInt(strCustomTileData.nMainLightColor1);
|
||||
NWNX_PushArgumentInt(strCustomTileData.nHeight);
|
||||
NWNX_PushArgumentInt(strCustomTileData.nOrientation);
|
||||
NWNX_PushArgumentInt(strCustomTileData.nTileID);
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentString(sOverrideName);
|
||||
NWNX_CallFunction(NWNX_Tileset, "SetOverrideTileData");
|
||||
NWNXPushInt(strCustomTileData.bAnimLoop3);
|
||||
NWNXPushInt(strCustomTileData.bAnimLoop2);
|
||||
NWNXPushInt(strCustomTileData.bAnimLoop1);
|
||||
NWNXPushInt(strCustomTileData.nSourceLightColor2);
|
||||
NWNXPushInt(strCustomTileData.nSourceLightColor1);
|
||||
NWNXPushInt(strCustomTileData.nMainLightColor2);
|
||||
NWNXPushInt(strCustomTileData.nMainLightColor1);
|
||||
NWNXPushInt(strCustomTileData.nHeight);
|
||||
NWNXPushInt(strCustomTileData.nOrientation);
|
||||
NWNXPushInt(strCustomTileData.nTileID);
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushString(sOverrideName);
|
||||
NWNXCall(NWNX_Tileset, "SetOverrideTileData");
|
||||
}
|
||||
|
||||
void NWNX_Tileset_DeleteOverrideTileData(string sOverrideName, int nIndex)
|
||||
{
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentString(sOverrideName);
|
||||
NWNX_CallFunction(NWNX_Tileset, "DeleteOverrideTileData");
|
||||
NWNXPushInt(nIndex);
|
||||
NWNXPushString(sOverrideName);
|
||||
NWNXCall(NWNX_Tileset, "DeleteOverrideTileData");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Provides various time related functions
|
||||
/// @{
|
||||
/// @file nwnx_time.nss
|
||||
#include "nwnx"
|
||||
#include "nwnx_util"
|
||||
#include "inc_sqlite_time"
|
||||
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Provides various utility functions that don't have a better home
|
||||
/// @{
|
||||
/// @file nwnx_util.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Util = "NWNX_Util"; ///< @private
|
||||
|
||||
@@ -174,12 +173,6 @@ int NWNX_Util_RegisterServerConsoleCommand(string sCommand, string sScriptChunk)
|
||||
/// @param sCommand The name of the command.
|
||||
void NWNX_Util_UnregisterServerConsoleCommand(string sCommand);
|
||||
|
||||
/// @brief Determines if the given plugin exists and is enabled.
|
||||
/// @param sPlugin The name of the plugin to check. This is the case sensitive plugin name as used by NWNX_CallFunction, NWNX_PushArgumentX
|
||||
/// @note Example usage: NWNX_Util_PluginExists("NWNX_Creature");
|
||||
/// @return TRUE if the plugin exists and is enabled, otherwise FALSE.
|
||||
int NWNX_Util_PluginExists(string sPlugin);
|
||||
|
||||
/// @brief Gets the server's current working user folder.
|
||||
/// @return The absolute path of the server's home directory (-userDirectory)
|
||||
string NWNX_Util_GetUserDirectory();
|
||||
@@ -228,10 +221,18 @@ int NWNX_Util_GetScriptParamIsSet(string sParamName);
|
||||
/// @param nDawnHour The new dawn hour
|
||||
void NWNX_Util_SetDawnHour(int nDawnHour);
|
||||
|
||||
/// @brief Get the module dawn hour.
|
||||
/// @return The dawn hour
|
||||
int NWNX_Util_GetDawnHour();
|
||||
|
||||
/// @brief Set the module dusk hour.
|
||||
/// @param nDuskHour The new dusk hour
|
||||
void NWNX_Util_SetDuskHour(int nDuskHour);
|
||||
|
||||
/// @brief Get the module dusk hour.
|
||||
/// @return The dusk hour
|
||||
int NWNX_Util_GetDuskHour();
|
||||
|
||||
/// @return Returns the number of microseconds since midnight on January 1, 1970.
|
||||
struct NWNX_Util_HighResTimestamp NWNX_Util_GetHighResTimeStamp();
|
||||
|
||||
@@ -263,397 +264,327 @@ int NWNX_Util_CleanResourceDirectory(string sAlias, int nResType = 0xFFFF);
|
||||
/// @return The name
|
||||
string NWNX_Util_GetModuleTlkFile();
|
||||
|
||||
/// @brief Update a resource directory by having ResMan reindex it.
|
||||
/// @param sAlias A resource directory alias, eg: TEMP
|
||||
/// @return TRUE if successful, FALSE on error.
|
||||
int NWNX_Util_UpdateResourceDirectory(string sAlias);
|
||||
|
||||
/// @}
|
||||
|
||||
string NWNX_Util_GetCurrentScriptName(int depth = 0)
|
||||
{
|
||||
string sFunc = "GetCurrentScriptName";
|
||||
NWNX_PushArgumentInt(depth);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(depth);
|
||||
NWNXCall(NWNX_Util, "GetCurrentScriptName");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
string NWNX_Util_GetAsciiTableString()
|
||||
{
|
||||
string sFunc = "GetAsciiTableString";
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Util, "GetAsciiTableString");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_Util_Hash(string str)
|
||||
{
|
||||
string sFunc = "Hash";
|
||||
NWNX_PushArgumentString(str);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(str);
|
||||
NWNXCall(NWNX_Util, "Hash");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Util_GetModuleMtime()
|
||||
{
|
||||
NWNX_CallFunction(NWNX_Util, "GetModuleMtime");
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Util, "GetModuleMtime");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
string NWNX_Util_GetModuleFile()
|
||||
{
|
||||
NWNX_CallFunction(NWNX_Util, "GetModuleFile");
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Util, "GetModuleFile");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
string NWNX_Util_GetCustomToken(int customTokenNumber)
|
||||
{
|
||||
string sFunc = "GetCustomToken";
|
||||
NWNX_PushArgumentInt(customTokenNumber);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(customTokenNumber);
|
||||
NWNXCall(NWNX_Util, "GetCustomToken");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
itemproperty NWNX_Util_EffectToItemProperty(effect e)
|
||||
{
|
||||
string sFunc = "EffectTypeCast";
|
||||
NWNX_PushArgumentEffect(e);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueItemProperty();
|
||||
NWNXPushEffect(e);
|
||||
NWNXCall(NWNX_Util, "EffectTypeCast");
|
||||
return NWNXPopItemProperty();
|
||||
}
|
||||
|
||||
effect NWNX_Util_ItemPropertyToEffect(itemproperty ip)
|
||||
{
|
||||
string sFunc = "EffectTypeCast";
|
||||
NWNX_PushArgumentItemProperty(ip);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueEffect();
|
||||
NWNXPushItemProperty(ip);
|
||||
NWNXCall(NWNX_Util, "EffectTypeCast");
|
||||
return NWNXPopEffect();
|
||||
}
|
||||
|
||||
string NWNX_Util_StripColors(string str)
|
||||
{
|
||||
string sFunc = "StripColors";
|
||||
NWNX_PushArgumentString(str);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(str);
|
||||
NWNXCall(NWNX_Util, "StripColors");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
string NWNX_Util_GetEnvironmentVariable(string sVarname)
|
||||
{
|
||||
string sFunc = "GetEnvironmentVariable";
|
||||
NWNX_PushArgumentString(sVarname);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(sVarname);
|
||||
NWNXCall(NWNX_Util, "GetEnvironmentVariable");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_Util_GetMinutesPerHour()
|
||||
{
|
||||
string sFunc = "GetMinutesPerHour";
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Util, "GetMinutesPerHour");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Util_SetMinutesPerHour(int minutes)
|
||||
{
|
||||
string sFunc = "SetMinutesPerHour";
|
||||
NWNX_PushArgumentInt(minutes);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
NWNXPushInt(minutes);
|
||||
NWNXCall(NWNX_Util, "SetMinutesPerHour");
|
||||
}
|
||||
|
||||
string NWNX_Util_EncodeStringForURL(string sURL)
|
||||
{
|
||||
string sFunc = "EncodeStringForURL";
|
||||
|
||||
NWNX_PushArgumentString(sURL);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(sURL);
|
||||
NWNXCall(NWNX_Util, "EncodeStringForURL");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
string NWNX_Util_GetFirstResRef(int nType, string sRegexFilter = "", int bModuleResourcesOnly = TRUE)
|
||||
{
|
||||
string sFunc = "GetFirstResRef";
|
||||
|
||||
NWNX_PushArgumentInt(bModuleResourcesOnly);
|
||||
NWNX_PushArgumentString(sRegexFilter);
|
||||
NWNX_PushArgumentInt(nType);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushInt(bModuleResourcesOnly);
|
||||
NWNXPushString(sRegexFilter);
|
||||
NWNXPushInt(nType);
|
||||
NWNXCall(NWNX_Util, "GetFirstResRef");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
string NWNX_Util_GetNextResRef()
|
||||
{
|
||||
string sFunc = "GetNextResRef";
|
||||
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Util, "GetNextResRef");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
object NWNX_Util_GetLastCreatedObject(int nObjectType, int nNthLast = 1)
|
||||
{
|
||||
string sFunc = "GetLastCreatedObject";
|
||||
|
||||
NWNX_PushArgumentInt(nNthLast);
|
||||
NWNX_PushArgumentInt(nObjectType);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushInt(nNthLast);
|
||||
NWNXPushInt(nObjectType);
|
||||
NWNXCall(NWNX_Util, "GetLastCreatedObject");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
string NWNX_Util_AddScript(string sFileName, string sScriptData, int bWrapIntoMain = FALSE, string sAlias = "NWNX")
|
||||
{
|
||||
string sFunc = "AddScript";
|
||||
|
||||
NWNX_PushArgumentString(sAlias);
|
||||
NWNX_PushArgumentInt(bWrapIntoMain);
|
||||
NWNX_PushArgumentString(sScriptData);
|
||||
NWNX_PushArgumentString(sFileName);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(sAlias);
|
||||
NWNXPushInt(bWrapIntoMain);
|
||||
NWNXPushString(sScriptData);
|
||||
NWNXPushString(sFileName);
|
||||
NWNXCall(NWNX_Util, "AddScript");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_Util_AddNSSFile(string sFileName, string sContents, string sAlias = "NWNX")
|
||||
{
|
||||
string sFunc = "AddNSSFile";
|
||||
|
||||
NWNX_PushArgumentString(sAlias);
|
||||
NWNX_PushArgumentString(sContents);
|
||||
NWNX_PushArgumentString(sFileName);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sAlias);
|
||||
NWNXPushString(sContents);
|
||||
NWNXPushString(sFileName);
|
||||
NWNXCall(NWNX_Util, "AddNSSFile");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Util_RemoveNWNXResourceFile(string sFileName, int nType, string sAlias = "NWNX")
|
||||
{
|
||||
string sFunc = "RemoveNWNXResourceFile";
|
||||
|
||||
NWNX_PushArgumentString(sAlias);
|
||||
NWNX_PushArgumentInt(nType);
|
||||
NWNX_PushArgumentString(sFileName);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sAlias);
|
||||
NWNXPushInt(nType);
|
||||
NWNXPushString(sFileName);
|
||||
NWNXCall(NWNX_Util, "RemoveNWNXResourceFile");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Util_SetInstructionLimit(int nInstructionLimit)
|
||||
{
|
||||
string sFunc = "SetInstructionLimit";
|
||||
|
||||
NWNX_PushArgumentInt(nInstructionLimit);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
NWNXPushInt(nInstructionLimit);
|
||||
NWNXCall(NWNX_Util, "SetInstructionLimit");
|
||||
}
|
||||
|
||||
int NWNX_Util_GetInstructionLimit()
|
||||
{
|
||||
string sFunc = "GetInstructionLimit";
|
||||
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Util, "GetInstructionLimit");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Util_SetInstructionsExecuted(int nInstructions)
|
||||
{
|
||||
string sFunc = "SetInstructionsExecuted";
|
||||
|
||||
NWNX_PushArgumentInt(nInstructions);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
NWNXPushInt(nInstructions);
|
||||
NWNXCall(NWNX_Util, "SetInstructionsExecuted");
|
||||
}
|
||||
|
||||
int NWNX_Util_GetInstructionsExecuted()
|
||||
{
|
||||
string sFunc = "GetInstructionsExecuted";
|
||||
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Util, "GetInstructionsExecuted");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Util_RegisterServerConsoleCommand(string sCommand, string sScriptChunk)
|
||||
{
|
||||
string sFunc = "RegisterServerConsoleCommand";
|
||||
|
||||
NWNX_PushArgumentString(sScriptChunk);
|
||||
NWNX_PushArgumentString(sCommand);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sScriptChunk);
|
||||
NWNXPushString(sCommand);
|
||||
NWNXCall(NWNX_Util, "RegisterServerConsoleCommand");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Util_UnregisterServerConsoleCommand(string sCommand)
|
||||
{
|
||||
string sFunc = "UnregisterServerConsoleCommand";
|
||||
|
||||
NWNX_PushArgumentString(sCommand);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
}
|
||||
|
||||
int NWNX_Util_PluginExists(string sPlugin)
|
||||
{
|
||||
WriteTimestampedLogEntry("WARNING: NWNX_Util_PluginExists is deprecated. You should migrate to NWNX_PluginExists.");
|
||||
return NWNX_PluginExists(sPlugin);
|
||||
NWNXPushString(sCommand);
|
||||
NWNXCall(NWNX_Util, "UnregisterServerConsoleCommand");
|
||||
}
|
||||
|
||||
string NWNX_Util_GetUserDirectory()
|
||||
{
|
||||
string sFunc = "GetUserDirectory";
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Util, "GetUserDirectory");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_Util_GetScriptReturnValue()
|
||||
{
|
||||
string sFunc = "GetScriptReturnValue";
|
||||
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Util, "GetScriptReturnValue");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
object NWNX_Util_CreateDoor(string sResRef, location locLocation, string sNewTag = "", int nAppearanceType = -1)
|
||||
{
|
||||
string sFunc = "CreateDoor";
|
||||
|
||||
vector vPosition = GetPositionFromLocation(locLocation);
|
||||
|
||||
NWNX_PushArgumentInt(nAppearanceType);
|
||||
NWNX_PushArgumentString(sNewTag);
|
||||
NWNX_PushArgumentFloat(GetFacingFromLocation(locLocation));
|
||||
NWNX_PushArgumentFloat(vPosition.z);
|
||||
NWNX_PushArgumentFloat(vPosition.y);
|
||||
NWNX_PushArgumentFloat(vPosition.x);
|
||||
NWNX_PushArgumentObject(GetAreaFromLocation(locLocation));
|
||||
NWNX_PushArgumentString(sResRef);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueObject();
|
||||
NWNXPushInt(nAppearanceType);
|
||||
NWNXPushString(sNewTag);
|
||||
NWNXPushLocation(locLocation);
|
||||
NWNXPushString(sResRef);
|
||||
NWNXCall(NWNX_Util, "CreateDoor");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
void NWNX_Util_SetItemActivator(object oObject)
|
||||
{
|
||||
string sFunc = "SetItemActivator";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXCall(NWNX_Util, "SetItemActivator");
|
||||
}
|
||||
|
||||
struct NWNX_Util_WorldTime NWNX_Util_GetWorldTime(float fAdjustment = 0.0f)
|
||||
{
|
||||
string sFunc = "GetWorldTime";
|
||||
|
||||
NWNX_PushArgumentFloat(fAdjustment);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
NWNXPushFloat(fAdjustment);
|
||||
NWNXCall(NWNX_Util, "GetWorldTime");
|
||||
struct NWNX_Util_WorldTime strWorldTime;
|
||||
strWorldTime.nTimeOfDay = NWNX_GetReturnValueInt();
|
||||
strWorldTime.nCalendarDay = NWNX_GetReturnValueInt();
|
||||
|
||||
strWorldTime.nTimeOfDay = NWNXPopInt();
|
||||
strWorldTime.nCalendarDay = NWNXPopInt();
|
||||
return strWorldTime;
|
||||
}
|
||||
|
||||
void NWNX_Util_SetResourceOverride(int nResType, string sOldName, string sNewName)
|
||||
{
|
||||
string sFunc = "SetResourceOverride";
|
||||
|
||||
NWNX_PushArgumentString(sNewName);
|
||||
NWNX_PushArgumentString(sOldName);
|
||||
NWNX_PushArgumentInt(nResType);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
NWNXPushString(sNewName);
|
||||
NWNXPushString(sOldName);
|
||||
NWNXPushInt(nResType);
|
||||
NWNXCall(NWNX_Util, "SetResourceOverride");
|
||||
}
|
||||
|
||||
string NWNX_Util_GetResourceOverride(int nResType, string sName)
|
||||
{
|
||||
string sFunc = "GetResourceOverride";
|
||||
|
||||
NWNX_PushArgumentString(sName);
|
||||
NWNX_PushArgumentInt(nResType);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXPushString(sName);
|
||||
NWNXPushInt(nResType);
|
||||
NWNXCall(NWNX_Util, "GetResourceOverride");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_Util_GetScriptParamIsSet(string sParamName)
|
||||
{
|
||||
string sFunc = "GetScriptParamIsSet";
|
||||
|
||||
NWNX_PushArgumentString(sParamName);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sParamName);
|
||||
NWNXCall(NWNX_Util, "GetScriptParamIsSet");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Util_SetDawnHour(int nDawnHour)
|
||||
{
|
||||
string sFunc = "SetDawnHour";
|
||||
NWNXPushInt(nDawnHour);
|
||||
NWNXCall(NWNX_Util, "SetDawnHour");
|
||||
}
|
||||
|
||||
NWNX_PushArgumentInt(nDawnHour);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
int NWNX_Util_GetDawnHour()
|
||||
{
|
||||
NWNXCall(NWNX_Util, "GetDawnHour");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Util_SetDuskHour(int nDuskHour)
|
||||
{
|
||||
string sFunc = "SetDuskHour";
|
||||
NWNXPushInt(nDuskHour);
|
||||
NWNXCall(NWNX_Util, "SetDuskHour");
|
||||
}
|
||||
|
||||
NWNX_PushArgumentInt(nDuskHour);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
int NWNX_Util_GetDuskHour()
|
||||
{
|
||||
NWNXCall(NWNX_Util, "GetDuskHour");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
struct NWNX_Util_HighResTimestamp NWNX_Util_GetHighResTimeStamp()
|
||||
{
|
||||
struct NWNX_Util_HighResTimestamp t;
|
||||
string sFunc = "GetHighResTimeStamp";
|
||||
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
t.microseconds = NWNX_GetReturnValueInt();
|
||||
t.seconds = NWNX_GetReturnValueInt();
|
||||
NWNXCall(NWNX_Util, "GetHighResTimeStamp");
|
||||
t.microseconds = NWNXPopInt();
|
||||
t.seconds = NWNXPopInt();
|
||||
return t;
|
||||
}
|
||||
|
||||
string NWNX_Util_GetTTY()
|
||||
{
|
||||
string sFunc = "GetTTY";
|
||||
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Util, "GetTTY");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Util_SetCurrentlyRunningEvent(int nEventID)
|
||||
{
|
||||
string sFunc = "SetCurrentlyRunningEvent";
|
||||
|
||||
NWNX_PushArgumentInt(nEventID);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
NWNXPushInt(nEventID);
|
||||
NWNXCall(NWNX_Util, "SetCurrentlyRunningEvent");
|
||||
}
|
||||
|
||||
int NWNX_Util_GetStringLevenshteinDistance(string sString, string sCompareTo)
|
||||
{
|
||||
string sFunc = "LevenshteinDistance";
|
||||
|
||||
NWNX_PushArgumentString(sCompareTo);
|
||||
NWNX_PushArgumentString(sString);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushString(sCompareTo);
|
||||
NWNXPushString(sString);
|
||||
NWNXCall(NWNX_Util, "GetStringLevenshteinDistance");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Util_UpdateClientObject(object oObjectToUpdate, object oPlayer = OBJECT_INVALID)
|
||||
{
|
||||
string sFunc = "UpdateClientObject";
|
||||
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_PushArgumentObject(oObjectToUpdate);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXPushObject(oObjectToUpdate);
|
||||
NWNXCall(NWNX_Util, "UpdateClientObject");
|
||||
}
|
||||
|
||||
int NWNX_Util_CleanResourceDirectory(string sAlias, int nResType = 0xFFFF)
|
||||
{
|
||||
string sFunc = "CleanResourceDirectory";
|
||||
NWNX_PushArgumentInt(nResType);
|
||||
NWNX_PushArgumentString(sAlias);
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nResType);
|
||||
NWNXPushString(sAlias);
|
||||
NWNXCall(NWNX_Util, "CleanResourceDirectory");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
string NWNX_Util_GetModuleTlkFile()
|
||||
{
|
||||
string sFunc = "GetModuleTlkFile";
|
||||
NWNX_CallFunction(NWNX_Util, sFunc);
|
||||
return NWNX_GetReturnValueString();
|
||||
NWNXCall(NWNX_Util, sFunc);
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
int NWNX_Util_UpdateResourceDirectory(string sAlias)
|
||||
{
|
||||
NWNXPushString(sAlias);
|
||||
NWNXCall(NWNX_Util, "UpdateResourceDirectory");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions to manipulate visibility of objects both globally or per observer
|
||||
/// @{
|
||||
/// @file nwnx_visibility.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Visibility = "NWNX_Visibility"; ///< @private
|
||||
|
||||
@@ -57,21 +56,16 @@ void NWNX_Visibility_SetVisibilityOverride(object oPlayer, object oTarget, int n
|
||||
|
||||
int NWNX_Visibility_GetVisibilityOverride(object oPlayer, object oTarget)
|
||||
{
|
||||
string sFunc = "GetVisibilityOverride";
|
||||
|
||||
NWNX_PushArgumentObject(oTarget);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Visibility, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oTarget);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Visibility, "GetVisibilityOverride");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Visibility_SetVisibilityOverride(object oPlayer, object oTarget, int nOverride)
|
||||
{
|
||||
string sFunc = "SetVisibilityOverride";
|
||||
|
||||
NWNX_PushArgumentInt(nOverride);
|
||||
NWNX_PushArgumentObject(oTarget);
|
||||
NWNX_PushArgumentObject(oPlayer);
|
||||
NWNX_CallFunction(NWNX_Visibility, sFunc);
|
||||
NWNXPushInt(nOverride);
|
||||
NWNXPushObject(oTarget);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Visibility, "SetVisibilityOverride");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions exposing additional weapon properties.
|
||||
/// @{
|
||||
/// @file nwnx_weapon.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Weapon = "NWNX_Weapon"; ///< @private
|
||||
|
||||
@@ -138,214 +137,152 @@ void NWNX_Weapon_SetMaxRangedAttackDistanceOverride(int nBaseItem, float fMax, f
|
||||
|
||||
void NWNX_Weapon_SetWeaponFocusFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetWeaponFocusFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetWeaponFocusFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetEpicWeaponFocusFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetEpicWeaponFocusFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetEpicWeaponFocusFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetGreaterWeaponFocusFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetGreaterWeaponFocusFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetGreaterWeaponFocusFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetWeaponFinesseSize(int nBaseItem, int nSize)
|
||||
{
|
||||
string sFunc = "SetWeaponFinesseSize";
|
||||
|
||||
NWNX_PushArgumentInt(nSize);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nSize);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetWeaponFinesseSize");
|
||||
}
|
||||
|
||||
int NWNX_Weapon_GetWeaponFinesseSize(int nBaseItem)
|
||||
{
|
||||
string sFunc = "GetWeaponFinesseSize";
|
||||
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "GetWeaponFinesseSize");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetWeaponUnarmed(int nBaseItem)
|
||||
{
|
||||
string sFunc = "SetWeaponUnarmed";
|
||||
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetWeaponUnarmed");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetWeaponIsMonkWeapon(int nBaseItem)
|
||||
{
|
||||
WriteTimestampedLogEntry("NWNX_Weapon_SetWeaponIsMonkWeapon() is deprecated. Please use baseitems.2da instead.");
|
||||
|
||||
string sFunc = "SetWeaponIsMonkWeapon";
|
||||
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetWeaponIsMonkWeapon");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetWeaponImprovedCriticalFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetWeaponImprovedCriticalFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetWeaponImprovedCriticalFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetWeaponSpecializationFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetWeaponSpecializationFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetWeaponSpecializationFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetGreaterWeaponSpecializationFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetGreaterWeaponSpecializationFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetGreaterWeaponSpecializationFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetEpicWeaponSpecializationFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetEpicWeaponSpecializationFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetEpicWeaponSpecializationFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetEpicWeaponOverwhelmingCriticalFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetEpicWeaponOverwhelmingCriticalFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetEpicWeaponOverwhelmingCriticalFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetEpicWeaponDevastatingCriticalFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetEpicWeaponDevastatingCriticalFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetEpicWeaponDevastatingCriticalFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetWeaponOfChoiceFeat(int nBaseItem, int nFeat)
|
||||
{
|
||||
string sFunc = "SetWeaponOfChoiceFeat";
|
||||
|
||||
NWNX_PushArgumentInt(nFeat);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nFeat);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetWeaponOfChoiceFeat");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetOption(int nOption, int nVal)
|
||||
{
|
||||
string sFunc = "SetOption";
|
||||
|
||||
NWNX_PushArgumentInt(nVal);
|
||||
NWNX_PushArgumentInt(nOption);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(nVal);
|
||||
NWNXPushInt(nOption);
|
||||
NWNXCall(NWNX_Weapon, "SetOption");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetDevastatingCriticalEventScript(string sScript)
|
||||
{
|
||||
string sFunc = "SetDevastatingCriticalEventScript";
|
||||
|
||||
NWNX_PushArgumentString(sScript);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushString(sScript);
|
||||
NWNXCall(NWNX_Weapon, "SetDevastatingCriticalEventScript");
|
||||
}
|
||||
|
||||
void NWNX_Weapon_BypassDevastatingCritical()
|
||||
{
|
||||
string sFunc = "SetEventData";
|
||||
|
||||
NWNX_PushArgumentInt(1);
|
||||
NWNX_PushArgumentInt(NWNX_WEAPON_SETDATA_DC_BYPASS);
|
||||
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(1);
|
||||
NWNXPushInt(NWNX_WEAPON_SETDATA_DC_BYPASS);
|
||||
NWNXCall(NWNX_Weapon, "SetEventData");
|
||||
}
|
||||
|
||||
struct NWNX_Weapon_DevastatingCriticalEvent_Data NWNX_Weapon_GetDevastatingCriticalEventData()
|
||||
{
|
||||
string sFunc = "GetEventData";
|
||||
struct NWNX_Weapon_DevastatingCriticalEvent_Data data;
|
||||
|
||||
NWNX_PushArgumentInt(NWNX_WEAPON_GETDATA_DC);
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
|
||||
data.oWeapon = NWNX_GetReturnValueObject();
|
||||
data.oTarget = NWNX_GetReturnValueObject();
|
||||
data.nDamage = NWNX_GetReturnValueInt();
|
||||
|
||||
NWNXPushInt(NWNX_WEAPON_GETDATA_DC);
|
||||
NWNXCall(NWNX_Weapon, "GetEventData");
|
||||
data.oWeapon = NWNXPopObject();
|
||||
data.oTarget = NWNXPopObject();
|
||||
data.nDamage = NWNXPopInt();
|
||||
return data;
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetOneHalfStrength(object oWeapon, int nEnable, int bPersist = FALSE)
|
||||
{
|
||||
string sFunc = "SetOneHalfStrength";
|
||||
NWNX_PushArgumentInt(bPersist);
|
||||
NWNX_PushArgumentInt(nEnable);
|
||||
NWNX_PushArgumentObject(oWeapon);
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushInt(bPersist);
|
||||
NWNXPushInt(nEnable);
|
||||
NWNXPushObject(oWeapon);
|
||||
NWNXCall(NWNX_Weapon, "SetOneHalfStrength");
|
||||
}
|
||||
|
||||
int NWNX_Weapon_GetOneHalfStrength(object oWeapon)
|
||||
{
|
||||
string sFunc = "GetOneHalfStrength";
|
||||
NWNX_PushArgumentObject(oWeapon);
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
NWNXPushObject(oWeapon);
|
||||
NWNXCall(NWNX_Weapon, "GetOneHalfStrength");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
void NWNX_Weapon_SetMaxRangedAttackDistanceOverride(int nBaseItem, float fMax, float fMaxPassive, float fPreferred)
|
||||
{
|
||||
string sFunc = "SetMaxRangedAttackDistanceOverride";
|
||||
|
||||
NWNX_PushArgumentFloat(fPreferred);
|
||||
NWNX_PushArgumentFloat(fMaxPassive);
|
||||
NWNX_PushArgumentFloat(fMax);
|
||||
NWNX_PushArgumentInt(nBaseItem);
|
||||
NWNX_CallFunction(NWNX_Weapon, sFunc);
|
||||
NWNXPushFloat(fPreferred);
|
||||
NWNXPushFloat(fMaxPassive);
|
||||
NWNXPushFloat(fMax);
|
||||
NWNXPushInt(nBaseItem);
|
||||
NWNXCall(NWNX_Weapon, "SetMaxRangedAttackDistanceOverride");
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/// @brief Send messages to external entities through web hooks.
|
||||
/// @{
|
||||
/// @file nwnx_webhook.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_WebHook = "NWNX_WebHook"; ///< @private
|
||||
|
||||
@@ -28,13 +27,12 @@ void NWNX_WebHook_ResendWebHookHTTPS(string host, string path, string sMessage,
|
||||
|
||||
void NWNX_WebHook_SendWebHookHTTPS(string host, string path, string message, string username = "", int mrkdwn = 1)
|
||||
{
|
||||
string sFunc = "SendWebHookHTTPS";
|
||||
NWNX_PushArgumentInt(mrkdwn);
|
||||
NWNX_PushArgumentString(username);
|
||||
NWNX_PushArgumentString(message);
|
||||
NWNX_PushArgumentString(path);
|
||||
NWNX_PushArgumentString(host);
|
||||
NWNX_CallFunction(NWNX_WebHook, sFunc);
|
||||
NWNXPushInt(mrkdwn);
|
||||
NWNXPushString(username);
|
||||
NWNXPushString(message);
|
||||
NWNXPushString(path);
|
||||
NWNXPushString(host);
|
||||
NWNXCall(NWNX_WebHook, "SendWebHookHTTPS");
|
||||
}
|
||||
|
||||
void NWNX_WebHook_ResendWebHookHTTPS(string host, string path, string sMessage, float delay = 0.0f)
|
||||
|
Reference in New Issue
Block a user