@@ -3687,6 +3687,22 @@ void Server::SendHUDSetFlags(u16 peer_id, u32 flags, u32 mask)
3687
3687
m_con.Send (peer_id, 0 , data, true );
3688
3688
}
3689
3689
3690
+ void Server::SendHUDSetParam (u16 peer_id, u16 param, const std::string &value)
3691
+ {
3692
+ std::ostringstream os (std::ios_base::binary);
3693
+
3694
+ // Write command
3695
+ writeU16 (os, TOCLIENT_HUD_SET_PARAM);
3696
+ writeU16 (os, param);
3697
+ os<<serializeString (value);
3698
+
3699
+ // Make data buffer
3700
+ std::string s = os.str ();
3701
+ SharedBuffer<u8> data ((u8 *)s.c_str (), s.size ());
3702
+ // Send as reliable
3703
+ m_con.Send (peer_id, 0 , data, true );
3704
+ }
3705
+
3690
3706
void Server::BroadcastChatMessage (const std::wstring &message)
3691
3707
{
3692
3708
for (std::map<u16, RemoteClient*>::iterator
@@ -4684,6 +4700,18 @@ bool Server::hudSetFlags(Player *player, u32 flags, u32 mask) {
4684
4700
return true ;
4685
4701
}
4686
4702
4703
+ bool Server::hudSetHotbarItemcount (Player *player, s32 hotbar_itemcount) {
4704
+ if (!player)
4705
+ return false ;
4706
+ if (hotbar_itemcount <= 0 || hotbar_itemcount > HUD_HOTBAR_ITEMCOUNT_MAX)
4707
+ return false ;
4708
+
4709
+ std::ostringstream os (std::ios::binary);
4710
+ writeS32 (os, hotbar_itemcount);
4711
+ SendHUDSetParam (player->peer_id , HUD_PARAM_HOTBAR_ITEMCOUNT, os.str ());
4712
+ return true ;
4713
+ }
4714
+
4687
4715
void Server::notifyPlayers (const std::wstring msg)
4688
4716
{
4689
4717
BroadcastChatMessage (msg);
0 commit comments