Ir para o conteúdo

Busca e Validação de Objetos

gObjFind(name)

Encontra um jogador conectado pelo nome do personagem. Retorna GameObject ou nil.

local target = gObjFind("SomePlayer")
if target then
    LogAdd(LOG_BLUE, "Found " .. target.Name .. " at map " .. target.Map)
end

gObjCalcDistance(lpObj, lpTarget) / gObjCalcDistance(x, y, tx, ty)

Calcula a distância entre dois objetos ou dois pares de coordenadas.

  • Retorna: number (-1 se ponteiros inválidos)
local dist = gObjCalcDistance(player, target)
if dist <= 3 then
    LogAdd(LOG_GREEN, "Target is within melee range.")
end

-- Coordinate version
local dist2 = gObjCalcDistance(100, 100, 105, 105)

FindMonsterClassInVP(lpObj, class, distance)

Verifica se um monstro da classe fornecida existe no viewport do objeto dentro da distância fornecida.

  • Retorna: boolean
if FindMonsterClassInVP(player, 275, 10) then
    LogAdd(LOG_RED, "Boss monster nearby!")
end

FindMonsterCharacterInVP(lpObj, bIndex)

Verifica se um índice de objeto específico existe no viewport do objeto.

  • Retorna: boolean
if FindMonsterCharacterInVP(monster, player.Index) then
    LogAdd(LOG_RED, "Player is visible to the monster.")
end

gObjIsConnected(aIndex) / gObjIsConnected(aIndex, dbNumber)

Retorna true se o objeto no índice fornecido está conectado. A versão com dois parâmetros também verifica o número do banco de dados.

if gObjIsConnected(aIndex) then
    LogAdd(LOG_GREEN, "Player is online.")
end

gObjIsConnectedGP(aIndex)

Retorna true se o objeto está conectado no estado GamePlay.

if gObjIsConnectedGP(aIndex) then
    -- Player is fully in-game
end

gObjIsConnectedGS(aIndex)

Retorna true se o objeto está conectado no estado GameServer.

if gObjIsConnectedGS(aIndex) then
    -- Player is connected to game server
end

gObjIsNameValid(aIndex, name)

Valida que o objeto no aIndex possui o nome de personagem fornecido.

  • Retorna: boolean
if gObjIsNameValid(aIndex, "MyCharacter") then
    LogAdd(LOG_GREEN, "Name matches.")
end

gObjIsAccountValid(aIndex, account, accountIndex, [login])

Valida o nome da conta e o índice para o objeto fornecido.

  • Retorna: boolean
gObjIsAccountValid(aIndex, "myaccount", 12345)

gObjSearchDuplicateItem(lpObj) / gObjSearchDuplicateItem(lpObj, serial)

Busca itens duplicados no inventário do jogador. A versão com um parâmetro verifica todos os itens; a versão com dois parâmetros verifica um serial específico.

  • Retorna: boolean
if gObjSearchDuplicateItem(player) then
    LogAdd(LOG_RED, "Duplicate items found!")
end