-
Notifications
You must be signed in to change notification settings - Fork 0
API ArrayContains es
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO • Runtime API
Comprueba si un valor está en un array de elementos permitidos o ya procesados.
ArrayContains(array:Any, pattern:Any) -> Integer
-
array— Array que examinar; otro tipo devuelve 0. -
pattern— Cualquier valor buscado entre los elementos directos.
Integer booleano: 1/True si coincide, 0/False si no. Se permite If ArrayContains(...) o comparar con True/1. No es un índice ni una cantidad.
- Consulta local sin servidor, movimiento de objetos ni cambios en el array. Los ejemplos usan datos fijos, no el inventario real.
- Comprueba el tipo y compara elementos externos hasta la primera coincidencia. Integer 1 equivale a Decimal 1.0, pero no a String "1". Distingue mayúsculas.
- Array anidados y objetos de referencia se comparan por identidad. Excepción: valores Structure del mismo tipo declarado con campos iguales son iguales; los campos Array/Object mantienen sus propias reglas. Sin búsqueda recursiva; array vacío: 0. Las casillas sin inicializar contienen Unit y pueden coincidir con Unit.
Comprueba el tipo y compara elementos externos hasta la primera coincidencia. Integer 1 equivale a Decimal 1.0, pero no a String "1". Distingue mayúsculas.
Comprueba el tipo y compara elementos externos hasta la primera coincidencia. Integer 1 equivale a Decimal 1.0, pero no a String "1". Distingue mayúsculas.
Integer booleano: 1/True si coincide, 0/False si no. Se permite If ArrayContains(...) o comparar con True/1. No es un índice ni una cantidad.
Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; función ArrayContains.
Comprueba el tipo y compara elementos externos hasta la primera coincidencia. Integer 1 equivale a Decimal 1.0, pero no a String "1". Distingue mayúsculas.
Array anidados y objetos de referencia se comparan por identidad. Excepción: valores Structure del mismo tipo declarado con campos iguales son iguales; los campos Array/Object mantienen sus propias reglas. Sin búsqueda recursiva; array vacío: 0. Las casillas sin inicializar contienen Unit y pueden coincidir con Unit.
Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs; función Equals.
Array anidados y objetos de referencia se comparan por identidad. Excepción: valores Structure del mismo tipo declarado con campos iguales son iguales; los campos Array/Object mantienen sus propias reglas. Sin búsqueda recursiva; array vacío: 0. Las casillas sin inicializar contienen Unit y pueden coincidir con Unit.
Integer booleano: 1/True si coincide, 0/False si no. Se permite If ArrayContains(...) o comparar con True/1. No es un índice ni una cantidad.
Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/ObjectTypes/StructureObject.cs; función ValueEquals.
Array anidados y objetos de referencia se comparan por identidad. Excepción: valores Structure del mismo tipo declarado con campos iguales son iguales; los campos Array/Object mantienen sus propias reglas. Sin búsqueda recursiva; array vacío: 0. Las casillas sin inicializar contienen Unit y pueden coincidir con Unit.
# Gráficos permitidos
#
# Comprueba si un valor está en un array de elementos permitidos o ya procesados.
#
# Integer booleano: 1/True si coincide, 0/False si no. Se permite If ArrayContains(...) o
# comparar con True/1. No es un índice ni una cantidad.
SUB Main()
# 0x0EED aparece en la lista: devuelve allowed. No busca ni mueve objetos.
# Consulta local sin servidor, movimiento de objetos ni cambios en el array. Los ejemplos usan
# datos fijos, no el inventario real.
Dim allowed(1)
allowed[0] = 0x0EED
allowed[1] = 0x0F7A
Dim graphic = 0x0EED
If ArrayContains(allowed, graphic) = True Then
Return "allowed"
End If
Return "skip"
END SUBExplicación de los parámetros y la ejecución:
- 0x0EED aparece en la lista: devuelve allowed. No busca ni mueve objetos.
- Consulta local sin servidor, movimiento de objetos ni cambios en el array. Los ejemplos usan datos fijos, no el inventario real.
# No procesar dos veces un serial
#
# Comprueba si un valor está en un array de elementos permitidos o ya procesados.
#
# Integer booleano: 1/True si coincide, 0/False si no. Se permite If ArrayContains(...) o
# comparar con True/1. No es un índice ni una cantidad.
SUB Main()
# ASC convierte el texto hexadecimal a Integer. El serial conocido devuelve already queued; la
# String original no coincidiría con el número.
# Consulta local sin servidor, movimiento de objetos ni cambios en el array. Los ejemplos usan
# datos fijos, no el inventario real.
Dim queued(1)
queued[0] = 0x40001234
queued[1] = 0x40005678
Dim incoming = "0x40001234"
Dim serial = ASC(incoming, 0)
If serial = 0 Then
Return "invalid"
End If
If ArrayContains(queued, serial) Then
Return "already queued"
End If
Return "new"
END SUBExplicación de los parámetros y la ejecución:
- ASC convierte el texto hexadecimal a Integer. El serial conocido devuelve already queued; la String original no coincidiría con el número.
- Consulta local sin servidor, movimiento de objetos ni cambios en el array. Los ejemplos usan datos fijos, no el inventario real.
# Referencias de puntos
#
# Comprueba si un valor está en un array de elementos permitidos o ya procesados.
#
# Integer booleano: 1/True si coincide, 0/False si no. Se permite If ArrayContains(...) o
# comparar con True/1. No es un índice ni una cantidad.
SUB Main()
# route contiene point, no sameCoordinates. Coordenadas iguales no hacen idénticos dos arrays:
# resultado 1|0.
# Consulta local sin servidor, movimiento de objetos ni cambios en el array. Los ejemplos usan
# datos fijos, no el inventario real.
Dim point(1)
point[0] = 100
point[1] = 200
Dim sameCoordinates(1)
sameCoordinates[0] = 100
sameCoordinates[1] = 200
Dim route(0)
route[0] = point
Return CStr(ArrayContains(route, point)) & "|" & CStr(ArrayContains(route, sameCoordinates))
END SUBExplicación de los parámetros y la ejecución:
- route contiene point, no sameCoordinates. Coordenadas iguales no hacen idénticos dos arrays: resultado 1|0.
- Consulta local sin servidor, movimiento de objetos ni cambios en el array. Los ejemplos usan datos fijos, no el inventario real.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь