{"id":104,"date":"2016-10-13T19:56:55","date_gmt":"2016-10-13T22:56:55","guid":{"rendered":"http:\/\/www.seizestudios.com\/?page_id=104"},"modified":"2019-09-12T17:05:32","modified_gmt":"2019-09-12T20:05:32","slug":"rpgtalk","status":"publish","type":"page","link":"http:\/\/www.seizestudios.com\/br\/developer\/rpgtalk\/","title":{"rendered":"RPGTalk"},"content":{"rendered":"<p style=\"padding-left: 30px;\"><span style=\"font-family: Menlo;\"><link rel='stylesheet' href='http:\/\/www.seizestudios.com\/wp-content\/plugins\/documentor-lite\/skins\/default\/style.css' type='text\/css' media='all' \/><div id=\"documentor-1\" class=\"documentor-default documentor-wrap\" data-docid = \"1\" ><div class=\"documentor-topicons doc-noprint\"><span class=\"doc-topiconswrap\"><a class=\"doc-print\" data-printspath=\"http:\/\/www.seizestudios.com\/wp-content\/plugins\/documentor-lite\/skins\/default\/print.css\"> <img height=\"15\" width=\"15\" src=http:\/\/www.seizestudios.com\/wp-content\/plugins\/documentor-lite\/skins\/default\/images\/document-print.png> <\/span><\/a><\/span><div class=\"cleardiv\"><\/div><div class=\"clrright\"><\/div><\/div><div class=\"document-wrapper\"><div class=\"doc-menu toggle doc-noprint\"><span class=\"doc-search\">\r\n\t\t\t\t\t<input type=\"text\" name=\"search_document\" class=\"search-document\" placeholder=\"Search\" \/>\r\n\t\t\t\t\t<img decoding=\"async\" src=\"http:\/\/www.seizestudios.com\/wp-content\/plugins\/documentor-lite\/skins\/default\/images\/search.png\" \/>\r\n\t\t\t\t<\/span><div class=\"doc-menurelated\"><ol class=\"doc-list-front\"><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#introduction\"   data-href=\"#introduction\" data-sec-counter=\"1\" data-section-id=\"2\">Introduction<\/a><span class=\"doc-mtoggle expand\"><\/span><ol><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#whats-new\"   data-href=\"#whats-new\" data-sec-counter=\"1.1\" data-section-id=\"3\">What's new?<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#download\"   data-href=\"#download\" data-sec-counter=\"1.2\" data-section-id=\"4\">Download<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#contribute\"   data-href=\"#contribute\" data-sec-counter=\"1.3\" data-section-id=\"26\">Contribute<\/a><\/li><\/ol><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#tutorials\"   data-href=\"#tutorials\" data-sec-counter=\"2\" data-section-id=\"5\">Tutorials<\/a><span class=\"doc-mtoggle expand\"><\/span><ol><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#quick-start\"   data-href=\"#quick-start\" data-sec-counter=\"2.1\" data-section-id=\"6\">Quick Start<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#regular-options\"   data-href=\"#regular-options\" data-sec-counter=\"2.2\" data-section-id=\"7\">Regular Options<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#characters-settings\"   data-href=\"#characters-settings\" data-sec-counter=\"2.3\" data-section-id=\"28\">Characters Settings<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#interface\"   data-href=\"#interface\" data-sec-counter=\"2.4\" data-section-id=\"9\">Interface<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#callback-breaks-variables\"   data-href=\"#callback-breaks-variables\" data-sec-counter=\"2.5\" data-section-id=\"8\">Callback, Breaks & Variables<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#photos-and-sprites\"   data-href=\"#photos-and-sprites\" data-sec-counter=\"2.6\" data-section-id=\"10\">Photos and Sprites<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#animation\"   data-href=\"#animation\" data-sec-counter=\"2.7\" data-section-id=\"11\">Animation<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#audio\"   data-href=\"#audio\" data-sec-counter=\"2.8\" data-section-id=\"12\">Audio<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#choices\"   data-href=\"#choices\" data-sec-counter=\"2.9\" data-section-id=\"13\">Choices<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#easily-changing-the-text-while-the-game-is-running\"   data-href=\"#easily-changing-the-text-while-the-game-is-running\" data-sec-counter=\"2.10\" data-section-id=\"14\">Easily changing the text while the game is running<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#dubbing\"   data-href=\"#dubbing\" data-sec-counter=\"2.11\" data-section-id=\"15\">Dubbing<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#localization\"   data-href=\"#localization\" data-sec-counter=\"2.12\" data-section-id=\"16\">Localization<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#integrating-with-timeline\"   data-href=\"#integrating-with-timeline\" data-sec-counter=\"2.13\" data-section-id=\"17\">Integrating with Timeline<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#tags\"   data-href=\"#tags\" data-sec-counter=\"2.14\" data-section-id=\"18\">Tags<\/a><\/li><\/ol><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#programming-reference\"   data-href=\"#programming-reference\" data-sec-counter=\"3\" data-section-id=\"19\">Programming Reference<\/a><span class=\"doc-mtoggle expand\"><\/span><ol><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#variables\"   data-href=\"#variables\" data-sec-counter=\"3.1\" data-section-id=\"20\">Variables<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#methods\"   data-href=\"#methods\" data-sec-counter=\"3.2\" data-section-id=\"21\">Methods<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#events\"   data-href=\"#events\" data-sec-counter=\"3.3\" data-section-id=\"22\">Events<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#rpgtalkdubsounds\"   data-href=\"#rpgtalkdubsounds\" data-sec-counter=\"3.4\" data-section-id=\"23\">RPGTalkDubSounds<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#rpgtalklocalization\"   data-href=\"#rpgtalklocalization\" data-sec-counter=\"3.5\" data-section-id=\"24\">RPGTalkLocalization<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#rpgtalktimeline\"   data-href=\"#rpgtalktimeline\" data-sec-counter=\"3.6\" data-section-id=\"25\">RPGTalkTimeline<\/a><\/li><\/ol><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#snippets\"   data-href=\"#snippets\" data-sec-counter=\"4\" data-section-id=\"29\">Snippets<\/a><span class=\"doc-mtoggle expand\"><\/span><ol><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#follow-character\"   data-href=\"#follow-character\" data-sec-counter=\"4.1\" data-section-id=\"27\">Follow Character<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#can-pass-warning\"   data-href=\"#can-pass-warning\" data-sec-counter=\"4.2\" data-section-id=\"30\">Can Pass Warning<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#save-instance\"   data-href=\"#save-instance\" data-sec-counter=\"4.3\" data-section-id=\"31\">Save Instance<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#simple-animation\"   data-href=\"#simple-animation\" data-sec-counter=\"4.4\" data-section-id=\"32\">Simple Animation<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#skip-cutscene\"   data-href=\"#skip-cutscene\" data-sec-counter=\"4.5\" data-section-id=\"33\">Skip Cutscene<\/a><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#smart-pointer\"   data-href=\"#smart-pointer\" data-sec-counter=\"4.6\" data-section-id=\"34\">Smart Pointer<\/a><\/li><\/ol><\/li><li class=\"doc-actli\"><a class=\"documentor-menu\" href=\"#beta-node-editor\"   data-href=\"#beta-node-editor\" data-sec-counter=\"5\" data-section-id=\"35\">BETA - Node Editor<\/a><\/li><\/ol><\/div><\/div><div class=\"doc-sec-container\" id=\"documentor_seccontainer\"><div class=\"doc-sectionwrap\" id=\"introduction_wrap\"><div class=\"documentor-section  section-2\" id=\"introduction\" data-section-id=\"2\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">1.<\/span>Introduction  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><iframe loading=\"lazy\" style=\"float: right; margin-left: 15px;\" src=\"https:\/\/www.youtube.com\/embed\/PhLHuLjlYkU\" width=\"400\" height=\"225\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><br \/>\nRPGTalk \u00e9 um plugin simples para Unity3D que permite a cria\u00e7\u00e3o de di\u00e1logos semelhante aos cl\u00e1ssicos do g\u00eanero RPG. O texto \u00e9 mostrado suavemente e \u00e9 totalmente customiz\u00e1vel.<\/p>\n<p>A grande vantagem dele \u00e9 que possui diversas op\u00e7\u00f5es j\u00e1 em script\u00a0que abrem muitas possibilidades\u00a0em cada fala. Al\u00e9m\u00a0\u00a0de que ele\u00a0l\u00ea o di\u00e1logo de um arquivo de texto, possibilitando troca de falas sem nenhum trabalho de c\u00f3digo extra, al\u00e9m de facilitar e muito a localiza\u00e7\u00e3o do texto para diversas l\u00ednguas e dublagem!<\/p>\n<p>Cheque o v\u00eddeo de demonstra\u00e7\u00e3o!<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"whats-new_wrap\"><div class=\"documentor-section  section-3\" id=\"whats-new\" data-section-id=\"3\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">1.1.<\/span>What's new?  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><strong>Version 1.2:<\/strong><\/p>\n<ul>\n<li>Rich Text agora \u00e9 oficialmente suportado, mesmo se o come\u00e7o e o fim das tags estiverem em linhas diferentes;<\/li>\n<li>Agora \u00e9 poss\u00edvel colocar sprites dentro do texto, ocupando espa\u00e7o como se fossem um caracter nele;<\/li>\n<li>Voc\u00ea pode trocar a velocidade do texto enquanto o di\u00e1logo est\u00e1 acontecendo;<\/li>\n<li>Preparado para a Timeline;<\/li>\n<li>Localiza\u00e7\u00e3o dentro do RPGTalk ou qualquer texto UI;<\/li>\n<li>Mais f\u00e1cil de trocar o Target Follow enquanto o di\u00e1logo est\u00e1 acontecendo;<\/li>\n<li>RPGTalk Area para trocar o texto ou interagir com algum personagem sem nenhum c\u00f3digo;<\/li>\n<li>Line To Start e\u00a0Line To Break podem agora ser t\u00edtulos ao inv\u00e9s de n\u00fameros fixos;<\/li>\n<li>O jogador pode fazer escolhas dentro do texto;<\/li>\n<li>Dublagem \u00e9 poss\u00edvel em toda linha e totalmente integrada com a Localiza\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>Nota: Toda vez que atualizar um Plugin, salve uma c\u00f3pia de seu projeto. Nessa atualiza\u00e7\u00e3o de RPGTalk voc\u00ea n\u00e3o deve ter muitos problemas, mas pode perder as refer\u00eancias da vari\u00e1vel targetFollow.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"download_wrap\"><div class=\"documentor-section  section-4\" id=\"download\" data-section-id=\"4\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">1.2.<\/span>Download  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>RPGTalk est\u00e1 dispon\u00edvel de gra\u00e7a na Unity Asset Store, loja especializada de pacotes autorizados pela pr\u00f3pria engine Unity3D. Voc\u00ea pode peg\u00e1-lo\u00a0<strong><a href=\"https:\/\/www.assetstore.unity3d.com\/#!\/content\/73392\" target=\"_blank\">Clicando Aqui<\/a><\/strong>!<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"contribute_wrap\"><div class=\"documentor-section  section-26\" id=\"contribute\" data-section-id=\"26\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">1.3.<\/span>Contribute  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>RPGTalk is pretty good, but it has quite room for improvement.<\/p>\n<p>Why don&#8217;t we make it better together?<\/p>\n<p>RPGTalk is opensource and hosted on<strong> <a href=\"https:\/\/github.com\/FelipeVieiraDantas\/RPGTalk\">GitHub<\/a><\/strong>. If you have made modifications or snippets for your game, share with the community! Fork it, make a pull request! Let&#8217;s create an awesome asset!<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"tutorials_wrap\"><div class=\"documentor-section  section-5\" id=\"tutorials\" data-section-id=\"5\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.<\/span>Tutorials  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>Apesar de ter v\u00e1rias op\u00e7\u00f5es, a implementa\u00e7\u00e3o do RPGTalk \u00e9 bem simples. Basicamente, voc\u00ea s\u00f3 precisa de um Arquivo de Texto, um Canvas preparado e o Componente do RPGTalk. Nessa sess\u00e3o, voc\u00ea vai aprender passo-a-passo com detalhes cada implementa\u00e7\u00e3o, mas tenha certeza de checar as cenas de demonstra\u00e7\u00e3o inclusas no pacote.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"quick-start_wrap\"><div class=\"documentor-section  section-6\" id=\"quick-start\" data-section-id=\"6\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.1.<\/span>Quick Start  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>Depois de importado o pacote, basta preparar tr\u00eas passos para que o RPGTalk esteja pronto para uso:<\/p>\n<p><strong>1. Arquivo de Texto<\/strong><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-117\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Textpt1-1024x661.png\" alt=\"textpt1\" width=\"290\" height=\"180\" \/><br \/>\nRPGTalk l\u00ea os di\u00e1logos de um arquivo de texto com a extens\u00e3o .TXT. Use seu editor de texto favorito (Bloco de Notas, TextEdit, etc) para criar esse tipo de arquivo. Salve-o dentro da pasta <em>Assets<\/em> do seu projeto no Unity.<\/p>\n<p><strong>Importante<\/strong>: cada linha nova ser\u00e1 uma nova caixa de di\u00e1logo. N\u00e3o tenha medo de fazer uma linha grande com tudo que voc\u00ea quer que fique no mesmo di\u00e1logo. Por padr\u00e3o, o RPGTalk quebra o texto em caixas novas com a op\u00e7\u00e3o Word Wrap.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>2.\u00a0Canvas<\/strong><\/p>\n<p>Utilizando as pr\u00f3prias fun\u00e7\u00f5es do Unity para mostrar seus di\u00e1logos, RPGTalk\u00a0usa um Canvas, possibilitando todas as suas configura\u00e7\u00f5es, e de in\u00edcio ele s\u00f3 precisa \u00a0ter um texto.<\/p>\n<p>Dentro da cena no Unity, crie um canvas em Game Object &gt; UI &gt; Canvas. Depois, crie um texto em Game Object &gt; UI &gt; Text.<\/p>\n<p>Voc\u00ea pode configurar o Canvas e Text da maneira que preferir, s\u00f3 tenha em mente que o texto inicial ser\u00e1 substitu\u00eddo pelo arquivo de texto que voc\u00ea criou no passo anterior.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-119\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Canvaspt1-1024x661.png\" alt=\"canvaspt1\" width=\"770\" height=\"497\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Canvaspt1-1024x661.png 1024w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Canvaspt1-300x194.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Canvaspt1-768x496.png 768w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/p>\n<p><strong>3.\u00a0Componente RPGTalk<\/strong><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-120\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Inspectorpt1-587x1024.png\" alt=\"inspectorpt1\" width=\"243\" height=\"465\" \/><br \/>\nPor fim, voc\u00ea precisa adicionar o componente RPGTalk em qualquer objeto da cena (Add Component &gt; Seize Studios &gt; RPGTalk &gt; RPGTalk). Voc\u00ea tamb\u00e9m pode criar um novo objeto j\u00e1 preparado no menu superior RPGTalk &gt; Create RPGTalk &gt; Base Instance. Atalho Ctrl\/Cmd + Shift + R.<\/p>\n<p>O componente que aparecer\u00e1 no Inspector tem um bocado de op\u00e7\u00f5es, mas para para o in\u00edcio r\u00e1pido, s\u00f3 precisamos focar em tr\u00eas.<\/p>\n<p>A primeira op\u00e7\u00e3o, pede um arquivo do tipo TextAsset. Coloque l\u00e1 o arquivo que criamos no passo 1!<br \/>\nLogo abaixo dessa op\u00e7\u00e3o, existe a &#8220;Show With Dialog&#8221;. Isso \u00e9 uma Array que voc\u00ea deve colocar qualquer elemento que deve aparecer quando o di\u00e1logo come\u00e7ar e desaparecer quando ele terminar. Comumente, essa Array tem pelo menos 1 objeto: o Canvas que criamos no passo 2.<br \/>\nMais em baixo, dentro das op\u00e7\u00f5es de Interface, o RPGTalk pergunta quem \u00e9 o &#8220;Text UI&#8221;. Aqui, voc\u00ea deve colocar o Text que criamos no passo2.<\/p>\n<p>Pronto! Se tudo est\u00e1 correto, pode apertar Play e ver o di\u00e1logo acontecendo! Passe-o clicando na tela!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-121 alignleft\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/QuickStart.gif\" alt=\"quickstart\" width=\"262\" height=\"82\" \/><\/p>\n<p>Parab\u00e9ns, voc\u00ea aprendeu a base do RPGTalk e j\u00e1 consegue criar di\u00e1logos! Mas existem v\u00e1rias op\u00e7\u00f5es \u00fateis que podem te ajudar! Continue lendo para ver todas!<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"regular-options_wrap\"><div class=\"documentor-section  section-7\" id=\"regular-options\" data-section-id=\"7\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.2.<\/span>Regular Options  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-122 alignleft\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/RegularOptions.png\" alt=\"regularoptions\" width=\"263\" height=\"188\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/RegularOptions.png 856w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/RegularOptions-300x215.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/RegularOptions-768x551.png 768w\" sizes=\"auto, (max-width: 263px) 100vw, 263px\" \/><\/p>\n<p>Aqui, voc\u00ea encontrar\u00e1 as op\u00e7\u00f5es b\u00e1sicas do RPGTalk que alteram como ele mostra o di\u00e1logo na tela. Vamos ver cada uma delas:<\/p>\n<p><strong>Start On Awake?<br \/>\n<\/strong>Se essa op\u00e7\u00e3o estiver marcada, o Di\u00e1logo inicia quando o objeto em quest\u00e3o chamar a fun\u00e7\u00e3o Start\u00a0(geralmente, no in\u00edcio da cena).<br \/>\n<strong>Should show the name of the talker?<br \/>\n<\/strong>RPGTalk\u00a0pode mostrar o nome de quem est\u00e1 falando. Com essa op\u00e7\u00e3o marcada, \u00e9 liberada, nas op\u00e7\u00f5es de Interface, o Dialoger UI. <strong>Note que tamb\u00e9m \u00e9 necess\u00e1rio uma altera\u00e7\u00e3o no texto para que o nome seja mostrado corretamente<\/strong>. Cada linha do Arquivo de Texto deve come\u00e7ar com o nome do locutor, seguindo pelo s\u00edmbolo &#8220;:&#8221; e s\u00f3 ent\u00e3o a fala em si. Por exemplo:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">NomeDoHer\u00f3i: Eu vou salvar o mundo!<\/pre>\n<p><strong>Should there be the photo of the talker?<br \/>\n<\/strong>Essa op\u00e7\u00e3o libera as op\u00e7\u00f5es UI Photo em Interface e a Array \u00a0Photos em Callback, Breaks and Variables. Veja mais em sua sess\u00e3o.<br \/>\n<strong>Should the canvas stay on screen after the talk ended?<br \/>\n<\/strong>Se essa op\u00e7\u00e3o estiver marcada, todos os objetos marcados em &#8220;Show With Dialog&#8221; se mant\u00eam na tela mesmo depois do di\u00e1logo ter terminado.<br \/>\n<strong>Should the Canvas follow someone?<br \/>\n<\/strong>Essa op\u00e7\u00e3o abre mais um conjunto delas:<img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-123\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/ShouldFollow.png\" alt=\"shouldfollow\" width=\"289\" height=\"117\" \/><\/p>\n<p style=\"padding-left: 30px;\">A primeira op\u00e7\u00e3o, \u00e9 uma array com todos os objetos que o di\u00e1logo pode seguir. Voc\u00ea deve colocar um nome (mesma regra do\u00a0<strong>Should show the name of the talker?<\/strong>) e um Game Object qualquer da cena que ser\u00e1 seguido por todos os objetos dentro de &#8220;Show With Dialog&#8221;.<br \/>\nVoc\u00ea tamb\u00e9m escolher um offset, para esses objetos n\u00e3o ficarem no ponto de origem.<br \/>\nSe voc\u00ea n\u00e3o especificar um nome para o objeto a ser seguido, RPGTalk ir\u00e1 ignorar o nome do locutor e sempre seguir\u00e1 o objeto colocado ali.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-125 alignright\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Billboard.gif\" alt=\"billboard\" width=\"189\" height=\"189\" \/><\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-124 alignleft\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/ShouldFollow.gif\" alt=\"shouldfollow\" width=\"240\" height=\"160\" \/><\/p>\n<p style=\"padding-left: 30px;\">Logo abaixo, voc\u00ea pode dizer se esses objetos devem ser Billboard, e se forem, se devem basear-se na C\u00e2mera principal do jogo, ou outra de sua escolha. Essas op\u00e7\u00f5es s\u00e3o \u00f3timas para projetos 3D.<br \/>\nUm objeto Billboard est\u00e1 sempre olhando para a c\u00e2mera, enquanto um n\u00e3o Billboard pode entrar na perspectiva dela. Observe o exemplo 3D com um RPGTalk Billbord e em seguida um sem.<\/p>\n<div style=\"clear: both;\"><\/div>\n<p><strong>Enable QuickStep?<br \/>\n<\/strong>Se marcada, o jogador pode pular o texto sem ter que esperar at\u00e9 o fim da anima\u00e7\u00e3o.<br \/>\n<strong>Text Speed<br \/>\n<\/strong>A velocidade que a anima\u00e7\u00e3o do texto deve acontecer, em caracteres por segundo.\u00a0A velocidade do texto pode ser mudada durante um di\u00e1logo. Veja (Changing Text Speed).<br \/>\n<strong>Pass the Talk with mouse click?<br \/>\n<\/strong>Se marcada,\u00a0um simples clique na tela \u00e9 o bastante para passar o di\u00e1logo.<br \/>\n<strong>Pass with Button<br \/>\n<\/strong>Logo em baixo da op\u00e7\u00e3o do mouse, voc\u00ea pode escrever qualquer Input (setado em Project Settings &gt; Input) que tamb\u00e9m pode ser usado para passar o di\u00e1logo. Isso \u00e9 \u00fatil para ter alguma tecla, ou bot\u00e3o de Joystick funcionando al\u00e9m do mouse.<br \/>\n<strong>Word Wrap?<br \/>\n<\/strong>Se verdadeiro, abrir\u00e1 as op\u00e7\u00f5es <strong>Max Char Width<\/strong> e <strong>Max Char Height<\/strong>. Voc\u00ea deve colocar nelas o m\u00e1ximo de caracteres em largura e em altura que cabem na sua caixa de di\u00e1logo. Isso vai permitir que o RPGTalk corte sozinho o texto em v\u00e1rios di\u00e1logos, assim voc\u00ea n\u00e3o precisa se preocupar com o tamanho de uma linha no arquivo de texto.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"characters-settings_wrap\"><div class=\"documentor-section  section-28\" id=\"characters-settings\" data-section-id=\"28\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.3.<\/span>Characters Settings  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-276\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtlk2-300x206.jpg\" alt=\"rpgtlk2\" width=\"300\" height=\"206\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtlk2-300x206.jpg 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtlk2.jpg 491w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>This whole option group will only be visible if you have set <strong>Should try to read the name of the talker<\/strong> option on the <strong>Regular Options<\/strong>.<\/p>\n<p>The first option, <strong>Should the canvas follow someone<\/strong>, opens a new option in every character, that you should set a Transform to follow and an offset.<br \/>Note that to actually follow someone, your RPGTalk object should also have the <a href=\"http:\/\/www.seizestudios.com\/developer\/rpgtalk\/#follow-character\"><strong>Follow Character <\/strong><\/a>snippet.<\/p>\n<p>The only other thing on this group are Characters. Click the <strong>+ <\/strong>button to add a character to the list. This list should have the characters that will participate in this conversation (or this whole scene, depending on how you are setting your talks).<\/p>\n<p>The first thing it asks of you is <strong>Who is this character<\/strong>? This needs to be created on your project. See more down below.<br \/>If you press the <strong>&#8211;<\/strong> button just beside it, the character will be removed from the list.<\/p>\n<p>Then, you have the <strong>Should a different Animator be set for it<\/strong> option. RPGTalk can communicate with an Animator (See more in the <strong>Animation<\/strong> group). But if this option is marked, instead of communicating with the Animator set on the <strong>Animation<\/strong> group, it will communicate with the animator set here when this character is talking.<br \/>Useful when you want your characters on screen to animate instead of something like a photo alongside the UI.<\/p>\n<h3>Creating a character<\/h3>\n<p>To use those options, you will need to create a character. This character is stored in your project, and can be reused on several scenes and\/or talks.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-277\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtlk3-300x150.jpg\" alt=\"rpgtlk3\" width=\"300\" height=\"150\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtlk3-300x150.jpg 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtlk3.jpg 517w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>To create one, go to the Project window, Right Click and the desired folder and go <strong>Create &gt; RPGTalk &gt; Character<\/strong>.<\/p>\n<p>The options here are quite simple.<br \/>Who is the <strong>Dialoger<\/strong>? What is name, as written on the TXT, that this character represents?<\/p>\n<p>What <strong>Photo<\/strong> this character have? If any is set, the <strong>UIPhoto<\/strong> on the <strong>Interface<\/strong> Options will be this sprite when this character is saying something.<\/p>\n<p>Additionally, you can set any number of <strong>Expressions<\/strong> to this character.<\/p>\n<p>An expression can have a <strong>Name<\/strong>, the one it will look\u00a0for on the TXT (see more in the <a href=\"http:\/\/www.seizestudios.com\/developer\/rpgtalk\/#tags\"><strong>Tags<\/strong><\/a> section).<br \/>A <strong>Photo<\/strong> to be set in <strong>UIPhoto<\/strong> if this expression is being used.<br \/>A <strong>Bool in Animator<\/strong> that will be true while a line with that expression is being said.<br \/>And an <strong>Audio<\/strong> that will play every time this expression comes around.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"interface_wrap\"><div class=\"documentor-section  section-9\" id=\"interface\" data-section-id=\"9\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.4.<\/span>Interface  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-133\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Interface.png\" alt=\"interface\" width=\"289\" height=\"113\" \/>Aqui, voc\u00ea encontrar\u00e1 as op\u00e7\u00f5es de interface.<\/p>\n<p><strong>Text UI:<\/strong> Esse par\u00e2metro \u00e9 obrigat\u00f3rio e deve conter o objeto do tipo Text que o RPGTalk vai escrever.<br \/>\n<strong>Dialoger UI:<\/strong> Esse par\u00e2metro deve ser preenchido com o objeto do tipo Text que o RPGTalk deve escrever o nome de quem est\u00e1 falando aquele di\u00e1logo. <strong>Nota<\/strong>: esse par\u00e2metro s\u00f3 estar\u00e1 dispon\u00edvel se a op\u00e7\u00e3o &#8220;<strong>Should show the name of the talker?&#8221;\u00a0<\/strong>em Op\u00e7\u00f5es Regulares estiver marcada.<br \/>\n<strong>UI Photo:<\/strong> Esse par\u00e2metro deve ser preenchido com o objeto do tipo Image\u00a0que o RPGTalk deve alterar com a foto de quem est\u00e1 falando aquele di\u00e1logo. <strong>Nota<\/strong>: esse par\u00e2metro s\u00f3 estar\u00e1 dispon\u00edvel se a op\u00e7\u00e3o &#8220;<strong>Should there be the photo of the talker?<\/strong><strong>&#8221;\u00a0<\/strong>em Op\u00e7\u00f5es Regulares estiver marcada.<br \/>\n<strong>Object to Blink:<\/strong>\u00a0Voc\u00ea pode escolher algum objeto para piscar na tela quando o di\u00e1logo tiver chegando ao fim. Geralmente, \u00e9 colocado uma seta, indicando que o jogador deve apertar alguma tecla para continuar o di\u00e1logo. O objeto pisca usando a fun\u00e7\u00e3o SetActive do GameObject.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"callback-breaks-variables_wrap\"><div class=\"documentor-section  section-8\" id=\"callback-breaks-variables\" data-section-id=\"8\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.5.<\/span>Callback, Breaks & Variables  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img decoding=\"async\" class=\"alignleft size-full wp-image-135\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Callback-e1506360172284.png\" alt=\"callback\" width=\"276\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Callback-e1506360172284.png 850w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Callback-e1506360172284-300x185.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Callback-e1506360172284-768x474.png 768w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p>Nessa sess\u00e3o, voc\u00ea pode mexer em configura\u00e7\u00f5es relativas a Script e como o RPGTalk deve agir fora do padr\u00e3o.<\/p>\n<p><strong>CallBack Script<\/strong>: voc\u00ea pode escolher qualquer script (MonoBehaviour) para ser chamado quando o di\u00e1logo acabar.<br \/>\n<strong>CallBack Function<\/strong>: escreva o nome da fun\u00e7\u00e3o para ser chamada, no Script acima, quando o di\u00e1logo acabar.<br \/>\n<strong>Line To Start<\/strong> &amp; <strong>Line To Break:<\/strong>\u00a0Por padr\u00e3o, o valor Line To Start \u00e9 1 e Line to Break -1. Isso quer dizer que o di\u00e1logo vai come\u00e7ar a ler o arquivo de texto na linha 1, e s\u00f3 vai parar quando este chegar ao fim. Mas voc\u00ea pode escolher qualquer valor de in\u00edcio e final, possibilitando o uso de diversos di\u00e1logos no mesmo arquivo TXT.<br \/>\nEsses valores tamb\u00e9m podem ser uma string, um t\u00edtulo para ser procurado no TXT ao inv\u00e9s de dizer o n\u00famero exato da linha. Para fazer isso, uma mudan\u00e7a no texto \u00e9 necess\u00e1ria:<br \/>\nSe voc\u00ea escrever\u00a0<em>cutscene1_start <\/em>na vari\u00e1vel\u00a0<strong>Line To Start<\/strong>\u00a0e\u00a0<em>cutscene1_end\u00a0<\/em>na\u00a0<strong>Line To Break<\/strong>, seu texto deve parece com isso:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n&#x5B;title=cutscene1_start]\r\nEssa linha ser\u00e1 mostrada!\r\nEssa tamb\u00e9m! Massa!\r\n&#x5B;title=cutscene1_end]\r\nEssa n\u00e3o.\r\n<\/pre>\n<p><strong>Variables:\u00a0<\/strong>Logo em seguida voc\u00ea pode dar o valor em uma Array representando as vari\u00e1veis que existem no texto. Para cada item da Array, voc\u00ea abre mais duas op\u00e7\u00f5es:<\/p>\n<p style=\"padding-left: 30px;\"><strong>Variable Name<\/strong>: O nome da vari\u00e1vel, da exata maneira que est\u00e1 escrita no arquivo de texto, para ser substitu\u00edda.<br \/>\n<strong>Variable Value<\/strong>: O valor que deve\u00a0substituir a vari\u00e1vel descrita no par\u00e2metro acima.<\/p>\n<p>&nbsp;<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"photos-and-sprites_wrap\"><div class=\"documentor-section  section-10\" id=\"photos-and-sprites\" data-section-id=\"10\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.6.<\/span>Photos and Sprites  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-210\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-14.43.21-248x300.png\" alt=\"Screen Shot 2017-09-25 at 14.43.21\" width=\"248\" height=\"300\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-14.43.21-248x300.png 248w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-14.43.21-768x930.png 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-14.43.21.png 844w\" sizes=\"auto, (max-width: 248px) 100vw, 248px\" \/>Nessa sess\u00e3o voc\u00ea pode adicionar fotos que representam o locutor e\/ou sprites para serem adicionados como UI Images dentro do texto.<\/p>\n<p><strong>Photos<\/strong>: Voc\u00ea pode escolher uma foto para ser utilizada por cada locutor do di\u00e1logo.\u00a0<strong>Nota<\/strong>: esse par\u00e2metro s\u00f3 estar\u00e1 dispon\u00edvel se a op\u00e7\u00e3o &#8220;<strong>Should there be the photo of the talker?<\/strong><strong>&#8221;\u00a0<\/strong>em Op\u00e7\u00f5es Regulares estiver marcada. Isso \u00e9 uma Array que cada item abre mais duas op\u00e7\u00f5es:<\/p>\n<p style=\"padding-left: 30px;\"><strong>Name<\/strong>:\u00a0O nome do locutor. <strong>Nota:<\/strong>\u00a0se o nome do locutor for uma vari\u00e1vel, coloque como ela \u00e9 descrita no arquivo de texto.<br \/>\n<strong>Photo<\/strong>:\u00a0Um arquivo do tipo Sprite que ser\u00e1 a foto representando o locutor do par\u00e2metro acima. <strong>Nota<\/strong>: Esse par\u00e2metro n\u00e3o garante que a foto seja animada. Para isso voc\u00ea deve usar a sess\u00e3o Anima\u00e7\u00e3o.<\/p>\n<p><strong>Sprites:\u00a0<\/strong>You can set here any sprites that can be showed in the text. Note the number of the array element and use it in your TXT to place the sprite in the correct position. For instance, to show the sprite that you created here as the Element 1, in your text, you should write the line like this:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">Well, I want to have a sprite right here &#x5B;sprite=1] before these words.<\/pre>\n<p>For each element created in this array, you have the following options:<\/p>\n<p style=\"padding-left: 30px;\"><strong>Sprite:\u00a0<\/strong>The sprite itself that will be shown i the text.<br \/>\n<strong>Width\/Height:\u00a0<\/strong>The size that the sprite will have in characters. If you set the\u00a0width and height as 1, the image will have the same size as a letter inside of your text. The size varies depending on the font and font-size parameters in the text.<br \/>\n<strong>Animator:\u00a0<\/strong>if you want this sprite to be animated, you can set here a Animator that will be created with it.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-212\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.03.19-300x57.png\" alt=\"sprites in the text\" width=\"300\" height=\"57\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.03.19-300x57.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.03.19.png 652w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"animation_wrap\"><div class=\"documentor-section  section-11\" id=\"animation\" data-section-id=\"11\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.7.<\/span>Animation  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-136\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Animation.png\" alt=\"animation\" width=\"308\" height=\"82\" \/><\/p>\n<p>Aqui, voc\u00ea encontrar\u00e1 as op\u00e7\u00f5es de\u00a0anima\u00e7\u00e3o. S\u00e3o simples mas contemplam o necess\u00e1rio para um di\u00e1logo completo.<\/p>\n<p><strong>Animator:<\/strong>\u00a0Coloque aqui um objeto do tipo Animator que dever\u00e1 tratar das anima\u00e7\u00f5es.<br \/>\n<strong>Boolean Name:\u00a0<\/strong>Escreva um par\u00e2metro, do tipo Booleano, que exista no Animator. Esse par\u00e2metro ser\u00e1 verdadeiro enquanto a anima\u00e7\u00e3o do texto estiver correndo.<br \/>\n<strong>Int Name<\/strong>: Escreva um par\u00e2metro, do tipo Int, que exista no Animator. Esse par\u00e2metro ter\u00e1 o valor de que personagem est\u00e1 falando, come\u00e7ando do zero. O n\u00famero que representa cada personagem \u00e9 a ordem que ele foi colocado no par\u00e2metro <strong>Photos<\/strong> em Callback, Breaks\u00a0&amp; Variables.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"audio_wrap\"><div class=\"documentor-section  section-12\" id=\"audio\" data-section-id=\"12\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.8.<\/span>Audio  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-137\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Audio.png\" alt=\"audio\" width=\"261\" height=\"60\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Audio.png 850w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Audio-300x69.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Audio-768x177.png 768w\" sizes=\"auto, (max-width: 261px) 100vw, 261px\" \/><\/p>\n<p>Aqui, voc\u00ea encontrar\u00e1 as op\u00e7\u00f5es de\u00a0\u00c1udio.\u00a0S\u00e3o apenas duas que criam a ambienta\u00e7\u00e3o de um di\u00e1logo como RPG:<\/p>\n<p><strong>Letter Sound:\u00a0<\/strong>Voc\u00ea pode colocar um arquivo de \u00e1udio para tocar enquanto a anima\u00e7\u00e3o das letras est\u00e1 correndo. O \u00e1udio ir\u00e1 parar automaticamente quando a fala chegar ao fim.<br \/>\n<strong>Click Sound:<\/strong>\u00a0Cada vez que o jogador passar um di\u00e1logo, RPGTalk pode emitir o arquivo de \u00e1udio que voc\u00ea colocar aqui.<\/p>\n<p>Nota: Isso n\u00e3o deve ser usado para vozes. Para fazer isso, veja Dubbing.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"choices_wrap\"><div class=\"documentor-section  section-13\" id=\"choices\" data-section-id=\"13\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.9.<\/span>Choices  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-218\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.21.10-300x68.png\" alt=\"choices\" width=\"300\" height=\"68\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.21.10-300x68.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.21.10-768x175.png 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.21.10.png 878w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>Se voc\u00ea quer que seu jogador tenha a habilidade de fazer escolhas no jogo, esse \u00e9 o lugar para ir.<\/p>\n<p><strong>Choice Prefab: <\/strong>Aqui voc\u00ea coloca um prefab para ser instanciado quando uma quest\u00e3o \u00e9 feita no texto. Esse prefab preferencialmente segue a estrutura base dos bot\u00f5es em Canvas do Unity: Um objeto com o componente Button e um objeto filho com um componente Text.<br \/>\n<strong>Choices Parent:<\/strong>\u00a0Voc\u00ea pode colocar um objeto para ser o pai dos bot\u00f5es que ser\u00e3o instanciados quando uma quest\u00e3o for feita. A melhor pr\u00e1tica \u00e9 escolher um objeto com o componente &#8220;Canvas Layout Group&#8221;, para que os bot\u00f5es possam ser alinhados automaticamente.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-220\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.23.14-1024x195.png\" alt=\"choices\" width=\"770\" height=\"147\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.23.14-1024x195.png 1024w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.23.14-300x57.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.23.14-768x146.png 768w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/p>\n<p>Para fazer a quest\u00e3o e escolhas aparecerem, voc\u00ea precisa cri\u00e1-las no seu TXT. A quest\u00e3o deve ter um ID para que voc\u00ea possa acompanhar a resposta depois, ent\u00e3o use a tag \u00a0[question=X] \u00a0quando perguntando algo e nas linhas seguintes comece com a tag [choice] tag.\u00a0Seu texto deve se parecer com isso:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">NomeDoLocutor: &#x5B;question=0]Ent\u00e3o, posso te fazer uma pergunta?\r\n&#x5B;choice]Claro!\r\n&#x5B;choice]N\u00e3o estou no clima...\r\nNomeDoLocutor: Texto para ser usado como resposta...<\/pre>\n<p>Cada vez que uma resposta \u00e9 dada, um evento \u00e9 chamado para que voc\u00ea possa acompanhar isso e mudar o texto de acordo, ou salvar a resposta para algo mais no seu jogo. Cheque\u00a0Events para ver mais.<\/p>\n<p>&nbsp;<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"easily-changing-the-text-while-the-game-is-running_wrap\"><div class=\"documentor-section  section-14\" id=\"easily-changing-the-text-while-the-game-is-running\" data-section-id=\"14\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.10.<\/span>Easily changing the text while the game is running  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>Cada op\u00e7\u00e3o no inspector \u00e9 p\u00fablica, ent\u00e3o voc\u00ea pode alter\u00e1-la por script a qualquer momento. Mas desde a vers\u00e3o 1.2, RPGTalk tem um componente chamado RPGTalk Area que te ajuda a trocar as falas sem escrever nenhum c\u00f3digo.<\/p>\n<p>Voc\u00ea pode criar um objeto RPGTalk Area indo no menu superior e selecionando RPGTalk &gt; Create RPGTalk Area. Atalho: Ctrl\/Cmd + Shift + A.<br \/>\nVoc\u00ea pode tamb\u00e9m colocar o componente em qualquer objeto (Add Component &gt; Seize Studios &gt; RPGTalk &gt; RPGTalk Area), apenas note que ele precisa de um Collider para funcionar. Pode ser 2D ou 3D, desde que seja um Trigger.<\/p>\n<p>O que RPGTalk Area faz \u00e9 mudar alguns par\u00e2metros quando colidindo com um trigger. Sinta-se livre para mudar o tamanho do Collider para atender suas necessidades.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-223\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.49.44-174x300.png\" alt=\"area\" width=\"174\" height=\"300\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.49.44-174x300.png 174w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.49.44-768x1328.png 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.49.44-592x1024.png 592w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-15.49.44.png 870w\" sizes=\"auto, (max-width: 174px) 100vw, 174px\" \/><\/p>\n<p>No primeiro par\u00e2metro, escolha a inst\u00e2ncia de RPGTalk que voc\u00ea quer mudar.<br \/>\nLogo abaixo, voc\u00ea pode colocar um Playable Director para que essa Area ao inv\u00e9s (ou tamb\u00e9m) \u00a0d\u00ea Play em uma Timeline.<\/p>\n<p>Os pr\u00f3ximos par\u00e2metro \u00e9 sobre quando as coisas devem acontecer.<br \/>\n<strong>Should wait for user&#8217;s interaction to start?<\/strong><br \/>\nSe marcado como verdadeiro, nada vai acontecer at\u00e9 que o jogador interaja com essa Area. Voc\u00ea ser\u00e1 questionado qual \u00e9 a tecla que precisa ser apertada para que a intera\u00e7\u00e3o comece. Tamb\u00e9m, voc\u00ea pode botar alguns GameObjects para serem mostrados quando a intera\u00e7\u00e3o estiver dispon\u00edvel. Uma boa pr\u00e1tica \u00e9 colocar algum Canvas com o texto: &#8220;Pressione A para conversar&#8221;.<\/p>\n<p>Se marcado como falso, voc\u00ea tem de dizer ao RPGTalk Area quando ele deve come\u00e7ar. Quando o usu\u00e1rio entrar nesse trigger? Ou quando ele sair? Ou os dois?<\/p>\n<p><strong>Can only be played once?<\/strong>\u00a0deve ser marcado se voc\u00ea n\u00e3o quer que essa conversa aconte\u00e7a de novo se o player interagir com essa Area.<br \/>\n<strong>Cannot be played if the RPGTalk instance is already playing <\/strong>pro\u00edbe a Area de funcionar se outra conversa ainda estiver acontecendo nessa inst\u00e2ncia de RPGTalk.<br \/>\nVoc\u00ea tamb\u00e9m pode escrever uma <strong>tag<\/strong> abaixo para checar quem pode interagir com essa Area. Se voc\u00ea escrever &#8220;Player&#8221;, por exemplo, somente objetos com a tag Player podem ativar essa Area.<\/p>\n<p>A pr\u00f3xima sess\u00e3o traz op\u00e7\u00f5es de\u00a0<strong>Callback<\/strong>\u00a0, similar em como funcionam na sess\u00e3o Callbacks, Breaks &amp;\u00a0Variables. A diferen\u00e7a aqui \u00e9 que voc\u00ea pode chamar uma fun\u00e7\u00e3o antes que a Area ative.<br \/>\nUm uso comum \u00e9 bloquear os controles do jogador enquanto algu\u00e9m est\u00e1 falando, e devolver quando a conversa terminar.<\/p>\n<p>Na pr\u00f3xima sess\u00e3o voc\u00ea pode colocar um outro\u00a0<strong>TextAsset<\/strong> (TXT) para ser lido e outras linhas para come\u00e7ar ou terminar a conversa, assim como voc\u00ea faria na inst\u00e2ncia principal do RPGTalk.<br \/>\nLogo depois, voc\u00ea pode escolher se o di\u00e1logo deve ou n\u00e3o ficar na tela quando a conversa acabar.<\/p>\n<p>Note que essas mudan\u00e7as ser\u00e3o mantidas no RPGTalk mesmo depois que o jogador deixar essa Area.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"dubbing_wrap\"><div class=\"documentor-section  section-15\" id=\"dubbing\" data-section-id=\"15\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.11.<\/span>Dubbing  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>RPGTalk pode facilmente tocar dublagem ou qualquer som junto com o di\u00e1logo. \u00c9 totalmente integrado com o RPGTalk Localization ent\u00e3o voc\u00ea pode ter diferentes sons para diferentes l\u00ednguas tamb\u00e9m.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-225\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-16.30.07-300x134.png\" alt=\"Dubbing\" width=\"300\" height=\"134\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-16.30.07-300x134.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-16.30.07-768x343.png 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-16.30.07.png 892w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><br \/>\nA primeira coisa que voc\u00ea precisa fazer \u00e9 adicionar o componente RPGTalk Dub Sounds no <strong>mesmo objeto que tem a inst\u00e2ncia do RPGTalk<\/strong>.<br \/>\nUma vez que isso foi feito, voc\u00ea ter\u00e1 uma array\u00a0<strong>Dubs By Language<\/strong>\u00a0e precisar\u00e1 adicionar aqui quantas linguagens voc\u00ea tem de dublagem.<\/p>\n<p>Para cada elemento criado, voc\u00ea ter\u00e1 uma op\u00e7\u00e3o\u00a0<strong>Language<\/strong>\u00a0(se voc\u00ea n\u00e3o usar o RPGTalk Localization, pode ignorar essa op\u00e7\u00e3o) e a array\u00a0<strong>Dub Clip<\/strong>. Tudo que voc\u00ea precisa fazer \u00e9 colocar nessa array todos os sons que podem ser usados no texto. Note o n\u00faemro do elemento de cada um deles.<\/p>\n<p>Finalmente, no seu texto, voc\u00ea precisa chamar a dublagem pelo seu ID. Parecido com isso:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">NomeDoLocutor: &#x5B;dub=0] Wow! Essa linha vai tocar o primeiro som!\r\nNomeDoLocutor: &#x5B;dub=1] Yeah! E essa vai tocar o segundo!\r\nNomeDoLocutor: Humm... Essa n\u00e3o vai tocar som de dublagem...<\/pre>\n<p>Note que quando um di\u00e1logo \u00e9 passado, o som de um antigo \u00e9 parado, mesmo se o novo n\u00e3o tiver dublagem. Assim, quando o jogador pular uma conversa sem esperar o fim do som, ele ser\u00e1 cortado.<\/p>\n<p>Finalmente, voc\u00ea tem a op\u00e7\u00e3o de <strong>Usar um Audio Mixer<\/strong> para que voc\u00ea consiga controlar melhor suas op\u00e7\u00f5es de som.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"localization_wrap\"><div class=\"documentor-section  section-16\" id=\"localization\" data-section-id=\"16\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.12.<\/span>Localization  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>RPGTalk pode cuidar da localiza\u00e7\u00e3o do seu jogo por voc\u00ea, mas ele n\u00e3o traduz automaticamente seus textos. Voc\u00ea precisa ter uma c\u00f3pia do seu arquivo (ou arquivos) de texto para cada linguagem.<br \/>\nSe voc\u00ea configurou seu RPGTalk para come\u00e7ar e terminar com um n\u00famero de linha, tenha certeza que todos os arquivos de texto tenham a mesma linha no mesmo n\u00famero.<br \/>\nSe voc\u00ea configurou para procurar pela tag Title (veja mais em Tags) tenha certeza que voc\u00ea tem os t\u00edtulos correspondentes em cada arquivo de texto.<br \/>\nAlgo assim em um arquivo Cutscene1_Portugues.txt :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">Primeira linha no di\u00e1logo, legal!\r\nSegunda \u00e9 bom.\r\n&#x5B;title=MyTitle]\r\nIsso \u00e9 bom.\r\nEssa linha nem existe na l\u00edngua em ingl\u00eas, mas tudo bem porque eu usei t\u00edtulos.\r\n&#x5B;title=MyTitle_End]<\/pre>\n<p>E seu correspondente para o arquivo Cutscene1_Ingles.txt :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">First line in the talk, awesome!\r\nSecond is good.\r\n&#x5B;title=MyTitle]\r\nThis is good.\r\n&#x5B;title=MyTitle_End]<\/pre>\n<p>Com seus textos prontos, voc\u00ea precisa de uma inst\u00e2ncia do \u00a0RPGTalk Localization na sua cena. Voc\u00ea pode criar indo no menu superior \u00a0RPGTalk &gt; Create RPGTalk Localization ou adicionando como um component em qualquer objeto.<\/p>\n<p><strong>IMPORTANTE<\/strong>: RPGTalk Localization n\u00e3o \u00e9 destru\u00eddo quando a cena descarrega, j\u00e1 que voc\u00ea raramente precisa que ele mude entre cenas. Mas ele funciona iterando todos os seus arquivos de textos, ent\u00e3o se seu jogo for muito grande voc\u00ea pode querer destruir ele voc\u00ea mesmo e criar outro para cenas\/ocasi\u00f5es espec\u00edficas para n\u00e3o arriscar queda de frames toda vez que come\u00e7ar um novo di\u00e1logo.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-229\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-18.30.23-300x271.png\" alt=\"localization\" width=\"300\" height=\"271\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-18.30.23-300x271.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-18.30.23-768x693.png 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-18.30.23.png 920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><br \/>\nUma vez que o componente est\u00e1 pronto, voc\u00ea s\u00f3 precisa adicionar na array o n\u00famero de l\u00ednguas que seu jogo ir\u00e1 suportar.<br \/>\nPara cada elemento criado, novas op\u00e7\u00f5es s\u00e3o reveladas:<\/p>\n<p><strong>Language: <\/strong>Que l\u00edngua \u00e9 essa? Escolha de uma lista enum.<br \/>\n<strong>Txt To Parse: <\/strong>Outra array onde voc\u00ea deve colocar todos os arquivos de texto daquela l\u00edngua.<\/p>\n<p><strong>IMPORTANTE<\/strong>: Todo texto em toda l\u00edngua deve estar na mesma posi\u00e7\u00e3o. Se Cutscene1_Portugues \u00e9 o n\u00famero 0 na sua lista, Cutscene1_Ingles tamb\u00e9m deve ser o n\u00famero zero de sua pr\u00f3pria lista.<\/p>\n<p>Os \u00faltimos par\u00e2metros s\u00e3o simples: Qual \u00e9 a l\u00edngua padr\u00e3o do seu jogo e qual l\u00edngua ele est\u00e1 atualmente. Note que os textos que voc\u00ea envia para suas inst\u00e2ncias do RPGTalk devem ser na linguagem padr\u00e3o.<\/p>\n<p>Phew! \u00c9 isso! Se voc\u00ea precisa trocar a linguagem atual durante o gameplay, voc\u00ea pode simplesmente chamar:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">LanguageSettings.actualLanguage<\/pre>\n<p>Note que para chamar voc\u00ea precisa da biblioteca correta no seu c\u00f3digo. Por exemplo, um c\u00f3digo que troca a linguagem para PT_BR quando o jogo come\u00e7a seria:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nusing UnityEngine;\r\nusing RPGTALK.Localization;\r\n\r\n\r\n\r\npublic class MyClass : MonoBehaviour{\r\nvoid Start(){\r\nLanguageSettings.actualLanguage = SupportedLanguages.PT_BR;\r\n}\r\n}\r\n<\/pre>\n<p>Precisa ter uma l\u00edngua que n\u00e3o est\u00e1 no RPGTalk? Sem problema. Voc\u00ea s\u00f3 precisa trocar o enum no come\u00e7o do script RPGTalkLocalization. Por exemplo, se voc\u00ea quiser adicionar Chin\u00eas no seu jogo, voc\u00ea pode modificar o c\u00f3digo para parecer com isso:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\npublic enum SupportedLanguages{\r\nEN_US,ES,FR,PT_BR,EZ_CN\r\n}\r\n<\/pre>\n<p>E todas as l\u00ednguas v\u00e3o aparecer em tudo que integra o RPGTalk Localization.<\/p>\n<p>Ok, RPGTalk \u00e9 incr\u00edvel, mas voc\u00ea n\u00e3o usa ele para t-o-d-o-s os texto do seu jogo, certo? Como o menu principal ou outros itens de interface. Voc\u00ea ainda pode aproveitar do RPGTalk Localization se voc\u00ea usar o Texto padr\u00e3o da UI.<\/p>\n<p>Simplesmente adicione o componente RPGTalk Localization String (Add Component &gt; Seize Studios &gt; RPGTalk &gt; Localization &gt; RPGTalk Localization String) em qualquer objeto que tenha um componente Text e voc\u00ea ver\u00e1 op\u00e7\u00f5es similares com as de antes.<img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-230\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-18.52.15-300x123.png\" alt=\"Screen Shot 2017-09-25 at 18.52.15\" width=\"300\" height=\"123\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-18.52.15-300x123.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-18.52.15-768x314.png 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-18.52.15.png 900w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Uma array que voc\u00ea deve adicionar todas as linguagem que seu jogo ter\u00e1. Cada elemento traz duas op\u00e7\u00f5es:<\/p>\n<p><strong>Language:<\/strong>\u00a0Qual l\u00edngua a pr\u00f3xima op\u00e7\u00e3o \u00e9 v\u00e1lida para?<br \/>\n<strong>This String: <\/strong>Uma string\u00a0simples que substituir\u00e1 o texto quando seu jogo estiver naquela l\u00edngua.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"integrating-with-timeline_wrap\"><div class=\"documentor-section  section-17\" id=\"integrating-with-timeline\" data-section-id=\"17\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.13.<\/span>Integrating with Timeline  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>Timeline \u00e9 uma fun\u00e7\u00e3o nova do unity incr\u00edvel para criar cutscenes, e RPGTalk n\u00e3o poderia ficar fora dela. Voc\u00ea pode facilmente integrar os dois simplesmente clicando no bot\u00e3o Add na janela da Timeline e escolhendo RPGTalk Cinematic Track.<\/p>\n<p>Voc\u00ea precisa dizer uma inst\u00e2ncia do RPGTalk na cena para comandar a track. E finalmente, bot\u00e3o direito na track e escolha Add RPGTalk Cinematic Clip. Agora sim!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-233\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.00.02-1024x614.png\" alt=\"Screen Shot 2017-09-25 at 19.00.02\" width=\"770\" height=\"462\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.00.02-1024x614.png 1024w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.00.02-300x180.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.00.02-768x460.png 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.00.02.png 1802w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/p>\n<p>As op\u00e7\u00f5es do Clip s\u00e3o em sua maioria simples:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-234\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.21.42-300x116.png\" alt=\"Screen Shot 2017-09-25 at 19.21.42\" width=\"300\" height=\"116\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.21.42-300x116.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.21.42-768x297.png 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.21.42.png 914w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><br \/>\nVoc\u00ea pode colocar um novo arquivo de texto para ser usado pela inst\u00e2ncia do RPGTalk que colocou na track e escolher uma linha para come\u00e7ar lendo. Tamb\u00e9m pode escolher a velocidade do texto. A tag [speed=x] (veja mais em Tags) n\u00e3o vai funcionar dentro de cinematic clips.<\/p>\n<p>O par\u00e2metro mais complexo aqui \u00e9 o \u00a0<strong>Pause Timeline while waiting for player&#8217;s action? <\/strong>Se n\u00e3o for marcado, voc\u00ea s\u00f3 pode ter uma linha por clip.<br \/>\nSe for, voc\u00ea pode escolher a linha para come\u00e7ar e terminar como normalmente faria.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-235\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.00.23-300x123.png\" alt=\"timeline\" width=\"300\" height=\"123\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.00.23-300x123.png 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.00.23-768x316.png 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2017\/09\/Screen-Shot-2017-09-25-at-19.00.23.png 900w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>Isso \u00e9 poss\u00edvel porque RPGTalk vai pausar a Timeline sem perder o que estava tocando dentro dela e esperar o di\u00e1logo acabar para despaus\u00e1-la. Para fazer isso, voc\u00ea precisa ter o componente RPGTalk Timeline (Add Component &gt; RPGTalk &gt; RPGTalk Timeline) no mesmo objeto que est\u00e1 sua inst\u00e2ncia do RPGTalk.<br \/>\nA \u00fanica op\u00e7\u00e3o aqui \u00e9 quem \u00e9 o Playable Director que est\u00e1 tocando aquela timeline.<br \/>\n<strong>Mas cuidado!<\/strong><br \/>\nTome cautela com o tamanho do clip quando estiver esperando por uma a\u00e7\u00e3o do player. Se o texto terminar antes do final do clip, tem uma chance do player terminar o di\u00e1logo antes da timeline sequer pausar, e a\u00ed o RPGTalk Timeline n\u00e3o vai conseguir despausar automaticamente (Voc\u00ea ainda pode Pausar ou Despausar qualquer timeline usando os M\u00e9todos dele).<\/p>\n<p>Note que os par\u00e2metros alterados pela timeline voltar\u00e3o ao que eram antes quando a timeline terminar de tocar ou o clip acabar, ao contr\u00e1rio do que acontece com o RPGTalk Area.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"tags_wrap\"><div class=\"documentor-section  section-18\" id=\"tags\" data-section-id=\"18\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">2.14.<\/span>Tags  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>Voc\u00ea pode usar v\u00e1rias tags dentro do seu texto para mudar como RPGTalk se comporta com ele.<\/p>\n<p><strong>Rich Text:<\/strong><\/p>\n<p>as mais comuns s\u00e3o as tags Rich Text. RPGTalk pode usar completamento Rich Texts mostrando-os sem o usu\u00e1rio perceber. RPGTalk suporta todas as Rich Texts que a UI suporta (<em>quad\u00a0<\/em>e\u00a0<em>material\u00a0<\/em>n\u00e3o s\u00e3o suportadas). Veja mais\u00a0<a href=\"https:\/\/docs.unity3d.com\/Manual\/StyledText.html\" target=\"_blank\">aqui<\/a>.<br \/>\nExemplo para ser colocado no arquivo de texto:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nEu posso usar &lt;b&gt;negrito&lt;\/b&gt;, &lt;i&gt;it\u00e1lico&lt;\/i&gt;, mudar minha &lt;color=00ffff&gt;cor ou meu &lt;size=30&gt;tamanho\r\n<\/pre>\n<p><strong>Sprite:<\/strong><\/p>\n<p>RPGTalk pode colocar imagens dentro do texto. Elas v\u00e3o agir como se fossem caracteres. Sua UI de texto deve suportar Rich Text e voc\u00ea deve definir quais sprites ser\u00e3o usados na inst\u00e2ncia do RPGTalk, anotando seu ID. Veja mais em Photos and Sprites.<br \/>\nExemplo para ser colocado no arquivo de texto:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">Essa linha ter\u00e1 um sprite &#x5B;sprite=0] aqui e outro &#x5B;sprite=1] aqui. <\/pre>\n<p><strong>Speed:<\/strong><\/p>\n<p>Voc\u00ea pode trocar a velocidade do texto enquanto ele ainda est\u00e1 rodando para fazer algumas palavras aparecerem mais devagar o mais depressa. Voc\u00ea pode especificar na tag qual \u00e9 a nova velocidade, em caracteres por segundo, que o texto ter\u00e1. Voc\u00ea ainda pode fechar a tag [\/speed] para voltar \u00e0 velocidade definida no RPGTalk.<br \/>\nExemplo para ser colocado no arquivo de texto:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">Eu vou agora lhe contar o maior &#x5B;speed=10]plot twist&#x5B;\/speed] da hist\u00f3ria. Voc\u00ea est\u00e1 &#x5B;speed=5]chocado&#x5B;\/speed] agora?<\/pre>\n<p><strong>Title:<\/strong><\/p>\n<p>Ao inv\u00e9s de definir a linha como um n\u00famero inteiro no RPGTalk, voc\u00ea pode defini-la como string. Se fizer isso, a inst\u00e2ncia vai procurar pela tag [title] no seu texto. Ela vai come\u00e7ar a ler a linha depois de um t\u00edtulo definido em\u00a0<strong>lineToStart<\/strong>, e vai parar de ler na linha anterior a um t\u00edtulo definido em <strong>lineToBreak<\/strong>. Veja mais em Regular Options.<br \/>\nExemplo para ser colocado no arquivo de texto:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">&#x5B;title=MyTitle]\r\nThis line will be read!\r\nThis will too!\r\n&#x5B;title=MyTitleEnd]\r\nThis wont =(<\/pre>\n<p><strong>Dub:<\/strong><\/p>\n<p>Voc\u00ea pode fazer com que um som seja tocado no in\u00edcio de seu di\u00e1logo. Voc\u00ea precisa definir os IDs dos sons com o componente RPGTalkDubSounds (veja mais em Dubbing).<br \/>\nSe voc\u00ea mostra o nome do locutor no seu RPGTalk, a tag dub deve vir depois do nome.<br \/>\nExemplo para ser colocado no arquivo de texto:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">NomeDoLocutor: &#x5B;dub=0] Som \u00e9 legal!\r\nNomeDoLocutor: &#x5B;dub=1] Som \u00e9 \u00f3timo!\r\n&#x5B;dub=2]E se som fosse um de n\u00f3s?<\/pre>\n<p><strong>Quebra de Linha:<\/strong><\/p>\n<p>Nos seus di\u00e1logos, pode chegar um momento que voc\u00ea precisar quebrar uma linha, mostrar o resto do texto em uma linha abaixo. Como RPGTalk l\u00ea cada linha do txt como um novo di\u00e1logo, pode parecer complicado.<br \/>\nMas n\u00e3o \u00e9, tudo que voc\u00ea precisa fazer \u00e9 escrever <strong>\/n<\/strong> no seu texto e ele ir\u00e1 quebrar uma linha.<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">Isso ficar\u00e1 em uma linha. \\n Isso em outra! \\n Mas continua um \u00fanico di\u00e1logo no RPGTalk.<\/pre>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"programming-reference_wrap\"><div class=\"documentor-section  section-19\" id=\"programming-reference\" data-section-id=\"19\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">3.<\/span>Programming Reference  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>RPGTalk tem seu c\u00f3digo totalmente aberto e pode ser alterado da maneira que preferir.<\/p>\n<p>Se voc\u00ea construir algo legal e quiser compartilhar com a comunidade, tenha certeza de nos contar!<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"variables_wrap\"><div class=\"documentor-section  section-20\" id=\"variables\" data-section-id=\"20\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">3.1.<\/span>Variables  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>Public Variables:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\u2028\t\/\/\/ Should the talk be initiated when the script starts?\u2028\r\n\u2028\tpublic bool startOnAwake = true;\u2028\r\n\u2028\t\/\/\/ An array of objects that will be shown or hidden with the text.Usually, the canvas with the text UI is set here.\u2028\r\n\u2028\tpublic GameObject&#x5B;] showWithDialog;\u2028\r\n\u2028\t\/\/\/ The UI element that holds a Text component\u2028\r\n\u2028\tpublic Text textUI;\u2028\u2028\r\n\u2028\t\/\/\/ This dialog have the name of the talker? The dialoger?\u2028\t\u2028\tpublic bool dialoger;\u2028\r\n\u2028\t\/\/\/ To show the name of the talker, another UI that holds a Text component is required\u2028\r\n\u2028\tpublic Text dialogerUI;\u2028\u2028\r\n\u2028\t\/\/\/ Should the element follow someone?\u2028\r\n\u2028\tpublic bool shouldFollow;\u2028\u2028\r\n\u2028\t\/\/\/ Who to follow? There can be more than one to follow, based on the name of the talker\u2028\r\n\u2028\tpublic RPGTalkFollow&#x5B;] follow;\u2028\u2028\r\n\u2028\t\/\/\/ The objects in showWithDialog should be Billboard?\u2028\r\n\u2028\tpublic bool billboard = true;\u2028\u2028\r\n\u2028\t\/\/\/ If billboard is set to true, should it be based on the main camera?\u2028\r\n\u2028\tpublic bool mainCamera = true;\u2028\u2028\r\n\u2028\t\/\/\/ If billboard is set to true but not the mainCamera, should it be based on what camera?\u2028\r\n\u2028\tpublic Camera otherCamera;\u2028\u2028\r\n\u2028\t\/\/\/ The text file that contains all the talks to be parsed.\u2028\r\n\u2028\tpublic TextAsset txtToParse;\t\u2028\r\n\u2028\t\/\/\/ If the player hits the interaction button, should the text be skipped to the end?\u2028\r\n\u2028\tpublic bool enableQuickSkip = true;\u2028\u2028\r\n\u2028\t\/\/\/ Some script to look for a feedback when the talk is finished. Leave blank if no feedback is needed\u2028\r\n\u2028\tpublic MonoBehaviour callbackScript;\u2028\u2028\r\n\u2028\t\/\/\/ Function to be called when the talk finishes. Will only work if some script is set into callbackScript.\u2028\r\n\u2028\tpublic string callbackFunction;\u2028\u2028\r\n\u2028\t\/\/\/ An animator that some parameters can be set by RPGTalk to help animating while the talk is running\u2028\r\n\u2028\tpublic Animator animatorWhenTalking;\u2028\u2028\r\n\u2028\t\/\/\/ Name of a boolean property in the animatorWhenTalking that will be set to true when the text is running.\r\n\u2028\tpublic string animatorBooleanName;\u2028\u2028\r\n\u2028\t\/\/\/ Name of an int property in animator that represents the talker (based on the photos array).\u2028\r\n\u2028\tpublic string animatorIntName;\u2028\u2028\r\n\u2028\t\/\/\/ Wich position of the talk are we?\u2028\r\n\u2028\tpublic int cutscenePosition = 0;\u2028\u2028\r\n\u2028\t\/\/\/ Speed of the text, in characters per second\u2028\r\n\u2028\tpublic float textSpeed = 50.0f;\u2028\r\n\u2028\t\/\/\/ wich character of the current line are we?\u2028\r\n\u2028\tpublic float currentChar = 0.0f;\u2028\u2028\r\n\u2028\t\/\/\/ a list with every element of the Talk. Each element is a line on the text\u2028\r\n\u2028\tpublic List rpgtalkElements;\u2028\u2028\r\n\u2028\t\/\/\/ A GameObject to blink when expecting player&#039;s intercation. It will blink by alternating the GameObject Active property.\u2028\r\n\u2028\tpublic GameObject blinkWhenReady;\u2028\u2028\r\n\u2028\t\/\/\/ An array that can contain any variable and what is its value to be replaced in the talk\u2028\r\n\u2028\tpublic RPGTalkVariable&#x5B;] variables;\u2028\r\n\u2028\t\/\/\/ Should there be photos of the dialogers?\u2028\r\n\u2028\tpublic bool shouldUsePhotos;\u2028\u2028\r\n\u2028\t\/\/\/ The photos and who they belong to.\u2028\r\n\u2028\tpublic RPGTalkPhoto&#x5B;] photos;\u2028\u2028\r\n\u2028\t\/\/\/ An UI element with the Image property that the photo should be applied to\u2028\r\n\u2028\tpublic Image UIPhoto;\u2028\r\n\u2028\t\/\/\/ The dialog and everything in showWithDialog should stay on screen even if the text has ended?\u2028\r\n\u2028\tpublic bool shouldStayOnScreen;\u2028\u2028\r\n\u2028\t\/\/\/ Audio to be played while the character is talking\u2028\u2028\t\u2028\t\u2028\tpublic AudioClip textAudio;\u2028\r\n\u2028\t\/\/\/ Audio to be played when player passes the Talk\u2028\r\n\u2028\tpublic AudioClip passAudio;\u2028\r\n\u2028\t\/\/\/ Pass the text with mouse Click?\u2028\r\n\u2028\tpublic bool passWithMouse = true;\u2028\u2028\r\n\u2028\t\/\/\/ Pass the text with some button set on Project Settings &gt; Input\u2028\r\n\u2028\tpublic string passWithInputButton;\u2028\u2028\r\n\u2028\t\/\/\/ The user can currently pass the talk?\u2028\r\n\u2028\tpublic bool enablePass = true;\u2028\u2028\r\n\u2028\t\/\/\/ Line to start reading the text. Should not be below 1.\u2028\t\/\/\/ Can be a string that the RPGTalk will look for in the text by the pattern &#x5B;title=MyString]\u2028\r\n\u2028\tpublic string lineToStart = &quot;1&quot;;\u2028\r\n\u2028\t\/\/\/ Line to stop reading the text. If it is -1 it will read until the end of the file.\u2028\t\/\/\/ Can be a string that the RPGTalk will look for in the text by the pattern &#x5B;title=MyString]\u2028\r\n\u2028\tpublic string lineToBreak = &quot;-1&quot;;\u2028\u2028\r\n\u2028\t\/\/\/ Should the RPGTalk try to break long lines into several little ones?\u2028\r\n\u2028\tpublic bool wordWrap = true;\u2028\r\n\u2028\t\/\/\/ If wordWrap is set to true, RPGTalk will only accept a line with maxCharInWidth * maxCharInHeight characters.\u2028 If the line in the text passes it, it will be broken into another line.\u2028\r\n\u2028\tpublic int maxCharInWidth = 50;\u2028\r\n\u2028\t\/\/\/ If wordWrap is set to true, RPGTalk will only accept a line with maxCharInWidth * maxCharInHeight characters.\u2028 If the line in the text passes it, it will be broken into another line.\u2028\r\n\u2028\tpublic int maxCharInHeight = 4;\u2028\u2028\r\n\u2028\t\/\/\/ The sprites that can be used in this talk\u2028\r\n\u2028\tpublic List sprites;\u2028\u2028\r\n\u2028\t\/\/\/ The sprites that are being used in this talk\u2028\r\n\u2028\tpublic List spritesUsed;\u2028\u2028\r\n\u2028\t\/\/\/ The actual speed that the text will be scrolled. This usually is equal to textSpeed \u2028but can be changed within the text with the &#x5B;speed=X] tag\u2028\r\n\u2028\tpublic float actualTextSpeed;\u2028\u2028\r\n\u2028\t\/\/\/ Is the RPGTalk currently playing the text?\u2028\r\n\u2028\tpublic bool isPlaying;\u2028\u2028\u2028\r\n\u2028\t\/\/\/ The prefab of a Button that will be the choice in case of questions in the text\u2028\r\n\u2028\tpublic GameObject choicePrefab;\u2028\r\n\u2028\t\/\/\/ A parent that each choice will be instantiated to in case of questions\u2028\r\n\u2028\tpublic Transform choicesParent;\u2028\u2028\r\n<\/pre>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"methods_wrap\"><div class=\"documentor-section  section-21\" id=\"methods\" data-section-id=\"21\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">3.2.<\/span>Methods  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>The There are some useful public methods that can be called when using RPGtalk. These are:<\/p>\n<p><strong>New Talk:<br \/>\n<\/strong>Starts a new talk with every option in the variables. You can this method from several different ways so you can easily change how the new talk will be.<br \/>\nThe following code, for instance, starts a new talk in a RPGTalk instance set as &#8220;rpgtalk&#8221; to start from the line 10 and end in the 12.<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nrpgtalk.NewTalk(&quot;10&quot;,&quot;12&quot;);\r\n<\/pre>\n<p>The possible parameters are:<\/p>\n<p><span style=\"color: #009695;\">string<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">_lineToStart<br \/>\n<\/span><span style=\"color: #009695;\">string<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">_lineToBreak<br \/>\n<\/span><span style=\"color: #3364a4;\">TextAsset<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">_txtToParse<br \/>\n<\/span><span style=\"color: #3364a4;\">MonoBehaviour<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">_callbackScript<br \/>\n<\/span><span style=\"color: #009695;\">string<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">_callbackFunction<\/span><\/p>\n<p><strong>Play Next:<br \/>\n<\/strong>Plays the next line in the talk. If there are no lines left, it ends the talk.<br \/>\nThe only parameter is:<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">bool<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">forcePlay<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">=<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">false<\/span><\/span><\/p>\n<p>that checks if the the next line should be played even if the enablePass variable is set to false.<\/p>\n<p><strong>End Talk:<br \/>\n<\/strong>Ends the current talk. The callback functions will still going to be called.<br \/>\nThe only parameter is:<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">bool<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">jumpQuestions<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">=<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">false<\/span><\/span><\/p>\n<p>if it is false,\u00a0the talk\u00a0will jump to any questions found (See choices for more).<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"events_wrap\"><div class=\"documentor-section  section-22\" id=\"events\" data-section-id=\"22\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">3.3.<\/span>Events  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>Some events can be called to improve your interaction with RPGTalk.<\/p>\n<p><strong>OnNewTalk<br \/>\n<\/strong>Called when a new Talk Starts<\/p>\n<p><strong>OnPlayNext<\/strong><br \/>\nCalled when the user passes a dialog<\/p>\n<p><strong>OnEndTalk<\/strong><br \/>\nCalled when the user finishes a talk<\/p>\n<p><strong>OnMadeChoice<\/strong><br \/>\nCalled when the users answers a question (see more in Choices). This event has two parameters: the ID of the question and the ID of the answer, so you can do whatever you want with that information.<br \/>\n<span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">int<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">questionID<\/span><span style=\"color: #333333;\">,<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">int<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">choiceNumber<\/span><\/span><\/p>\n<p>An exemple of how to use these events:<\/p>\n<p>[code]<br \/>\npublic Rpgtalk rpgtalk;<br \/>\nvoid Start(){<br \/>\nrpgtalk.OnMadeChoice += OnMadeChoice;<br \/>\n}<\/p>\n<p>void OnMadeChoice(int questionID, int choiceID){<br \/>\nDebug.Log(&#8220;Aha! In the question &#8220;+questionID+&#8221; you choosed the option &#8220;+choiceID);<br \/>\n}<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"rpgtalkdubsounds_wrap\"><div class=\"documentor-section  section-23\" id=\"rpgtalkdubsounds\" data-section-id=\"23\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">3.4.<\/span>RPGTalkDubSounds  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>Class used to keep the sounds that will be called by the text. See Dubbing for more.<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">namespace<\/span><span style=\"color: #333333;\">\u00a0RPGTALK<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #333333;\">Dub<\/span><\/span><\/p>\n<p>Public variables:<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">RPGTalkDubLanguage<\/span><span style=\"color: #333333;\">[]<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">dubsByLanguage<\/span><span style=\"color: #333333;\">;<\/span><br \/>\n<span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">AudioMixerGroup<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">audioMixerToUse<\/span><span style=\"color: #333333;\">;<\/span><\/span><\/p>\n<p>Public methods:<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">void<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">PlayDubClip<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #009695;\">int<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">clipNum<\/span><span style=\"color: #333333;\">)<\/span><\/span><\/p>\n<p>Given its ID, plays a dub clip set in the dubsByLanguage array.<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">void<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">StopCurrentDub<\/span><span style=\"color: #333333;\">()<\/span><\/span><\/p>\n<p>Stops whatever clip is playing<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"rpgtalklocalization_wrap\"><div class=\"documentor-section  section-24\" id=\"rpgtalklocalization\" data-section-id=\"24\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">3.5.<\/span>RPGTalkLocalization  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>Class that keeps and manage the Localization.<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">namespace<\/span><span style=\"color: #333333;\">\u00a0RPGTALK<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #333333;\">Localization<\/span><\/p>\n<p><\/span><\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">class<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">LanguageSettings<\/span><\/span><\/p>\n<p>has the following static and public variables:<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">static<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">SupportedLanguages<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">defaultLanguage<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">=<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">SupportedLanguages<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #333333;\">EN_US<\/span><span style=\"color: #333333;\">;<\/span><\/span><\/p>\n<p>Keeps the default language of the game.<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">static<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">SupportedLanguages<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">actualLanguage<\/span><\/span><\/p>\n<p>What language is the game currently in?<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">class<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">RPGTalkLocalization<\/span><\/span><\/p>\n<p>Has a variable to keep the language array and another one static, so you can call RPGTalkLocalization wherever you need to.<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">static<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">RPGTalkLocalization<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">singleton<\/span><span style=\"color: #333333;\">;<\/span><\/span><\/p>\n<p><strong>Methods:<\/strong><\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">TextAsset<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">CheckForCorrectLanguage<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #3364a4;\">TextAsset<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">baseTxt<\/span><span style=\"color: #333333;\">)<\/span><\/span><\/p>\n<p>Given a base text in the default language, returns the textAsset for the actual language<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"rpgtalktimeline_wrap\"><div class=\"documentor-section  section-25\" id=\"rpgtalktimeline\" data-section-id=\"25\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">3.6.<\/span>RPGTalkTimeline  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>RPGTalkTimeline only needs to be placed in scene when using the timeline feature and waiting for player&#8217;s action. See Integrating with Timeline for more.<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">namespace<\/span><span style=\"color: #333333;\">\u00a0RPGTALK<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #333333;\">Timeline<\/span><\/span><\/p>\n<p><strong>Variables:<\/strong><\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #3364a4;\">PlayableDirector<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">timelineDirector<\/span><\/span><\/p>\n<p>the Playable Director that is playing the timeline.<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">bool<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">isPaused<\/span><\/span><\/p>\n<p>is the timeline currently paused by RPGTalkTimeline?<\/p>\n<p><strong>Methods:<\/strong><\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">void<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">Pause<\/span><span style=\"color: #333333;\">()<\/span><\/span><\/p>\n<p>Pauses the timeline.<\/p>\n<p><span style=\"font-family: Menlo;\"> <span style=\"color: #009695;\">public<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #009695;\">void<\/span><span style=\"color: #333333;\">\u00a0<\/span><span style=\"color: #333333;\">Resume<\/span><span style=\"color: #333333;\">()<\/span><\/span><\/p>\n<p>Resumes the timeline<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"snippets_wrap\"><div class=\"documentor-section  section-29\" id=\"snippets\" data-section-id=\"29\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">4.<\/span>Snippets  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>RPGTalk is highly customisable. And this is awesome. You can do a lot of stuff.<br \/>But we like to make your life easier \ud83d\ude09<br \/>So we already made a bunch of stuff using RPGTalk&#8217;s API. Check it out<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"follow-character_wrap\"><div class=\"documentor-section  section-27\" id=\"follow-character\" data-section-id=\"27\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">4.1.<\/span>Follow Character  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-283\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtalk6-300x208.jpg\" alt=\"rpgtalk6\" width=\"300\" height=\"208\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtalk6-300x208.jpg 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtalk6.jpg 503w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>This Snippet should be placed in the same object as RPGTalk.<\/p>\n<p>NOTE: This script uses <a href=\"http:\/\/www.seizestudios.com\/developer\/rpgtalk\/#characters-settings\"><strong>Characters<\/strong><\/a> to know who to follow. Make sure you set it right!<\/p>\n<p>&nbsp;<\/p>\n<p><strong>SetUps:<br \/>\nCanvas:\u00a0<\/strong>Throw your canvas here! The comportment of the snippet changes if your canvas is ScreenSpace.<br \/>\n<strong>DialogWindow:\u00a0<\/strong>This is the object that the snippet will indeed move. Inside a canvas.<\/p>\n<p><strong>Camera Specs<br \/>\nRotateToTarget<\/strong>: If set, the\u00a0DialogWindow will have the same rotation as the character.<br \/>\n<strong>CameraBillboard<\/strong>: If set, the DialogWindow will always be rotate to the camera.<br \/>\n<strong>BasedOnWhatCamera<\/strong>: On what camera the Billboard or the ScreenSpace will be based on<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-125 alignright\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/Billboard.gif\" alt=\"billboard\" width=\"189\" height=\"189\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-124 alignleft\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2016\/10\/ShouldFollow.gif\" alt=\"shouldfollow\" width=\"240\" height=\"160\" \/><\/p>\n<p>These options are awesome for 3D projects.<br \/>\nA Billboard object is always looking for the camera, while a non-Billboard one can fit into its perspective. Check the 3D exemple here with a RPGTalk Billboard and other without.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Limits<\/strong><br \/>\n<strong>ContainInsideScreen<\/strong>: If set, the Dialog Window will never leave the screen, even if the character moves out of it.<br \/>\n<strong>UnitsToMoveWhenOutside<\/strong>: how units should be moved when the character is outside?<br \/>\n<strong>MaximumIsInitialPoint<\/strong>: If set, the dialog Window will only try to be contained until its corners hit the initial point. After that, it will move out of the window as it should before.<br \/>\n<strong>MaintainZ<\/strong>: ScreenSpace objects may have problems with Z. If this option is checked, the Z won&#8217;t be changed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-284\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/ezgif.com-video-to-gif-2.gif\" alt=\"ezgif.com-video-to-gif (2)\" width=\"320\" height=\"180\" \/><\/p>\n<p><strong>Pointer<\/strong><br \/>\n<strong>Pointer<\/strong>: A pointer can be set to be teleported to the lowest Y of the Dialog Window. If the pointer is a Smart Pointer, the Snippet also set its end point.<br \/>\n<strong>PointerInitialOffset<\/strong>: any offset of the pointer?<br \/>\n<strong>MantainXDinstanceFromClosestCorner<\/strong>: If set, the X distance that you have set of the closest corner on Dialog Window will be kept. Useful for when you want a left or right pointer.<\/p>\n<div><\/div>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"can-pass-warning_wrap\"><div class=\"documentor-section  section-30\" id=\"can-pass-warning\" data-section-id=\"30\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">4.2.<\/span>Can Pass Warning  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-285\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtalk7-300x123.jpg\" alt=\"rpgtalk7\" width=\"300\" height=\"123\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtalk7-300x123.jpg 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtalk7.jpg 503w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>Maybe you want something to happen when the user can pass the talk.<br \/>Maybe an arrow that shows up indicating that a player action is needed?<\/p>\n<p>This Snippet have two events, What should happen when the player can pass, What should happen when the player passes.<\/p>\n<p>You can then have your own animation, events, etc.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"save-instance_wrap\"><div class=\"documentor-section  section-31\" id=\"save-instance\" data-section-id=\"31\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">4.3.<\/span>Save Instance  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>This is a very simple Snippet.<\/p>\n<p>It should be placed on the RPGTalk Object.<\/p>\n<p>It only have one option: <strong>Save Between Plays<\/strong>?<br \/>If not set, everything saved will be erased when the game closes.<\/p>\n<p>It has another checkbox, <strong>Erase<\/strong>. This is for debug only, and erase everything saved.<\/p>\n<p>This\u00a0Snippet is ready to save <a href=\"http:\/\/www.seizestudios.com\/developer\/rpgtalk\/#choices\"><strong>Choices<\/strong><\/a> and <a href=\"http:\/\/www.seizestudios.com\/developer\/rpgtalk\/#easily-changing-the-text-while-the-game-is-running\"><strong>Areas<\/strong><\/a>. But if you want to save anything else (like quests), it shouldn&#8217;t be hard to make your own script based on it.<br \/>For programmers: it saves data using PlayerPrefs. Feel free to change the script and use your favorite save method.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"simple-animation_wrap\"><div class=\"documentor-section  section-32\" id=\"simple-animation\" data-section-id=\"32\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">4.4.<\/span>Simple Animation  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>If you read until here you must already now&#8230; RPGTalk is awesome!<\/p>\n<p>But sometimes you don&#8217;t need all of those options, tags, events, dialogs, not even read a TXT&#8230; You only want to animate a simple Text in the canvas.<\/p>\n<p>Don&#8217;t you worry! With this Snippet on any Text or TextMeshPro element, it will make the text animation with the given <strong>Text Speed<\/strong>.<\/p>\n<p>You don&#8217;t have to be an instance of RPGTalk in your scene to make this Snippet run!<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"skip-cutscene_wrap\"><div class=\"documentor-section  section-33\" id=\"skip-cutscene\" data-section-id=\"33\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">4.5.<\/span>Skip Cutscene  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-289\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtalk8-241x300.jpg\" alt=\"rpgtalk8\" width=\"241\" height=\"300\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtalk8-241x300.jpg 241w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/rpgtalk8.jpg 502w\" sizes=\"auto, (max-width: 241px) 100vw, 241px\" \/>This Snippet should be used in the same object that has the <strong>RPGTalk Timeline<\/strong> component.<\/p>\n<p>The objective is to skip a cutscene set on Timeline.\u00a0<\/p>\n<p>It looks scary, but the options are really simple. The first ones are the same as in RPGTalk, to know what button should be pressed to skip the cutscene.<br \/>The new option here is the one that asks if <strong>The user have to press the button twice<\/strong>. This is used a lot in big games to display a message like &#8220;Press X again to skip the cutscene&#8221;.<br \/>If this option is set, you will have to say how many seconds before the warning goes out and what events should happen when we hit the first time and don&#8217;t hit again.<\/p>\n<p>We also have an event that can be fired when we skip.<\/p>\n<p>We have a few <strong>options<\/strong> too.<br \/>A simple bool that can <strong>block skip<\/strong>.<br \/>An option that <strong>jumps questions on the cutscene<\/strong>. If not set, your cutscene will be skipped until an option is found.<br \/>In the end, you may set a <strong>delay<\/strong> when the user skips it. Useful for if you want to make a fade out or something like that.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"smart-pointer_wrap\"><div class=\"documentor-section  section-34\" id=\"smart-pointer\" data-section-id=\"34\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">4.6.<\/span>Smart Pointer  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>This snippet needs to be placed inside a Canvas Element.<\/p>\n<p>It is a script that makes a balloon pointer using line Renderer.<\/p>\n<p>The <strong>End Point<\/strong> Variable usually is defined by <strong>Follow Character<\/strong> Snippet. But you can <strong>control it&#8217;s Z<\/strong> or an <strong>offset<\/strong>.<\/p>\n<p>You can say what is the maximum that this line can <strong>stretch<\/strong>. And if it passes the maximum, if it should <strong>bend<\/strong> some other way.<\/p>\n<p>Simple, but pretty useful when you don&#8217;t have control of the exact character position.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><div class=\"doc-sectionwrap\" id=\"beta-node-editor_wrap\"><div class=\"documentor-section  section-35\" id=\"beta-node-editor\" data-section-id=\"35\"><h3 class=\"doc-sec-title\" > <span class=\"doc-sec-count\" style=\"display:inline-block\">5.<\/span>BETA - Node Editor  <div class=\"documentor-social doc-noprint\"><\/div><\/h3><div class=\"doc-sec-content\" ><p>RPGTalk is already pretty nice, but sometimes you want to build your dialog inside unity, not only on a TXT.<\/p>\n<p>We are building something for that.<br \/>\nIt is not complete. It has some known bugs and a lot os space to grow. But it is just so awesome that we couldn&#8217;t keep it to ourselves!<\/p>\n<p>Just go to the <strong>RPGTalk Menu &gt; BETA &#8211; Node Editor<\/strong> and a window will popup.<\/p>\n<p>Click <strong>New TXT<\/strong>.<\/p>\n<p>Right Click anywhere on the new window, go to <strong>RPGTalk &gt; Dialog Node<\/strong>.<br \/>\nA dialog node will appear where you can set the Title, the Character that is talking (automatically gathered from every Character on the project), and the dialog line.<\/p>\n<p>Feel free to create another and connect the two! Just clic and drag the blue arrows. This way, they will be under the same title, and be part of the same dialog!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-292 size-large\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node0-1024x549.jpg\" alt=\"node0\" width=\"770\" height=\"413\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node0-1024x549.jpg 1024w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node0-300x161.jpg 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node0-768x412.jpg 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node0.jpg 1950w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/p>\n<p>You can also create a\u00a0<strong>Choice Node<\/strong>. When you connect it to a Dialog Node, an option appears in it showing the <strong>ID of the question<\/strong>.<br \/>\nYou can connect how many choice nodes you want to a Dialog Node that will be the question.<br \/>\nAfter that, you can connect the choice nodes to a new Dialog Node that will be the follow up conversation if the player has chose this answer.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-293 size-large\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node1-1024x631.jpg\" alt=\"node1\" width=\"770\" height=\"474\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node1-1024x631.jpg 1024w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node1-300x185.jpg 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node1-768x474.jpg 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node1.jpg 1956w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/p>\n<p>There is another node, Save Node. You can use it like it were a <strong>Save Tag<\/strong> on your TXT. The conversation changes if something was saved.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-294 size-large\" src=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node2-1024x624.jpg\" alt=\"node2\" width=\"770\" height=\"469\" srcset=\"http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node2-1024x624.jpg 1024w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node2-300x183.jpg 300w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node2-768x468.jpg 768w, http:\/\/www.seizestudios.com\/wp-content\/uploads\/2019\/02\/node2.jpg 1952w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/p>\n<p>Don&#8217;t forget to <strong>Save your TXT<\/strong> before closing the window.<br \/>\nYou can then use the generated TXT in your RPGTalk components! Nice!<br \/>\nYou can also load TXT to edit then as nodes.<\/p>\n<\/div><div class=\"documentor-help\"><div class=\"negative-feedbackform doc-noprint\">\r\n\t\t\t\t\t<\/div><div class=\"feedback-msg doc-noprint\"><\/div><\/div><\/div><\/div><!--.\/doc-sectionwrap--><\/div><!--.doc-sec-container--><script type=\"text\/javascript\">\r\n\t\t\tjQuery(document).ready(function(){\r\n\t\t\t\tjQuery(\"#documentor-1\").documentor({\r\n\t\t\t\t\tdocumentid\t: 1,\r\n\t\t\t\t\tdocid\t\t: \"documentor-1\",\r\n\t\t\t\t\tanimation\t: \"\",\r\n\t\t\t\t\tindexformat\t: \"1\",\r\n\t\t\t\t\tpformat\t\t: \"decimal\",\r\n\t\t\t\t\tcformat\t\t: \"decimal\",\t\t\t\t\t\r\n\t\t\t\t\tsecstyle\t: \"\",\r\n\t\t\t\t\tactnavbg_default: \"1\",\r\n\t\t\t\t\tactnavbg_color\t: \"#0093bf\",\r\n\t\t\t\t\tscrolling\t: \"1\",\r\n\t\t\t\t\tfixmenu\t\t: \"1\",\r\n\t\t\t\t\tskin\t\t: \"default\",\r\n\t\t\t\t\tscrollBarSize\t: \"3\",\r\n\t\t\t\t\tscrollBarColor\t: \"#F45349\",\r\n\t\t\t\t\tscrollBarOpacity: \"0.4\",\r\n\t\t\t\t\twindowprint\t: \"0\",\r\n\t\t\t\t\tmenuTop: \"0\",\r\n\t\t\t\t\tsocialshare\t: 0,\r\n\t\t\t\t\tsharecount\t: 1,\r\n\t\t\t\t\tfbshare\t\t: 1,\r\n\t\t\t\t\ttwittershare\t: 1,\r\n\t\t\t\t\tgplusshare\t: 1,\r\n\t\t\t\t\tpinshare\t: 1,\r\n\t\t\t\t\ttogglechild\t: 1,\r\n\t\t\t\t\tnoResultsStr: \"No results found!\",\r\n\t\t\t\t});\t\r\n\t\t\t});<\/script><a class=\"scrollup doc-noprint\" style=\"display: block;\"><span class=\"icon-angle-up\"><\/span><\/a><\/div><!--\/.document-wrapper--><\/div><div class=\"cleardiv\"> <\/div><div id=\"documentor-1-end\"><\/div><br \/>\n<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":15,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"footnotes":""},"class_list":["post-104","page","type-page","status-publish","hentry"],"translation":{"provider":"WPGlobus","version":"2.12.2","language":"br","enabled_languages":["en","br"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"br":{"title":true,"content":true,"excerpt":false}}},"_links":{"self":[{"href":"http:\/\/www.seizestudios.com\/br\/wp-json\/wp\/v2\/pages\/104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.seizestudios.com\/br\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.seizestudios.com\/br\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.seizestudios.com\/br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.seizestudios.com\/br\/wp-json\/wp\/v2\/comments?post=104"}],"version-history":[{"count":30,"href":"http:\/\/www.seizestudios.com\/br\/wp-json\/wp\/v2\/pages\/104\/revisions"}],"predecessor-version":[{"id":302,"href":"http:\/\/www.seizestudios.com\/br\/wp-json\/wp\/v2\/pages\/104\/revisions\/302"}],"up":[{"embeddable":true,"href":"http:\/\/www.seizestudios.com\/br\/wp-json\/wp\/v2\/pages\/15"}],"wp:attachment":[{"href":"http:\/\/www.seizestudios.com\/br\/wp-json\/wp\/v2\/media?parent=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}