Saltar a contenido

Funciones de Grupo

El tamaño máximo de grupo es de 5 miembros.


IsParty(lpObj)

Retorna true si el jugador está en un grupo.

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

GetMemberIndex(lpObj, n)

Obtiene el índice de objeto del enésimo miembro del grupo.

  • Parámetros:
    • lpObj (GameObject): Cualquier miembro del grupo.
    • n (integer): Posición del miembro (0 a 4).
  • Retorna: integer — Índice del miembro, o -1 si el slot está vacío.
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)

Retorna el nivel de penalización PK del grupo del jugador.

  • Retorna: integer — Nivel de penalización (0 = ninguna).
local penalty = GetPKPartyPenalty(player)

PartyCreate(aIndex)

Crea un nuevo grupo con el jugador dado como lider.

  • Parámetros:
    • aIndex (integer): Índice del jugador (se convierte en líder del grupo).
  • Retorna: integer — Número de grupo.
local partyNum = PartyCreate(player.Index)

PartyDestroy(partyNumber)

Destruye un grupo existente. Todos los miembros son removidos.

  • Parámetros:
    • partyNumber (integer): Número de grupo.
  • Retorna: void
PartyDestroy(player.PartyNumber)

PartyAddMember(partyNumber, aIndex)

Agrega un jugador a un grupo existente.

  • Parámetros:
    • partyNumber (integer): Número de grupo.
    • aIndex (integer): Índice del jugador a agregar.
  • Retorna: integer0 en éxito, -1 en fallo (grupo lleno o inválido).
PartyAddMember(leader.PartyNumber, newMember.Index)

PartyDelMember(partyNumber, aIndex)

Elimina un jugador de un grupo.

  • Parámetros:
    • partyNumber (integer): Número de grupo.
    • aIndex (integer): Índice del jugador a eliminar.
  • Retorna: void
PartyDelMember(player.PartyNumber, player.Index)