[MapItemIcon] HeadGear, Armor and Shield Icons not showing on Ground

11/18/2025 18:54 Soulfly25#1
Hello everyone,

I’m having an issue and I’m hoping someone can guide me or provide advice on how to fix it.

Here’s the problem:
Items such as HeadGear, Armor, and Shield — basically any item that involves ItemColor — do not show their icon on the ground when dropped.

Has anyone encountered this before or know where I should look to resolve it? Any suggestions or guidance would be greatly appreciated.


I'm running a client version 6609.
11/19/2025 05:15 somecode#2
Quote:
Originally Posted by Soulfly25 View Post
Hello everyone,

I’m having an issue and I’m hoping someone can guide me or provide advice on how to fix it.

Here’s the problem:
Items such as HeadGear, Armor, and Shield — basically any item that involves ItemColor — do not show their icon on the ground when dropped.

Has anyone encountered this before or know where I should look to resolve it? Any suggestions or guidance would be greatly appreciated.


I'm running a client version 6609.
client side file check

file: ani/mapitemicon.ani
directory: data/ItemMapIcon

Good luck!
11/19/2025 08:45 Soulfly25#3
Quote:
Originally Posted by somecode View Post
client side file check

file: ani/mapitemicon.ani
directory: data/ItemMapIcon

Good luck!
I already know this, its just like something weird happen to the ID when it comes to client,

When I checked in the debug folder I noticed that it added "40"before the itemID. My ItemID = 130005 so It happens that maybe its not showing because it shows a wrong itemid that doesn't match to the MapItemMiniIcon.

Here's the result for the debug:
Code:
Ani Index [40130005] Not Found In [ani/MapItemIcon.Ani] -- Mon Nov 17 18:15:27 2025
AniIndexInfo [40130005] Not Found in [ani/MapItemIcon.Ani] -- Mon Nov 17 18:15:27 2025
11/19/2025 10:39 somecode#4
Quote:
Originally Posted by Soulfly25 View Post
I already know this, its just like something weird happen to the ID when it comes to client,

When I checked in the debug folder I noticed that it added "40"before the itemID. My ItemID = 130005 so It happens that maybe its not showing because it shows a wrong itemid that doesn't match to the MapItemMiniIcon.

Here's the result for the debug:
Code:
Ani Index [40130005] Not Found In [ani/MapItemIcon.Ani] -- Mon Nov 17 18:15:27 2025
AniIndexInfo [40130005] Not Found in [ani/MapItemIcon.Ani] -- Mon Nov 17 18:15:27 2025
You have identified the problem, either match the data with the file, or match the file with the data. You can quickly solve the problem by making some attempts.
11/19/2025 11:17 teroareboss1#5
You need to send the item color in the Ground Packet.

Here the packet for 5017:
Code:
        public enum GroundItemAction : ushort
        {
            Trap = 0,
            Create = 1,
            Delete = 2,
            Pick = 3,
            CastTrap = 10,
            SynchroTrap = 11,
            DropTrap = 12
        }

        public static Packet CreateMapItem(this Packet stream, uint UID, uint ID, ushort X, ushort Y, GroundItemAction Action, ushort Color)
        {
            stream.InitWriter();
            stream.Write(UID);
            stream.Write(ID);
            stream.Write(X);
            stream.Write(Y);
            stream.Write((ushort)Action);
            stream.Write((ushort)Color);
            stream.Finalize((ushort)NetPacketTypes._MSG_MAPITEM);
            return stream;
        }
        public static void GetMapItem(this Packet stream, out uint UID, out uint ID, out ushort X, out ushort Y, out GroundItemAction Action)
        {
            UID = stream.ReadUInt32();
            ID = stream.ReadUInt32();
            X = stream.ReadUInt16();
            Y = stream.ReadUInt16();
            Action = (GroundItemAction)stream.ReadUInt16();
        }
11/19/2025 12:11 Soulfly25#6
Quote:
Originally Posted by teroareboss1 View Post
You need to send the item color in the Ground Packet.

Here the packet for 5017:
Code:
        public enum GroundItemAction : ushort
        {
            Trap = 0,
            Create = 1,
            Delete = 2,
            Pick = 3,
            CastTrap = 10,
            SynchroTrap = 11,
            DropTrap = 12
        }

        public static Packet CreateMapItem(this Packet stream, uint UID, uint ID, ushort X, ushort Y, GroundItemAction Action, ushort Color)
        {
            stream.InitWriter();
            stream.Write(UID);
            stream.Write(ID);
            stream.Write(X);
            stream.Write(Y);
            stream.Write((ushort)Action);
            stream.Write((ushort)Color);
            stream.Finalize((ushort)NetPacketTypes._MSG_MAPITEM);
            return stream;
        }
        public static void GetMapItem(this Packet stream, out uint UID, out uint ID, out ushort X, out ushort Y, out GroundItemAction Action)
        {
            UID = stream.ReadUInt32();
            ID = stream.ReadUInt32();
            X = stream.ReadUInt16();
            Y = stream.ReadUInt16();
            Action = (GroundItemAction)stream.ReadUInt16();
        }
Yes, I already have this ItemColor in the GroundPacket and it's working fine, but these icons were not showing in the ground. Also, the ItemMiniIcon is working fine.
11/20/2025 06:26 jntn-cartel#7
DarkHC?
11/20/2025 15:30 Soulfly25#8
Quote:
Originally Posted by jntn-cartel View Post
DarkHC?
What is this?
11/23/2025 22:43 Arcо#9
Something tells me your packet structure is wrong. Primarily at the item color offset, whatever it may be for this patch.
11/24/2025 19:09 Soulfly25#10
Requesting to close this thread.

Everybody are correct, it was in the ground packet which was the ItemColor was set to a fixed value of 40 which is why it reads incorrect in the MapItemIcon, so the fix is to call out the ItemColor real value.

Thank you for your answers guys!