Updated for NWNEE 37-13
Updated for NWNEE 37-13. Updated NWNxEE. Full compile. Updated release archive.
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
/// @brief Functions exposing additional player properties.
|
||||
/// @{
|
||||
/// @file nwnx_player.nss
|
||||
#include "nwnx"
|
||||
|
||||
const string NWNX_Player = "NWNX_Player"; ///< @private
|
||||
|
||||
@@ -24,6 +23,22 @@ struct NWNX_Player_QuickBarSlot
|
||||
object oAssociate; ///< @todo Describe
|
||||
};
|
||||
|
||||
/// @brief A journal entry.
|
||||
struct NWNX_Player_JournalEntry
|
||||
{
|
||||
string sName;///< @todo Describe
|
||||
string sText;///< @todo Describe
|
||||
string sTag;///< @todo Describe
|
||||
int nState;///< @todo Describe
|
||||
int nPriority;///< @todo Describe
|
||||
int nQuestCompleted;///< @todo Describe
|
||||
int nQuestDisplayed;///< @todo Describe
|
||||
int nUpdated;///< @todo Describe
|
||||
int nCalendarDay;///< @todo Describe
|
||||
int nTimeOfDay;///< @todo Describe
|
||||
};
|
||||
|
||||
|
||||
/// @name Timing Bar Types
|
||||
/// @anchor timing_bar_types
|
||||
///
|
||||
@@ -119,7 +134,10 @@ string NWNX_Player_GetBicFileName(object player);
|
||||
/// @param player The player object.
|
||||
/// @param effectId The effect id.
|
||||
/// @param position The position to play the visual effect.
|
||||
void NWNX_Player_ShowVisualEffect(object player, int effectId, vector position);
|
||||
/// @param scale The scale of the effect
|
||||
/// @param translate A translation vector to offset the position of the effect
|
||||
/// @param rotate A rotation vector to rotate the effect
|
||||
void NWNX_Player_ShowVisualEffect(object player, int effectId, vector position, float scale=1.0f, vector translate=[], vector rotate=[]);
|
||||
|
||||
/// @brief Changes the daytime music track for the given player only
|
||||
/// @param player The player object.
|
||||
@@ -174,8 +192,11 @@ void NWNX_Player_SetRestDuration(object player, int duration);
|
||||
/// @param player The player object.
|
||||
/// @param target The target object to play the effect upon.
|
||||
/// @param visualeffect The visual effect id.
|
||||
/// @param scale The scale of the effect
|
||||
/// @param translate A translation vector to offset the position of the effect
|
||||
/// @param rotate A rotation vector to rotate the effect
|
||||
/// @note Only works with instant effects: VFX_COM_*, VFX_FNF_*, VFX_IMP_*
|
||||
void NWNX_Player_ApplyInstantVisualEffectToObject(object player, object target, int visualeffect);
|
||||
void NWNX_Player_ApplyInstantVisualEffectToObject(object player, object target, int visualeffect, float scale=1.0f, vector translate=[], vector rotate=[]);
|
||||
|
||||
/// @brief Refreshes the players character sheet
|
||||
/// @param player The player object.
|
||||
@@ -289,26 +310,163 @@ int NWNX_Player_GetLanguage(object oPlayer);
|
||||
/// @param sNewResName The new res name or "" to clear a previous override, 16 characters or less.
|
||||
void NWNX_Player_SetResManOverride(object oPlayer, int nResType, string sOldResName, string sNewResName);
|
||||
|
||||
/// @brief Set nCustomTokenNumber to sTokenValue for oPlayer only.
|
||||
/// @note The basegame SetCustomToken() will override any personal tokens.
|
||||
/// @param oPlayer The player object.
|
||||
/// @param nCustomTokenNumber The token number.
|
||||
/// @param sTokenValue The token text.
|
||||
void NWNX_Player_SetCustomToken(object oPlayer, int nCustomTokenNumber, string sTokenValue);
|
||||
|
||||
/// @brief Override the name of creature for player only
|
||||
/// @param oPlayer The player object.
|
||||
/// @param oCreature The creature object.
|
||||
/// @param sName The name for the creature for this player, "" to clear the override.
|
||||
void NWNX_Player_SetCreatureNameOverride(object oPlayer, object oCreature, string sName);
|
||||
|
||||
/// @brief Display floaty text above oCreature for oPlayer only.
|
||||
/// @note This will also display the floaty text above creatures that are not part of oPlayer's faction.
|
||||
/// @param oPlayer The player to display the text to.
|
||||
/// @param oCreature The creature to display the text above.
|
||||
/// @param sText The text to display.
|
||||
/// @param bChatWindow If TRUE, sText will be displayed in oPlayer's chat window.
|
||||
void NWNX_Player_FloatingTextStringOnCreature(object oPlayer, object oCreature, string sText, int bChatWindow = TRUE);
|
||||
|
||||
/// @brief Toggle oPlayer's PlayerDM status.
|
||||
/// @note This function does nothing for actual DMClient DMs or players with a client version < 8193.14
|
||||
/// @param oPlayer The player.
|
||||
/// @param bIsDM TRUE to toggle dm mode on, FALSE for off.
|
||||
void NWNX_Player_ToggleDM(object oPlayer, int bIsDM);
|
||||
|
||||
/// @brief Override the mouse cursor of oObject for oPlayer only
|
||||
/// @param oPlayer The player object.
|
||||
/// @param oObject The object.
|
||||
/// @param nCursor The cursor, one of MOUSECURSOR_*. -1 to clear the override.
|
||||
void NWNX_Player_SetObjectMouseCursorOverride(object oPlayer, object oObject, int nCursor);
|
||||
|
||||
/// @brief Override the hilite color of oObject for oPlayer only
|
||||
/// @param oPlayer The player object.
|
||||
/// @param oObject The object.
|
||||
/// @param nColor The color in 0xRRGGBB format, -1 to clear the override.
|
||||
void NWNX_Player_SetObjectHiliteColorOverride(object oPlayer, object oObject, int nColor);
|
||||
|
||||
/// @brief Remove effects with sEffectTag from oPlayer's TURD
|
||||
/// @note This function should be called in the NWNX_ON_CLIENT_DISCONNECT_AFTER event, OnClientLeave is too early for the TURD to exist.
|
||||
/// @param oPlayer The player object.
|
||||
/// @param sEffectTag The effect tag.
|
||||
void NWNX_Player_RemoveEffectFromTURD(object oPlayer, string sEffectTag);
|
||||
|
||||
/// @brief Set the location oPlayer will spawn when logging in to the server.
|
||||
/// @note This function is best called in the NWNX_ON_ELC_VALIDATE_CHARACTER_BEFORE event, OnClientEnter will be too late.
|
||||
/// @param oPlayer The player object.
|
||||
/// @param locSpawn The location.
|
||||
void NWNX_Player_SetSpawnLocation(object oPlayer, location locSpawn);
|
||||
|
||||
/// @brief Resends palettes to a DM.
|
||||
/// @param oPlayer - the DM to send them to.
|
||||
void NWNX_Player_SendDMAllCreatorLists(object oPlayer);
|
||||
|
||||
/// @brief Give a custom journal entry to oPlayer.
|
||||
/// @warning Custom entries are wiped on client enter - they must be reapplied.
|
||||
/// @param oPlayer The player object.
|
||||
/// @param journalEntry The journal entry in the form of a struct.
|
||||
/// @param nSilentUpdate 0 = Notify player via sound effects and feedback message, 1 = Suppress sound effects and feedback message
|
||||
/// @return a positive number to indicate the new amount of journal entries on the player.
|
||||
/// @note In contrast to conventional nwn journal entries - this method will overwrite entries with the same tag, so the index / count of entries
|
||||
/// will only increase if you add new entries with unique tags
|
||||
int NWNX_Player_AddCustomJournalEntry(object oPlayer, struct NWNX_Player_JournalEntry journalEntry, int nSilentUpdate = 0);
|
||||
|
||||
/// @brief Returns a struct containing a journal entry that can then be modified.
|
||||
/// @param oPlayer The player object.
|
||||
/// @param questTag The quest tag you wish to get the journal entry for.
|
||||
/// @return a struct containing the journal entry data.
|
||||
/// @note This method will return -1 for the Updated field in the event that no matching journal entry was found,
|
||||
/// only the last matching quest tag will be returned. Eg: If you add 3 journal updates to a player, only the 3rd one will be returned as
|
||||
/// that is the active one that the player currently sees.
|
||||
struct NWNX_Player_JournalEntry NWNX_Player_GetJournalEntry(object oPlayer, string questTag);
|
||||
|
||||
/// @brief Closes any store oPlayer may have open.
|
||||
/// @param oPlayer The player object.
|
||||
void NWNX_Player_CloseStore(object oPlayer);
|
||||
|
||||
/// @brief Override nStrRef from the TlkTable with sOverride for oPlayer only.
|
||||
/// @param oPlayer The player.
|
||||
/// @param nStrRef The StrRef.
|
||||
/// @param sOverride The new value for nStrRef or "" to remove the override.
|
||||
/// @param bRestoreGlobal If TRUE, when removing a personal override it will attempt to restore the global override if it exists.
|
||||
/// @note Overrides will not persist through relogging.
|
||||
void NWNX_Player_SetTlkOverride(object oPlayer, int nStrRef, string sOverride, int bRestoreGlobal = TRUE);
|
||||
|
||||
/// @brief Make the player reload it's TlkTable.
|
||||
/// @param oPlayer The player.
|
||||
void NWNX_Player_ReloadTlk(object oPlayer);
|
||||
|
||||
/// @brief Update wind for oPlayer only.
|
||||
/// @param oPlayer The player.
|
||||
/// @param vDirection The Wind's direction.
|
||||
/// @param fMagnitude The Wind's magnitude.
|
||||
/// @param fYaw The Wind's yaw.
|
||||
/// @param fPitch The Wind's pitch.
|
||||
void NWNX_Player_UpdateWind(object oPlayer, vector vDirection, float fMagnitude, float fYaw, float fPitch);
|
||||
|
||||
/// @brief Update the SkyBox for oPlayer only.
|
||||
/// @param oPlayer The player.
|
||||
/// @param nSkyBox The Skybox ID.
|
||||
void NWNX_Player_UpdateSkyBox(object oPlayer, int nSkyBox);
|
||||
|
||||
/// @brief Update Sun and Moon Fog Color for oPlayer only.
|
||||
/// @param oPlayer The player.
|
||||
/// @param nSunFogColor The int value of Sun Fog color.
|
||||
/// @param nMoonFogColor The int value of Moon Fog color.
|
||||
void NWNX_Player_UpdateFogColor(object oPlayer, int nSunFogColor, int nMoonFogColor);
|
||||
|
||||
|
||||
/// @brief Update Sun and Moon Fog Amount for oPlayer only.
|
||||
/// @param oPlayer The player.
|
||||
/// @param nSunFogAmount The int value of Sun Fog amount (range 0-255).
|
||||
/// @param nMoonFogAmount The int value of Moon Fog amount (range 0-255).
|
||||
void NWNX_Player_UpdateFogAmount(object oPlayer, int nSunFogAmount, int nMoonFogAmount);
|
||||
|
||||
/// @brief Return's the currently-possessed game object of a player.
|
||||
/// @param oPlayer The player object (e.g. from GetFirst/NextPC()).
|
||||
/// @return the actual game object of oPlayer, or OBJECT_INVALID on error.
|
||||
object NWNX_Player_GetGameObject(object oPlayer);
|
||||
|
||||
/// @brief Override the ui discovery mask of oObject for oPlayer only
|
||||
/// @param oPlayer The player object.
|
||||
/// @param oObject The target object.
|
||||
/// @param nMask A mask of OBJECT_UI_DISCOVERY_*, or -1 to clear the override
|
||||
void NWNX_Player_SetObjectUiDiscoveryMaskOverride(object oPlayer, object oObject, int nMask);
|
||||
|
||||
/// @brief Send a party invite from oInviter to oPlayer
|
||||
/// @param oPlayer The player to invite
|
||||
/// @param oInviter The one inviting the player
|
||||
/// @param bForceInvite TRUE: Sends the invite even if the target ignores invites
|
||||
/// @param bHideDialog TRUE: Does not show the party invitation dialog
|
||||
void NWNX_Player_SendPartyInvite(object oPlayer, object oInviter, int bForceInvite = FALSE, int bHideDialog = FALSE);
|
||||
|
||||
/// @brief Get the TURD for oPlayer
|
||||
/// @param oPlayer The offline player to get the TURD from
|
||||
/// @return the TURD object of oPlayer, or OBJECT_INVALID if no TURD exists
|
||||
object NWNX_Player_GetTURD(object oPlayer);
|
||||
|
||||
/// @brief Reloads the color palettes for oPlayer
|
||||
/// @param oPlayer The player to reload the color palette for
|
||||
void NWNX_Player_ReloadColorPalettes(object oPlayer);
|
||||
|
||||
/// @}
|
||||
|
||||
void NWNX_Player_ForcePlaceableExamineWindow(object player, object placeable)
|
||||
{
|
||||
string sFunc = "ForcePlaceableExamineWindow";
|
||||
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, placeable);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, placeable);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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
|
||||
@@ -317,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(NWNX_Player, sFunc, player);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "StopGuiTimingBar");
|
||||
if(script != "")
|
||||
{
|
||||
ExecuteScript(script, player);
|
||||
@@ -338,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(NWNX_Player, sFunc, type);
|
||||
NWNX_PushArgumentFloat(NWNX_Player, sFunc, seconds);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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));
|
||||
}
|
||||
|
||||
@@ -360,360 +508,471 @@ void NWNX_Player_StopGuiTimingBar(object player, string script = "")
|
||||
|
||||
void NWNX_Player_SetAlwaysWalk(object player, int bWalk=TRUE)
|
||||
{
|
||||
string sFunc = "SetAlwaysWalk";
|
||||
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, bWalk);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, slot);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, player);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
|
||||
qbs.oAssociate = NWNX_GetReturnValueObject(NWNX_Player, sFunc);
|
||||
qbs.nAssociateType = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
qbs.nDomainLevel = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
qbs.nMetaType = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
qbs.nINTParam1 = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
qbs.sToolTip = NWNX_GetReturnValueString(NWNX_Player, sFunc);
|
||||
qbs.sCommandLine = NWNX_GetReturnValueString(NWNX_Player, sFunc);
|
||||
qbs.sCommandLabel = NWNX_GetReturnValueString(NWNX_Player, sFunc);
|
||||
qbs.sResRef = NWNX_GetReturnValueString(NWNX_Player, sFunc);
|
||||
qbs.nMultiClass = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
qbs.nObjectType = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
qbs.oSecondaryItem = NWNX_GetReturnValueObject(NWNX_Player, sFunc);
|
||||
qbs.oItem = NWNX_GetReturnValueObject(NWNX_Player, sFunc);
|
||||
|
||||
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(NWNX_Player, sFunc, qbs.oItem);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, qbs.oSecondaryItem);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.nObjectType);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.nMultiClass);
|
||||
NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.sResRef);
|
||||
NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.sCommandLabel);
|
||||
NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.sCommandLine);
|
||||
NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.sToolTip);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.nINTParam1);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.nMetaType);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.nDomainLevel);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.nAssociateType);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, qbs.oAssociate);
|
||||
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, slot);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, player);
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueString(NWNX_Player, sFunc);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "GetBicFileName");
|
||||
return NWNXPopString();
|
||||
}
|
||||
|
||||
void NWNX_Player_ShowVisualEffect(object player, int effectId, vector position)
|
||||
void NWNX_Player_ShowVisualEffect(object player, int effectId, vector position, float scale=1.0f, vector translate=[], vector rotate=[])
|
||||
{
|
||||
string sFunc = "ShowVisualEffect";
|
||||
|
||||
NWNX_PushArgumentFloat(NWNX_Player, sFunc, position.x);
|
||||
NWNX_PushArgumentFloat(NWNX_Player, sFunc, position.y);
|
||||
NWNX_PushArgumentFloat(NWNX_Player, sFunc, position.z);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, effectId);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, track);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, TRUE); // bool day = TRUE
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, track);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, FALSE); // bool day = FALSE
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, TRUE); // bool play = TRUE
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, FALSE); // bool play = FALSE
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, track);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, TRUE); // bool play = TRUE
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, FALSE); // bool play = FALSE
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, target);
|
||||
NWNX_PushArgumentString(NWNX_Player, sFunc, sound);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, usable);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, placeable);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, duration);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
NWNXPushInt(duration);
|
||||
NWNXPushObject(player);
|
||||
NWNXCall(NWNX_Player, "SetRestDuration");
|
||||
}
|
||||
|
||||
void NWNX_Player_ApplyInstantVisualEffectToObject(object player, object target, int visualeffect)
|
||||
void NWNX_Player_ApplyInstantVisualEffectToObject(object player, object target, int visualeffect, float scale=1.0f, vector translate=[], vector rotate=[])
|
||||
{
|
||||
string sFunc = "ApplyInstantVisualEffectToObject";
|
||||
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, visualeffect);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, target);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, open);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, target);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, area);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueString(NWNX_Player, sFunc);
|
||||
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(NWNX_Player, sFunc, str);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, area);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, nAnimation);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, fValue);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, nTransform);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, oObject);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, visualeffect);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, target);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, name);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, placeable);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, sQuestName);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, player);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
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(NWNX_Player, sFunc, bFirstConnectOnly);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, oWP);
|
||||
NWNX_PushArgumentString(NWNX_Player, sFunc, sBicFileName);
|
||||
NWNX_PushArgumentString(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, oItem);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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(NWNX_Player, sFunc, bCreateDefaultQB);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, bMindImmune);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, oPossessed);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, oPossessor);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
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(NWNX_Player, sFunc, oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "GetPlatformId");
|
||||
return NWNXPopInt();
|
||||
}
|
||||
|
||||
int NWNX_Player_GetLanguage(object oPlayer)
|
||||
{
|
||||
string sFunc = "GetLanguage";
|
||||
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, oPlayer);
|
||||
|
||||
NWNX_CallFunction(NWNX_Player, sFunc);
|
||||
return NWNX_GetReturnValueInt(NWNX_Player, sFunc);
|
||||
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(NWNX_Player, sFunc, sNewResName);
|
||||
NWNX_PushArgumentString(NWNX_Player, sFunc, sOldResName);
|
||||
NWNX_PushArgumentInt(NWNX_Player, sFunc, nResType);
|
||||
NWNX_PushArgumentObject(NWNX_Player, sFunc, 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)
|
||||
{
|
||||
NWNXPushString(sTokenValue);
|
||||
NWNXPushInt(nCustomTokenNumber);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetCustomToken");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetCreatureNameOverride(object oPlayer, object oCreature, string sName)
|
||||
{
|
||||
NWNXPushString(sName);
|
||||
NWNXPushObject(oCreature);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetCreatureNameOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_FloatingTextStringOnCreature(object oPlayer, object oCreature, string sText, int bChatWindow = TRUE)
|
||||
{
|
||||
NWNXPushInt(bChatWindow);
|
||||
NWNXPushString(sText);
|
||||
NWNXPushObject(oCreature);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "FloatingTextStringOnCreature");
|
||||
}
|
||||
|
||||
void NWNX_Player_ToggleDM(object oPlayer, int bIsDM)
|
||||
{
|
||||
NWNXPushInt(bIsDM);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "ToggleDM");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetObjectMouseCursorOverride(object oPlayer, object oObject, int nCursor)
|
||||
{
|
||||
NWNXPushInt(nCursor);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetObjectMouseCursorOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetObjectHiliteColorOverride(object oPlayer, object oObject, int nColor)
|
||||
{
|
||||
NWNXPushInt(nColor);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetObjectHiliteColorOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_RemoveEffectFromTURD(object oPlayer, string sEffectTag)
|
||||
{
|
||||
NWNXPushString(sEffectTag);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "RemoveEffectFromTURD");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetSpawnLocation(object oPlayer, location locSpawn)
|
||||
{
|
||||
NWNXPushLocation(locSpawn);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetSpawnLocation");
|
||||
}
|
||||
|
||||
void NWNX_Player_SendDMAllCreatorLists(object oPlayer)
|
||||
{
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SendDMAllCreatorLists");
|
||||
}
|
||||
|
||||
int NWNX_Player_AddCustomJournalEntry(object oPlayer, struct NWNX_Player_JournalEntry journalEntry, int nSilentUpdate = 0)
|
||||
{
|
||||
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)
|
||||
{
|
||||
struct NWNX_Player_JournalEntry entry;
|
||||
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 = 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)
|
||||
{
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "CloseStore");
|
||||
}
|
||||
|
||||
void NWNX_Player_SetTlkOverride(object oPlayer, int nStrRef, string sOverride, int bRestoreGlobal = TRUE)
|
||||
{
|
||||
NWNXPushInt(bRestoreGlobal);
|
||||
NWNXPushString(sOverride);
|
||||
NWNXPushInt(nStrRef);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetTlkOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_ReloadTlk(object oPlayer)
|
||||
{
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "ReloadTlk");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateWind(object oPlayer, vector vDirection, float fMagnitude, float fYaw, float fPitch)
|
||||
{
|
||||
NWNXPushFloat(fPitch);
|
||||
NWNXPushFloat(fYaw);
|
||||
NWNXPushFloat(fMagnitude);
|
||||
NWNXPushVector(vDirection);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "UpdateWind");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateSkyBox(object oPlayer, int nSkyBox)
|
||||
{
|
||||
NWNXPushInt(nSkyBox);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "UpdateSkyBox");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateFogColor(object oPlayer, int nSunFogColor, int nMoonFogColor)
|
||||
{
|
||||
NWNXPushInt(nMoonFogColor);
|
||||
NWNXPushInt(nSunFogColor);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "UpdateFogColor");
|
||||
}
|
||||
|
||||
void NWNX_Player_UpdateFogAmount(object oPlayer, int nSunFogAmount, int nMoonFogAmount)
|
||||
{
|
||||
NWNXPushInt(nMoonFogAmount);
|
||||
NWNXPushInt(nSunFogAmount);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "UpdateFogAmount");
|
||||
}
|
||||
|
||||
object NWNX_Player_GetGameObject(object oPlayer)
|
||||
{
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "GetGameObject");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
void NWNX_Player_SetObjectUiDiscoveryMaskOverride(object oPlayer, object oObject, int nMask)
|
||||
{
|
||||
NWNXPushInt(nMask);
|
||||
NWNXPushObject(oObject);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SetObjectUiDiscoveryMaskOverride");
|
||||
}
|
||||
|
||||
void NWNX_Player_SendPartyInvite(object oPlayer, object oInviter, int bForceInvite = FALSE, int bHideDialog = FALSE)
|
||||
{
|
||||
NWNXPushInt(bHideDialog);
|
||||
NWNXPushInt(bForceInvite);
|
||||
NWNXPushObject(oInviter);
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "SendPartyInvite");
|
||||
}
|
||||
|
||||
object NWNX_Player_GetTURD(object oPlayer)
|
||||
{
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "GetTURD");
|
||||
return NWNXPopObject();
|
||||
}
|
||||
|
||||
void NWNX_Player_ReloadColorPalettes(object oPlayer)
|
||||
{
|
||||
NWNXPushObject(oPlayer);
|
||||
NWNXCall(NWNX_Player, "ReloadColorPalettes");
|
||||
}
|
||||
|
Reference in New Issue
Block a user