summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Server/Plugins/APIDump/APIDesc.lua21
-rw-r--r--src/Entities/Player.cpp13
-rw-r--r--src/Entities/Player.h5
3 files changed, 38 insertions, 1 deletions
diff --git a/Server/Plugins/APIDump/APIDesc.lua b/Server/Plugins/APIDump/APIDesc.lua
index cdd724b14..ce0390947 100644
--- a/Server/Plugins/APIDump/APIDesc.lua
+++ b/Server/Plugins/APIDump/APIDesc.lua
@@ -9503,6 +9503,16 @@ a_Player:OpenWindow(Window);
},
Notes = "Returns the full color code to be used for this player's messages (based on their rank). Prefix player messages with this code.",
},
+ GetDraggingItem =
+ {
+ Returns =
+ {
+ {
+ Type = "cItem",
+ },
+ },
+ Notes = "Returns the item the player is dragging in a UI window."
+ },
GetPrefix =
{
Returns =
@@ -10340,6 +10350,17 @@ a_Player:OpenWindow(Window);
},
Notes = "Sets the custom name for this player. If you want to disable the custom name, simply set an empty string. The custom name will be used in the tab-list, in the player nametag and in the tab-completion.",
},
+ SetDraggingItem =
+ {
+ Params =
+ {
+ {
+ Name = "Item",
+ Type = "cItem",
+ },
+ },
+ Notes = "Sets the item that the player is dragging in a UI window. If no UI window is open, this function does nothing."
+ },
SetFlying =
{
Params =
diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp
index 761337a30..e4192140a 100644
--- a/src/Entities/Player.cpp
+++ b/src/Entities/Player.cpp
@@ -1880,6 +1880,19 @@ AString cPlayer::GetPlayerListName(void) const
+void cPlayer::SetDraggingItem(const cItem & a_Item)
+{
+ if (GetWindow() != nullptr)
+ {
+ m_DraggingItem = a_Item;
+ GetClientHandle()->SendInventorySlot(-1, -1, m_DraggingItem);
+ }
+}
+
+
+
+
+
void cPlayer::TossEquippedItem(char a_Amount)
{
cItems Drops;
diff --git a/src/Entities/Player.h b/src/Entities/Player.h
index dc8f07823..95b21ec9a 100644
--- a/src/Entities/Player.h
+++ b/src/Entities/Player.h
@@ -404,7 +404,10 @@ public:
void SendExperience(void);
/** In UI windows, get the item that the player is dragging */
- cItem & GetDraggingItem(void) {return m_DraggingItem; }
+ cItem & GetDraggingItem(void) {return m_DraggingItem; } // tolua_export
+
+ /** In UI windows, set the item that the player is dragging */
+ void SetDraggingItem(const cItem & a_Item); // tolua_export
// In UI windows, when inventory-painting:
/** Clears the list of slots that are being inventory-painted. To be used by cWindow only */