Skip to content

Party Functions

Maximum party size is 5 members.


IsParty(lpObj)

Returns true if the player is in a party.

  • Returns: boolean
if IsParty(player) then
    LogAdd(LOG_GREEN, player.Name .. " is in a party.")
end

GetMemberIndex(lpObj, n)

Gets the object index of the nth party member.

  • Parameters:
    • lpObj (GameObject): Any party member.
    • n (integer): Member position (0 to 4).
  • Returns: integer — Member index, or -1 if slot is empty.
for i = 0, 4 do
    local idx = GetMemberIndex(player, i)
    if idx ~= -1 then
        local member = GetUser(idx)
        if member then
            GCNoticeSend(idx, 1, "Party buff applied!")
        end
    end
end

GetPKPartyPenalty(lpObj)

Returns the PK penalty level for the player's party.

  • Returns: integer — Penalty level (0 = none).
local penalty = GetPKPartyPenalty(player)

PartyCreate(aIndex)

Creates a new party with the given player as leader.

  • Parameters:
    • aIndex (integer): Player index (becomes party leader).
  • Returns: integer — Party number.
local partyNum = PartyCreate(player.Index)

PartyDestroy(partyNumber)

Destroys an existing party. All members are removed.

  • Parameters:
    • partyNumber (integer): Party number.
  • Returns: void
PartyDestroy(player.PartyNumber)

PartyAddMember(partyNumber, aIndex)

Adds a player to an existing party.

  • Parameters:
    • partyNumber (integer): Party number.
    • aIndex (integer): Player index to add.
  • Returns: integer0 on success, -1 on failure (party full or invalid).
PartyAddMember(leader.PartyNumber, newMember.Index)

PartyDelMember(partyNumber, aIndex)

Removes a player from a party.

  • Parameters:
    • partyNumber (integer): Party number.
    • aIndex (integer): Player index to remove.
  • Returns: void
PartyDelMember(player.PartyNumber, player.Index)