Esistono diversi tipi di oggetti utilizzati nei Mod Script. Di seguito è riportato un breve elenco di ciascuna di esse, con la relativa descrizione e le proprietà che contiene (insieme ai valori predefiniti). Come regola generale, le proprietà che iniziano con un trattino basso (_) sono di sola lettura e non possono essere modificate. È necessario accedere alle proprietà degli oggetti utilizzando obj.get("proprietà") e impostare nuovi valori utilizzando obj.set("proprietà", nuovoValore) oppure obj.set({proprietà: nuovoValore, proprietà2: nuovoValore2}).
Nota: la proprietà "id" di un oggetto è un identificatore univoco a livello globale: non devono esistere due oggetti con lo stesso identificatore, nemmeno tra oggetti di tipi diversi. Inoltre, poiché l’ID di un oggetto viene consultato frequentemente e non cambia mai, è disponibile una scorciatoia che consente di accedervi utilizzando obj.id anziché obj.get("_id"), se lo desiderate (entrambi i metodi funzionano).
Solo per Mod Script sandbox v1.5. Gli oggetti supportano anche la proprietà obj.type, equivalente a obj.get("type") o obj.get("_type").
if ('graphic' === obj.type) {
// eseguire un'operazione
}
Pathv2 (disponibile sull'ultima versione del motore VTT)
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"pathv2" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
_pageid |
ID della pagina in cui si trova l'oggetto. Solo lettura. | |
forma |
"" |
pol, free, eli o rec: determina se il tracciato venga visualizzato come polilinea, a mano libera, ellisse o rettangolo. |
punti |
Una stringa JSON contenente un array di punti x,y utilizzati per creare il percorso. | |
riempire |
"trasparente" |
Colore di riempimento. Utilizzi la stringa “transparent” oppure un codice esadecimale del colore sotto forma di stringa, ad esempio #000000
|
ictus |
#000000 |
Colore del contorno. |
rotazione |
0 |
Rotazione (in gradi). |
livello |
"" |
Livello corrente: uno tra gmlayer, oggetti, mappa, muri o primo piano. I tracciati presenti sul livello delle pareti ostacolano il passaggio della luce. |
larghezza_tratto |
5 |
|
y |
0 |
Coordinata Y per il centro del percorso |
x |
0 |
Coordinata X per il centro del percorso |
controllato da |
"" |
Elenco separato da virgole degli ID dei giocatori che possono controllare il percorso. I giocatori controllanti possono eliminare il percorso. Se il percorso è stato creato da un giocatore, tale giocatore viene automaticamente incluso nell'elenco. L'opzione "Tutti i giocatori " è rappresentata dall'inclusione di tutti i giocatori nell'elenco. |
tipo di barriera |
"muro" |
Le opzioni relative al tipo di barriera di illuminazione dinamica comprendono “a parete”, “unidirezionale” e “trasparente”
|
oneWayReversed |
non corretto |
booleano |
sfumatura su sovrapposizione |
vero |
Se impostato su “true”, la sovrapposizione del contorno interno dell’elemento grafico di un livello oggetto con l’oggetto del livello in primo piano determinerà l’impostazione della sua opacità sul valore specificato in “fadeOpacity”. Se impostato su falso, rimarrà completamente opaco indipendentemente dalla sovrapposizione. |
opacità dissolvenza |
0.3 |
Questo valore determina l'opacità dell'oggetto quando viene sovrapposto da un elemento grafico presente sullo stesso livello e l'opzione ` fadeOnOverlap ` è impostata su `true` |
renderizzaComeScenario |
false |
Se vero, questo oggetto sarà oscurato dall'illuminazione dinamica e dalla maschera Nascondi/Mostra. |
interazioneReset manuale |
false |
Quando questa opzione è impostata su true, le interazioni sull'oggetto verranno reimpostate. |
interazioneAttivata |
non corretto |
Verrà impostato su "true" quando viene attivata un'interazione. |
La proprietà "shape " può assumere i seguenti valori:
-
pol-Polilinea. Si traccia una linea retta tra ogni punto consecutivo. Se il punto iniziale e quello finale coincidono, si crea una figura chiusa. -
gratuito- A mano libera. Una curva viene tracciata utilizzando i punti come guide. Se il punto iniziale e quello finale coincidono, si crea una figura chiusa. -
eli- Ellisse. Un'ellisse viene disegnata utilizzando i punti per impostare un riquadro di delimitazione. Vengono utilizzati solo i primi due punti. -
rec- Rettangolo. Si disegna un rettangolo utilizzando i punti per impostare un riquadro di delimitazione. Vengono utilizzati solo i primi due punti.
La proprietà " points " è una stringa JSON contenente un array di punti. I punti sono rappresentati come un array a due posizioni di una posizione x e y. Un triangolo che va da (0,0) a (0,70), poi a (70,0) e infine di nuovo a (0,0) verrebbe rappresentato come [[0,0],[0,70],[70,0],[0,0]]. Le proprietà x e y posizionano l'oggetto PathV2 sulla pagina. Essi indicano dove dovrebbe trovarsi il centro del disegno. Per alcune forme (ellissi e rettangoli), è piuttosto semplice da determinare. Per le forme più complesse (polilinee e tracciati a mano libera), dovrà individuare i valori minimo e massimo dalla proprietà dei punti e utilizzare il punto equidistante tra di essi.
Solo per Mod Script sandbox v1.5. Metodi di istanza: toFront(), toBack(), toAbove(target), toBelow(target). Il target può essere un oggetto grafico, di testo, percorso o percorso v2, oppure l’ID di uno di tali oggetti.
Percorso (Tavolo di gioco classico)
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"percorso" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
_pageid |
ID della pagina in cui si trova l'oggetto. Solo lettura. | |
_percorso |
Array JSON di comandi di disegno. Ogni comando è ["M", x, y] o ["L", x, y] (spostamento o linea), oppure ["C", ...] per una curva. x e y sono gli spostamenti rispetto all’angolo superiore sinistro del percorso. Specificare il percorso al momento della creazione. Successivamente, solo in lettura. |
|
riempire |
"trasparente" |
Colore di riempimento. Utilizzi la stringa " transparent " oppure un codice esadecimale del colore sotto forma di stringa, ad esempio #000000
|
ictus |
#000000 |
Colore del contorno. |
rotazione |
0 |
Rotazione (in gradi). |
livello |
"" |
Livello corrente: uno tra gmlayer, oggetti, mappa, muri o primo piano. I tracciati presenti sul livello delle pareti ostacolano il passaggio della luce. |
larghezza_tratto |
5 |
|
larghezza |
0 |
|
altezza |
0 |
|
in alto |
0 |
Coordinata Y per il centro del percorso |
a sinistra |
0 |
Coordinata X per il centro del percorso |
scalaX |
1 |
|
scalaY |
1 |
|
controllato da |
"" |
Elenco separato da virgole degli ID dei giocatori che possono controllare il percorso. I giocatori controllanti possono eliminare il percorso. Se il percorso è stato creato da un giocatore, tale giocatore viene automaticamente incluso nell'elenco. L'opzione "Tutti i giocatori " è rappresentata dall'inclusione di tutti i giocatori nell'elenco. |
tipo di barriera |
"muro" |
Le opzioni relative al tipo di barriera di illuminazione dinamica includono “a parete”, “unidirezionale” e “trasparente”
|
oneWayReversed |
non corretto |
booleano |
sfumatura su sovrapposizione |
vero |
Se impostato su “true”, la sovrapposizione del contorno interno dell’elemento grafico di un livello oggetto con l’oggetto del livello in primo piano determinerà che la sua opacità assuma il valore specificato in `fadeOpacity`. Se impostato su falso, rimarrà completamente opaco indipendentemente dalla sovrapposizione. |
opacità dissolvenza |
0.3 |
Questo valore determina l'opacità dell'oggetto quando viene sovrapposto da un elemento grafico presente sul livello dell'oggetto e l'opzione `fadeOnOverlap ` è impostata su `true` |
renderizzaComeScenario |
non corretto |
Se vero, questo oggetto sarà oscurato dall'illuminazione dinamica e dalla maschera Nascondi/Mostra. |
interazioneReset manuale |
non corretto |
Quando questa opzione è impostata su true, le interazioni sull'oggetto verranno reimpostate. |
interazioneAttivato |
non corretto |
Verrà impostato su "true" quando viene attivata un'interazione. |
Passare il percorso (memorizzato come _path) al momento della creazione di un percorso classico. Il formato è descritto nella riga _path qui sopra.
Solo per Mod Script sandbox v1.5. Metodi di istanza: toFront(), toBack(), toAbove(target), toBelow(target). Il target può essere un oggetto grafico, di testo, percorso o percorso v2, oppure l’ID di uno di tali oggetti.
Finestra
Nota: Finestre e porte utilizzano un asse invertito rispetto ad altri tipi di oggetti. Ad esempio, una variabile superiore che sarebbe 100 per un altro oggetto è y -100 per una finestra o una porta.
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"finestra" |
Solo lettura. |
_pageid |
Pagina a cui appartiene questa finestra. Si prega di specificare il "pageid" al momento della creazione. Successivamente, solo in lettura. |
|
colore |
"#ff0000" |
Un codice esadecimale che indica il colore della finestra. |
x |
0 |
Coordinate del centro della finestra sull'asse x. |
y |
0 |
Coordinare il centro della finestra sull'asse y. |
è aperto |
non corretto |
Determina se un giocatore può attraversare questa finestra. |
è bloccato |
non corretto |
Impedisce ai giocatori di interagire con la finestra. |
path: |
Due handle, handle0 e handle1, ciascuno con x e y. Tali coordinate rappresentano gli scostamenti rispetto alle coordinatex/y di questo oggetto, sullo stesso asse y invertito. |
Esempio
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
});
}
if (msg.type === 'api' && msg.content === '!dw') {
const win = getObj('window', '-NG38yUgghBBoV8YR0y1');
win.remove();
}
});
Porta
Nota: le finestre e le porte utilizzano un asse invertito rispetto ad altri tipi di oggetti. Ad esempio, una variabile "top" che per un altro oggetto avrebbe il valore 100, per una finestra o una porta assume il valore y -100.
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"porta" |
Solo lettura. |
_pageid |
Pagina a cui appartiene questa pagina. Si prega di specificare il "pageid" al momento della creazione. Successivamente, solo in lettura. |
|
colore |
"" |
Il codice esadecimale del colore della porta. |
x |
0 |
Coordinare il centro della porta sull'asse x. |
y |
0 |
Coordinare il centro della porta sull'asse y. |
è aperto |
non corretto |
Determina se un giocatore può attraversare questa porta. |
è bloccato |
non corretto |
Impedisce ai giocatori di interagire con la porta. |
è segreto |
non corretto |
Rimuove l'icona di una porta dalla visuale del giocatore e funge da barriera. |
path: |
Due handle, handle0 e handle1, ciascuno con x e y. Tali coordinate rappresentano gli scostamenti rispetto alle coordinatex/y di questo oggetto, sullo stesso asse y invertito. |
Testo
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"testo" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
_pageid |
ID della pagina in cui si trova l'oggetto. Solo lettura. | |
in alto |
0 |
|
a sinistra |
0 |
|
larghezza |
0 |
|
altezza |
0 |
|
testo |
"" |
|
dimensione carattere |
16 |
Per ottenere risultati ottimali, si consiglia di utilizzare le dimensioni predefinite nel menu di modifica: 8, 10, 12, 14, 16, 18, 20, 22, 26, 32, 40, 56, 72, 100, 200, 300. |
rotazione |
0 |
|
colore |
rgb(0, 0, 0) |
|
ictus |
"trasparente" |
|
famiglia di caratteri |
"Arial" |
Se questa impostazione non viene configurata, in caso di successiva modifica del valore della proprietà “text”, la dimensione del carattere ( font_size) si ridurrà a 8. Valori possibili (indipendentemente dal registro): Arial, Patrick Hand, Contrail One, Shadows Into Light e Candal. Specificando un nome non valido, verrà utilizzato un font serif monospaziato senza nome. |
livello |
"" |
Livello corrente: uno tra gmlayer, oggetti, mappa, muri o primo piano. |
controllato da |
"" |
Elenco separato da virgole degli ID dei giocatori che possono controllare il testo. Gli amministratori possono eliminare il testo. Se il testo è stato creato da un giocatore, tale giocatore viene automaticamente incluso nell'elenco. L'opzione “Tutti i giocatori ” è rappresentata dall’inclusione di tutti i giocatori nell’elenco. |
sfumatura su sovrapposizione |
vero |
Se impostato su “true”, la sovrapposizione del contorno interno di un elemento grafico del livello “object” con l’oggetto del livello in primo piano determinerà l’impostazione della sua opacità sul valore specificato in “fadeOpacity”. Se impostato su falso, rimarrà completamente opaco indipendentemente dalla sovrapposizione. |
opacità dissolvenza |
0.3 |
Questo valore determina l'opacità dell'oggetto quando viene sovrapposto da un elemento grafico presente sul livello dell'oggetto e l'opzione `fadeOnOverlap ` è impostata su `true` |
renderizzaComeScenario |
non corretto |
Se vero, questo oggetto sarà oscurato dall'illuminazione dinamica e dalla maschera Nascondi/Mostra. |
interazioneReset manuale |
non corretto |
Quando questa opzione è impostata su true, le interazioni sull'oggetto verranno ripristinate. |
interazioneAttivata |
non corretto |
Verrà impostato su true quando viene attivata un'interazione. |
Solo per Mod Script sandbox v1.5. Metodi di istanza: toFront(), toBack(), toAbove(target), toBelow(target). Il target può essere un oggetto grafico, di testo, percorso o percorso v2, oppure l’ID di uno di tali oggetti.
Spilli
L'oggetto "pin" rappresenta i "Map Pins", ovvero degli indicatori interattivi che compaiono direttamente sulla mappa. I pin possono visualizzare immagini, mostrare suggerimenti, contenere note del GM e possono essere collegati a materiali di gioco nel proprio diario. Possono essere visibili o nascosti, consentendo rivelazioni sorprendenti, illuminando un luogo scoperto, oppure possono essere utilizzati come indicatori di informazioni per un gioco più interattivo. Ulteriori informazioni sui pin sono disponibili nel centro di assistenza.
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco, come quello degli altri oggetti Roll20. Solo lettura. | |
_tipo |
"spillo" |
Il tipo di pin. Solo lettura. |
_pageid |
"" |
L'ID della pagina a cui appartiene questo pin. Solo lettura. |
x |
0 |
La coordinata X del pin sulla pagina. |
y |
0 |
La coordinata Y del pin sulla pagina. |
bgColor |
"#242424" |
Colore di sfondo del pin (codice esadecimale o trasparente). Supporta stringhe di colore HTML sia #RRGGBB che #RRGGBBAA (traslucenza). |
forma |
"lacrima" |
Forma a spillo. I valori validi sono: goccia, cerchio, rombo, quadrato
|
icona |
"punto base" |
Icona predefinita quando customizationType è impostato su " icon"
|
pinImmagine |
"" |
URL dell'immagine visualizzato quando customizationType è impostato su " image"
|
tipo di personalizzazione |
"icona" |
Stabilisce se il pin visualizzi l'icona o l'immagine del pin. Quando si utilizza `customizationType: image`, si imposti `pinImage ` su un URL di immagine valido. Il passaggio da "icon " a " image " nella proprietà " customizationType " non cancella " pinImage"; l'URL viene mantenuto |
utilizzareIconaTesto |
non corretto |
Quando useTextIcon è impostato su true, il pin visualizza un'etichetta di testo anziché un'icona o un'immagine. Tale etichetta è tratta da iconText; vengono visualizzati solo i primi 3 caratteri |
testo dell'icona |
"" |
Etichetta di testo (vengono utilizzati i primi 3 caratteri) quando useTextIcon è vero |
Dimensione immagine tooltip |
"media" |
Dimensioni dell'immagine nel testo descrittivo del pin. I valori validi sono: piccolo, medio, grande, XL
|
collegamento |
"" |
ID del materiale di gioco a cui rimanda questo pin. Il campo "linkType" accetta solo i valori "materiale di gioco" o "". |
tipo di collegamento |
"" |
Il tipo di oggetto collegato. Valori ammessi: materiale di gioco, "" (stringa vuota). |
subLink |
"" |
Testo dell'intestazione a cui passare nel materiale di gioco allegato. Da utilizzare con subLinkType (headerPlayer o headerGM). |
subLinkType |
"" |
Il tipo di collegamento secondario. Valori validi: headerPlayer, headerGM, "" (stringa vuota). |
titolo |
"" |
Il testo del titolo visualizzato sul pin. |
note |
"" |
Stringa normale. Non si tratta di uno dei campi “blob” relativi ai personaggi o ai materiali di gioco. |
Note GM |
"" |
Stringa ordinaria, solo per GM. Non si tratta di uno dei campi "blob" relativi ai personaggi o ai materiali di gioco. |
immagine tooltip |
"" |
Identificatore immagine Roll20 per l'immagine del tooltip visualizzata sul pin. |
visibile a |
"" |
tutti mostrano il perno a tutti. "" lo nasconde ai giocatori. |
autoNoteTipo |
"" |
Formato per le note generate automaticamente. Valori validi: "" (stringa vuota), blockquote. |
tooltipVisibleTo |
tutti |
Controlla chi può visualizzare il suggerimento. Valori validi: tutti, "" (stringa vuota). |
titoloTooltipVisibileA |
tutti |
Controlla chi può visualizzare il titolo del suggerimento. Valori validi: tutti, "" (stringa vuota). |
targhettaVisibileA |
tutti |
Controlla chi può visualizzare la targhetta identificativa. Valori validi: tutti, "" (stringa vuota). |
immagineVisibileA |
tutti |
Controlla chi può visualizzare l'immagine. Valori validi: tutti, "" (stringa vuota). |
noteVisibiliA |
tutti |
Controlla chi può visualizzare le note. Valori validi: tutti, "" (stringa vuota). |
gmNoteVisibiliA |
tutti |
Controlla chi può visualizzare le note del GM. Valori validi: tutti, "" (stringa vuota). |
scala |
1.0 |
Fattore di scala per il perno. Deve essere compreso tra 0,25 e 2,0. |
immagineDesincronizzata |
non corretto |
Se l'immagine del pin è desincronizzata rispetto all'oggetto a cui è collegata. L'impostazione di una proprietà non sincronizzata imposta tutte e tre allo stesso valore. |
Note non sincronizzate |
non corretto |
Se le note del pin sono desincronizzate rispetto all’oggetto a cui è collegato. L'impostazione di una proprietà non sincronizzata imposta tutte e tre allo stesso valore. |
gmNotesDesynced |
non corretto |
Se le note del GM del pin non sono sincronizzate con l'oggetto a cui è collegato. L'impostazione di una proprietà non sincronizzata imposta tutte e tre allo stesso valore. |
Nota 1: Se intendete utilizzare contenuti personalizzati nei pin (per sovrascrivere l’immagine, le note e le note del GM di un materiale di gioco), dovete impostare su “true” almeno una delle proprietà desincronizzate (il che le imposterà tutte).
Nota 2: Valori validi per le icone: 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-chiave, base-forziere, base-villaggio, base-spada-verso-l'alto, base-casa, base-casa2, base-chiesa, base-sede-del-governo, base-fabbro, base-stalla, base-ingranaggio, base-ponte, base-montagna, base-esclamazione, base-domanda.
Grafica (segnalino/mappa/carta/ecc.)
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"grafico" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
_sottotipo |
"segnalino" |
Può trattarsi di un segnalino (segnalini e mappe), di una carta o di un segnalino-dado. Solo lettura. |
_cardid |
Impostare un ID se l'immagine è una scheda. Solo lettura. | |
_pageid |
ID della pagina in cui si trova l'oggetto. Solo lettura. | |
imgsrc |
L'URL dell'immagine. Si prega di consultare la nota riportata di seguito relativa alle restrizioni relative a imgsrc e agli avatar. |
|
bar1_link |
Impostare un ID se la barra 1 è collegata a un personaggio. | |
bar2_link |
||
bar3_link |
||
bar4_link |
||
rappresenta |
ID del personaggio rappresentato da questo segnalino. |
|
a sinistra |
0 |
Numero di pixel dal bordo sinistro della mappa al centro dell'immagine. |
in alto |
0 |
Numero di pixel dal bordo superiore della mappa al centro dell'immagine. |
larghezza |
0 |
Larghezza dell'immagine, espressa in pixel. |
altezza |
0 |
Altezza dell'immagine, espressa in pixel. |
rotazione |
0 |
L'orientamento del segnalino in gradi. |
livello |
"" |
Livello corrente: uno tra gmlayer, oggetti, mappa, muri o primo piano. |
disegno |
non corretto |
Questa proprietà può essere modificata dal menu contestuale Avanzate. |
disabilita aggancio |
non corretto |
Disattivare l'allineamento grafico alla griglia. |
disattivareMenuToken |
non corretto |
Disattivare le impostazioni del menu dei token grafici (bolle dei token e menu radiale). |
flipv |
non corretto |
Ruotare verticalmente. |
fliph |
non corretto |
Ruotare orizzontalmente. |
nome |
"" |
Il nome del token. |
Note GM |
"" |
Note riservate esclusivamente al GM. Una stringa sincrona, spesso costituita da codice HTML con codifica URL (può iniziare con %3Co%3E). Questo non è un campo di testo libero né un campo di dati per i personaggi di gioco. |
controllato da |
"" |
Elenco separato da virgole degli ID dei giocatori che possono controllare la grafica. Gli amministratori possono eliminare l'immagine. Se l'immagine è stata creata da un giocatore, tale giocatore viene automaticamente incluso nell'elenco. L'opzione "Tutti i giocatori " è rappresentata dall'inclusione di tutti i giocatori nell'elenco. |
valore della barra 1 |
"" |
Valore attuale della barra 1. Può trattarsi di un numero o di un testo. |
valore_bar2 |
"" |
|
valore bar3 |
"" |
|
bar4_value |
"" |
|
bar1_max |
"" |
Valore massimo della barra 1. Se _value e _max sono entrambi impostati, è possibile che venga visualizzata una barra sopra il token che mostra la percentuale della Barra 1. |
bar2_max |
"" |
|
bar3_max |
"" |
|
bar4_max |
"" |
|
raggio dell'aura |
"" |
Raggio dell'aura, utilizzando le unità impostate nelle impostazioni della pagina. Può essere un numero intero o un numero decimale. Impostare la stringa vuota per cancellare l'aura. |
aura2_raggio |
"" |
|
aura1_colore |
#FFFF99 |
Un codice esadecimale che indica il colore dell'aura. |
aura2_colore |
#59E594 |
|
aura1_opzioni |
"cerchio" |
Definisce la forma di un'aura. Le opzioni valide sono " circle " o " square ". Nota: sincronizzato con aura1_square
|
aura2_opzioni |
"cerchio" |
Definisce la forma di un'aura. Le opzioni valide sono " circle " o " square ". Nota: sincronizzato con aura2_square
|
aura1_quadrato |
non corretto |
L'aura è un cerchio o un quadrato? |
aura2_quadrato |
non corretto |
|
colore_tinta |
"trasparente" |
Colore esadecimale o trasparente. Modificherà il colore dell'immagine. |
indicatori di stato |
"" |
Un elenco, delimitato da virgole, degli indicatori di stato attualmente attivi. I marcatori personalizzati utilizzano il tag nome::id dei marcatori _token_markers della campagna. Si vedano le note riportate di seguito. |
nome mostrato |
non corretto |
Se viene visualizzata la targhetta identificativa del segnalino. |
mostra_nome_attori |
non corretto |
Mostrare la targhetta identificativa a tutti i giocatori. |
barra_riproduzione_1 |
non corretto |
Mostrare la barra 1 a tutti i giocatori. |
barra_riproduzione_2 |
non corretto |
|
barra_riproduttori3 |
non corretto |
|
showplayers_bar4 |
false |
|
showplayers_aura1 |
non corretto |
Mostrare Aura 1 a tutti i giocatori. |
showplayers_aura2 |
non corretto |
|
modifica nome giocatore |
vero |
Consentire ai giocatori che controllano il segnalino di modificarne il nome. Mostra inoltre la targhetta identificativa ai giocatori che controllano il personaggio, anche se showplayers_name è impostato su false. |
playersedit_bar1 |
vero |
Consentire ai giocatori che controllano il personaggio di modificare la barra 1 del segnalino. Mostra inoltre la barra 1 ai giocatori che controllano il gioco, anche se showplayers_bar1 è impostato su false. |
modifica_barra2 |
vero |
|
playersedit_bar3 |
vero |
|
playersedit_bar4 |
vero |
|
bar1_num_permission |
"" |
Impostare le modalità di visualizzazione della sovrapposizione di bar1. Valori ammessi: tutti, nascosto. " " indica che solo i redattori potranno visualizzarne il valore |
bar2_num_permission |
"" |
|
bar3_num_permission |
"" |
|
bar4_num_permission |
"" |
|
giocatoriedit_aura1 |
vero |
Consentire ai giocatori che controllano il segnalino di modificare l’aura 1 del segnalino. Mostra inoltre l’Aura 1 ai giocatori che controllano il personaggio, anche se showplayers_aura1 è impostato su false. |
giocatoriedit_aura2 |
vero |
|
raggio_di_luce |
"" |
ILLUMINAZIONE DINAMICA CLASSICA OBsoleta: raggio della luce intensa. Si veda bright_light_distance. |
raggio_luce_dim |
"" |
ILLUMINAZIONE DINAMICA CLASSICA (DEPRECATA ): Inizio del raggio di luce fioca. Se light_dimradius è una stringa vuota, il segnalino emetterà una luce intensa fino alla distanza indicata da light_radius. Se light_dimradius ha un valore, il segnalino emetterà una luce intensa fino al valore di light_dimradius e una luce fioca da quel punto fino al valore di light_radius. Si veda la voce “low_light_distance” nella documentazione sull’illuminazione dinamica |
luce_altri_giocatori |
non corretto |
ILLUMINAZIONE DINAMICA CLASSICA (OBsoleta ): mostra la luce di questo segnalino a tutti i giocatori. Questo non è has_night_vision. |
luce_hassight |
false |
Illuminazione dinamica classica (OBsoleta ): questa luce garantisce ai giocatori che la controllano la visibilità necessaria per applicare la regola della linea di vista. Si veda has_bright_light_vision. |
angolo_luce |
"360" |
OBsoleto: illuminazione dinamica classica: angolo in gradi. Il valore 180 indica la presenza di luce nella metà anteriore del campo. Si vedano has_directional_bright_light, directional_bright_light_center e directional_bright_light_total. |
luce_losangle |
"360" |
OBSOLETO Illuminazione dinamica classica: angolo (in gradi) del campo visivo dell’immagine (supponendo che light_hassight sia impostato su true). Si vedano has_limit_field_of_vision, limit_field_of_vision_center e limit_field_of_vision_total nella documentazione sull’illuminazione dinamica |
lati |
"" |
Elenco di immagini laterali separate da barre verticali. Ogni voce è codificata in formato URL. Suddividere in base a |, quindi decodificare con decodeURIComponent. |
lato corrente |
0 |
Indice dei lati. Solo per Mod Script sandbox v1.5. L'impostazione di currentSide aggiorna automaticamente imgsrc, comprese le immagini del Marketplace. Se lo stesso metodo .set() include anche un imgsrc valido, viene utilizzato quest 'ultimo. |
ultima mossa |
"" |
L'ultima mossa del segnalino. Si tratta di un elenco di coordinate separate da virgole. Ad esempio, “300,400” significherebbe che il segnalino ha iniziato il suo ultimo spostamento con le coordinate sinistra=300 e alto=400. Si presume sempre che i valori attuali di “top” e “left” del segnalino rappresentino il “punto finale” dell’ultima mossa. I waypoint sono indicati da più serie di coordinate. Ad esempio, “300,400,350,450,400,500” indicherebbe che il segnalino ha iniziato con le coordinate sinistra=300, alto=400, quindi ha impostato un punto di riferimento con le coordinate sinistra=350, alto=450, un altro punto di riferimento con le coordinate sinistra=400, alto=500, per poi terminare il movimento alle coordinate attuali di alto e sinistra. |
moltiplicatore_di_luce |
"1" |
Moltiplicatore di illuminazione dinamica classico OBSOLETO. 1 indica una vista normale. L'illuminazione dinamica attuale utilizza il parametro ` light_sensitivity_multiplier`, dove 100 corrisponde al valore normale. |
distanza_di_visualizzazione_adv_fow |
"" |
Il raggio attorno a un segnalino in cui viene rivelata la Nebbia di Guerra Avanzata. |
moltiplicatore_sensibilità_alla_luce |
100 |
Moltiplicatore dell'efficacia delle sorgenti luminose. Un moltiplicatore di 200 consentirebbe al segnalino di vedere il doppio rispetto a un segnalino con un moltiplicatore di 100, con la stessa fonte di luce. |
effetto_visione_notturna |
null |
Effetto visione notturna. "null " è l'effetto predefinito. Tra gli altri valori figurano " Dimming " e " Nocturnal". |
posizione del bar |
null |
Dove si trovano le barre del segnalino. "null " è la posizione predefinita. Altri valori: overlap_top, overlap_bottom, bottom. |
compact_bar |
null |
Stile da barra. Il valore predefinito è null. La funzione "compact" utilizza la barra "compact". |
bloccareMovimento |
non corretto |
Un'opzione per bloccare un elemento grafico in posizione. Valore booleano vero o falso |
sfumatura su sovrapposizione |
vero |
Se impostato su "true", la sovrapposizione del contorno interno dell'elemento grafico di un livello oggetto con l'oggetto del livello in primo piano determinerà l'impostazione della sua opacità al valore specificato in fadeOpacity. Se il valore è “false”, rimarrà al valore di baseOpacity impostato, indipendentemente dalla sovrapposizione. |
opacità dissolvenza |
.3 |
Questo valore determina l'opacità dell'oggetto quando viene sovrapposto da un elemento grafico presente sul livello dell'oggetto e l'opzione `fadeOnOverlap ` è impostata su `true` |
renderizzaComeScenario |
non corretto |
Se vero, questo oggetto sarà oscurato dall'illuminazione dinamica e dalla maschera Nascondi/Mostra. |
opacità di base |
1.0 |
Opacità iniziale dell'elemento grafico, su qualsiasi livello. |
interazioneReset manuale |
non corretto |
Quando questa opzione è impostata su true, le interazioni sull'oggetto verranno reimpostate. |
interazioneAttivata |
non corretto |
Verrà impostato su "true" quando viene attivata un'interazione. |
Proprietà attuali dell’illuminazione dinamica (oltre ai campi light_* classici sopra indicati):
| Immobile | Default |
|---|---|
ha_visione_in_condizioni_di_luce_intensa |
non corretto |
ha_visione_notturna |
non corretto |
tonalità_visione_notturna |
null |
distanza_di_visione_notturna |
0 |
emette_luce_intensa |
non corretto |
distanza_luce_intensa |
0 |
emette_in_condizioni_di_scarsa_illuminazione |
non corretto |
distanza_in_condizioni_di_scarsa_illuminazione |
0 |
opacità_luce_debole |
0 |
colore chiaro |
"trasparente" |
has_limit_field_of_vision |
non corretto |
limite_campo_visivo_centrale |
0 |
campo_visivo_totale |
0 |
ha_un_campo_limitato_di_visione_notturna |
falso |
campo_limite_del_centro_di_visione_notturna |
0 |
campo_visivo_notturno_totale |
0 |
has_directional_bright_light |
non corretto |
luce_intensa_direzionale_centrale |
0 |
luce_direzionale_intensa_totale |
0 |
has_directional_dim_light |
non corretto |
luce_diffusa_direzionale_centrale |
0 |
luce_direzionale_dim_totale |
0 |
suggerimento |
"" |
mostra_tooltip |
non corretto |
gm_only_tooltip |
non corretto |
renderAsDarkness |
non corretto |
Solo per Mod Script sandbox v1.5. L'impostazione di `currentSide ` aggiorna automaticamente `imgsrc`:
const setRandomSide = (obj) => {
if ('graphic' === obj.type) {
obj.set({
currentSide: randomInteger(obj.get('sides')?.split('|').length ?? 1) - 1
});
}
};
Solo per Mod Script sandbox v1.5. Metodi illustrati nel grafico:
-
createCopy(proprietà)— esegue la copia come farebbecreateObj, inclusele immagini imgsrc/sidesdel Marketplace. Restituisce il nuovo oggetto grafico. -
toFront(),toBack(),toAbove(target),toBelow(target)— equivalenti alle funzioni globali.Il targetpuò essere un oggetto o un ID.
obj.createCopy({ pageid, livello, left: x, top: y });
Esempio di indicatori per segnalino
L'elenco dei marcatori disponibili in tutto il gioco è Campaign().get('_token_markers'). Ogni voce si presenta come segue:
{
"id":59, // l'ID nel database per l'
"name":"Bane", // il nome (non univoco) del marcatore
"tag":"Bane::59", // il modo in cui il token viene effettivamente referenziato
// questo includerà l'ID per i marcatori personalizzati, ma non
// per i marcatori predefiniti.
"url":"https://s3.amazonaws.com/files.d20.io/images/59/yFnKXmhLTtbMtaq-Did1Yg/icon.png?1575153187"
// ^l'URL dell'immagine dell'indicatore per segnalino
}
Note importanti sui personaggi collegati e sui segnalini Si tenga presente che, per i segnalini collegati a personaggi, il campo "controlledby" del segnalino viene sovrascritto dal campo "controlledby " del personaggio. Per le barre del segnalino (ad es.bar1_value e bar1_max) in cui il segnalino è collegato a un attributo (ad es.bar1_link è impostato), l’assegnazione di un valore alla barra aggiornerà automaticamente anche i valori correnti e/o massimi dell’attributo sottostante, pertanto non è necessario impostarli entrambi manualmente. Inoltre, quando l’attributo (o la barra del segnalino) viene modificato all’interno del gioco, si udirà un evento “change:attribute” (e uno specifico per la proprietà, ad esempio“change:attribute:current”), seguito da un evento “change:graphic” (e “change:graphic:bar1_value”). È possibile scegliere di rispondere a uno dei due eventi, ma i valori della barra sottostante non saranno ancora aggiornati quando si verifica l'evento attributo, poiché questo si verifica per primo.
Note importanti relative agli indicatori per segnalino A partire dal 6 agosto 2013, è cambiata la modalità di gestione degli indicatori per segnalino sui token. La proprietà `statusmarkers ` dell'oggetto `Graphic` è ora un elenco delimitato da virgole contenente tutti i colori e le icone degli indicatori di stato che devono essere attivi sul segnalino. Il formato è il seguente:
//Delimitato da virgola (utilizzare join per creare o split per trasformare in un array).
//Se un'icona o un colore di stato è seguito dal simbolo "@", il numero che segue
//"@" verrà visualizzato come badge sull'icona
statusmarkers = "red,blue,skull,dead,brown@2,green@6"
Sebbene sia possibile accedere direttamente alla proprietà `statusmarkers`, al fine di garantire la retrocompatibilità con gli script esistenti e di offrire un modo semplice per gestire gli indicatori di stato senza dover scrivere codice per occuparsi personalmente della suddivisione e dell’analisi della stringa, mettiamo a disposizione una serie di proprietà virtuali sull’oggetto che è possibile impostare o recuperare per gestire gli indicatori di stato. Ogni indicatore di stato dispone di una proprietà denominata status_<markername>. Per esempio:
obj.get("status_red"); //Restituirà false se il marcatore non è attivo, true se lo è e una stringa (ad esempio "2" o "5") se attualmente è presente un badge impostato sul marcatore
obj.get('status_bluemarker'); //È ancora supportato per la compatibilità con le versioni precedenti ed è equivalente a obj.get("status_blue");
obj.set("status_red", false); //rimuoverebbe il marcatore
obj.set("status_skull", "2"); //impostarebbe un badge "2" sull'icona del teschio e lo aggiungerebbe al token se non è già attivo.
Si noti che queste proprietà virtuali non dispongono di eventi; pertanto, è necessario utilizzare change:graphic:statusmarkers per rilevare le modifiche agli indicatori di stato di un segnalino; ad esempio, change:graphic:status_red NON è un evento valido e non verrà mai attivato. Di seguito è riportato l'elenco completo degli indicatori di stato disponibili (nello stesso ordine in cui appaiono nel vassoio degli indicatori):
"rosso", "blu", "verde", "marrone", "viola", "rosa", "giallo", "morto", "teschio", "assonnato", "mezzo cuore", "mezza foschia", "interdizione", "lumaca", "elica di fulmine", "chiave inglese", "cuore incatenato", "bullone chimico", "zona mortale", "bevi me", "crepa sul bordo", "maschera da ninja", "cronometro", "rete da pesca", "overdrive", "forte", "pugno", "lucchetto", "tre foglie", "ala soffice", "malconcio", "tread", "frecciato", "aura", "mal di schiena", "bandiera nera", "occhio sanguinante", "scudo a bullone", "cuore spezzato", "ragnatela", "scudo rotto", "bandiera sventolante", "radioattivo", "trofeo", "teschio rotto", "sfera congelata", "bomba rotolante", "torre bianca", "afferrare", "urlare", "granata", "mitragliatrice sentinella", "tutti per uno", "abito da angelo", "bersaglio per tiro con l'arco"
Pagina
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"pagina" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
_zorder |
"" |
Elenco di ID delimitato da virgole che specifica l'ordine degli oggetti nella pagina. La stringa memorizzata presenta spesso una virgola finale; quando la divide, elimini i segmenti vuoti. I metodi toFront e toBack riscrivono questo elenco. Solo lettura. |
nome |
"" |
Titolo della pagina. |
mostra griglia |
vero |
Visualizza la griglia sulla mappa. |
mostrare l'oscurità |
non corretto |
Mostra la nebbia di guerra sulla mappa. |
illuminazione scenica |
non corretto |
Illuminazione dinamica classica (OBsoleta): per utilizzare l'illuminazione dinamica, si prega di consultare la voce `dynamic_lighting_enabled` nella documentazione relativa all'illuminazione dinamica |
larghezza |
25 |
Larghezza in unità. |
altezza |
25 |
Altezza in unità. |
incremento_di_scatto |
1 |
Dimensione di uno spazio della griglia in unità. |
opacità della griglia |
0.5 |
Opacità delle linee della griglia. |
opacità_nebbia |
0.35 |
Opacità della nebbia di guerra per il GM. |
colore_sfondo |
"#ffffff" |
Colore esadecimale dello sfondo della mappa. Memorizzato in minuscolo. |
colore della griglia |
#C0C0C0 |
Colore esadecimale delle linee della griglia. |
tipo_griglia |
"quadrato" |
Uno tra: quadrato, esagonale (Hex V), esagonale (Hex H), dimetrico o isometrico. |
numero_scala |
5 |
La distanza di un'unità. |
unità di misura |
"ft" |
Il tipo di unità da utilizzare per la scala. |
etichette della griglia |
non corretto |
Mostra le etichette della griglia esagonale. |
tipo diagonale |
"quattro" |
Uno tra quattro, pitagorico (euclideo), tre-cinque o manhattan. |
archiviato |
false |
Se la pagina è stata archiviata. |
aggiornamento leggero |
non corretto |
Si prega di aggiornare l'illuminazione dinamica solo quando un oggetto viene rilasciato. |
Forza leggera |
non corretto |
Illuminazione dinamica classica OBSOLETA: applicare la linea di vista agli oggetti. |
restrizione di luce |
non corretto |
Non consentite agli oggetti dotati di visione di attraversare le pareti dell’illuminazione dinamica. |
illuminazione globale |
non corretto |
Illuminazione dinamica classica (OBsoleta ): se il valore è “true” in qualsiasi punto in cui un segnalino possa “vedere”, si presume che vi sia una luce intensa. Si veda la voce " daylight_mode_enabled " nella documentazione sull'illuminazione dinamica |
adv_fow_enabled |
non corretto |
NEBBIA DI GUERRA AVANZATA CLASSICA (VECCHIA VERSIONE) – FUNZIONALITÀ OBSOLETA. |
adv_fow_dim_reveals |
non corretto |
DEPRECATO: "Nebbia di guerra" classica (versione precedente): la luce fioca rivela la nebbia. |
adv_fow_show_grid |
non corretto |
DEPRECATO "classico" nebbia di guerra avanzata: mostra la griglia attraverso la nebbia. |
grid_offset_x |
0 |
Spostamento orizzontale della griglia. |
grid_offset_y |
0 |
Spostamento della griglia verticale. |
force_lighting_refresh |
null |
Impostare per richiedere un aggiornamento dell'illuminazione dinamica. Il valore predefinito è null, non un valore booleano. |
jukeboxtrigger |
null |
Riproduci pagina al caricamento. Le opzioni disponibili sono: nessuna, stop, tutte o un ID traccia. |
illuminazione_dinamica_abilitata |
non corretto |
Utilizzare l’illuminazione dinamica |
modalità_luce_diurna_abilitata |
non corretto |
Utilizzare la modalità "Luce diurna" |
modalità luce diurna opacità |
1 |
imposta l’intensità della luce in modalità “Luce diurna” |
modalità esploratore |
"spento" |
Opzioni: disattivato, base
|
effetto oscurità |
"nessuno" |
Opzioni: nessuna, nebbia scura, nebbia chiara
|
_posizionamento |
0 |
Solo per Mod Script sandbox v1.5. Chiave di ordinamento nel menu della pagina. Le pagine esistenti utilizzano valori sparsi (ad esempio 2000). Ordini in base a questo numero; non lo utilizzi come indice di un array. Solo lettura, salvo tramite i metodi di posizionamento. |
_percorso |
"," |
Solo per Mod Script sandbox v1.5. ID delle cartelle delle pagine separati da virgole. I valori iniziano solitamente con una virgola e possono terminare con ulteriori virgole. Quando si effettua la suddivisione, si eliminino i segmenti vuoti. Solo lettura, salvo tramite i metodi di posizionamento. |
_wrapperAutoColor |
#ffffff |
Solo per Mod Script sandbox v1.5. Colore del rivestimento calcolato. Solo lettura. |
useAutoWrapper |
vero |
Solo per Mod Script sandbox v1.5. Se il valore è vero, si utilizzi _wrapperAutoColor. |
wrapperColor |
null |
Solo per Mod Script sandbox v1.5. Viene utilizzato quando useAutoWrapper è impostato su false. |
Solo per Mod Script sandbox v1.5. Metodi: placeBefore(obj), placeAfter(obj) (doveobj è una pagina o una cartella di pagine), placeIn(obj) (doveobj è una cartella di pagine). Il passaggio da un livello di cartella all’altro aggiorna _path.
Cartella di pagine
Solo per Mod Script sandbox v1.5.
Gli oggetti pageFolder sono cartelle delle pagine presenti nel menu della pagina. È possibile crearli e rimuoverli. L'eliminazione di una cartella fa salire di un livello nel menu le cartelle subordinate.
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"pageFolder" |
Solo lettura. |
nome |
"Nuova cartella" |
Visualizzato nel menu della pagina. |
_posizionamento |
0 |
Ordine nel menu della pagina. |
_percorso |
"," |
ID delle cartelle della pagina principale, separati da virgole. |
Metodi: placeBefore(obj), placeAfter(obj) (pagina o cartella di pagine), placeIn(obj) (cartella di pagine). La modifica delle cartelle aggiorna _path per questa cartella e le sue sottocartelle. La funzione remove() sposta i file e le cartelle figli più in alto, quindi elimina la cartella.
var folder = createObj('pageFolder', { name: 'Dungeons' });
Campagna
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
"radice" |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. |
_tipo |
"campagna" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto; si noti tuttavia che esiste un solo oggetto “Campaign” e che è possibile accedervi tramite Campaign(). Solo lettura. |
ordine di turno |
"" |
Una stringa JSON dell'ordine di turno. Si prega di consultare di seguito. |
pagina dell'iniziativa |
false |
ID della pagina utilizzata per il tracker quando è aperta la finestra dell'ordine di turno. Se impostato su "false", la finestra relativa all'ordine di turno si chiude. |
ID pagina giocatore |
false |
ID della pagina su cui è impostato il segnalibro del lettore. I giocatori visualizzano questa pagina per impostazione predefinita, a meno che non venga sovrascritta dalle " pagine specifiche per giocatore " riportate di seguito. |
pagine specifiche per i giocatori |
false |
Un oggetto (NON una STRINGA JSON) del formato: {player1_id: page_id, player2_id: page_id } … } Qualsiasi lettore associato a una pagina in questo oggetto sovrascriverà il valore di ` playerpageid`. |
cartella_giornale |
"" |
Una stringa JSON che contiene dati relativi alla struttura delle cartelle del gioco. Solo lettura. |
_cartella jukebox |
"" |
Una stringa JSON contenente dati relativi alla struttura della playlist del Jukebox del gioco. Solo lettura. |
_indicatori_di_token_ |
"[]" |
Array JSON degli indicatori per segnalino disponibili nel gioco (predefiniti e personalizzati). Solo lettura. Si veda l'esempio "Indicatori per segnalino" nella sezione "Grafica". |
strato in primo piano visibile |
vero |
Quando è vero, i giocatori vedranno gli oggetti sul livello in primo piano. Se false, non lo faranno. Nota: questa è un'impostazione globale che influisce su tutte le pagine. |
tokenBubbleMax |
3 |
I valori validi sono 3 o 4, che indicano il numero di bolle di segnalini. Disponibile nella versione aggiornata del motore VTT. |
Queste proprietà aggiuntive vengono lette sull'oggetto restituito dalla funzione Campaign(), non tramite get:
| Immobile | Sabbiera | Note |
|---|---|---|
sandboxVersion |
entrambi |
"1,0" o "1,5"
|
nodeVersion |
entrambi |
Stringa della versione di Node.js per il processo sandbox |
nome_foglio |
solo versione 1.5 | Nome abbreviato della scheda dei personaggi configurata |
riassunto calcolato |
solo versione 1.5 | Nomi delle proprietà calcolate disponibili in Beacon |
riepilogo dell'azione |
solo versione 1.5 | Azioni disponibili per le schede Beacon |
log(Campaign().sandboxVersion);
Ordine di turno L'ordine di turno è una stringa JSON che rappresenta l'elenco attuale dell'ordine di turno. Si tratta di un insieme di oggetti. Attualmente, l'ordine di turno può contenere solo oggetti provenienti da una pagina alla volta: l'ID della pagina corrente per l'ordine di turno è l'attributo "initiativepage". Assicurarsi di mantenerli entrambi sincronizzati, altrimenti si potrebbero ottenere risultati inaspettati. Per gestire l'ordine di turno, Le consigliamo di utilizzare JSON.parse() per ottenere un oggetto che rappresenti lo stato attuale dell'ordine di turno (NOTA: si assicuri innanzitutto che non si tratti di una stringa vuota ""…; in tal caso, lo inizializzi Lei stesso con un array vuoto). Ecco un esempio di oggetto relativo all'ordine di turno:
[
{
"id":"36CA8D77-CF43-48D1-8682-FA2F5DFD495F", //L'ID dell'oggetto grafico. Se questa opzione è selezionata, l'elenco dell'ordine di turno estrarrà automaticamente il nome e l'icona per l'elenco in base alla grafica sul tavolo da gioco.
"pr":"0", //Il valore attuale dell'articolo nell'elenco. Può essere un numero o un testo.
"custom":"" //Titolo personalizzato per l'articolo. Verrà ignorato se l'ID è impostato su un valore diverso da "-1".
},
{
"id":"-1", //Per gli articoli personalizzati, l'ID DEVE essere impostato su "-1" (si noti che si tratta di una STRINGA e non di un NUMERO).
"pr":"12",
"custom":"Test Custom" //Il nome da visualizzare per gli articoli personalizzati.
]
Per modificare l'ordine di turno, modifichi l'oggetto relativo all'ordine di turno corrente e utilizzi quindi la funzione JSON.stringify() per modificare l'attributo nella Campagna. Si noti che l'ordine di turno nella lista corrisponde all'ordine dell'array; pertanto, ad esempio, la funzione `push()` aggiunge un elemento alla fine della lista, mentre `unshift()` lo aggiunge all'inizio, ecc.
var turnorder;
if(Campaign().get("turnorder") == "") turnorder = []; //NOTA: Verifichiamo innanzitutto che turnorder non sia solo una stringa vuota. Se è così, considerarlo come un array vuoto.
altrimenti turnorder = JSON.parse(Campaign().get("turnorder"));
//Aggiungere una nuova voce personalizzata alla fine dell'ordine di turno.
turnorder.push({
id: "-1",
pr: "15",
custom: "Turn Counter"
});
Campaign().set("turnorder", JSON.stringify(turnorder));
Giocatore/trice
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"giocatore/trice" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
_d20userid |
ID utente — valido per tutto il sito. Ad esempio, la pagina utente del giocatore sul wiki è /User:ID, dove ID corrisponde al valore memorizzato in _d20userid. Solo lettura. |
|
nome visualizzato |
"" |
Il nome mostrato attualmente dal giocatore. È possibile modificarlo dalla pagina delle impostazioni dell’utente. Solo lettura. |
online |
false |
Solo lettura. |
_lastpage |
"" |
L'ID della pagina dell'ultima pagina visualizzata dal giocatore in qualità di GM. Questa proprietà non viene aggiornata per i giocatori o i GM che si sono registrati come giocatori. Solo lettura. |
macrobar |
"" |
Stringa delimitata da virgole contenente le macro presenti nella barra delle macro del giocatore. Solo lettura. |
parlando come |
"" |
L'ID del giocatore o del personaggio che il giocatore ha selezionato dal menu a tendina "As". Quando è impostato su una stringa vuota, il giocatore parla come se stesso. Quando è impostato su un personaggio, il valore è character|<ID> dove <ID> è l’ID del personaggio. |
colore |
#13B9F0 |
Il colore del riquadro accanto al nome del giocatore, nonché il colore delle sue coordinate sulla mappa, dei suoi cerchi di ping, ecc. |
mostra barra delle macro |
false |
Se la barra delle macro del giocatore è visibile. |
Macro
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"macro" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
ID giocatore |
L'ID del giocatore che ha creato questa macro. Solo lettura. | |
nome |
"" |
Il nome della macro. |
azione |
"" |
Il testo della macro. |
visibile a |
"" |
Elenco separato da virgole degli ID dei giocatori che possono visualizzare la macro oltre al giocatore che l'ha creata. L'opzione "Tutti i giocatori " è rappresentata dalla presenza di tutti i nomi nell'elenco. |
istokenazione |
false |
Questa macro è un'azione token che dovrebbe apparire quando vengono selezionati i token? |
Tabelle di tiro
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"tavolo pieghevole" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
nome |
"nuovo tavolo" |
|
mostra giocatori |
vero |
Solo per Mod Script sandbox v1.5. La funzione createToken(properties) crea un elemento grafico i cui lati provengono dagli avatar delle voci della tabella (sono consentite le immagini del Marketplace). Restituisce l'immagine. Se nessun articolo della tabella dispone di un avatar, non viene creato nulla.
Articolo della tabella
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"elemento della tabella" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
_rollabletableid |
"" |
ID della tabella a cui appartiene questo articolo. Solo lettura. |
avatar |
"" |
URL dell'immagine utilizzata per l'articolo della tabella. Si prega di consultare la nota riportata di seguito relativa alle restrizioni relative all’avatar e all’attributo imgsrc. |
nome |
"" |
|
peso |
1 |
Peso dell'articolo della tabella rispetto agli altri articoli nella stessa tabella. In parole povere, un articolo con peso 3 ha tre volte più probabilità di essere selezionato quando si tira il dado rispetto a un articolo con peso 1. |
Personaggio
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"personaggio" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
avatar |
"" |
URL dell'immagine utilizzata per il personaggio. Si veda la nota riportata di seguito relativa alle restrizioni relative all’avatar e a ` imgsrc `. |
nome |
"" |
|
biografia |
"" |
La biografia del personaggio. Si prega di consultare la nota sottostante relativa all'accesso ai campi Note, GMNotes e biografia. |
Note GM |
"" |
Note sul personaggio visibili solo al GM. Si prega di consultare la nota sottostante relativa all'accesso ai campi Note, GMNotes e biografia. |
archiviato |
false |
|
diari dei giocatori |
"" |
Elenco separato da virgole degli ID dei giocatori che possono visualizzare questo personaggio. Utilizzi l'opzione "Tutti" per consentire a tutti i giocatori di visualizzare. L'opzione "Tutti i giocatori " è rappresentata dall'inclusione di tutti i giocatori nell'elenco. |
controllato da |
"" |
Elenco separato da virgole degli ID dei giocatori che possono controllare e modificare questo personaggio. Utilizzi l'opzione "Tutti" per consentire a tutti i giocatori di apportare modifiche. L’espressione “Tutti i giocatori ” è rappresentata dall’inclusione di tutti i nomi nell’elenco. |
_defaulttoken |
"" |
Una stringa JSON corrispondente al segnalino di default del personaggio, qualora ne fosse stato impostato uno. Si tratta di un blob, come "bio " e "notes", pertanto la funzione get() accetta una callback. Non lo imposti con la funzione set(). Lo scriva utilizzando la funzione setDefaultTokenForCharacter. |
inParty |
false |
Se il personaggio fa parte del party. |
tag |
"[]" |
Array JSON di stringhe. Senza spazi né virgole. I tag non validi vengono eliminati; viene inviato un avviso alla console di output del Mod. Disponibile su entrambe le versioni sandbox. |
Solo per Mod Script sandbox v1.5. sheetEnvironment è "classico" o "beacon". Lo legga come character.sheetEnvironment (non tramite get).
Solo per Mod Script sandbox v1.5. La funzione createToken(properties, options, callback) crea un’immagine a partire dal Segnalino di default del personaggio. Se non è presente alcun Segnalino di default, viene utilizzato l'avatar personaggio. Se non è presente nemmeno l'avatar, la creazione non va a buon fine. È consentito l'uso di immagini del Marketplace. Poiché _defaulttoken è asincrono, l'immagine viene passata alla funzione di callback anziché essere restituita.
| Opzione | Default | Note |
|---|---|---|
preferAvatar |
false |
Si preferisce utilizzare l'avatar del personaggio come imgsrc. |
multilaterale |
false |
Modalità di creazione dei lati: l’opzione "false" mantiene i lati come nel Segnalino di default; "true " o "ensure " aggiunge imgsrc e avatar qualora non fossero presenti lati; "replace" sovrascrive i lati esistenti; "append " e "prepend " aggiungonoimgsrc e avatar rispettivamente alla fine o all’inizio. |
obj.createToken({ pageid, layer, left: x, top: y }, { multisided: 'ensure' }, function (token) {
token.set('status_green', 5);
});
Attributo
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"attributo" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
_characterid |
"" |
ID del personaggio a cui appartiene questo attributo. Solo lettura. Obbligatorio quando si utilizza createObj. |
nome |
"Senza titolo" |
|
attuale |
"" |
È possibile accedere al valore corrente dell’attributo nella chat e nelle macro utilizzando la sintassi @{Nome personaggio|Nome attributo} oppure nelle abilità utilizzando la sintassi @{Nome attributo}. |
massima |
"" |
È possibile accedere al valore massimo dell'attributo nella chat e nelle macro utilizzando la sintassi @{Nome personaggio|Nome attributo|max} oppure nelle abilità utilizzando la sintassi @{Nome attributo|max}. |
Importante: si prega di consultare la nota riportata di seguito relativa all’utilizzo delle schede dei personaggi per informazioni su come i valori predefiniti delle schede dei personaggi influenzino l’uso degli attributi.
Abilità
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico al mondo tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"abilità" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
_characterid |
"" |
Il personaggio a cui appartiene questa abilità. Solo lettura. Obbligatorio quando si utilizza createObj. |
nome |
"Abilità senza titolo" |
|
descrizione |
"" |
La descrizione non è visualizzata nell'interfaccia della scheda dei personaggi. |
azione |
"" |
Il testo dell'abilità. |
istokenazione |
false |
Questa abilità è un'azione simbolica che dovrebbe attivarsi quando vengono selezionati i segnalini collegati al personaggio genitore? |
Materiale di gioco
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico a livello globale tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"materiale di gioco" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
spille |
"[]" |
Una stringa JSON contenente un array di oggetti che rappresentano ciascuno dei pin associati alle parti di questo materiale di gioco. |
avatar |
"" |
URL dell'immagine utilizzata per il materiale di gioco. Si prega di consultare la nota riportata di seguito relativa alle restrizioni relative all’avatar e all’attributo imgsrc. |
nome |
"Misterioso biglietto" |
|
note |
"" |
Contiene il testo del materiale di gioco. Si prega di consultare la nota sottostante relativa all'utilizzo di Notes e GMNotes. |
Note GM |
"" |
Contiene il testo del materiale di gioco visibile solo al GM. Si prega di consultare la nota sottostante relativa all'utilizzo di Notes e GMNotes. |
diari dei giocatori |
"" |
Elenco separato da virgole degli ID dei giocatori che possono visualizzare questo materiale di gioco. Utilizzi l'opzione " Tutti" per visualizzare il messaggio a tutti i giocatori. L'opzione "Tutti i giocatori " è rappresentata dall'inclusione di tutti i giocatori nell'elenco. |
archiviato |
false |
|
controllato da |
"" |
Elenco separato da virgole degli ID dei giocatori che possono controllare e modificare questo materiale di gioco. L'opzione "Tutti i giocatori " è rappresentata dall'inclusione di tutti i giocatori nell'elenco. |
tag |
"[]" |
Array JSON di stringhe. Si applicano le stesse regole dei tag relativi ai personaggi. Disponibile su entrambe le versioni sandbox. |
Nota: Campaign().get("_journalfolder") è accessibile in lettura. Gli script non possono scrivere nella cartella del diario. I materiali di gioco creati dagli script vengono inseriti nella directory principale.
Ponte
Sono disponibili alcune funzioni di supporto dello script Mod per pescare, distribuire, mescolare, richiamare, raccogliere, prendere, giocare e consegnare le carte: shuffleDeck, cardInfo, recallCards, dealCardsToTurn, drawCard, pickUpCard, takeCardFromPlayer, playCardToTable, giveCardToPlayer. Sono disponibili su entrambe le versioni sandbox. Si veda la documentazione relativa alle funzioni.
| Immobile | Valore predefinito | Note |
|---|---|---|
_id |
"" |
identificativo del mazzo |
_tipo |
"ponte" |
|
nome |
"" |
nome del mazzo |
_currentDeck |
"" |
un elenco delimitato da virgole delle carte attualmente presenti nel mazzo (comprese quelle che sono state giocate sul tavolo di gioco/nelle mani). Cambia quando il mazzo viene mescolato. |
_currentIndex |
-1 |
l'indice attuale della nostra posizione nel mazzo: «Quale carta verrà pescata dopo?» |
_currentCardShown |
vero |
mostrare la carta attualmente in cima al mazzo |
mostra giocatori |
vero |
Mostrare il mazzo ai giocatori |
playerscandraw |
vero |
I giocatori possono pescare le carte? |
avatar |
"" |
il retro delle carte di questo mazzo di carte |
mostrato |
false |
Mostra il mazzo sul tabellone (il mazzo è attualmente visibile?) |
giocatori_che_hanno_visto_le_carte |
vero |
I giocatori possono vedere il numero di carte che gli altri giocatori hanno in mano? |
giocatori_vedono_le_carte_del_avversario |
false |
I giocatori possono vedere il fronte delle carte quando guardano nelle mani degli altri giocatori? |
gm_seenumcards |
vero |
Il GM può vedere il numero di carte che ogni giocatore ha in mano? |
gm_seefrontofcards |
false |
Il GM può vedere il lato anteriore delle carte quando guarda nella mano di ciascun giocatore? |
infinitecards |
false |
In questo mazzo di carte c’è un numero infinito di carte? |
_cardSequencer |
-1 |
Utilizzato internamente per far avanzare il mazzo quando si pescano le carte. |
carte giocate |
"faccia in su" |
Come si utilizzano le carte di questo mazzo sul tavolo di gioco? a faccia in su o a faccia in giù. |
altezza predefinita |
"" |
Qual è l'altezza predefinita delle carte giocate sul tavolo di gioco? |
larghezza predefinita |
"" |
|
modalità scarto |
"nessuno" |
Che tipo di mazzo degli scarti presenta questo mazzo di carte? none = nessun mazzo degli scarti, choosebacks = consente ai giocatori di vedere il retro delle carte e sceglierne una, choosefronts = vedere il fronte delle carte e sceglierne una, drawtop = pescare la carta scartata più di recente, drawbottom = pescare la carta scartata più vecchia. |
_discardPile |
"" |
Qual è attualmente la pila degli scarti di questo mazzo? Elenco di carte delimitato da virgole. Si tratta di carte che sono state rimosse dal gioco e che non verranno reinserite nel mazzo durante la mescolata fino a quando non verrà eseguito un richiamo. |
Carta
| Immobile | Valore predefinito | Note |
|---|---|---|
nome |
"" |
Nome della carta |
avatar |
"" |
Parte anteriore del biglietto |
card_back |
"" |
Sovrascrivere l'immagine sul retro della carta |
_deckid |
"" |
ID del mazzo |
_tipo |
"carta" |
|
_id |
"" |
Solo per Mod Script sandbox v1.5. La funzione createToken(properties, options) crea un'immagine come se la carta fosse stata giocata sul tavolo (sono consentite immagini provenienti dal Marketplace). Restituisce l'immagine.
| Opzione | Default | Note |
|---|---|---|
asCard |
vero |
Se vero, l’elemento grafico è una carta. Se falso, un segnalino a più facce che ha solo l’aspetto della carta. |
a faccia in su |
impostazione predefinita del mazzo |
Visibile il lato anteriore o quello posteriore; imposta currentSide. |
Mano
Si prega di notare che ogni giocatore dovrebbe avere solo UNA mano.
| Proprietà | Valore predefinito | Note |
|---|---|---|
mano corrente |
"" |
Elenco delle carte attualmente in mano, separate da virgola. Si prega di notare che questo non è più di sola lettura. Idealmente, dovrebbe essere regolato solo con le funzioni del mazzo di carte. |
_tipo |
mano |
|
_parentid |
"" |
ID del giocatore a cui appartiene la mano |
_id |
"" |
|
vista corrente |
"bydeck" |
Quando un giocatore scopre le proprie carte, la visualizzazione avviene per mazzo o per singola carta? |
Brano del Jukebox
| Proprietà | Valore predefinito | Note |
|---|---|---|
_id |
Un ID univoco per questo oggetto. Unico a livello globale tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"jukeboxtrack" |
Può essere utilizzato per identificare il tipo di oggetto o per cercare l'oggetto. Solo lettura. |
sta giocando |
false |
Booleano utilizzato per determinare se il brano è in riproduzione o meno. Impostando questo valore su " true " e "softstop" su " false", viene riprodotto un brano. |
arresto graduale |
false |
Booleano utilizzato per determinare se una traccia non in loop è stata riprodotta almeno una volta. Questo parametro deve essere impostato su "false " per garantire la riproduzione di un brano. |
titolo |
"" |
L'etichetta visibile per il brano nella scheda jukebox. |
volume |
30 |
Il livello del volume della traccia. Si prega di notare che questo valore deve essere impostato su un numero intero (non una stringa), altrimenti si potrebbero verificare problemi di funzionalità. Valori compresi tra 0 e 100 (percentuale). |
ripeti |
false |
È opportuno che la traccia sia in loop? Impostare su vero se è così. |
Effetti speciali personalizzati
| Proprietà | Valore predefinito | Note |
|---|---|---|
_id |
Un identificativo univoco per questo oggetto. Unico a livello globale tra tutti gli oggetti presenti in questo gioco. Solo lettura. | |
_tipo |
"custfx" |
Può essere utilizzato per identificare il tipo di oggetto o per effettuare una ricerca dell'oggetto. Solo lettura. |
nome |
"" |
Il nome visibile per l'FX nell'elenco FX. |
definizione |
{} |
Oggetto Javascript che descrive l'effetto speciale. |
Restrizioni relative alle proprietà `imgsrc ` e ` avatar `
Sebbene ora sia possibile modificare le proprietà “imgsrc” e “avatar”, al fine di garantire la sicurezza di tutti gli utenti di Roll20 abbiamo introdotto le seguenti restrizioni per tali proprietà:
-
È necessario utilizzare un file immagine che sia stato caricato nella propria Libreria di Roll20 – non da un sito esterno (come Imgur) e non dal Marketplace di Roll20. Gli URL memorizzati vengono riscritti sul CDN di Roll20 (spesso
https://files.d20.io/images/...). Non è necessario il prefissos3.amazonaws.come non si deve aspettarsi cheget("imgsrc")corrisponda all'URL fornito. - Includa la stringa di query nell'URL che ci invia.
- Per i valori
imgsrcdelle immagini grafiche non è più necessario utilizzare il nome relativo alle dimensionidelle miniature. Gli URL delle immagini vengono adattati a un formato di archiviazione corretto e a una posizione CDN; non si deve aspettarsi cheobj.get('imgsrc')corrisponda all'URL fornito al momento della creazione. La funzione`findObjs()`normalizza e abbina gli URL, pertanto è comunque possibile effettuare ricerche utilizzando qualsiasi URL valido.
Se elimina un'immagine dalla Sua libreria, questa verrà rimossa da tutti i giochi che la utilizzano, compresi quelli che utilizzano i Suoi script di mod.
Solo per Mod Script sandbox v1.5. Le funzioni createCopy e createToken consentono di creare elementi grafici che utilizzano immagini del Marketplace copiandole da un oggetto esistente.
Utilizzo dei campi Note, GMNote e Bio Asincrono
Per accedere ai campi "note", "gmnotes" o "bio" nelle schede dei personaggi e nei materiali di gioco, è necessario passare una funzione di callback come secondo argomento alla funzione get(). Ecco un esempio:
var character = getObj("personaggio", "-JMGkBaMgMWiQdNDwjjS");
character.get("bio", function(bio) {
log(bio); //effettuare qui un'operazione con la biografia del personaggio.
});
Impostino questi campi con la funzione set() dopo che l'oggetto è stato creato. Non si devono passare i parametri " bio", "notes" o " gmnotes " alla funzione " createObj". Impostate le note e le gmnote con chiamate separate alla funzione set(). "Graphic gmnotes " è una stringa normale e non fa parte di questo elenco. Il parametro _defaulttoken è un blob: legga il contenuto tramite una callback e lo scriva utilizzando la funzione setDefaultTokenForCharacter.
Lavorare con le schede dei personaggi
La funzione Scheda dei personaggi influisce sull'utilizzo del tipo di oggetto Attributo, poiché le schede consentono di specificare un valore predefinito per ciascun attributo presente nella scheda. Tuttavia, se l'attributo è impostato sul valore predefinito, non esiste ancora un oggetto Attributo effettivo creato nel gioco per quel personaggio. Offriamo una funzione di comodità che nasconde questa complessità all'utente. Si consiglia di utilizzare questa funzione per ottenere il valore di un attributo in futuro, specialmente se si è a conoscenza che un gioco utilizza una scheda dei personaggi. getAttrByName(ID_personaggio, nome_attributo, tipo_valore) È sufficiente specificare l’ID del personaggio, il nome (non l’ID) dell’attributo (ad es.PF o Str) e, successivamente, se si desidera il valore attuale o il valore massimo per il tipo_valore. Ecco un esempio:
var personaggio = getObj("personaggio", "-JMGkBaMgMWiQdNDwjjS");
getAttrByName(personaggio.id, "str"); // il valore attuale di str, ad esempio "12"
getAttrByName(personaggio.id, "str", "max"); //il valore massimo di str, ad esempio "[[floor(@{STR}/2-5)]]"
Si prega di notare che i campi con valori calcolati automaticamente restituiranno la formula anziché il risultato del valore. È quindi possibile trasmettere tale formula a sendChat() per utilizzare il motore dei dadi e ottenere automaticamente il risultato. Si raccomanda inoltre di consultare la documentazione relativa alle schede dei personaggi per ulteriori informazioni su come queste interagiscono con gli script di mod. Si vedano inoltre le funzioni setAttrs, getSheetDefaultValue, getSheetItem e setSheetItem (entrambe relative alle sandbox). Solo per Mod Script sandbox v1.5. getComputed, setComputed, performAction. Si veda la documentazione relativa alle funzioni.
Il metodo `getAttrByName ` restituirà solo il valore dell'attributo, non l'oggetto attributo stesso. Se desidera fare riferimento a proprietà dell'attributo diverse da "current" o "max", oppure se desidera modificare le proprietà dell'attributo, deve utilizzare una delle altre funzioni sopra indicate, come ad esempio "findObjs". Se l'oggetto attributo non esiste, la funzione getAttrByName() restituisce il valore predefinito della scheda dei personaggi per quel nome, qualora la scheda ne definisca uno; in caso contrario, restituisce "undefined".
Creazione di oggetti
createObj(tipo, attributi)
È possibile creare "grafica", "testo", "tracciato", 'pathv2', 'personaggio', 'abilità', "attributo", "materiale di gioco", "rollabletable", "tableitem", 'macro', 'scheda', "mazzo", "custfx", "window", "door"e "perno". Solo per Mod Script sandbox v1.5. 'pageFolder'. È possibile creare un nuovo oggetto nel gioco utilizzando la funzione createObj. È necessario specificare il tipo dell’oggetto (una delle proprietà _type valide presenti nell’elenco degli oggetti riportato sopra), nonché un oggetto attributes contenente un elenco degli attributi dell’oggetto. Si noti che, qualora l’oggetto abbia un oggetto padre (ad esempio, gli attributi e le abilità appartengono ai personaggi, mentre la grafica, i testi e i tracciati appartengono alle pagine, ecc.), è necessario specificare l’ID dell’oggetto padre nell’elenco delle proprietà (ad esempio, è necessario includere la proprietà characterid quando si crea un attributo). Si noti inoltre che, anche quando si creano nuovi oggetti, non è possibile impostare proprietà di sola lettura: queste verranno automaticamente impostate al loro valore predefinito. L'unica eccezione a questa regola si verifica quando si crea un percorso: è necessario includere la proprietà "path", ma questa non può essere modificata una volta che il percorso è stato creato inizialmente. La funzione `createObj` restituirà il nuovo oggetto, consentendoLe di continuare a utilizzarlo.
// Creare un attributo "Forza" per i personaggi aggiunti dopo che la sandbox è pronta.
// L'assegnazione di "add:character" prima che il sistema sia pronto si attiva anche per i personaggi già esistenti.
on("ready", function() {
on("add:character", function(obj) {
createObj("attributo", {
name: "Strength",
current: 0,
max: 30,
characterid: obj.id
});
});
});
Eliminazione di oggetti
rimuovi oggetto()
È possibile eliminare gli oggetti “graphic”, “text”, “path”, “pathv2”, “personaggio”, “abilità”, “attributo”, “materiale di gioco”, “rollabletable”, “tableitem”, “macro”, “card”, “deck”, “custfx”, “window”, “door” e “pin”. Solo per Mod Script sandbox v1.5. 'pageFolder'.
È possibile eliminare gli oggetti di gioco esistenti utilizzando la funzione .remove(). La funzione .remove() funziona su tutti gli oggetti che è possibile creare con la funzione createObj. È necessario richiamare la funzione direttamente sull'oggetto. Ad esempio, mycharacter.remove();.
Oggetti globali
Esistono diversi oggetti disponibili a livello globale in qualsiasi punto dello script.
Campagna() (funzione)
Una funzione che restituisce l'oggetto Campaign. Poiché esiste una sola campagna, questo globale fa sempre riferimento all'unica campagna presente nel gioco. Utile, ad esempio, per verificare se un oggetto si trova nella pagina attiva utilizzando Campaign().get("playerpageid").
stato/Provincia
La variabile `state` è un oggetto nell'ambito globale, accessibile a tutti gli script in esecuzione all'interno di un gioco. È possibile accedere all'oggetto `state` da qualsiasi funzione o callback in qualsiasi momento semplicemente utilizzando la variabile globale denominata ` state`. Inoltre, l'oggetto di stato viene conservato tra un'esecuzione e l'altra della Mod Script sandbox; pertanto, è possibile utilizzarlo per memorizzare le informazioni che si desidera abbiano a disposizione nelle future esecuzioni dello script. Nota: si consiglia di utilizzare l'oggetto "state" per memorizzare le informazioni necessarie esclusivamente agli script di mod, poiché non vengono inviate ai computer dei giocatori e non aumentano le dimensioni del file di gioco. Salvate i valori necessari nel gioco nelle proprietà degli oggetti di Roll20.
Tipi memorizzabili
L'oggetto di stato è in grado di memorizzare solo tipi di dati semplici, come previsto dallo standard JSON.
| Tipo | Esempi | Descriptionq |
|---|---|---|
Booleano |
vero falso
|
Il valore " vero " o " falso". |
Numero |
123,5 10 1,23e20
|
Qualsiasi formato numerico supportato da Javascript. Virgola mobile o intero. |
Stringa |
"Hello Fantasy" "Oh, e mondo"
|
Una stringa di testo standard. |
Matrice |
[ 1, 2, 3, 4 ][ 'A', 'B', 'C'][1, 2, ['bob', 3], 10, 2,5]
|
Una raccolta ordinata di qualsiasi tipo, inclusi altri array. |
Oggetto |
{ key: 1, value: 'roll20' } |
Un semplice oggetto chiave/valore con chiavi stringa e qualsiasi tipo come valore, inclusi altri oggetti. |
Avviso: sebbene le funzioni sembrino funzionare quando vengono memorizzate nello stato inizialmente, scompariranno la prima volta che lo stato verrà ripristinato dalla persistenza, ad esempio al riavvio della sandbox.
-
Nota: ciò include gli oggetti Roll20 che si ottengono dagli eventi o dalle funzioni
findObjs(),getObj(),filterObjs(),createObj(), ecc.
Promemoria importanti
L'oggetto di stato è condiviso tra tutti gli script presenti in una sandbox. Per evitare di danneggiare altri script, è importante seguire alcune semplici linee guida:
-
Non assegnare direttamente all'oggetto
statoradice.
state = { break: 'tutte le cose' }; // NON FATELO MAI!!!
-
Si raccomanda di evitare di utilizzare variabili locali denominate "
state" nei Suoi script. Sebbene questa soluzione sia efficace, potrebbe creare confusione agli utenti futuri dei vostri script e causare problemi se il codice viene modificato in modo inappropriato.
funzione turn(){
var state = Campaign().get('turnorder'); // Pratica scorretta, da evitare!
// ...
}
-
Si raccomanda di inserisca le proprie proprietà sotto almeno una proprietà dello spazio dei nomi. Assicurarsi di utilizzare una proprietà dello spazio dei nomi sufficientemente descrittiva. Si prega di evitare nomi quali
“script” o“impostazioni”. È preferibile utilizzare il nome del proprio modulo oppure il proprio nome o nickname.
if( ! state.MyModuleNamespace ) {
state.MyModuleNamespace = { module: 'my module', ok: 'this is fine!', count: 0 };
}
state.MyModuleNamespace.count++;
Esempio di utilizzo
Questo è un esempio pratico che utilizza correttamente l'oggetto di stato.
on('ready', function() {
"use strict";
// Verifica se la proprietà con namespace esiste e, in caso contrario, la crea
if( ! state.MyModuleNS ) {
state.MyModuleNS = {
version: 1.0,
config: {
color1: '#ff0000',
color2: '#0000ff'
},
count: 0
};
}
// Utilizzo delle proprietà dello stato per configurare un messaggio da inviare alla chat.
sendChat(
'Modulo di test',
'<span style="color: '+state.MyModuleNS.config.color1+';">'+
'Test dello stato'+
'</span> '+
'<span style="color: '+state.MyModuleNS.config.color2+';">'+
'Script v'+state.MyModuleNS.version+' avviato '+(++state.MyModuleNS.count)+' volte!'+
'</span>'
);
});
Ricerca/Filtraggio di oggetti
Gli script Mod mettono a disposizione diverse funzioni di supporto che possono essere utilizzate per individuare gli oggetti.
getObj(type, id)
Questa funzione restituisce un singolo oggetto se le vengono passati il _type e l’_id dell’oggetto. Si consiglia di utilizzare questa funzione piuttosto che le altre funzioni di ricerca, quando possibile, poiché è l'unica che non richiede l'iterazione dell'intera collezione di oggetti.
on("change:graphic:represents", function(obj) {
if(obj.get("represents") != "") {
var personaggio = getObj("personaggio", obj.get("represents"));
}
});
trovaOggetti(attributi)
Passare a questa funzione un elenco di attributi e restituirà tutti gli oggetti corrispondenti sotto forma di array. Si noti che questa operazione viene eseguita su tutti gli oggetti di ogni tipo in tutte le pagine; pertanto, se state lavorando con oggetti da tavolo di gioco, è consigliabile includere almeno un filtro per _type e _pageid.
var currentPageGraphics = findObjs({
_pageid: Campaign().get("playerpageid"),
_type: "graphic",
});
_.each(currentPageGraphics, function(obj) {
//Eseguire un'operazione con obj, che si trova nella pagina corrente ed è un elemento grafico.
});
È inoltre possibile passare un secondo argomento facoltativo che contiene un oggetto con un elenco di opzioni, tra cui:
- caseInsensitive (vero/falso): se il valore è vero, le proprietà delle stringhe verranno confrontate senza tenere conto delle maiuscole e minuscole
var targetTokens = findObjs({
name: "target"
} , {caseInsensitive: true});
//Restituisce tutti i segnalini con nome "target", "Target", "TARGET", ecc.
- startsWith (vero/falso): se vero, le proprietà delle stringhe devono corrispondere come prefisso.
-
tagMatch: Durante la corrispondenza
dei tag:'all'(impostazione predefinita; l'oggetto possiede tutti i tag elencati),'any'(almeno uno),'only'(esattamente l'insieme elencato).
var knights = findObjs({ type: 'personaggio', name: 'Sir' }, { startsWith: true });
filtraObj (richiamo)
Eseguirà la funzione di callback fornita su ciascun oggetto e, se la callback restituisce true, l'oggetto sarà incluso nell'array dei risultati. Attualmente, si sconsiglia di utilizzare filterObjs() per la maggior parte degli scopi: poiché findObjs() dispone di un'indicizzazione integrata che garantisce una maggiore velocità di esecuzione, è quasi sempre preferibile utilizzare findObjs() per ottenere prima gli oggetti del tipo desiderato, quindi filtrarli utilizzando il metodo nativo .filter() per gli array.
var results = filterObjs(function(obj) {
if (obj.get("left") < 200 && obj.get("top") < 200) return true;
else return false;
});
//Results è un array contenente tutti gli oggetti che si trovano nell'angolo in alto a sinistra del tavolo di gioco.
getAllObjs()
Restituisce un array di tutti gli oggetti presenti nel gioco (di tutti i tipi). Equivale a chiamare `filterObjs` e a restituire semplicemente `true ` per ogni oggetto.
getAttrByName(id_carattere, nome_attributo, tipo_valore)
Ottiene il valore di un attributo, utilizzando il valore predefinito dalla scheda dei personaggi se l'attributo non è presente. value_type è un parametro facoltativo, che è possibile utilizzare per specificare il valore corrente o il valore massimo. Il metodo `getAttrByName ` restituirà solo il valore dell’attributo, non l’oggetto attributo stesso. Se desidera fare riferimento a proprietà dell'attributo diverse da "current" o "max", oppure se desidera modificare le proprietà dell'attributo, deve utilizzare una delle altre funzioni sopra indicate, come ad esempio findObjs. Per le sezioni ripetute, è possibile utilizzare il formato repeating_section_$n_attribute, dove n è il numero della riga che si ripete (a partire da zero). Ad esempio, repeating_spells_$2_name restituirà il valore di name presente nella terza riga di repeating_spells. È possibile ottenere un comportamento equivalente a ` getAttrByName` procedendo come segue:
// I valori "current" e "max" dipendono interamente dall’attributo e dal sistema di gioco
// in questione; non è disponibile alcuna funzione per determinarli automaticamente
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 (!attribute) {
attribute = createObj('attribute', {
characterid: character_id,
name: attribute_name,
current: attribute_default_current,
max: attribute_default_max
});
}
if (value_type == 'max') {
return attribute.get('max');
} else {
return attribute.get('current');
}
}