Saltar a contenido

Busqueda y Validacion de Objetos

gObjFind(name)

Busca un jugador conectado por nombre de personaje. Retorna GameObject o 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 la distancia entre dos objetos o dos pares de coordenadas.

  • Retorna: number (-1 si los punteros son 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 si un monstruo de la clase dada existe en el viewport del objeto dentro de la distancia indicada.

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

FindMonsterCharacterInVP(lpObj, bIndex)

Verifica si un índice de objeto específico existe en el viewport del 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 si el objeto en el índice dado está conectado. La versión de dos parámetros también verifica el número de base de datos.

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

gObjIsConnectedGP(aIndex)

Retorna true si el objeto está conectado en el estado de GamePlay.

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

gObjIsConnectedGS(aIndex)

Retorna true si el objeto está conectado en el estado de GameServer.

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

gObjIsNameValid(aIndex, name)

Valida que el objeto en aIndex tiene el nombre de personaje dado.

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

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

Valida el nombre de cuenta y el índice para el objeto dado.

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

gObjSearchDuplicateItem(lpObj) / gObjSearchDuplicateItem(lpObj, serial)

Busca items duplicados en el inventario del jugador. La versión de un parámetro verifica todos los items; la versión de dos parámetros verifica un serial específico.

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