Documentação › Lua

Player

O módulo Player lê os dados do seu personagem: vida, mana, level, skills, estados, equipamento e party. Os valores vêm dos pacotes que o servidor manda; antes do primeiro pacote, a maioria devolve 0.

Identidade#

Player.getId()#

Player.getId() → número

Seu id de criatura. Retorna 0 fora do jogo.

lua
print(Player.getId())

Player.getName()#

Player.getName() → texto ou nil

Nome do personagem. Retorna nil fora do jogo.

lua
print("Logado como " .. (Player.getName() or "?"))

Player.getVocation()#

Player.getVocation() → número (extra)

Vocação, como em Enums.Vocations. Retorna 0 até o servidor mandar os dados básicos do personagem.

lua
if Player.getVocation() == Enums.Vocations.ELITE_KNIGHT then print("EK") end

Player.isPremium()#

Player.isPremium() → booleano

Se a conta é premium. Retorna false até chegarem os dados básicos.

lua
print(Player.isPremium())

Player.hasReceivedBasicData()#

Player.hasReceivedBasicData() → booleano

Se o servidor já mandou os dados básicos (vocação, premium). Use antes de ler getVocation e isPremium.

lua
if Player.hasReceivedBasicData() then print(Player.getVocation()) end

Vida, mana e status#

Player.getHealth() e Player.getMaxHealth()#

Player.getHealth() → número · Player.getMaxHealth() → número (extra)

Vida atual e máxima.

lua
print(Player.getHealth() .. "/" .. Player.getMaxHealth())

Player.getMana() e Player.getMaxMana()#

Player.getMana() → número · Player.getMaxMana() → número (extra)

Mana atual e máxima.

lua
print(Player.getMana() .. "/" .. Player.getMaxMana())

Player.getHealthPercent() e Player.getManaPercent()#

Player.getHealthPercent() → número · Player.getManaPercent() → número

Vida e mana em porcentagem (0 a 100).

lua
if Player.getHealthPercent() < 40 then Game.talk("exura vita") end

Player.getMagicShield() e Player.getMaxMagicShield()#

Player.getMagicShield() → número · Player.getMaxMagicShield() → número

Pontos atuais e máximos do escudo mágico (utamo vita e magic shield potion).

lua
print(Player.getMagicShield())

Player.getCapacity()#

Player.getCapacity() → número

Cap livre como o servidor manda, em centésimos de oz. Divida por 100 para ter oz.

lua
local oz = Player.getCapacity() / 100
if oz < 100 then Client.showMessage("Cap baixa: " .. oz .. " oz") end

Player.getSoulPoints()#

Player.getSoulPoints() → número

Soul points.

lua
print(Player.getSoulPoints())

Player.getStamina()#

Player.getStamina() → número

Stamina como o servidor manda (em minutos). 0 até chegar o pacote de status.

lua
if Player.getStamina() < 14 * 60 then print("stamina laranja") end

Player.isHungry()#

Player.isHungry() → booleano

true quando a regeneração de comida acabou.

lua
if Player.isHungry() then Game.useItem(3725) end -- 3725 = brown mushroom

Player.getSpeed()#

Player.getSpeed() → número (extra)

Velocidade atual.

lua
print(Player.getSpeed())

Level e experiência#

Player.getLevel()#

Player.getLevel() → número

Level atual.

lua
print(Player.getLevel())

Player.getLevelPercent()#

Player.getLevelPercent() → número

Porcentagem até o próximo level.

lua
print(Player.getLevelPercent() .. "%")

Player.getExperience()#

Player.getExperience() → número

Experiência total.

lua
print(Player.getExperience())

Player.getXpBoostTime()#

Player.getXpBoostTime() → número

Segundos restantes de XP boost da store.

lua
print(math.floor(Player.getXpBoostTime() / 60) .. " min de boost")

Skills#

Player.getSkills()#

Player.getSkills() → tabela

Skills, magic level e bônus. Cada skill vem com o level e a porcentagem (<skill>Percent).

CampoDescrição
fist, club, sword, axe, distance, shield, fishingLevel da skill (e fistPercent, clubPercent...)
magic, magicPercentMagic level e porcentagem
criticalChance, criticalDamageCrítico, em porcentagem
lifeLeechDamage, manaLeechDamageLeech, em porcentagem
lifeLeechChance, manaLeechChance100 quando você tem leech, senão 0
onslaughtOnslaught, em porcentagem
lua
local s = Player.getSkills()
print("ML " .. s.magic .. " (" .. s.magicPercent .. "%)")

Posição e estado#

Player.getPosition()#

Player.getPosition() → {x, y, z} (extra)

Sua posição.

lua
local p = Player.getPosition()
print(p.x, p.y, p.z)

Player.isInPz()#

Player.isInPz() → booleano (extra)

Se você está numa protection zone.

lua
if Player.isInPz() then print("em PZ") end

Player.isInCombat()#

Player.isInCombat() → booleano (extra)

Se você está em combate.

lua
if not Player.isInCombat() then Game.talk("utani hur") end

Player.getState(estado)#

Player.getState(estado) → booleano ou nil

Se você está com um estado (ícone de condição).

ParâmetroTipoDescrição
estadonúmeroUm valor de Enums.States (0 a 27)

Retorna true ou false, ou nil para um número fora de 0 a 27.

lua
if Player.getState(Enums.States.STATE_PARALYZE) then Game.talk("exura ico") end

Player.getTargetId()#

Player.getTargetId() → número

Id da criatura que você está atacando. Retorna 0 sem alvo.

lua
local id = Player.getTargetId()
if id ~= 0 then print(Creature.new(id):getName()) end

Player.getFollowId()#

Player.getFollowId() → número

Id da última criatura que o cliente mandou seguir (0 = nenhuma).

lua
print(Player.getFollowId())

Equipamento e containers#

Player.getInventorySlot(slot)#

Player.getInventorySlot(slot) → tabela ou nil

O item num slot de equipamento.

ParâmetroTipoDescrição
slotnúmeroEnums.InventorySlot (1 a 10)

Retorna {id, count, tier, holdingCount} ou nil com o slot vazio. tier é sempre 0. holdingCount é quantos desse item você tem no total (equipamento e containers abertos).

lua
local ammo = Player.getInventorySlot(Enums.InventorySlot.CONST_SLOT_AMMO)
if ammo then print("flechas: " .. ammo.count) end

Player.getContainers()#

Player.getContainers() → lista ou nil

Índices dos containers abertos, em ordem. Retorna nil sem nenhum aberto.

lua
for _, i in ipairs(Player.getContainers() or {}) do
  print(i, Container.new(i):getName())
end

Proteção e skull#

Player.getBlessingState()#

Player.getBlessingState() → número

Estado das blessings, como em Enums.BlessingState: -1 desconhecido, 0 nenhuma, 1 algumas, 2 todas (7 ou mais).

lua
if Player.getBlessingState() ~= Enums.BlessingState.FULL then print("sem bless!") end

Player.getUnjustifiedData()#

Player.getUnjustifiedData() → tabela

Frags injustificados: dayProgress, dayLeft, weekProgress, weekLeft, monthProgress, monthLeft e skullDuration. Tudo 0 até o servidor mandar.

lua
print("frags hoje: " .. Player.getUnjustifiedData().dayProgress)

Moedas e pontos#

Saldos#

Todos devolvem um número, 0 até o servidor mandar o valor.

FunçãoO que devolve
Player.getTotalGoldBalance()Gold total que o servidor informa
Player.getDusts() / Player.getDustsMaximum()Dust da forge e o limite
Player.getHuntingPoints()Pontos de hunting task
Player.getPreyWildcards()Prey wildcards
Player.getBountyPoints()Pontos do task board
Player.getSoulSeals()Soul seals
lua
print("gold: " .. Player.getTotalGoldBalance())

Player.getHuntingTaskPrices()#

Player.getHuntingTaskPrices() → tabela

Preços da hunting task: rerollPrice, cancelPrice, selectionListPrice, rewardRerollPrice. Em servidores 15.20 ou mais novos esses preços vêm com o task board e aqui ficam 0.

lua
print(Player.getHuntingTaskPrices().rerollPrice)

Monk#

Player.getHarmony(), Player.isSerene() e Player.getMonkPassiveType()#

Player.getHarmony() → número · Player.isSerene() → booleano · Player.getMonkPassiveType() → número

Harmony, estado serene e virtude passiva (Enums.MonkPassiveType) do monk. 0/false até o servidor mandar.

lua
print("harmony: " .. Player.getHarmony())

Player.getStances()#

Player.getStances() → lista

Stances ativas. Hoje sempre devolve uma lista vazia.

lua
print(#Player.getStances())

Party#

Player.inviteParty(id), Player.joinParty(id) e Player.passLeadershipParty(id)#

Player.inviteParty(playerId) · Player.joinParty(playerId) · Player.passLeadershipParty(playerId)

Convida um player, aceita o convite de um líder e passa a liderança.

ParâmetroTipoDescrição
playerIdnúmeroId da criatura do player
lua
local amigo = Map.getPlayerOnScreen("Nome do Amigo")
if amigo then Player.inviteParty(amigo:getId()) end

Player.enableSharedExpParty(ligar)#

Player.enableSharedExpParty(ligar)

Liga (true) ou desliga (false) o shared experience da party.

lua
Player.enableSharedExpParty(true)

Player.leaveParty()#

Player.leaveParty()

Sai da party.

lua
Player.leaveParty()