- OTClient version
- Otland's fork (master)
This module adds a fully functional and polished Party Status panel to your OTClient. Designed to work like the built-in VIP list or Battle window, it shows your party members with:
Each party member is marked on the minimap with their name, updated every 2 seconds. When a player leaves the party, their flag is removed cleanly using removeFlag().
Configurable from Server
The server can limit the number of party members shown (e.g. only first 5 members) using a configurable constant like:
local MAX_PARTY_DISPLAY = 5
How It Works
Server sends structured party info using an extended opcode.
Client parses this into widgets (PartyMemberPanel) and updates health/mana bars.
A separate flag is added on the minimap with each member’s name and position.
Window size dynamically adjusts based on the number of members (or use scroll).
On server side you need to (not included in zip):
add to login.lua new register
in creaturescripts.xml
TODO: give better icon (current one is kinda bugged, it was random one anyway)
- Real-time health and mana bars
- Dynamic MiniWindow with scroll support
- Persistent window state across sessions
- Clean design compatible with other interface modules
- Automatically cleans up minimap flags when party ends
- Uses extended opcodes for syncing party data from the server
Each party member is marked on the minimap with their name, updated every 2 seconds. When a player leaves the party, their flag is removed cleanly using removeFlag().
Configurable from Server
The server can limit the number of party members shown (e.g. only first 5 members) using a configurable constant like:
local MAX_PARTY_DISPLAY = 5
How It Works
Server sends structured party info using an extended opcode.
Client parses this into widgets (PartyMemberPanel) and updates health/mana bars.
A separate flag is added on the minimap with each member’s name and position.
Window size dynamically adjusts based on the number of members (or use scroll).
On server side you need to (not included in zip):
add to login.lua new register
LUA:
player:registerEvent("PartyOpcode")
Code:
<event type="extendedopcode" name="PartyOpcode" script="party_opcode.lua"/>