> For the complete documentation index, see [llms.txt](https://docs-it.coderblock.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-it.coderblock.com/coderblock-studio/builder-tool/npc-e-conversazioni.md).

# NPC e conversazioni

Una delle caratteristiche più interessanti del Coderblock World è che, all’interno delle tue scene o land virtuali, puoi inserire degli **NPC** (*Non Playable Characters*) e creare dei flussi di conversazione che si attiveranno ogni volta che un utente interagirà con loro!

Conversazioni di questo tipo rappresentano un passo significativo verso un'esperienza di gioco più immersiva e dinamica: i dialoghi interattivi e realistici - potenziati dall'intelligenza artificiale - contribuiscono infatti a creare un ambiente più vivo e coinvolgente, rendendo l'esperienza utente unica.

<figure><img src="/files/RiqJ8p43ZWFuRjsCVpBL" alt=""><figcaption><p>NPC e conversazioni - esempio</p></figcaption></figure>

### Inserire un NPC in scena

Puoi inserire sia uno dei nostri Cody che uno dei Digital Humans come NPC nella tua scena. \
Cerca **NPC** nella barra di ricerca del Builder e scegli il tuo preferito!

<div><figure><img src="/files/xGnrSkZd4GKngMGH5LO9" alt="" width="250"><figcaption></figcaption></figure> <figure><img src="/files/tTCCl3dDqUn9T0tfTqcJ" alt="" width="258"><figcaption></figcaption></figure></div>

Una volta selezionato l'NPC, posizionalo dove preferisci all'interno della tua scena. Potrà accogliere gli utenti all'ingresso di un edificio, farsi trovare accanto a una scrivania o al tavolo di una stanza riunioni, o magari nei pressi del luogo in cui hai impostato l'inizio di una [Quest](#gestione-delle-quest-tramite-conversazione-con-npc): qualunque posto può essere adatto per un NPC nella tua scena!

### Impostare il flusso di conversazione

Una volta posizionato l'NPC, cliccaci sopra e clicca poi su '***Crea Conversation***'.

<figure><img src="/files/d0hZ6qG8uDresnwSZOPP" alt="" width="138"><figcaption></figcaption></figure>

I flussi di conversazione sono gestiti tramite dei ***Narrative Event.***\
Ogni *Narrative Event* rappresenta un 'nodo' nel flusso di conversazione, e le scelte dell'utente determineranno l'effettivo susseguirsi di nodi e di conseguenza la conversazione con l'NPC mostrata.

In ogni *Narrative*, si possono aggiungere uno o più '*Items*', che si possono considerare come '*sotto nodi'*. Puoi scegliere tra due tipologie di Items:

* **ItemText**: è un item 'informativo', 'conversazionale'. Un semplice testo che potrai decidere di inserire all'interno della conversazione e che non prevede una scelta, ma permette al flusso di conversazione di continuare fino alla fine di quel particolare Narrative Event, o fino alla presenza di un ItemChoice. Se non vi sono ItemChoice e il Narrative Event finisce (ovvero non ci sono altri ItemText), la conversazione con l'NPC terminerà.&#x20;
* **ItemChoice**: permette all'utente di effettuare una scelta per mezzo delle '*Answer*', tramite le quali il flusso di conversazione si sposta su un'altro Narrative Event. Clicca su '***Add Answer***' per inserire le scelte che può effettuare l'utente (con il testo che verrà mostrato nei pulsanti di scelta) e le relative Narratives su cui il flusso di conversazione atterrerà a seconda della scelta.

<div><figure><img src="/files/CGMy4CfQTYzqTR0gqpsq" alt="" width="315"><figcaption></figcaption></figure> <figure><img src="/files/IaMlGgfSypgXw3Db2I53" alt="" width="308"><figcaption></figcaption></figure> <figure><img src="/files/b5OzUoCiPRyRzGXPrAmm" alt="" width="316"><figcaption></figcaption></figure></div>

Per entrambe le tipologie di Items, puoi inserire in '*Dialogue Text*' ciò che dirà l'NPC quando il flusso di conversazione giungerà in quel particolare Item.

Per aggiungere un item al Narrative Event basta cliccare su '*Add ItemText*' o '*Add ItemChoice*', e questo si posizionerà dopo l'ultimo Item precedentemente creato (o come primo nel caso non hai ancora aggiunto nessun Item).

<figure><img src="/files/qxmCU1wle8SZLBNzGhWt" alt="" width="287"><figcaption></figcaption></figure>

Per ogni Item puoi anche definire delle *Conditions* e degli *Effects* che ti permettono di gestire meglio la conversazione, determinando le condizioni affinché quel 'sotto nodo' venga mostrato all'utente durante la conversazione, o gli effetti che questo attiverà.\
La principale funzione di queste due impostazioni è quella di gestire le Quest, come spiegato [QUI](/coderblock-studio/builder-tool/npc-e-conversazioni.md#gestione-delle-quest-tramite-conversazione-con-npc).

<figure><img src="/files/bnUFKqtmhHNjYCNsSrpI" alt="" width="305"><figcaption></figcaption></figure>

Una volta creata la conversazione, potrai modificarla ogni volta che vorrai cliccando sull'NPC e poi su '***Aggiorna Conversation***'.\
Ricordati sempre di cliccare su '***Salva***' nel singolo Item di una Narrative quando lo modifichi, ma anche sul '*Salva*' della conversazione generale, in alto.

<figure><img src="/files/uO9zdkcTu1X9R9G5YQ7n" alt="" width="165"><figcaption><p>NPC conversations - Save</p></figcaption></figure>

Infine, clicca in alto a destra sul pulsante verde '***Save Scene**'* per attivare le tue modifiche.

### Gestione delle Quest - *Condition* ed *Effect*

I nostri NPC non sono solo simpatici personaggi, in grado di fornire informazioni e dare compagnia agli utenti, ma possono anche svolgere un ruolo davvero cruciale all'interno del tuo ambiente virtuale.

**L'attivazione e gestione delle** [**Quest**](/coderblock-studio/builder-tool/quest-cosa-sono-e-come-crearle.md) **è, infatti, interamente demandata agli NPC** e alle loro conversazioni!

La parte del flusso di conversazione relativa alla gestione delle quest merita un approfondimento a parte. Stiamo parlando delle sezioni relative a *Condition* ed *Effect*, che trovi nel dettaglio [QUI](/coderblock-studio/builder-tool/quest-cosa-sono-e-come-crearle.md#gestione-quest-tramite-npc-condition-ed-effect).
