Scripts de mod: Objetos

Existen varios tipos diferentes de objetos que se utilizan en los scripts de mod. A continuación, le ofrecemos una breve lista de cada uno de ellos, en la que se indica de qué se trata y qué propiedades contiene (junto con los valores por defecto). Como regla general, las propiedades que comienzan con un guión bajo (_) son de solo lectura y no se pueden modificar. Debe acceder a las propiedades de los objetos mediante obj.get("propiedad") y establecer nuevos valores mediante obj.set("propiedad", nuevo_valor) u obj.set({propiedad: nuevo_valor, propiedad2: nuevo_valor2}).

Nota: La propiedad «id» de un objeto es un identificador único a nivel global: no debe haber dos objetos que tengan el mismo, ni siquiera entre objetos de tipos diferentes. Además, dado que el identificador (id) de un objeto se consulta con frecuencia y nunca cambia, existe un atajo que le permite acceder a él utilizando «obj.id» en lugar de «obj.get("_id")» si así lo desea (ambas opciones funcionan).

Solo para Mod Script Sandbox v1.5. Los objetos también admiten la propiedad `obj.type`, equivalente a `obj.get("type") ` o `obj.get("_type")`.

if ('graphic' === obj.type) {
  // hacer algo
}

Pathv2 (disponible en la última versión del motor VTT)

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo «pathv2» Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_pageid ID de la página en la que se encuentra el objeto. Solo lectura.
forma "" pol, free, eli o rec: Determina si la ruta se muestra como una polilínea, un trazo a mano alzada, una elipse o un rectángulo.
puntos Una cadena JSON que contiene una matriz de puntos x, y utilizados para crear la ruta.
llenar "transparente" Color de relleno. Utilice la cadena «transparent» o un código de color hexadecimal como cadena; por ejemplo, #000000
accidente cerebrovascular «#000000» Color del trazo (borde).
rotación 0 Rotación (en grados).
capa "" Capa actual: una de las siguientes: «gmlayer», «objects», «map», «walls» o «foreground». Las líneas de la capa de las paredes bloquean la luz.
anchura_del_trazo 5
y 0 Coordenada Y del centro de la ruta
x 0 Coordenada X del centro de la ruta
controlado por "" Lista delimitada por comas de los ID de los jugadores que pueden controlar la ruta. Los jugadores que controlan pueden eliminar la ruta. Si la ruta fue creada por un jugador, ese jugador se incluye automáticamente en la lista. «Todos los jugadores » se representa incluyendo a todos en la lista.
tipo de barrera "muro" Las opciones de tipo de barrera de iluminación dinámica incluyen «pared», «unidireccional» y «transparente».
oneWayReversed falso booleano
desvanecer al solaparse verdadero Cuando se establece en «true», la superposición del límite interior del gráfico de una capa de objeto con el objeto de la capa de primer plano hará que su opacidad pase a ser el valor especificado en «fadeOpacity». Cuando sea falso, permanecerá con opacidad total independientemente de la superposición.
opacidad de desvanecimiento 0.3 Este valor determina la opacidad del objeto cuando se superpone a un gráfico de la capa del objeto y la propiedad «fadeOnOverlap» está establecida en «true»
renderizarComoPaisaje false Cuando sea verdadero, este objeto quedará oculto por la iluminación dinámica y la máscara Ocultar/Revelar.
interactionManualReset false Cuando se establece en verdadero, restablecerá las interacciones en el objeto.
interacciónDesencadenada falso Se establecerá en verdadero cuando se active una interacción.

La propiedad «shape» admite los siguientes valores:

  • pol- Polilínea. Se traza una línea recta entre cada punto consecutivo. Si el punto de partida y el punto final coinciden, se crea una figura cerrada.
  • gratis- A mano alzada. Se dibuja una curva utilizando los puntos como guías. Si el punto de inicio y el punto final coinciden, se crea una figura cerrada.
  • eli - Elipse. Se dibuja una elipse utilizando los puntos para establecer un cuadro delimitador. Solo se utilizan los dos primeros puntos.
  • rec - Rectángulo. Se dibuja un rectángulo utilizando los puntos para establecer un cuadro delimitador. Solo se utilizan los dos primeros puntos.

La propiedad «points» es una cadena JSON que contiene una matriz de puntos. Los puntos se representan como una matriz de dos posiciones con una ubicación x e y. Un triángulo que va de (0,0) a (0,70), de ahí a (70,0) y de vuelta a (0,0) se representaría como [[0,0],[0,70],[70,0],[0,0]]. Las propiedades «x » e «y» sitúan el objeto PathV2 en la página. Especifican dónde debe estar el centro del dibujo. Para algunas formas (elipses y rectángulos), eso es bastante fácil de averiguar. En el caso de formas más complejas (polilíneas y trazos a mano alzada), deberá determinar los valores mínimo y máximo de la propiedad «puntos» y utilizar el punto equidistante entre ambos.

Solo para Mod Script Sandbox v1.5. Métodos de instancia: toFront(), toBack(), toAbove(target), toBelow(target). El objetivo puede ser un objeto gráfico, de texto, de trazado o de trazado v2, o bien el identificador de uno de dichos objetos.

Camino (mesa clásica)

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo "vía" Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_pageid ID de la página en la que se encuentra el objeto. Solo lectura.
_path Matriz JSON de comandos de dibujo. Cada comando tiene el formato ["M", x, y] o ["L", x, y] (movimiento o línea), o ["C", ...] en el caso de una curva. x e y son los desplazamientos respecto a la esquina superior izquierda de la ruta. Indique la ruta al crear el archivo. A partir de entonces, solo lectura.
llenar "transparente" Color de relleno. Utilice la cadena «transparent» o un código de color hexadecimal como cadena; por ejemplo, #000000
accidente cerebrovascular «#000000» Color del trazo (borde).
rotación 0 Rotación (en grados).
capa "" Capa actual: una de las siguientes: «gmlayer», «objects», «map», «walls» o «foreground». Las líneas de la capa de las paredes bloquean la luz.
anchura_del_trazo 5
ancho 0
alto 0
arriba 0 Coordenada Y del centro de la ruta
izquierda 0 Coordenada X del centro de la ruta
escalaX 1
escalaY 1
controlado por "" Lista delimitada por comas de los ID de los jugadores que pueden controlar la ruta. Los jugadores que controlan pueden eliminar la ruta. Si la ruta fue creada por un jugador, ese jugador se incluye automáticamente en la lista. «Todos los jugadores » se representa incluyendo a todos en la lista.
tipo de barrera "muro" Las opciones de tipo de barrera de iluminación dinámica incluyen «pared», «unidireccional» y «transparente».
oneWayReversed falso booleano
desvanecer al solaparse verdadero Cuando esta opción está activada, si el contorno interior de un elemento gráfico de una capa de objetos se superpone con el objeto de la capa de primer plano, su opacidad pasará a ser el valor especificado en «fadeOpacity». Cuando sea falso, permanecerá con opacidad total independientemente de la superposición.
opacidad de desvanecimiento 0.3 Este valor determina la opacidad del objeto cuando se superpone un gráfico de la capa del objeto y la propiedad «fadeOnOverlap» está establecida en «true»
renderizarComoPaisaje falso Cuando sea verdadero, este objeto quedará oculto por la iluminación dinámica y la máscara Ocultar/Revelar.
interacciónRestablecimiento manual falso Cuando se establece en verdadero, restablecerá las interacciones en el objeto.
interacciónDesencadenada falso Se establecerá en verdadero cuando se active una interacción.

Indique la ruta (almacenada como _path) al crear una ruta clásica. El formato se describe en la línea _path anterior.

Solo para Mod Script Sandbox v1.5. Métodos de instancia: toFront(), toBack(), toAbove(target), toBelow(target). El objetivo puede ser un objeto gráfico, de texto, de trazado o de trazado v2, o bien el identificador de uno de estos objetos.

Ventana

Nota: Las ventanas y puertas utilizan un eje invertido en comparación con otros tipos de objetos. Por ejemplo, una variable superior que sería 100 para otro objeto es y -100 para una ventana o puerta.

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo "ventana" Solo lectura.
_pageid Página a la que pertenece esta ventana. Indique el «pageid» al crearlo. A partir de ese momento, solo lectura.
color «#ff0000» Un color hexadecimal de la ventana.
x 0 Coordenadas del centro de la ventana en el eje x.
y 0 Coordenadas del centro de la ventana en el eje y.
está abierto falso Determina si un jugador puede moverse a través de esta ventana.
está bloqueado falso Impide que los jugadores puedan interactuar con la ventana.
vía Dos manejadores, «handle0» y «handle1», cada uno con las coordenadas x e y. Esas coordenadas son desplazamientos respecto a las coordenadasx e y de este objeto, en el mismo eje y invertido.

Ejemplo

on('chat:message', function(msg) {
  if (msg.type === 'api' && msg.content === '!cw') {
    const currentPageID = Campaign().get('playerpageid');
    const win = createObj('window', {
      x: 70,
      y: -70,
      pageid: currentPageID,
      path: {
        handle0: {
          x: -70,
          y: 0,
        },
        handle1: {
          x: 35,
          y: 0,
        },
      },
      color: '#000000'
    });
  }
  if (msg.type === 'api' && msg.content === '!mw') {
    const win = getObj('window', '-NG38yUgghBBoV8YR0y1');
    win.set({
      x: 240,
      y: -139
    });
  }
  si (msg.type === 'api' && msg.content === '!dw') {
    const win = getObj('window', '-NG38yUgghBBoV8YR0y1');
    win.remove();
  }
});

Puerta

Nota: Las ventanas y las puertas utilizan un eje invertido en comparación con otros tipos de objetos. Por ejemplo, una variable «top» que para otro objeto tendría el valor 100, para una ventana o una puerta es y -100.

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo «puerta» Solo lectura.
_pageid Página a la que pertenece esta puerta. Indique el «pageid» al crearlo. A partir de ese momento, solo lectura.
color "" Un código de color hexadecimal de la puerta.
x 0 Coordine el centro de la puerta en el eje x.
y 0 Coordine el centro de la puerta en el eje y.
está abierto falso Determina si un jugador puede atravesar esta puerta.
está bloqueado falso Impide que los jugadores puedan interactuar con la puerta.
esSecreto falso Elimina un icono de puerta de la vista del jugador y funciona como barrera.
vía Dos manejadores, «handle0» y «handle1», cada uno con las coordenadas x e y. Esas coordenadas son desplazamientos respecto a las coordenadasx e y de este objeto, en el mismo eje y invertido.

Texto

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo "texto" Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_pageid ID de la página en la que se encuentra el objeto. Solo lectura.
arriba 0
izquierda 0
ancho 0
alto 0
texto ""
tamaño de fuente 16 Para obtener los mejores resultados, utilice los tamaños preestablecidos en el menú de edición: 8, 10, 12, 14, 16, 18, 20, 22, 26, 32, 40, 56, 72, 100, 200, 300.
rotación 0
color rgb(0, 0, 0)
accidente cerebrovascular "transparente"
familia_tipográfica «Arial» Si no se configura esta opción, al modificar posteriormente el valor de la propiedad «text», el tamaño de la fuente se reducirá a 8. Valores posibles (no importa si se escriben en mayúsculas o minúsculas): Arial, Patrick Hand, Contrail One, Shadows Into Light y Candal. Si se especifica un nombre no válido, se utilizará una fuente serif monoespaciada sin nombre.
capa "" Capa actual: una de las siguientes: «gmlayer», «objects», «map», «walls» o «foreground».
controlado por "" Lista delimitada por comas de los ID de los jugadores que pueden controlar el texto. Los jugadores que controlan pueden eliminar el texto. Si el texto ha sido creado por un jugador, dicho jugador se incluye automáticamente en la lista. «Todos los jugadores » se representa incluyendo a todos en la lista.
desvanecer al solaparse verdadero Cuando este valor sea «true», la superposición del límite interior del gráfico de una capa de objeto con el objeto de la capa de primer plano hará que su opacidad adopte el valor establecido en «fadeOpacity». Cuando sea falso, permanecerá con opacidad total independientemente de la superposición.
opacidad de desvanecimiento 0.3 Este valor determina la opacidad del objeto cuando se superpone un gráfico de la capa del objeto y la propiedad «fadeOnOverlap» está establecida en «true»
renderizarComoPaisaje falso Cuando sea verdadero, este objeto quedará oculto por la iluminación dinámica y la máscara Ocultar/Revelar.
interacciónRestablecimiento manual falso Cuando se establece en verdadero, restablecerá las interacciones en el objeto.
interacciónDesencadenada falso Se establecerá en verdadero cuando se active una interacción.

Solo para Mod Script Sandbox v1.5. Métodos de instancia: toFront(), toBack(), toAbove(target), toBelow(target). El objetivo puede ser un objeto gráfico, de texto, de trazado o de trazado v2, o bien el identificador de uno de estos objetos.

Alfileres

El objeto «pin» representa los marcadores del mapa, unos indicadores interactivos que aparecen directamente en el mapa. Los pines pueden mostrar imágenes, mostrar información sobre herramientas, contener notas del GM y vincularse a documentos en su diario. Pueden ser visibles u ocultos, lo que permite revelaciones dramáticas, arrojar luz sobre una ubicación descubierta o utilizarse como marcadores de información para un juego más interactivo. Puede encontrar más información sobre los pines en el Centro de ayuda.

Propiedad Valor predeterminado Notas
_id Un identificador único como el que tienen otros objetos de Roll20. Solo lectura.
_tipo «pin» El tipo de pin. Solo lectura.
_pageid "" El ID de la página a la que pertenece este pin. Solo lectura.
x 0 La coordenada X del pin en la página.
y 0 La coordenada Y del pin en la página.
bgColor «#242424» Color de fondo del pin (hexadecimal o transparente). Admite cadenas de color HTML de tipo #RRGGBB o #RRGGBBAA (translucidez).
forma lágrima Forma de alfiler. Los valores válidos son: lágrima, círculo, rombo y cuadrado
icono «punto base» Icono integrado cuando «customizationType» es «icon»
pinImagen "" URL de la imagen que se muestra cuando «customizationType» es «image»
tipo de personalización «icono» Determina si el marcador muestra el icono o la imagen del marcador. Establezca «pinImage» en una URL de imagen válida cuando utilice «customizationType: image». Al cambiar el valor de «customizationType» entre «icon» e «image», no se borra «pinImage»; la URL se conserva.
usarIconoTexto falso Cuando useTextIcon es «true», el pin muestra una etiqueta de texto en lugar de un icono o una imagen. Esa etiqueta se ha extraído de «iconText»; solo se muestran los tres primeros caracteres.
iconText "" Etiqueta de texto (se utilizan los tres primeros caracteres) cuando useTextIcon es true
tamaño de la imagen de la información sobre herramientas "media" Tamaño de la imagen que aparece en la descripción emergente del pin. Los valores válidos son: pequeño, mediano, grande, XL
enlace "" Identificador del folleto al que enlaza este pin. «linkType » solo admite «handout » o «».
tipoDeEnlace "" El tipo de objeto vinculado. Valores válidos: folleto, "" (cadena vacía).
subEnlace "" Texto del encabezado al que debe desplazarse en el documento adjunto. Se utiliza con subLinkType (headerPlayer o headerGM).
subTipoDeEnlace "" El tipo de subenlace. Valores válidos: headerPlayer, headerGM, "" (cadena vacía).
título "" El texto del título que aparece en el pin.
notas "" Una cadena de caracteres normal. No es ninguno de los campos de texto libre de «carácter» o «hoja informativa».
gmNotas "" Cadena de caracteres normal, solo para GM. No es ninguno de los campos de texto libre de caracteres o de datos de distribución.
imagen de información sobre herramientas "" Identificador de imagen Roll20 para la imagen de información sobre herramientas que se muestra en el pin.
visiblePara "" Todos muestran el pin a todo el mundo. «» lo oculta a los jugadores.
autoNotasTipo "" Formato para notas generadas automáticamente. Valores válidos: «» (cadena vacía), blockquote.
tooltipVisibleTo todos Controla quién puede ver la información sobre herramientas. Valores válidos: todos, «» (cadena vacía).
tooltipTitleVisibleTo todos Controla quién puede ver el título de la información sobre herramientas. Valores válidos: todos, «» (cadena vacía).
Placa de identificación visible para todos Controla quién puede ver la placa de identificación. Valores válidos: todos, "" (cadena vacía).
imagenVisiblePara todos Controla quién puede ver la imagen. Valores válidos: todos, «» (cadena vacía).
notasVisiblesPara todos Controla quién puede ver las notas. Valores válidos: todos, «» (cadena vacía).
gmNotasVisiblesPara todos Controla quién puede ver las notas del GM. Valores válidos: todos, "" (cadena vacía).
escala 1.0 Factor de escala para el pasador. Debe estar entre 0,25 y 2,0.
imageDesynced falso Si la imagen del pin está desincronizada con respecto al objeto al que está vinculada. Al establecer cualquier propiedad desincronizada, las tres se establecen en el mismo valor.
notasDesincronizadas falso Si las notas del pin están desincronizadas con respecto a su objeto vinculado. Al establecer cualquier propiedad desincronizada, las tres se establecen en el mismo valor.
gmNotasDesincronizadas falso Si las notas de GM del pin están desincronizadas con respecto a su objeto vinculado. Al establecer cualquier propiedad desincronizada, las tres se establecen en el mismo valor.

Nota 1: Si tiene intención de utilizar contenido personalizado en los pines (para sustituir la imagen, las notas y las notas del GM de Handout), deberá establecer al menos una de las propiedades desincronizadas en «true» (lo que hará que se establezcan todas ellas).

Nota 2: Valores válidos para los iconos: base-dot, base-castle, base-skullSimple, base-spartanHelm, base-radioactive, base-heart, base-star, base-starSign, base-pin, base-speechBubble, base-file, base-plus, base-circleCross, base-dartBoard, base-badge, base-flagPin, base-crosshair, base-scrollOpen, base-diamond, base-photo, base-fourStarShort, base-circleStar, base-lock, base-crown, base-leaf, base-signpost, base-beer, base-compass, base-video, base-llave, base-cofre, base-pueblo, base-espada-hacia-arriba, base-casa, base-casa2, base-iglesia, base-gobierno, base-herrero, base-establo, base-engranaje, base-puente, base-montaña, base-exclamación, base-pregunta.

Gráfico (ficha/mapa/tarjeta/etc.)

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo «gráfico» Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_subtipo "ficha" Puede ser una ficha (fichas y mapas), una carta o una ficha de dados. Solo lectura.
_cardid Establezca un ID si el gráfico es una tarjeta. Solo lectura.
_pageid ID de la página en la que se encuentra el objeto. Solo lectura.
imgsrc La URL de la imagen del gráfico. Consulte la nota sobre las restricciones relativas a «imgsrc» y los avatares que figura a continuación.
bar1_link Establezca un ID si la barra 1 está vinculada a un carácter.
bar2_link
bar3_link
bar4_link
representa Identificador del personaje al que hace referencia este token.
izquierda 0 Número de píxeles desde el borde izquierdo del mapa hasta el centro del gráfico.
arriba 0 Número de píxeles desde el borde superior del mapa hasta el centro del gráfico.
ancho 0 Ancho del gráfico, en píxeles.
alto 0 Altura del gráfico, en píxeles.
rotación 0 La orientación del token en grados.
capa "" Capa actual: una de las siguientes: «gmlayer», «objects», «map», «walls» o «foreground».
isdrawing falso Esta propiedad se modifica desde el menú contextual Avanzado.
desactivarAjustar falso Desactivar el ajuste gráfico a la cuadrícula.
desactivarMenúToken falso Desactive la configuración del menú de tokens gráficos (burbujas de tokens y menú radial).
flipv falso Gire verticalmente.
fliph falso Gire horizontalmente.
special Ability Name "" El nombre del token.
gmnotes "" Notas exclusivas para el GM. Una cadena síncrona, a menudo código HTML codificado en formato URL (puede comenzar por %3Co%3E). Este campo no es un campo de texto libre ni un campo de texto sin formato.
controlado por "" Lista delimitada por comas de los ID de los jugadores que pueden controlar el gráfico. Los jugadores que controlan pueden eliminar el gráfico. Si el gráfico ha sido creado por un jugador, dicho jugador se incluye automáticamente en la lista. «Todos los jugadores » se representa incluyendo a todos en la lista.
valor_bar1 "" Valor actual de la barra 1. Puede ser un número o un texto.
bar2_valor ""
valor_bar3 ""
bar4_value ""
bar1_máximo "" Valor máximo de la barra 1. Si se establecen tanto _value como _max, es posible que se muestre una barra encima del token que indique el porcentaje de la barra 1.
bar2_máximo ""
bar3_máximo ""
bar4_max ""
aura1_radio "" Radio del aura, utilizando las unidades establecidas en la configuración de la página. Puede ser un número entero o un número flotante. Establezca la cadena vacía para borrar el aura.
aura2_radio ""
aura1_color #FFFF99 Un código de color hexadecimal del aura.
aura2_color «#59E594»
aura1_opciones círculo Establece la forma de un aura. Las opciones válidas son «circle » o «square ». Nota: Se mantiene sincronizado con aura1_square
aura2_opciones círculo Establece la forma de un aura. Las opciones válidas son «circle » o «square ». Nota: Se mantiene sincronizado con aura2_square
aura1_cuadrado falso ¿El aura es un círculo o un cuadrado?
aura2_cuadrado falso
color_tinte "transparente" Color hexadecimal o transparente. Tintará el color del gráfico.
marcadores de estado "" Una lista, separada por comas, de los indicadores de estado actualmente activos. Los marcadores personalizados utilizan la etiqueta «nombre::id» de los marcadores de Campaign _token_markers. Consulte las notas que figuran a continuación.
nombre de la muestra falso Si se muestra la placa identificativa de la ficha.
nombre de los actores falso Muestre la placa de identificación a todos los jugadores.
barra_de_reproductores1 falso Mostrar la barra 1 a todos los jugadores.
barra_de_reproducción2 falso
barra_de_reproducción3 falso
showplayers_bar4 false
showplayers_aura1 falso Mostrar Aura 1 a todos los jugadores.
showplayers_aura2 falso
edit_name_jugadores verdadero Permita que los jugadores que controlan la partida editen el nombre de la ficha. Además, muestra la placa de identificación a los jugadores que controlan el juego, incluso si el parám etro «showplayers_name» está establecido en «false».
editores_bar1 verdadero Permita que los jugadores que controlan la partida editen la barra 1 de la ficha. Además, muestra la barra 1 a los jugadores que controlan el juego, incluso si showplayers_bar1 es «false».
editadores_bar2 verdadero
edit_bar3 verdadero
playersedit_bar4 verdadero
bar1_número_de_permiso "" Configure cómo se muestra la superposición de «bar1». Valores válidos: todos, oculto. «» significa que solo los editores verán el valor
bar2_número_de_permisos ""
bar3_número_de_permiso ""
bar4_num_permission ""
editores_aura1 verdadero Permita que los jugadores que controlan la ficha editen el Aura 1 de la misma. Además, muestra el «Aura 1» a los jugadores que controlan el juego, incluso si el parámetro «showplayers_aura1» está establecido en «false».
editores_aura2 verdadero
radio_de_luz "" OBSOLETA: Iluminación dinámica heredada: radio de luz intensa. Consulte «bright_light_distance».
radio_de_atenuación_de_luz "" Iluminación dinámica heredada (obsoleta ): Inicio del radio de luz tenue. Si light_dimradius es una cadena vacía, el token emitirá una luz intensa hasta la distancia indicada por light_radius. Si «light_dimradius» tiene un valor, el token emitirá luz intensa hasta el valor de «light_dimradius » y, a partir de ahí, luz tenue hasta el valor de «light_radius ». Consulte «low_light_distance» en la documentación sobre iluminación dinámica
luz_otrosjugadores falso Iluminación dinámica heredada (OBSOLETA ): muestra la luz de este token a todos los jugadores. Esto no es «has_night_vision».
luz_hassight false Iluminación dinámica heredada (OBSOLETA ): esta luz proporciona visibilidad a los jugadores que la controlan para aplicar la regla de «línea de visión». Véase «has_bright_light_vision».
ángulo de luz «360» OBSOLETO: Iluminación dinámica heredada: ángulo en grados. El 180 ilumina la mitad delantera del campo. Consulte has_directional_bright_light, directional_bright_light_center y directional_bright_light_total.
luz_losángeles «360» Iluminación dinámica heredada (OBSOLETA ): Ángulo (en grados) del campo de visión del gráfico (suponiendo que light_hassight esté establecido en «true»). Consulte has_limit_field_of_vision, limit_field_of_vision_center y limit_field_of_vision_total en la documentación sobre iluminación dinámica.
lados "" Lista de imágenes secundarias separadas por barras verticales. Cada entrada está codificada en formato URL. Divida por | y, a continuación, descodifique con decodeURIComponent.
lado de corriente 0 Indique los lados. Solo para Mod Script Sandbox v1.5. Al establecer «currentSide», se actualiza automáticamente «imgsrc», incluidas las imágenes de Marketplace. Si el mismo .set() también incluye un imgsrc válido, se utiliza ese imgsrc en su lugar.
último movimiento "" El último movimiento de la ficha. Se trata de una lista de coordenadas separadas por comas. Por ejemplo, «300,400» significaría que el token inició su último movimiento en la posición izquierda=300, superior=400. Siempre se da por hecho que los valores actuales de «top» y «left» de la ficha constituyen el «punto final» del último movimiento. Los puntos de referencia se indican mediante múltiples conjuntos de coordenadas. Por ejemplo, «300,400,350,450,400,500» indicaría que el token comenzó con las coordenadas izquierda=300 y parte superior=400, a continuación estableció un punto de ruta con las coordenadas izquierda=350 y parte superior=450, otro punto de ruta con las coordenadas izquierda=400 y parte superior=500, y finalmente concluyó el desplazamiento en sus coordenadas actuales de parte superior e izquierda.
multiplicador_de_luz «1» Multiplicador de iluminación dinámica heredado, OBSOLETO. 1 corresponde a una visión normal. La iluminación dinámica actual utiliza el parámetro «light_sensitivity_multiplier», cuyo valor normal es 100.
adv_fow_view_distance "" El radio alrededor de una ficha en el que se revela la Niebla de Guerra Avanzada.
multiplicador_de_sensibilidad_a_la_luz 100 Multiplicador de la eficacia de las fuentes de luz. Un multiplicador de 200 permitiría que el token viera el doble de lejos que un token con un multiplicador de 100, con la misma fuente de luz.
efecto_de_visión_nocturna null Efecto de visión nocturna. «null» es el efecto predeterminado. Otros valores son «Dimming » y «Nocturnal».
ubicación_de_la_barra null Dónde se encuentran las barras de fichas. «null» es la ubicación predeterminada. Otros valores: overlap_top, overlap_bottom, bottom.
compact_bar null Estilo de bar. El valor por defecto es «null ». «compact » utiliza la barra «compact».
bloquearMovimiento falso Opción para bloquear un gráfico en su lugar. Valor booleano verdadero o falso
desvanecer al solaparse verdadero Cuando este valor es «true», la superposición del límite interior del gráfico de una capa de objeto con el objeto de la capa de primer plano hará que su opacidad adopte el valor especificado en «fadeOpacity ». Si el valor es «false», se mantendrá en su opacidad base establecida, independientemente de la superposición.
opacidad de desvanecimiento .3 Este valor determina la opacidad del objeto cuando se superpone a él un gráfico de la capa del objeto y la propiedad «fadeOnOverlap» está establecida en «true»
renderizarComoPaisaje falso Cuando sea verdadero, este objeto quedará oculto por la iluminación dinámica y la máscara Ocultar/Revelar.
opacidad base 1.0 Opacidad inicial del elemento gráfico, en cualquier capa.
interacciónRestablecimiento manual falso Cuando se establece en verdadero, restablecerá las interacciones en el objeto.
interacciónDesencadenada falso Se establecerá en verdadero cuando se active una interacción.

Propiedades actuales de la iluminación dinámica (además de los campos «light_*» heredados mencionados anteriormente):

Propiedad Predeterminado
tiene_visión_en_luz_intensa falso
tiene_visión_nocturna falso
tinte_de_visión_nocturna null
distancia_de_visión_nocturna 0
emite_luz_intensa falso
distancia_de_luz_intensa 0
emite_con_poca_luz falso
distancia_en_condiciones_de_poca_luz 0
opacidad_luz_atenuada 0
color de fondo "transparente"
has_limit_field_of_vision falso
límite_del_campo_de_visión_central 0
campo_de_visión_total 0
¿tiene_campo_limitado_de_visión_nocturna? falso
campo_límite_del_centro_de_visión_nocturna 0
campo_limite_de_visión_nocturna_total 0
has_directional_bright_light falso
luz_intensa_direccional_central 0
luz_directa_intensa_total 0
has_directional_dim_light falso
directional_dim_light_center 0
luz_directa_diminuida_total 0
sugerencia ""
mostrar_información_de_ayuda falso
gm_only_tooltip falso
renderAsDarkness falso

Solo para Mod Script Sandbox v1.5. Al establecer «currentSide», «imgsrc» se actualiza automáticamente:

const setRandomSide = (obj) => {
  if ('graphic' === obj.type) {
    obj.set({
      currentSide: randomInteger(obj.get('sides')?.split('|').length ?? 1) - 1
    });
  }
};

Solo para Mod Script Sandbox v1.5. Métodos que aparecen en el gráfico:

  • createCopy(propiedades) — copia del mismo modo que lo haría createObj, incluyendo las imágenes de Marketplace (imgsrc/sides). Devuelve el nuevo gráfico.
  • toFront(), toBack(), toAbove(target), toBelow(target): equivalentes a las funciones globales. El destino puede ser un objeto o un identificador.
obj.createCopy({ pageid, layer, left: x, top: y });

Ejemplo de marcadores simbólicos

La lista de marcadores disponibles en todo el juego es Campaign().get('_token_markers'). Cada entrada tiene el siguiente formato:

{
  "id":59, // el identificador de la base de datos para el
  "name":"Bane", // el nombre (no único) del marcador
  "tag":"Bane::59", // cómo se hace referencia al token en realidad
  // esto incluirá el identificador de los marcadores personalizados, pero no
  // el de los marcadores predeterminados.
  "url":"https://s3.amazonaws.com/files.d20.io/images/59/yFnKXmhLTtbMtaq-Did1Yg/icon.png?1575153187"
  // ^la URL de la imagen del marcador de token
}

Notas importantes sobre los personajes vinculados y los tokens Tenga en cuenta que, en el caso de los tokens vinculados a personajes, el campo «controlledby» del token queda anulado por el campo «controlledby» del personaje. En el caso de las barras de tokens (por ejemplo,«bar1_value» y «bar1_max») en las que el token está vinculado a un atributo (por ejemplo, cuando se ha establecido«bar1_link» ), al asignar un valor a la barra se actualizarán automáticamente también los valores actuales y/o máximos del atributo subyacente, por lo que no es necesario establecer ambos manualmente. Además, cuando se modifica el atributo (o la barra de valores) durante el juego, se escuchará un evento «change:attribute» (y uno específico de la propiedad, por ejemplo,«change:attribute:current»), seguido de un evento «change:graphic» (y «change:graphic:bar1_value»). Puede elegir responder a cualquiera de los dos eventos, pero los valores de barra subyacentes aún no se actualizarán cuando se active el evento de atributo, ya que este se activa primero.

Notas importantes sobre los indicadores de estado: A partir del 6 de agosto de 2013, ha cambiado la forma en que se gestionan los indicadores de estado en los tokens. La propiedad «statusmarkers» del objeto «Graphic» es ahora una lista delimitada por comas que recoge todos los colores e iconos de los marcadores de estado que deben estar activos en el token. El formato es el siguiente:

Delimitado por comas (utilice «join» para crear o «split» para convertirlo en una matriz).
//Si un icono o color de estado va seguido del símbolo «@», el número que aparece después de
//«@» se mostrará como insignia en el icono
statusmarkers = "red,blue,skull,dead,brown@2,green@6"

Aunque puede acceder directamente a la propiedad `statusmarkers`, para mantener la compatibilidad con versiones anteriores de los scripts existentes y para ofrecer una forma sencilla de trabajar con los marcadores de estado sin necesidad de escribir código para dividir y analizar la cadena por su cuenta, ponemos a su disposición un conjunto de propiedades virtuales en el objeto que puede establecer o consultar para trabajar con los marcadores de estado. Cada marcador de estado cuenta con una propiedad «status_<markername> ». Por ejemplo:

obj.get("status_red"); //Devolverá false si el marcador no está activo, true si lo está y una cadena (por ejemplo, "2" o "5") si actualmente hay una insignia establecida en el marcador
obj.get('status_bluemarker'); //Sigue siendo compatible con versiones anteriores y es equivalente a obj.get("status_blue");
obj.set("status_red", false); //eliminaría el marcador
obj.set("status_skull", "2"); //establecería una insignia de "2" en el icono de la calavera y la añadiría al token si aún no está activa.

Tenga en cuenta que estas propiedades virtuales no disponen de eventos, por lo que deberá utilizar «change:graphic:statusmarkers» para detectar cambios en los indicadores de estado de un token; por ejemplo, «change:graphic:status_red» NO es un evento válido y nunca se activará. La lista completa de marcadores de estado disponibles (en el mismo orden en que aparecen en la bandeja de marcadores):

«rojo», «azul», «verde», «marrón», «morado», «rosa», «amarillo», «muerto», «calavera», «somnoliento», «medio corazón», «media neblina», «interdicción», «caracol», «hélice de rayo», «llave inglesa», «corazón encadenado», «perno químico», «zona mortal», «bébame», «grieta en el borde», «máscara ninja», «cronómetro», «red de pesca», «sobremarcha», «fuerte», «puño», «candado», «tres hojas», «ala esponjosa», «apaleado», «pisada», «flecha», «aura», «dolor de espalda», «bandera negra», «ojo sangrante», «escudo de perno», «corazón roto», «telaraña», «escudo roto», «bandera ondeando», «radioactivo», «trofeo», «cráneo roto», «orbe congelado», «bomba rodante», «torre blanca», «agarrar», «gritar», «granada», «ametralladora», «todos para uno», «traje de ángel», «blanco de tiro con arco»

Página

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo página Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_zorder "" Lista de ID delimitada por comas que especifica el orden de los objetos en la página. La cadena almacenada suele tener una coma al final; elimine los segmentos vacíos al dividirla. Las funciones «toFront » y «toBack» reescriben esta lista. Solo lectura.
nombre "" Título de la página.
mostrar cuadrícula verdadero Mostrar la cuadrícula en el mapa.
mostraroscuridad falso Mostrar la niebla de guerra en el mapa.
iluminación de espectáculos falso Iluminación dinámica heredada (obsoleta): Para utilizar la iluminación dinámica, consulte «dynamic_lighting_enabled» en la documentación sobre iluminación dinámica.
ancho 25 Ancho en unidades.
alto 25 Altura en unidades.
incremento_de_encaje 1 Tamaño de un espacio de cuadrícula en unidades.
opacidad_de_la_cuadrícula 0.5 Opacidad de las líneas de la cuadrícula.
opacidad_de_la_niebla 0.35 Opacidad de la niebla de guerra para el GM.
color_de_fondo «#ffffff» Color hexadecimal del fondo del mapa. Se almacena en minúsculas.
color de la cuadrícula #C0C0C0 Color hexadecimal de las líneas de la cuadrícula.
tipo_de_red "cuadrada" Cuadrada, hexagonal (Hex V), hexagonal (Hex H), dimétrica o isométrica.
número_escala 5 La distancia de una unidad.
unidades_de_escala «ft» El tipo de unidades que se utilizarán para la escala.
etiquetas de cuadrícula falso Mostrar etiquetas de cuadrícula para cuadrícula hexagonal.
tipo diagonal «cuatro» Uno de los siguientes: «cuatro», «pitagórico » (euclidiano), «tres-cinco» o «Manhattan».
archivado false Si la página se ha archivado.
iluminación actualizada falso Actualice la iluminación dinámica solo cuando se suelte un objeto.
fuerza luminosa falso Iluminación dinámica heredada (OBsoleta ): Aplicar la línea de visión a los objetos.
restricción de luz falso No permita que los objetos con visión atraviesen las paredes de iluminación dinámica.
lightglobalillum falso Iluminación dinámica heredada (OBSOLETA ): Si el valor es «true» en cualquier lugar que un token pueda «ver», se supone que hay una luz intensa presente. Consulte «daylight_mode_enabled» en la documentación sobre iluminación dinámica
adv_fow_enabled falso OBSOLETA: «Fog of War» avanzado heredado.
adv_fow_dim_reveals falso OBSOLETO: «Niebla de guerra avanzada» heredada: la luz tenue revela la niebla.
adv_fow_show_grid falso OBSOLETA: «Legacy Advanced Fog of War»: muestra la cuadrícula a través de la niebla.
desplazamiento_de_la_cuadrícula_x 0 Desplazamiento de la cuadrícula horizontal.
desplazamiento_de_la_cuadrícula_en_y 0 Desplazamiento de la cuadrícula vertical.
force_lighting_refresh null Configure la opción para solicitar una actualización de la iluminación dinámica. El valor por defecto es «null», no un valor booleano.
jukeboxtrigger null Reproducir la página al cargarse. Las opciones son: ninguna, detener, todas o un identificador de pista.
iluminación_dinámica_activada falso Utilice la iluminación dinámica
modo_luz_diurna_activado falso Utilice el modo de luz diurna
Opacidad del modo de luz diurna 1 ajusta la intensidad de la luz en el modo «Luz diurna»
modo explorador apagado Opciones: desactivado, básico
efecto oscuridad "ninguno" Opciones: ninguna, niebla oscura, niebla clara
_ubicación 0 Solo para Mod Script Sandbox v1.5. Clave de ordenación en el menú de la página. Las páginas existentes utilizan valores dispersos (por ejemplo, 2000). Ordene según este número; no lo utilice como índice de una matriz. Solo lectura, salvo a través de los métodos de colocación.
_path "," Solo para Mod Script Sandbox v1.5. Identificadores de carpetas de página separados por comas. Los valores suelen comenzar con una coma y pueden terminar con comas adicionales. Elimine los segmentos vacíos al dividir. Solo lectura, salvo a través de los métodos de colocación.
_wrapperAutoColor #ffffff Solo para Mod Script Sandbox v1.5. Color de la envoltura calculado. Solo lectura.
useAutoWrapper verdadero Solo para Mod Script Sandbox v1.5. Si el valor es «true», utilice _wrapperAutoColor.
wrapperColor null Solo para Mod Script Sandbox v1.5. Se utiliza cuando el valor de «useAutoWrapper » es «false».

Solo para Mod Script Sandbox v1.5. Métodos: placeBefore(obj), placeAfter(obj) (donde«obj» es una página o una carpeta de páginas), placeIn(obj) (donde«obj» es una carpeta de páginas). Al desplazarse entre los distintos niveles de carpetas, se actualiza _path.

Página-Carpeta

Solo para Mod Script Sandbox v1.5.

Los objetos «pageFolder» son carpetas del menú de la página. Puede crearlos y eliminarlos. Al eliminar una carpeta, sus subcarpetas suben un nivel en el menú.

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo «pageFolder» Solo lectura.
special Ability Name «Nueva carpeta» Aparece en el menú de la página.
_ubicación 0 Seleccione en el menú de la página.
_path "," Identificadores de las carpetas de la página principal, separados por comas.

Métodos: placeBefore(obj), placeAfter(obj) (página o carpeta de páginas), placeIn(obj) (carpeta de páginas). Al cambiar de carpeta, se actualiza _path para esta carpeta y sus subcarpetas. La función remove() desplaza a los elementos secundarios hacia arriba y, a continuación, elimina la carpeta.

var carpeta = createObj('pageFolder', { nombre: 'Mazmorras' });

Campaña

Propiedad Valor predeterminado Notas
_id raíz Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo "campaña" Se puede utilizar para identificar el tipo de objeto o para buscar el objeto; no obstante, tenga en cuenta que solo hay un objeto «Campaign» y que se puede acceder a él mediante Campaign(). Solo lectura.
orden de giro "" Una cadena JSON del orden de turno. Véase más abajo.
página de iniciativas falso ID de la página utilizada para el rastreador cuando se abre la ventana del orden de turno. Cuando se establece en «false», se cierra la ventana del orden de turno.
id de la página del jugador false ID de la página en la que está establecido el marcador del reproductor. Los jugadores ven esta página de forma predeterminada, salvo que se anule mediante las «páginas específicas para cada jugador» que se indican a continuación.
páginas específicas de los jugadores falso Un objeto (NO una cadena JSON) con el siguiente formato: {player1_id: page_id, player2_id: page_id } … } Cualquier reproductor asociado a una página de este objeto anulará el valor de «playerpageid».
_carpeta_del_diario "" Una cadena JSON que contiene datos sobre la estructura de carpetas del juego. Solo lectura.
_carpeta_jukebox "" Una cadena JSON que contiene datos sobre la estructura de la lista de reproducción del jukebox del juego. Solo lectura.
_marcadores de token_ «[]» Matriz JSON de los marcadores de tokens disponibles en el juego (integrados y personalizados). Solo lectura. Consulte el ejemplo «Marcadores de tokens» en la sección «Gráficos».
Capa de primer plano visible verdadero Cuando sea verdadero, ustedes verán los objetos en la capa del primer plano. Cuando sea falso, no lo harán. Nota: esta es una configuración global que afecta a todas las páginas.
tokenBubbleMax 3 Los valores válidos son 3 o 4, que representan el número de burbujas de token. Disponible en la versión mejorada del motor VTT.

Estas propiedades adicionales se leen en el objeto devuelto por Campaign(), y no mediante get:

Propiedad Sandbox Notas
sandboxVersion ambos «1,0» o «1,5»
nodeVersion ambos Cadena de versión de Node.js para el proceso de entorno de pruebas
nombreDeHoja Solo v1.5 Nombre abreviado de la ficha de personaje configurada
resumen calculado Solo v1.5 Nombres de propiedades calculadas disponibles en Beacon
resumen de la acción Solo v1.5 Acciones disponibles en la hoja de Beacon
log(Campaign().sandboxVersion);

Orden de turno: El orden de turno es una cadena JSON que representa la lista actual del orden de turno. Es una matriz de objetos. Actualmente, el orden de turno solo puede contener objetos de una página a la vez; el identificador de página actual para el orden de turno es el atributo «initiativepage ». Asegúrese de mantenerlos sincronizados o podría obtener resultados extraños. Para trabajar con el orden de turno, le recomendamos que utilice JSON.parse() para obtener un objeto que represente el estado actual del orden de turno (NOTA: compruebe primero que no se trate de una cadena vacía ""…; si lo es, inicialícelo usted mismo con un array vacío). A continuación se muestra un ejemplo de objeto de orden de turno:

[
  {
    "id":"36CA8D77-CF43-48D1-8682-FA2F5DFD495F", //El ID del objeto «Graphic». Si se configura esta opción, la lista de turnos extraerá automáticamente el nombre y el icono para la lista basándose en el gráfico de la mesa.
    "pr":"0", //El valor actual del elemento de la lista. Puede ser un número o texto.
    "custom":"" //Título personalizado para el artículo. Se ignorará si el ID se establece en un valor distinto de «-1».
  },
  {
    "id":"-1", //Para los elementos personalizados, el ID DEBE establecerse en «-1» (tenga en cuenta que se trata de una CADENA de caracteres, no de un NÚMERO).
    "pr":"12",
    "custom":"Prueba personalizada" //El nombre que se mostrará para los elementos personalizados.
  }
]

Para modificar el orden de turno, edite el objeto de orden de turno actual y, a continuación, utilice JSON.stringify() para cambiar el atributo en la campaña. Tenga en cuenta que el orden de los turnos en la lista es el mismo que el orden del array; así, por ejemplo, la función `push()` añade un elemento al final de la lista, mientras que `unshift()` lo añade al principio, etc.

var turnorder;
if(Campaign().get("turnorder") == "") turnorder = []; //NOTA: Primero comprobamos que el turnorder no sea solo una cadena vacía. Si es así, trátelo como una matriz vacía.
else turnorder = JSON.parse(Campaign().get("turnorder"));
//Añada una nueva entrada personalizada al final del orden de turnos.
turnorder.push({
  id: "-1",
  pr: "15",
  custom: "Turn Counter"
});
Campaign().set("turnorder", JSON.stringify(turnorder));

Jugador

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo "jugador" Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_d20idusuario ID de usuario: para todo el sitio. Por ejemplo, la página de usuario del jugador en la wiki es /User:ID, donde ID es el mismo valor que se almacena en _d20userid. Solo lectura.
_displayname "" El nombre de usuario actual del jugador. Se puede modificar desde la página de configuración del usuario. Solo lectura.
_en línea false Solo lectura.
_última página "" El identificador de la última página que el jugador vio como GM. Esta propiedad no se actualiza para los jugadores o GM que se han unido como jugadores. Solo lectura.
macrobar "" Cadena de caracteres delimitada por comas que contiene las macros de la barra de macros del jugador. Solo lectura.
hablando como "" El ID del jugador o del personaje que el jugador ha seleccionado en el menú desplegable «Como ». Cuando se establece en la cadena vacía, el jugador habla como él o ella mismo(a). Cuando se establece en un personaje, el valor es «carácter|<ID>» , donde «<ID>» es el ID del personaje.
color «#13B9F0» El color del recuadro que aparece junto al nombre del jugador, así como el color de sus marcas en el mapa, sus círculos de ping, etc.
mostrar barra de macros false Si se muestra la barra de macros del jugador.

Macro

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo "macro" Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_playerid El ID del jugador que creó esta macro. Solo lectura.
special Ability Name "" El nombre de la macro.
acción "" El texto de la macro.
visible para "" Lista delimitada por comas con los ID de los jugadores que pueden ver la macro, además del jugador que la ha creado. «Todos los jugadores » se representa incluyendo a todos en la lista.
istokenaction false ¿Es esta macro una acción de token que debería aparecer cuando se seleccionan los tokens?

Tablas para tiradas

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo mesa plegable Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
special Ability Name «nueva tabla»
reproductores de espectáculos verdadero

Solo para Mod Script Sandbox v1.5. La función `createToken(properties) ` crea un gráfico cuyos lados proceden de los avatares de los elementos de la tabla (se admiten imágenes de Marketplace). Devuelve el gráfico. Si ningún elemento de la tabla tiene un avatar, no se crea nada.

Elemento de tabla

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo «elemento de tabla» Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_rollabletableid "" ID de la tabla a la que pertenece este elemento. Solo lectura.
avatar "" URL de una imagen utilizada para el elemento de la tabla. Consulte la nota sobre las restricciones relativas al avatar y a «imgsrc » que figura a continuación.
special Ability Name ""
peso 1 Peso del elemento de la tabla en comparación con los demás elementos de la misma tabla. En pocas palabras, un elemento con peso 3 tiene tres veces más probabilidades de ser seleccionado al tirar los dados que un elemento con peso 1.

Personaje

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo "personaje" Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
avatar "" URL de una imagen utilizada para el personaje. Consulte la nota sobre las restricciones relativas al avatar y a «imgsrc » que figura a continuación.
special Ability Name ""
biografía "" La biografía del personaje. Consulte la nota siguiente sobre cómo acceder a los campos Notas, GMNotas y biografía.
gmnotes "" Notas sobre el personaje que solo puede ver el GM. Consulte la nota siguiente sobre cómo acceder a los campos Notas, GMNotas y biografía.
archivado falso
diarios de jugadores "" Lista delimitada por comas con los ID de los jugadores que pueden ver este personaje. Seleccione «Todos» para que todos los jugadores puedan ver el contenido. «Todos los jugadores » se indica incluyendo a todos en la lista.
controlado por "" Lista delimitada por comas con los ID de los jugadores que pueden controlar y editar este personaje. Seleccione «Todos » para que todos los jugadores puedan editar. «Todos los jugadores » se indica al incluir a todos en la lista.
_defaulttoken "" Una cadena JSON que representa el token predeterminado del personaje, en caso de que se haya establecido alguno. Se trata de un «blob», al igual que «bio» y «notes», por lo que la función get() admite una función de devolución de llamada. No lo establezca (set()). Escríbalo con la función «setDefaultTokenForCharacter».
inParty false Si el personaje forma parte del grupo.
etiquetas "[]" Matriz JSON de cadenas. Sin espacios ni comas. Las etiquetas no válidas se eliminan; se envía una advertencia a la consola de salida del módulo. Disponible en ambas versiones de prueba.

Solo para Mod Script Sandbox v1.5. sheetEnvironment es «legacy» o «beacon». Léalo como «character.sheetEnvironment» (no mediante «get»).

Solo para Mod Script Sandbox v1.5. La función `createToken(properties, options, callback) ` crea un gráfico a partir del token predeterminado del personaje. Si no hay ningún token predeterminado, se utiliza el avatar del personaje. Si tampoco hay avatar, la creación no se lleva a cabo. Se permiten imágenes del Marketplace. Dado que _defaulttoken es asíncrono, el gráfico se pasa a la función de devolución de llamada en lugar de devolverse.

Opción Predeterminado Notas
preferAvatar false Prefiera utilizar el avatar del personaje como «imgsrc».
multilateral false Cómo se crean los «sides »: «false» deja los «sides» tal y como están en el token predeterminado;«true» o «ensure» añade «imgsrc» y «avatar» si no hay «sides»; «replace» sobrescribe los «sides» existentes; «append» y «prepend» añaden«imgsrc» y «avatar» al final o al principio, respectivamente.
obj.createToken({ pageid, layer, left: x, top: y }, { multisided: 'ensure' }, function (token) {
  token.set('status_green', 5);
});

Atributo

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo "atributo" Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_characterid "" ID del personaje al que pertenece este atributo. Solo lectura. Es obligatorio cuando se utiliza createObj.
special Ability Name "Sin título"
actual "" Se puede acceder al valor actual del atributo en el chat y en las macros mediante la sintaxis @{nombre del personaje|nombre del atributo} o en las habilidades mediante la sintaxis @{nombre del atributo}.
máxima "" Se puede acceder al valor máximo del atributo en el chat y en las macros mediante la sintaxis @{Nombre del personaje|Nombre del atributo|max}, o en las habilidades mediante la sintaxis @{Nombre del atributo|max}.

Importante: Consulte la nota que figura a continuación sobre el uso de las fichas de personaje para obtener información sobre cómo los valores predeterminados de las fichas de personaje afectan al uso de los atributos.

Habilidad

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único en todo el mundo entre todos los objetos de este juego. Solo lectura.
_tipo "habilidad" Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_characterid "" El personaje al que pertenece esta habilidad. Solo lectura. Es obligatorio cuando se utiliza createObj.
special Ability Name «Sin título_Habilidad»
Descripción "" La descripción no aparece en la interfaz de la hoja de personaje.
acción "" El texto de la habilidad.
istokenaction false ¿Es esta habilidad una acción simbólica que debería aparecer cuando se seleccionan los símbolos vinculados a su personaje principal?

Nota

Propiedad Valor predeterminado Notas
_id Un identificador único para este objeto. Único a nivel global entre todos los objetos de este juego. Solo lectura.
_tipo "nota" Se puede utilizar para identificar el tipo de objeto o buscar el objeto. Solo lectura.
_pines "[]" Una cadena JSON que contiene una matriz de objetos que representan cada uno de los pines asociados con las partes de este folleto.
avatar "" URL de una imagen utilizada para el folleto. Consulte la nota sobre las restricciones relativas al avatar y a «imgsrc » que figura a continuación.
special Ability Name «Nota misteriosa»
notas "" Contiene el texto del folleto. Consulte la nota siguiente sobre el uso de Notes y GMNotes.
gmnotes "" Contiene el texto del folleto que solo ve el GM. Consulte la nota siguiente sobre el uso de Notes y GMNotes.
diarios de jugadores "" Lista delimitada por comas con los ID de los jugadores que pueden ver este documento. Seleccione «Todos » para mostrarlo a todos los jugadores. «Todos los jugadores » se representa incluyendo a todos en la lista.
archivado false
controlado por "" Lista delimitada por comas con los ID de los jugadores que pueden controlar y editar este documento. «Todos los jugadores » se representa incluyendo a todos en la lista.
etiquetas "[]" Matriz JSON de cadenas de caracteres. Se aplican las mismas normas que para las etiquetas de personajes. Disponible en ambas versiones de prueba.

Nota: Campaign().get("_journalfolder") es de lectura. Los scripts no pueden escribir en la carpeta «journal». Los archivos generados por los scripts se guardan en el directorio raíz.

Cubierta

Existen funciones auxiliares del script Mod para robar, repartir, barajar, recuperar, recoger, coger, jugar y entregar cartas: shuffleDeck, cardInfo, recallCards, dealCardsToTurn, drawCard, pickUpCard, takeCardFromPlayer, playCardToTable y giveCardToPlayer. Están disponibles en ambas versiones de prueba. Consulte la documentación de la función.

Propiedad Valor predeterminado Notas
_id "" id de la baraja
_tipo cubierta
special Ability Name "" nombre de la baraja
_barajaActual "" Una lista delimitada por comas de las cartas que se encuentran actualmente en el mazo (incluidas aquellas que se han jugado sobre la mesa o en las manos). Cambios cuando se baraja el mazo.
_currentIndex -1 el índice actual de nuestra posición en la baraja: «¿qué carta se sacará a continuación?».
_currentCardShown verdadero mostrar la carta actual en la parte superior del mazo
reproductores de espectáculos verdadero mostrar el mazo a los jugadores
jugadores pueden dibujar verdadero ¿Pueden ustedes robar cartas?
avatar "" el reverso de las cartas de esta baraja
mostrar false mostrar el mazo en el tablero de juego (¿el mazo está visible actualmente?)
jugadores_vieron_tarjetas verdadero ¿Pueden los jugadores ver el número de cartas que tienen los demás jugadores en la mano?
jugadores_ven_las_cartas_del_rival false ¿Pueden los jugadores ver el anverso de las cartas cuando miran las manos de otros jugadores?
gm_seenumcards verdadero ¿Puede el director de juego ver el número de cartas que tiene cada jugador en la mano?
gm_ver_tarjetas_delanteras false ¿Puede el director de juego ver el anverso de las cartas al mirar la mano de cada jugador?
tarjetas infinitas false ¿Hay un número infinito de cartas en esta baraja?
_cardSequencer -1 Se utiliza internamente para avanzar el mazo al robar cartas.
cartas jugadas «faceup» ¿Cómo se juegan las cartas de esta baraja sobre la mesa? boca arriba o boca abajo.
altura predeterminada "" ¿Cuál es la altura predeterminada de las cartas que se colocan sobre la mesa?
ancho predeterminado ""
modo de descarte "ninguno" ¿Qué tipo de pila de descarte tiene este mazo? none = sin pila de descartes, choosebacks = permite a los jugadores ver el reverso de las cartas y elegir una, choosefronts = ver el anverso y elegir, drawtop = robar la última carta descartada, drawbottom = robar la carta descartada más antigua.
_pilaDeDescartes "" ¿Cuál es la pila de descarte actual de este mazo? Lista de tarjetas delimitadas por comas. Son cartas que se han retirado del juego y no se volverán a colocar en el mazo al barajarlo hasta que se realice una recuperación.

Tarjeta

Propiedad Valor predeterminado Notas
special Ability Name "" Nombre de la tarjeta
avatar "" Parte delantera de la tarjeta
card_back "" Anular la imagen del reverso de la tarjeta
_deckid "" ID de la baraja
_tipo «tarjeta»
_id ""

Solo para Mod Script Sandbox v1.5. La función `createToken(properties, options) ` crea un gráfico como si la carta se hubiera jugado sobre la mesa (se admiten imágenes de Marketplace). Devuelve el gráfico.

Opción Predeterminado Notas
asCard verdadero Si es cierto, el gráfico es una tarjeta. Si el valor es «false», un token de varias caras que solo se parece a la tarjeta.
boca arriba baraja predeterminada Muestra el anverso o el reverso; establece el valor de «currentSide».

Mano

Tenga en cuenta que cada jugador solo debe tener UNA mano.

Inmueble Valor predeterminado Notas
mano actual "" Lista de cartas actualmente en la mano, separadas por comas. Tenga en cuenta que esto ya no es de solo lectura. Lo ideal sería ajustarlo únicamente con las funciones de la baraja de cartas.
_tipo mano
_parentid "" ID del jugador al que pertenece la mano.
_id ""
vista actual «bydeck» Cuando un jugador muestra su mano, ¿se ve por baraja o por carta?

Pista de Jukebox

Inmueble Valor predeterminado Notas
_id Un identificador único para este objeto. Único a nivel global entre todos los objetos de este juego. Solo lectura.
_tipo «jukeboxtrack» Se puede utilizar para identificar el tipo de objeto o para buscarlo. Solo lectura.
jugando false Booleano utilizado para determinar si la pista se está reproduciendo o no. Si se establece este valor en «true» y «softstop» en «false», se reproduce una pista.
parada suave false Booleano utilizado para determinar si una pista sin bucle ha finalizado al menos una vez. Es necesario establecer este valor en «false» para garantizar que se reproduzca una pista.
título "" La etiqueta visible para la pista en la pestaña del reproductor.
volumen 30 El nivel de volumen de la pista. Tenga en cuenta que esto debe establecerse como un número entero (no una cadena), o podría interrumpir la funcionalidad. Valores de 0 a 100 (porcentaje).
bucle false ¿Se debe reproducir la pista en bucle? Establezca en verdadero si es así.

Efectos especiales personalizados

Inmueble Valor por defecto Notas
_id Un identificador único para este objeto. Único a nivel global entre todos los objetos de este juego. Solo lectura.
_tipo «custfx» Se puede utilizar para identificar el tipo de objeto o para buscarlo. Solo lectura.
special Ability Name "" El nombre visible para el FX en la lista de FX.
definición {} Objeto Javascript que describe el FX.

Restricciones relativas a las propiedades «imgsrc » y «avatar »

Aunque ahora puede editar las propiedades «imgsrc» y «avatar», con el fin de garantizar la seguridad de todos los usuarios de Roll20, hemos establecido las siguientes restricciones para dichas propiedades:

  • Debe utilizar un archivo de imagen que haya subido a su biblioteca de Roll20; no un sitio externo (como Imgur) ni el Marketplace de Roll20. Las URL almacenadas se reescriben en la red CDN de Roll20 (a menudo https://files.d20.io/images/...). No es necesario que incluya el prefijo «s3.amazonaws.com», y no espere que get("imgsrc") coincida con la URL que ha proporcionado.
  • Incluya la cadena de consulta en la URL que nos facilite.
  • Ya no es necesario que los valores «imgsrc» de los elementos gráficos incluyan el nombre del tamaño de la miniatura. Las URL de las imágenes se adaptan a un formato de almacenamiento corregido y a una ubicación de la CDN; no espere que obj.get('imgsrc') coincida con la URL que introdujo en el momento de la creación. La función `findObjs() ` normaliza y hace coincidir las URL, por lo que podrá seguir realizando búsquedas con cualquier URL válida.

Si elimina una imagen de su biblioteca, esta se eliminará de todos los juegos que la utilicen, incluidos aquellos que utilicen sus scripts de mod.

Solo para Mod Script Sandbox v1.5. Las funciones «createCopy» y «createToken» permiten crear gráficos que utilicen imágenes del Marketplace copiándolas de un objeto ya existente.

Uso de los campos Notas, GMNotas y Biografía Asíncrono

Para acceder a los campos «notas», «gmnotes» o «biografía» de los personajes y los documentos de juego, debe pasar una función de devolución de llamada como segundo argumento de la función get(). He aquí un ejemplo:

var character = getObj("character", "-JMGkBaMgMWiQdNDwjjS");
character.get("bio", function(bio) {
  log(bio); //Haga algo con la biografía del personaje aquí.
});

Establezca estos campos con la función set() una vez que el objeto ya exista. No pase los parámetros «bio», «notes» ni «gmnotes » a la función «createObj». Establezca las notas y las notas del director en llamadas separadas a la función set(). «Graphic gmnotes» es una cadena de caracteres normal y no forma parte de esta lista. El carácter _defaulttoken es un blob: léalo mediante una función de devolución de llamada y escríbalo con la función setDefaultTokenForCharacter.

Trabajar con hojas de personaje

La función Hojas de personajes afecta al uso del tipo de objeto Atributos, ya que las hojas tienen la capacidad de especificar un valor predeterminado para cada atributo de la hoja. Sin embargo, si el atributo se establece en el valor predeterminado, aún no se ha creado un objeto Atributo real en el juego para ese personaje. Ofrecemos una función práctica que le oculta esta complejidad. Debe utilizar esta función para obtener el valor de un atributo en el futuro, especialmente si sabe que un juego utiliza una hoja de personaje. getAttrByName(identificador_del_personaje, nombre_del_atributo, tipo_de_valor) Basta con especificar el identificador del personaje, el nombre (no el identificador) del atributo (por ejemplo,HP o Str) y, a continuación, si desea el valor actual o el máximo para «tipo_de_valor». He aquí un ejemplo:

var character = getObj("character", "-JMGkBaMgMWiQdNDwjjS");
getAttrByName(character.id, "str"); // el valor actual de str, por ejemplo "12"
getAttrByName(character.id, "str", "max"); //el valor máximo de str, por ejemplo, «[[floor(@{STR}/2-5)]]»

Tenga en cuenta que los campos que tienen valores calculados automáticamente devolverán la fórmula en lugar del resultado del valor. A continuación, puede pasar esa fórmula a sendChat() para utilizar el motor de dados y calcular el resultado automáticamente. No olvide consultar también la documentación sobre las fichas de personaje para obtener más información sobre cómo interactúan estas con los scripts de mod. Consulte también setAttrs, getSheetDefaultValue, getSheetItem y setSheetItem (ambos en entornos de prueba). Solo para Mod Script Sandbox v1.5. getComputed, setComputed, performAction. Consulte la documentación de la función.

getAttrByName solo recuperará el valor del atributo, no el propio objeto del atributo. Si desea consultar propiedades del atributo distintas de «current» o «max», o si desea modificar las propiedades del atributo, deberá utilizar una de las demás funciones mencionadas anteriormente, como «findObjs». Si el objeto de atributo no existe, la función getAttrByName() devuelve el valor predeterminado de la ficha de personaje para ese nombre, siempre que la ficha lo defina; en caso contrario, devuelve «undefined ».

Creación de objetos

createObj(tipo, atributos)

Puede crear «gráfico», «texto», «trayectoria», «pathv2», «carácter», «habilidad», «atributo», «folleto», «tabla desplegable», «elemento de tabla», «macro», «card», «baraja», «custfx», «ventana», «puerta»y «pin». Solo para Mod Script Sandbox v1.5. «pageFolder». Puede crear un nuevo objeto en el juego mediante la función ` createObj `. Debe pasar el tipo del objeto (una de las propiedades _type válidas de la lista de objetos anterior), así como un objeto de atributos que contenga una lista de propiedades del objeto. Tenga en cuenta que, si el objeto tiene un objeto padre (por ejemplo, los atributos y las habilidades pertenecen a los personajes; los gráficos, los textos y las rutas pertenecen a las páginas, etc.), deberá indicar el identificador del objeto padre en la lista de propiedades (por ejemplo, deberá incluir la propiedad «characterid» al crear un atributo). Tenga en cuenta también que, incluso al crear nuevos objetos, no puede establecer propiedades de solo lectura, ya que estas se establecerán automáticamente en su valor por defecto. La única excepción a esta regla se da al crear una ruta: debe incluir la propiedad «path», pero esta no puede modificarse una vez creada inicialmente la ruta. La función `createObj` devolverá el nuevo objeto, por lo que podrá seguir trabajando con él.

// Crear un atributo de «Fuerza» para los personajes que se añadan una vez que el modo sandbox esté listo.
// La asignación de «add:character» antes de que esté listo también se activa para los personajes que ya existen.
on("ready", function() {
  on("add:character", function(obj) {
    createObj("attribute", {
      name: "Fuerza",
      current: 0,
      max: 30,
      characterid: obj.id
    });
  });
});

Eliminación de objetos

objeto.eliminar()

Puede eliminar los objetos «graphic», «text», «path», «pathv2», «character», «ability», «attribute», «handout», «rollabletable», «tableitem», «macro», «card», «deck», «custfx», «window», «door» y «pin». Solo para Mod Script Sandbox v1.5. «pageFolder».

Puede eliminar objetos del juego ya existentes mediante la función .remove(). La función .remove() funciona con todos los objetos que se pueden crear mediante la función createObj. Usted llama a la función directamente en el objeto. Por ejemplo, mycharacter.remove();.

Objetos globales

Hay varios objetos que están disponibles globalmente en cualquier parte de su script.

Campaña() (función)

Una función que devuelve el objeto «Campaign ». Dado que solo hay una campaña, este global siempre apunta a la única campaña del juego. Resulta útil para realizar acciones como comprobar si un objeto se encuentra en la página activa mediante Campaign().get("playerpageid").

estado

La variable de estado es un objeto del ámbito global al que pueden acceder todos los scripts que se ejecutan en un juego. Puede acceder al objeto «state» desde cualquier función o llamada de retorno en cualquier momento, simplemente utilizando la variable global denominada «state». Además, el objeto de estado se conserva entre las ejecuciones del Mod Script Sandbox, por lo que puede utilizarlo para almacenar información que desee que esté disponible en futuras ejecuciones de su script. Nota: Se recomienda utilizar el objeto «state» para almacenar información que solo necesiten los scripts de mod, ya que no se envía a los ordenadores de los jugadores y no aumenta el tamaño del archivo del juego. Guarde los valores que se necesitan en el juego en las propiedades de los objetos de Roll20.

Tipos almacenables

El objeto de estado solo permite almacenar tipos de datos simples, tal y como establece el estándar JSON.

Tipo Ejemplos Descripción
Booleano verdadero falso El valor «verdadero » o «falso».
Número 123,5 10 1,23e20 Cualquier formato numérico compatible con Javascript. Punto flotante o entero.
Cadena «Hola, Fantasía» «Ah, y Mundo» Una cadena de texto estándar.
Matriz [ 1, 2, 3, 4 ]
[ «A», «B», «C»][1, 2, [«bob», 3], 10, 2,5]
Una colección ordenada de cualquiera de los tipos, incluyendo otras matrices.
Objeto { key: 1, value: 'roll20' } Un objeto clave/valor simple con claves de cadena y cualquiera de los tipos como valor, incluidos otros objetos.

Advertencia: Aunque las funciones parezcan funcionar cuando se almacenan en el estado inicialmente, desaparecerán la primera vez que se restaure el estado desde la persistencia, por ejemplo, al reiniciar el entorno de pruebas.

  • Nota: Esto incluye los objetos de Roll20 que se obtienen a través de eventos o de las funciones findObjs(), getObj(), filterObjs(), createObj(), etc.

Recordatorios importantes

El objeto de estado se comparte entre todos los scripts de un entorno aislado. Para evitar dañar otros scripts, es importante seguir unas sencillas pautas:

  • Nunca asigne directamente al objeto de estado raíz.
state = { break: 'todas las cosas' }; // ¡NUNCA HAGA ESTO!!!
  • Evite utilizar variables locales llamadas «state » en sus scripts. Aunque esto funcionará, resultará confuso para los usuarios posteriores de sus scripts y podría causar problemas si el código se edita sin cuidado.
función turn(){
  var state = Campaign().get('turnorder'); // Mala práctica, ¡evítela!
  // ...
}
  • Siempre coloque sus propiedades bajo al menos una propiedad de espacio de nombres. Asegúrese de utilizar una propiedad de espacio de nombres suficientemente descriptiva. Evite nombres como «script » o «configuración». Lo mejor es utilizar el nombre de su módulo, su propio nombre o su alias.
if( ! state.MyModuleNamespace ) {
  state.MyModuleNamespace = { module: 'mi módulo', ok: '¡todo va bien!', count: 0 };
}
state.MyModuleNamespace.count++;

Ejemplo de uso

Este es un ejemplo práctico en el que se utiliza correctamente el objeto de estado.

on('ready', function() {
  "use strict";
  // Compruebe si existe la propiedad con espacio de nombres y, en caso contrario, créela
  if( ! state.MyModuleNS ) {
    state.MyModuleNS = {
      version: 1.0,
      config: {
        color1: '#ff0000',
        color2: '#0000ff'
      },
      count: 0
    };
  }
  // Utilización de las propiedades del estado para configurar un mensaje en el chat.
  sendChat(
    'Módulo de prueba',
    '<span style="color: '+state.MyModuleNS.config.color1+';">'+
    'Prueba de estado'+
    '</span> '+
    '<span style="color: '+state.MyModuleNS.config.color2+';">'+
    'El script v'+state.MyModuleNS.version+' se ha iniciado '+(++state.MyModuleNS.count)+' veces!»+
    '</span>'
  );
});

Buscar/filtrar objetos

Los scripts de mod proporcionan varias funciones auxiliares que pueden utilizarse para localizar objetos.

getObj(type, id)
Esta función obtiene un único objeto si se le pasan el _type y el _id del mismo. Siempre que sea posible, es mejor utilizar esta función en lugar de otras funciones de búsqueda, ya que es la única que no tiene que iterar a través de toda la colección de objetos.
on("change:graphic:represents", function(obj) {
  if(obj.get("represents") != "") {
    var character = getObj("character", obj.get("represents"));
  }
});

findObjs(atributos)

Pase a esta función una lista de atributos y le devolverá todos los objetos que coincidan como una matriz. Tenga en cuenta que esto se aplica a todos los objetos de cualquier tipo en todas las páginas; por lo tanto, es probable que desee incluir al menos un filtro para _type y _pageid si está trabajando con objetos de mesa.

var currentPageGraphics = findObjs({
  _pageid: Campaign().get("playerpageid"),
  _type: "graphic",
});
_.each(currentPageGraphics, function(obj) {
  //Realice alguna acción con obj, que se encuentra en la página actual y es un elemento gráfico.
});

También puede pasar un segundo argumento opcional que contenga un objeto con una lista de opciones, entre las que se incluyen:

  • caseInsensitive (verdadero/falso): Si el valor es verdadero, las propiedades de las cadenas se compararán sin tener en cuenta las mayúsculas y minúsculas de la cadena
var targetTokens = findObjs({
  name: "target"
} {caseInsensitive: true});
//Devuelve todos los tokens cuyo nombre sea «target», «Target», «TARGET», etc.
  • startsWith (verdadero/falso): Si es verdadero, las propiedades de cadena coinciden como prefijo.
  • tagMatch: A la hora de buscar coincidencias entre etiquetas: «all» (por defecto; el objeto contiene todas las etiquetas indicadas), «any» (al menos una) y «only» (exactamente el conjunto indicado).
var knights = findObjs({ type: 'character', name: 'Sir' }, { startsWith: true });

filterObjs(callback)

Ejecutará la función de devolución de llamada proporcionada en cada objeto y, si la devolución de llamada devuelve verdadero, el objeto se incluirá en la matriz de resultados. Actualmente, no es recomendable utilizar filterObjs() para la mayoría de los fines, ya que findObjs() tiene una indexación integrada para mejorar la velocidad de ejecución, por lo que casi siempre es mejor utilizar findObjs() para obtener primero los objetos del tipo deseado y, a continuación, filtrarlos utilizando el método nativo .filter() para matrices.

var results = filterObjs(function(obj) {
  if(obj.get("left") < 200 && obj.get("top") < 200) return true;
  else return false;
});
//«results» es un array que contiene todos los objetos que se encuentran en la esquina superior izquierda de la mesa.

obtenerTodosLosObjetos()

Devuelve una matriz con todos los objetos del juego (de todos los tipos). Equivale a llamar a `filterObjs` y devolver simplemente «true» para cada objeto.

getAttrByName(id_carácter, nombre_atributo, tipo_valor)

Obtiene el valor de un atributo, utilizando el valor predeterminado de la hoja de personaje si el atributo no está presente. «value_type» es un parámetro opcional que puede utilizar para especificar el valor actual o el máximo. getAttrByName solo recuperará el valor del atributo, no el propio objeto del atributo. Si desea consultar propiedades del atributo distintas de «current» o «max», o si desea modificar las propiedades del atributo, deberá utilizar una de las demás funciones mencionadas anteriormente, como «findObjs». Para las secciones repetidas, puede utilizar el formato repeating_section_$n_attribute, donde n es el número de la fila que se repite (empezando por cero). Por ejemplo, «repeating_spells_$2_name » devolverá el valor de «name » de la tercera fila de «repeating_spells». Puede conseguir un comportamiento equivalente al de `getAttrByName` de la siguiente manera:

// Los valores «current» y «max» dependen totalmente del atributo y del sistema de juego
// en cuestión; no existe ninguna función disponible para determinarlos automáticamente
function myGetAttrByName(character_id,
  attribute_name,
  attribute_default_current,
  attribute_default_max,
  value_type) {
  attribute_default_current = attribute_default_current || '';
  attribute_default_max = attribute_default_max || '';
  value_type = value_type || 'current';
  var attribute = findObjs({
    type: 'attribute',
    characterid: character_id,
    name: attribute_name
  }, {caseInsensitive: true})[0];
  if (!atributo) {
    atributo = createObj('atributo', {
      characterid: character_id,
      nombre: nombre_del_atributo,
      valor_actual: valor_predeterminado_actual_del_atributo,
      valor_máximo: valor_predeterminado_máximo_del_atributo
    });
  }
  if (tipo_de_valor == 'máximo') {
    devuelva atributo.get('máximo');
  } else {
    devuelva atributo.get('valor_actual');
  }
}
¿Fue útil este artículo?
Usuarios a los que les pareció útil: 23 de 26