API UO Ground es - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.Ground

ClassicUO • Runtime API

Devuelve el selector especial del suelo para el contenedor de búsqueda o el destino de traslado.

Sintaxis exacta

UO.Ground() -> Integer

Parámetros

Sin parámetros.

Devuelve

Integer, siempre 0. Ese cero identifica válidamente el suelo, no FALSE, un fallo, un ID, gráfico, mapa o coordenada. Compruebe el resultado de la búsqueda o del traslado, no Ground() como indicador de éxito.

Comportamiento

  • Sin parámetros. Ground() solo no busca, no mueve, no abre un target, no envía paquetes ni cambia los resultados anteriores. También devuelve 0 antes de conectar.
  • Úselo en container/destination de FindType, FindList, Count, FindTypeEx, FindTypesArrayEx, CountEx o MoveItem. La búsqueda ve objetos cargados, sin cargar casillas lejanas. X/Y/Z del suelo son coordenadas del mundo, no píxeles de la ventana del contenedor.
  • FindType(type, color) sigue buscando en el inventario: el segundo argumento es el color. Suelo: FindType(type, color, UO.Ground()). Los compactos FindType/MoveItem usan -1 para inventario; los compatibles FindTypeEx/FindTypesArrayEx/CountEx también aceptan -1 para suelo. Prefiera UO.Ground() o el nombre ground a copiar números entre comandos con convenciones distintas.
  • Fuente primaria: Stealth Ground. Las convenciones y ejemplos describen este cliente.

Funciones internas: de la llamada al resultado

Operaciones internas reales. FindGroundTypes es una función de usuario completa, no otro comando integrado.

1. ExecuteStealthCompatibility

La rama runtime sin argumentos devuelve Integer 0 sin llamar al bridge.

Integer, siempre 0. Ese cero identifica válidamente el suelo, no FALSE, un fallo, un ID, gráfico, mapa o coordenada. Compruebe el resultado de la búsqueda o del traslado, no Ground() como indicador de éxito.

Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; función ExecuteStealthCompatibility.

2. ConvertContainer

El adaptador compacto convierte 0 explícito al suelo interno y conserva -1 para inventario. El compatible acepta 0 y el histórico -1 para suelo; los nombres de contenedores se resuelven aparte.

FindType(type, color) sigue buscando en el inventario: el segundo argumento es el color. Suelo: FindType(type, color, UO.Ground()). Los compactos FindType/MoveItem usan -1 para inventario; los compatibles FindTypeEx/FindTypesArrayEx/CountEx también aceptan -1 para suelo. Prefiera UO.Ground() o el nombre ground a copiar números entre comandos con convenciones distintas.

Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; función ConvertContainer.

3. ConvertStealthSearchContainer

El adaptador compacto convierte 0 explícito al suelo interno y conserva -1 para inventario. El compatible acepta 0 y el histórico -1 para suelo; los nombres de contenedores se resuelven aparte.

FindType(type, color) sigue buscando en el inventario: el segundo argumento es el color. Suelo: FindType(type, color, UO.Ground()). Los compactos FindType/MoveItem usan -1 para inventario; los compatibles FindTypeEx/FindTypesArrayEx/CountEx también aceptan -1 para suelo. Prefiera UO.Ground() o el nombre ground a copiar números entre comandos con convenciones distintas.

Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; función ConvertStealthSearchContainer.

4. ResolveTransferDestination

El destino suelo se mantiene como 0. El bridge usa coordenadas del mundo; el campo contenedor del paquete de soltar es 0xFFFFFFFF. El selector API y el campo de red tienen representaciones distintas.

Cambie 0x40001001 por el serial de un objeto accesible. IsObjectExists comprueba el objeto cargado. MoveItem(item, amount, destination, X, Y, Z): amount=0 es la pila completa; Ground() elige el suelo; GetX/GetY/GetZ leen la casilla del jugador. result=1 significa solicitud aceptada por el cliente, si no 0; no es Ground() ni una confirmación del servidor.

Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; función ResolveTransferDestination.

5. MoveItem

El destino suelo se mantiene como 0. El bridge usa coordenadas del mundo; el campo contenedor del paquete de soltar es 0xFFFFFFFF. El selector API y el campo de red tienen representaciones distintas.

Cambie 0x40001001 por el serial de un objeto accesible. IsObjectExists comprueba el objeto cargado. MoveItem(item, amount, destination, X, Y, Z): amount=0 es la pila completa; Ground() elige el suelo; GetX/GetY/GetZ leen la casilla del jugador. result=1 significa solicitud aceptada por el cliente, si no 0; no es Ground() ni una confirmación del servidor.

Código del proyecto: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; función MoveItem.

Sin parámetros. Ground() solo no busca, no mueve, no abre un target, no envía paquetes ni cambia los resultados anteriores. También devuelve 0 antes de conectar.

Ejemplos

Leer el selector

# Leer el selector
#
# Devuelve el selector especial del suelo para el contenedor de búsqueda o el destino de
# traslado.
#
# Integer, siempre 0. Ese cero identifica válidamente el suelo, no FALSE, un fallo, un ID,
# gráfico, mapa o coordenada. Compruebe el resultado de la búsqueda o del traslado, no Ground()
# como indicador de éxito.

SUB Main()
    # destination recibe Integer 0 y Print lo muestra. No se deja ningún objeto.

    VAR destination = UO.Ground()
    UO.Print(CStr(destination))
END SUB

Explicación de los parámetros y la ejecución:

  • destination recibe Integer 0 y Print lo muestra. No se deja ningún objeto.

Buscar una pila de oro en el suelo

# Buscar una pila de oro en el suelo
#
# Devuelve el selector especial del suelo para el contenedor de búsqueda o el destino de
# traslado.
#
# Integer, siempre 0. Ese cero identifica válidamente el suelo, no FALSE, un fallo, un ID,
# gráfico, mapa o coordenada. Compruebe el resultado de la búsqueda o del traslado, no Ground()
# como indicador de éxito.

SUB Main()
    # 0x0EED: gráfico del oro; segundo -1: cualquier color. Ground() elige el mundo; FALSE desactiva
    # la recursión. FindTypeEx devuelve un serial o 0; <> 0 comprueba ese serial. Se aplican
    # FindDistance/FindVertical e Ignore.

    VAR id = UO.FindTypeEx(0x0EED, -1, UO.Ground(), FALSE)
    IF id <> 0 THEN
        UO.Print(HEX(id))
    ELSE
        UO.Print('0')
    END IF
END SUB

Explicación de los parámetros y la ejecución:

  • 0x0EED: gráfico del oro; segundo -1: cualquier color. Ground() elige el mundo; FALSE desactiva la recursión. FindTypeEx devuelve un serial o 0; <> 0 comprueba ese serial. Se aplican FindDistance/FindVertical e Ignore.

Función completa para dos gráficos

# Función completa para dos gráficos
#
# Devuelve el selector especial del suelo para el contenedor de búsqueda o el destino de
# traslado.
#
# Integer, siempre 0. Ese cero identifica válidamente el suelo, no FALSE, un fallo, un ID,
# gráfico, mapa o coordenada. Compruebe el resultado de la búsqueda o del traslado, no Ground()
# como indicador de éxito.

SUB Main()
    # FindGroundTypes(firstType, secondType, radius, height) busca oro 0x0EED y perlas negras 0x0F7A
    # con radius=5, height=10. DIM types[1] crea dos posiciones; colors[0] y containers[0], una cada
    # uno. Una pila cuenta como un objeto; tipos/colores son alternativas y contenedores solapados
    # no duplican ID. Devuelve una matriz guardada de serials. Finally restaura los límites y Main
    # imprime cada ID. Se incluye toda la función.

    VAR ids = FindGroundTypes(0x0EED, 0x0F7A, 5, 10)
    FOR EACH id IN ids
        UO.Print(HEX(id))
    NEXT
END SUB

FUNCTION FindGroundTypes(firstType, secondType, radius, height)
    VAR oldDistance = UO.FindDistance()
    VAR oldVertical = UO.FindVertical()
    DIM types[1]
    types[0] = firstType
    types[1] = secondType
    DIM colors[0]
    colors[0] = -1
    DIM containers[0]
    containers[0] = UO.Ground()
    TRY
        UO.FindDistance(radius)
        UO.FindVertical(height)
        UO.FindTypesArrayEx(types, colors, containers, FALSE)
        RETURN UO.GetFoundItems()
    FINALLY
        UO.FindDistance(oldDistance)
        UO.FindVertical(oldVertical)
    END TRY
END FUNCTION

Explicación de los parámetros y la ejecución:

  • FindGroundTypes(firstType, secondType, radius, height) busca oro 0x0EED y perlas negras 0x0F7A con radius=5, height=10. DIM types[1] crea dos posiciones; colors[0] y containers[0], una cada uno. Una pila cuenta como un objeto; tipos/colores son alternativas y contenedores solapados no duplican ID. Devuelve una matriz guardada de serials. Finally restaura los límites y Main imprime cada ID. Se incluye toda la función.

Colocar un objeto en la casilla del personaje

# Colocar un objeto en la casilla del personaje
#
# Devuelve el selector especial del suelo para el contenedor de búsqueda o el destino de
# traslado.
#
# Integer, siempre 0. Ese cero identifica válidamente el suelo, no FALSE, un fallo, un ID,
# gráfico, mapa o coordenada. Compruebe el resultado de la búsqueda o del traslado, no Ground()
# como indicador de éxito.

SUB Main()
    # Cambie 0x40001001 por el serial de un objeto accesible. IsObjectExists comprueba el objeto
    # cargado. MoveItem(item, amount, destination, X, Y, Z): amount=0 es la pila completa; Ground()
    # elige el suelo; GetX/GetY/GetZ leen la casilla del jugador. result=1 significa solicitud
    # aceptada por el cliente, si no 0; no es Ground() ni una confirmación del servidor.

    VAR item = 0x40001001
    IF UO.IsObjectExists(item) THEN
        VAR result = UO.MoveItem(item, 0, UO.Ground(), UO.GetX('self'), UO.GetY('self'), UO.GetZ('self'))
    END IF
END SUB

Explicación de los parámetros y la ejecución:

  • Cambie 0x40001001 por el serial de un objeto accesible. IsObjectExists comprueba el objeto cargado. MoveItem(item, amount, destination, X, Y, Z): amount=0 es la pila completa; Ground() elige el suelo; GetX/GetY/GetZ leen la casilla del jugador. result=1 significa solicitud aceptada por el cliente, si no 0; no es Ground() ni una confirmación del servidor.

en · ru · uk · fr · de · it · es · zh-tw · ja · ko

Basic