Diferenças entre edições de "Modificações:Dados de Eventos"

Fonte: Stardew Valley Wiki
Saltar para a navegação Saltar para a pesquisa
 
(Há 17 revisões intermédias de 6 utilizadores que não estão a ser apresentadas)
Linha 2: Linha 2:
 
← [[Modificações:Índice|Índice]]
 
← [[Modificações:Índice|Índice]]
  
This page explains how the game stores and parses event data. This is an advanced guide for mod developers.
+
Esta página explica como o jogo armazena e analisa os dados do evento. Este é um guia avançado para desenvolvedores de mod.
  
 
==Fonte==
 
==Fonte==
Events are stored in <tt>'''Content\Data\Events\*.xnb'''</tt> (one file per location), which can be [[Modding:Editing XNB files#Getting started|unpacked using XNB Extract]].
+
Os eventos são armazenados em <samp>'''Content\Data\Events\*.xnb'''</samp> (um arquivo por local), que pode ser [[Modding:Editing XNB files#Getting started|desempacotado usando XNB Extract]].
  
Here's the raw data for saloon events as of {{version|1.3.27}} for reference (excluding XNB headers):
+
Aqui estão os dados brutos para eventos de salão a partir de {{version|1.3.27}} para referência (excluindo cabeçalhos XNB):
{{Collapse|Code|content=<syntaxhighlight lang="yaml">
+
{{Collapse|Código|content=<syntaxhighlight lang="yaml">
    40/f Elliott 1000/p Gus/t 1500 2200: "playful/11 20/farmer 14 24 0 Elliott -30 -30 0 Clint 18 22 2 Marnie 9 22 3 Pam 7 18 1 Lewis 8 22 1 Pierre 4 22 2 Demetrius 3 23 1 Gus 14 18 2 Emily 16 18 3/skippable/move farmer 0 -3 3/faceDirection Pierre 1 true/move farmer -3 0 0/faceDirection Pierre 2 true/move farmer 0 -1 0/faceDirection Marnie 0 true/faceDirection Gus 3/speak Gus \"Hi. I'll take your order in a few moments.\"/faceDirection Gus 2/move Emily 2 0 1/faceDirection Marnie 3 true/pause 800/move Emily -2 0 0/pause 1000/faceDirection Clint 3 true/move Emily 2 0 1/warp Elliott 14 24/playSound doorClose/pause 500/move Elliott 0 -3 3/faceDirection farmer 2 true/move Elliott -2 0 0/move Elliott 0 -1 0/faceDirection farmer 1/faceDirection Elliott 3/speak Elliott \"Hello, @! What a pleasant surprise!#$b#I was just stopping in to relax after an eight hour writing session.$h\"/pause 400/faceDirection Elliott 1/speak Elliott \"Bartender! Two of your finest ales, please!^Bartender! Fetch me your finest ale. And bring some wine for the lady!\"/faceDirection Gus 3/faceDirection farmer 0/speak Gus \"...$u\"/move Gus 3 0 0/move Gus 0 -1 0/faceDirection Emily 2/playSound openBox/pause 400/playSound Milking/move Pam -6 0 0/move Gus 0 1 3/move Gus -5 0 2/faceDirection Elliott 0/pause 500/speak Gus \"There you go, sir.$u\"/pause 500/faceDirection Elliott 3/faceDirection farmer 1/speak Elliott \"$q 28376 null#Wait. I propose a toast! To...#$r 28376 25 event_toast4#To Pelican Town!#$r 28376 50 event_toast2#To our friendship!#$r 28376 -10 event_toast1#To my good health!#$r 28376 -50 event_toast3#To your doom!\"/faceDirection Elliott 2/faceDirection farmer 2/pause 900/showFrame Elliott 16/animate Elliott false false 120 16 17 18 19 19 18 18 19 19 18 18 19 19 18 18 19 19 18 18 17 16/pause 500/farmerEat 346/pause 900/pause 1100/stopAnimation farmer/faceDirection farmer 1/speak Elliott \"*Hic*... Strong stuff...$h\"/pause 800/animate Elliott false false 400 20 21 22 21 20 21 22 21 20 21 22 21 20 21 22 21 16/pause 1000/faceDirection farmer 1/pause 800/faceDirection farmer 2/animate farmer false true 100 102 103/pause 1000/globalFade/viewport -1000 -1000/pause 600/stopAnimation farmer/end warpOut" #!String
+
40/f Elliott 1000/p Gus/t 1500 2200: "playful/11 20/farmer 14 24 0 Elliott -30 -30 0 Clint 18 22 2 Marnie 9 22 3 Pam 7 18 1 Lewis 8 22 1 Pierre 4 22 2 Demetrius 3 23 1 Gus 14 18 2 Emily 16 18 3/skippable/move farmer 0 -3 3/faceDirection Pierre 1 true/move farmer -3 0 0/faceDirection Pierre 2 true/move farmer 0 -1 0/faceDirection Marnie 0 true/faceDirection Gus 3/speak Gus \"Oi. Já anoto o seu pedido.\"/faceDirection Gus 2/move Emily 2 0 1/faceDirection Marnie 3 true/pause 800/move Emily -2 0 0/pause 1000/faceDirection Clint 3 true/move Emily 2 0 1/warp Elliott 14 24/playSound doorClose/pause 500/move Elliott 0 -3 3/faceDirection farmer 2 true/move Elliott -2 0 0/move Elliott 0 -1 0/faceDirection farmer 1/faceDirection Elliott 3/speak Elliott \"Oi, @! Que surpresa agradável!#$b#Eu ia parar para relaxar após uma sessão de oito horas de escrita.$h\"/pause 400/faceDirection Elliott 1/speak Elliott \"Garçom! Duas de suas melhores cervejas, por favor!^Garçom! Dê-me sua melhor cerveja. E traga um pouco de vinho para esta senhorita!\"/faceDirection Gus 3/faceDirection farmer 0/speak Gus \"...$u\"/move Gus 3 0 0/move Gus 0 -1 0/faceDirection Emily 2/playSound openBox/pause 400/playSound Milking/move Pam -6 0 0/move Gus 0 1 3/move Gus -5 0 2/faceDirection Elliott 0/pause 500/speak Gus \"Aqui está, senhor.$u\"/pause 500/faceDirection Elliott 3/faceDirection farmer 1/speak Elliott \"$q 28376 null#Espere. Proponho um brinde! À...#$r 28376 25 event_toast4#Á Vila Pelicanos!#$r 28376 50 event_toast2#À nossa amizade!#$r 28376 -10 event_toast1#À nossa saúde#$r 28376 -50 event_toast3#A seu fim!\"/faceDirection Elliott 2/faceDirection farmer 2/pause 900/showFrame Elliott 16/animate Elliott false false 120 16 17 18 19 19 18 18 19 19 18 18 19 19 18 18 19 19 18 18 17 16/pause 500/farmerEat 346/pause 900/pause 1100/stopAnimation farmer/faceDirection farmer 1/speak Elliott \"*Hic*... Que coisa forte...$h\"/pause 800/animate Elliott false false 400 20 21 22 21 20 21 22 21 20 21 22 21 20 21 22 21 16/pause 1000/faceDirection farmer 1/pause 800/faceDirection farmer 2/animate farmer false true 100 102 103/pause 1000/globalFade/viewport -1000 -1000/pause 600/stopAnimation farmer/end warpOut" #!String
     96/f Gus 1000/f Pam 500/p Gus: "jaunty/10 21/farmer -100 -100 0 Gus 10 21 2 Pam -101 -101 0/skippable/pause 200/emote Gus 28/pause 500/playSound doorClose/warp farmer 14 24/pause 500/faceDirection Gus 1 true/move farmer 0 -3 3/speak Gus \"Oh, Hello there, buddy.^Hi, @.\"/pause 500/faceDirection Gus 2/move farmer -3 0 2/pause 800/faceDirection farmer 3/pause 400/emote farmer 8/pause 700/speak Gus \"*sigh*...I'm just looking over last month's earnings... and It's not looking very good, @.$s#$b#The worst thing... and I hate to say this because she's my friend... is Pam! She hasn't paid off her tab in weeks!$s#$b#...But I can't ask her to do it. I know she'll get defensive, and I don't want to hurt her feelings.$s\"/pause 600/faceDirection Gus 1/speak Gus \"@, you gotta help me!$s\"/stopMusic/pause 500/playSound doorClose/warp Pam 14 24/move Pam 0 -3 3/faceDirection Gus 1 true/faceDirection farmer 1/emote Gus 16/speak Pam \"Hiya!$h#$b#Gus... I'm awful thirsty, if you catch my drift.\"/emote Gus 28/speak Gus \"Er... Well, okay Pam.$s\"/emote Gus 28/pause 700/emote Pam 8/pause 400/speak Pam \"$q 207 null#@, what's going on here?#$r 207 -50 event_credit1#You need to pay your tab right now!#$r 208 15 event_credit2#The saloon isn't doing well, financially\"/pause 400/faceDirection Pam 1/emote Pam 12/speak Pam \"....$u#$b#*sigh* ...Well, I guess I'd better pay off that tab, then.$s\"/move Pam -2 0 0/move Pam 0 -1 3/move Pam -2 0 2/faceDirection Gus 0/faceDirection farmer 3/playSound money/pause 500/speak Gus \"Thanks, Pam!$h\"/pause 500/faceDirection Gus 1/speak Gus \"And thank you, @.$u\"/pause 500/faceDirection Gus 0/speak Gus \"Now, let's get you that drink, Pam.$h\"/friendship Gus 50/end dialogue Gus \"Thanks for your help, @. This cash is going to be a big help to the saloon.\"" #!String
+
     96/f Gus 1000/f Pam 500/p Gus: "jaunty/10 21/farmer -100 -100 0 Gus 10 21 2 Pam -101 -101 0/skippable/pause 200/emote Gus 28/pause 500/playSound doorClose/warp farmer 14 24/pause 500/faceDirection Gus 1 true/move farmer 0 -3 3/speak Gus \"Ah, olá, colega.^Oi, @.\"/pause 500/faceDirection Gus 2/move farmer -3 0 2/pause 800/faceDirection farmer 3/pause 400/emote farmer 8/pause 700/speak Gus \"Aaah... eu estava dando uma olhada no faturamento do mês passado... e não está nada bom, @.$s#$b#E o pior... e eu odeio dizer isso, porque ela é minha amiga... é a Pam! Ela não paga há semanas!...$s#$b#Mas não consigo cobrá-la. Sei que ela vai ficar ofendida, e não quero ferir os sentimentos dela.$s\"/pause 600/faceDirection Gus 1/speak Gus \"@, você precisa me ajudar!$s\"/stopMusic/pause 500/playSound doorClose/warp Pam 14 24/move Pam 0 -3 3/faceDirection Gus 1 true/faceDirection farmer 1/emote Gus 16/speak Pam \"Olá!$h#$b#Gus... Estou com muita sede, se é que você me entende.\"/emote Gus 28/speak Gus \"Err... Bem, está certo, Pam.$s\"/emote Gus 28/pause 700/emote Pam 8/pause 400/speak Pam \"$q 207 null#@, o que está acontecendo aqui?#$r 207 -50 event_credit1#Você precisa pagar a sua conta agora!#$r 208 15 event_credit2#O saloon não está indo bem financeiramente\"/pause 400/faceDirection Pam 1/emote Pam 12/speak Pam \"...$u#$b#Bem, então acho que é melhor eu pagar essa conta.$s\"/move Pam -2 0 0/move Pam 0 -1 3/move Pam -2 0 2/faceDirection Gus 0/faceDirection farmer 3/playSound money/pause 500/speak Gus \"Obrigado, Pam!$h\"/pause 500/faceDirection Gus 1/speak Gus \"E obrigado, @.$u\"/pause 500/faceDirection Gus 0/speak Gus \"Agora, deixa eu pegar a sua cerveja, Pam.$h\"/friendship Gus 50/end dialogue Gus \"Obrigado por sua ajuda, @. Esse dinheiro vai ser de grande ajuda para o saloon.\"" #!String
     97/f Clint 750/t 1900 2300/d Tue Wed Thu Fri Sat Sun: "none/4 18/farmer 14 24 0 Clint 4 19 2 Emily 10 11 0 Gus 15 18 1 Shane 7 18 1/skippable/move farmer 0 -3 3/emote Clint 28/pause 500/move Clint 0 -1 3/move Clint -3 0 0/pause 500/playSound openBox/pause 150/playSound shiny4/pause 400/playMusic desolate/move Clint 3 0 2/move Clint 0 1 2/move farmer -3 0 0/move farmer 0 -1 3/faceDirection Shane 2 true/move farmer -3 0 3/faceDirection Shane 1 true/move farmer -3 0 3/faceDirection Clint 1/speak Clint \"Hello, @... care to join me?\"/pause 400/faceDirection farmer 0/pause 800/faceDirection farmer 3/faceDirection Clint 2/speak Clint \"Let me just go ahead and tell you what's on my mind.$u#$b#I have terrible luck with women, @...*sigh*$s#$b#I'm a nice guy if you get to know me, I swear!$u\"/pause 500/faceDirection farmer 0/emote farmer 28/pause 500/faceDirection farmer 3/speak Clint \"The girls all seem to like you, @...^You're a girl, @...\"/speak Clint \"$q 211 null#Got any tips?^What advice can you give me?#$r 211 25 event_advice1#Impress women with your strength and charm#$r 211 25 event_advice1#Act crazy, to keep people guessing#$r 211 0 event_advice2#Just act natural... be yourself#$r 211 50 event_advice1#Treat women the same as men\"/speed Emily 4/move Emily -6 0 2/speed Emily 2/move Emily 0 4 2/doAction 4 16/playSound openBox/stopMusic/move Emily 0 3 1/move Emily 1 0 2/move Emily 0 1 3/pause 400/pause 700/speak Emily \"Hi Clint, what can I get for you tonight?$h\"/pause 600/faceDirection Clint 1/pause 200/speak Clint \"Yes!\"/pause 300/speak Clint \"Er.. I mean, I'll have the Big n' Cheesy. With extra sauce, please.$s#$b#...$u\"/faceDirection Clint 3/faceDirection Emily 2/pause 300/faceDirection Clint 2/speak Emily \"Hi @.\"/pause 300/faceDirection farmer 0/faceDirection Clint 1/speak Clint \"Er... *ahem* Th...Thanks, Emily. For... taking my order.#$b#Um, Emily? I was...*gulp*... I was wondering...$h\"/pause 300/faceDirection Emily 3/emote Emily 8/pause 400/speak Emily \"Yes, Clint?$u\"/pause 500/emote Clint 28/pause 1200/speak Clint \"... nevermind.$s\"/faceDirection Clint 0/playMusic sadpiano/pause 300/faceDirection Emily 2/pause 300/faceDirection Emily 3/pause 500/move Emily 0 -1 1/move Emily 1 0 1/faceDirection Shane 3/speak Emily \"Hi, Shane! Here's your beverage.$h\"/pause 300/faceDirection Shane 1/pause 400/addObject 8 17 346 1/playSound woodyStep/pause 400/faceDirection Shane 3/pause 300/faceDirection Clint 1/speak Shane \"Thanks, Emily!$h#$b#So... How's your shift coming along?\"/speak Emily \"It's fine! Thanks for asking, Shane!$h#$b#Do you have any new chicken stories for me?\"/pause 600/emote Clint 28/pause 500/faceDirection Clint 2/pause 800/speak Clint \"*sigh*$s#$b#I'm doomed...$s\"/end warpOut" #!String
+
     97/f Clint 750/t 1900 2300/d Tue Wed Thu Fri Sat Sun: "none/4 18/farmer 14 24 0 Clint 4 19 2 Emily 10 11 0 Gus 15 18 1 Shane 7 18 1/skippable/move farmer 0 -3 3/emote Clint 28/pause 500/move Clint 0 -1 3/move Clint -3 0 0/pause 500/playSound openBox/pause 150/playSound shiny4/pause 400/playMusic desolate/move Clint 3 0 2/move Clint 0 1 2/move farmer -3 0 0/move farmer 0 -1 3/faceDirection Shane 2 true/move farmer -3 0 3/faceDirection Shane 1 true/move farmer -3 0 3/faceDirection Clint 1/speak Clint \"Oi, @... se importaria de se juntar a mim?\"/pause 400/faceDirection farmer 0/pause 800/faceDirection farmer 3/faceDirection Clint 2/speak Clint \"Deixe-me dizer o que está na minha cabeça.$u#$b#Tenho uma sorte terrível com mulheres, @... Aaah...$s#$b#Sou um cara muito legal se você me conhecer, juro!$u\"/pause 500/faceDirection farmer 0/emote farmer 28/pause 500/faceDirection farmer 3/speak Clint \"Todas as garotas parecem gostar de você, @...^Você é uma garota, @...\"/speak Clint \"$q 211 null#Tem alguma dica?^Que tipo de conselho você pode me dar?#$r 211 25 event_advice1#Impressione as mulheres com sua força e charme#$r 211 25 event_advice1#Aja loucamente, para manter o suspense#$r 211 0 event_advice2#Aja naturalmente... seja você mesmo#$r 211 50 event_advice1#Trate mulheres da mesma forma que homens\"/speed Emily 4/move Emily -6 0 2/speed Emily 2/move Emily 0 4 2/doAction 4 16/playSound openBox/stopMusic/move Emily 0 3 1/move Emily 1 0 2/move Emily 0 1 3/pause 400/pause 700/speak Emily \"Oi, Clint. Que posso fazer por você hoje à noite?$h\"/pause 600/faceDirection Clint 1/pause 200/speak Clint \"Sim!\"/pause 300/speak Clint \"Err... Quero dizer, quero o Queijo Grande. Com molho extra, por favor.$s#$b#...$u\"/faceDirection Clint 3/faceDirection Emily 2/pause 300/faceDirection Clint 2/speak Emily \"Oi, @.\"/pause 300/faceDirection farmer 0/faceDirection Clint 1/speak Clint \"Err... *caham*. O-obrigado, Emily. Por... pegar meu pedido.#$b#Hã... Emily? Eu estava... *gulp*... Estava me perguntando se...$h\"/pause 300/faceDirection Emily 3/emote Emily 8/pause 400/speak Emily \"Sim, Clint?$u\"/pause 500/emote Clint 28/pause 1200/speak Clint \"... Deixa para lá.$s\"/faceDirection Clint 0/playMusic sadpiano/pause 300/faceDirection Emily 2/pause 300/faceDirection Emily 3/pause 500/move Emily 0 -1 1/move Emily 1 0 1/faceDirection Shane 3/speak Emily \"Oi, Shane! Aqui está a sua bebida.$h\"/pause 300/faceDirection Shane 1/pause 400/addObject 8 17 346 1/playSound woodyStep/pause 400/faceDirection Shane 3/pause 300/faceDirection Clint 1/speak Shane \"Obrigado, Emily!$h#$b#Então... Como está indo o seu turno?\"/speak Emily \"Está indo bem! Obrigado por perguntar, Shane!$h#$b#Você tem novas histórias de galinha para mim?\"/pause 600/emote Clint 28/pause 500/faceDirection Clint 2/pause 800/speak Clint \"*Aaah...*$s#$b#Estou perdido...$s\"/end warpOut" #!String
     911526/f Alex 2500/t 1900 2200/n joshMessage: "gusviolin/-1000 -1000/farmer 5 5 1 Gus 10 6 2 Alex 9 5 3 Emily 9 17 2/skippable/showFrame 117/showFrame Alex 39/positionOffset farmer 12 8/positionOffset Alex -12 0/animate Gus false true 723 16 17/viewport 7 4 true/pause 23000/stopAnimation Gus/pause 1000/faceDirection Gus 3/speak Alex \"Thanks, Gus. That was great.\"/move Gus 0 1 1/move Gus 1 0 2/move Gus 0 1 2/doAction 11 9/move Gus 0 3 1/move Gus 12 0 3 true/speak Alex \"This is nice... I've never dined in here before.\"/pause 1000/emote Alex 40/speak Alex \"Um, anyway... I reserved this private room so we could talk...$l\"/warp Emily 11 11 true/playSound woodyStep/move Emily 0 -4 3/move Emily -4 0 0/move Emily 0 -1 0/speak Emily \"I've got a linguini with mushroom cream sauce for Mr. @.^I've got a kale and walnut salad for the lady.#$b#...and a grilled steak for Alex.^And a grilled steak for the gentleman.\"/playSound woodyHit/specificTemporarySprite joshDinner/speak Alex \"Thanks.\"/move Emily 4 0 2/move Emily 0 5 1/move Emily 11 0 1 true/speak Alex \"So, what I wanted to say was...$9\"/playMusic musicboxsong/speak Alex \"*gulp*$s\"/pause 600/speak Alex \"Well... when we first met, I was instantly drawn to you. It was confusing... I'd never felt that way about anyone.$l^When I first met you, I thought you were really cute.$l#$b#I kept telling myself 'You can't have these kinds of feelings for another guy'.$l^Normally, when I have a crush on someone, the feeling goes away pretty quick...$l\"/pause 800/speak Alex \"...But my heart was telling me something else.^...But with you, it kept growing.$l\"/pause 400/emote Alex 40/pause 600/question fork1 \"#I feel the same way.#I'm sorry... I don't feel that way about you.\"/pause 400/fork rejectJosh/speak Alex \"...$l#$b#I can't believe it took this long to say that to each other.$l\"/emote Alex 32/pause 800/animate Alex false false 400 40 41 41 40 41 41 40 41 41 40 41 41 40/pause 800/playSound eat/pause 800/playSound eat/pause 800/playSound eat/pause 800/playSound gulp/pause 400/speak Alex \"Mmm... this steak is outsanding. Can you smell that fragrant sauce?$10\"/eyes 1 -4000/animate Alex false false 400 40 41 41 40 41 41 40/pause 1000/specificTemporarySprite alexDiningDog/playSound dogWhining/pause 1000/globalFade/viewport -1000 -1000/pause 6000/end dialogue Alex \"...$l\"" #!String
+
     911526/f Alex 2500/t 1900 2200/n joshMessage: "gusviolin/-1000 -1000/farmer 5 5 1 Gus 10 6 2 Alex 9 5 3 Emily 9 17 2/skippable/showFrame 117/showFrame Alex 39/positionOffset farmer 12 8/positionOffset Alex -12 0/animate Gus false true 723 16 17/viewport 7 4 true/pause 23000/stopAnimation Gus/pause 1000/faceDirection Gus 3/speak Alex \"Obrigado, Gus. Isso foi ótimo.\"/move Gus 0 1 1/move Gus 1 0 2/move Gus 0 1 2/doAction 11 9/move Gus 0 3 1/move Gus 12 0 3 true/speak Alex \"Isso é muito legal... Nunca jantei aqui antes.\"/pause 1000/emote Alex 40/speak Alex \"Hã... então... Reservei esta sala particular para que pudéssemos falar...$l\"/warp Emily 11 11 true/playSound woodyStep/move Emily 0 -4 3/move Emily -4 0 0/move Emily 0 -1 0/speak Emily \" Um linguine com creme de cogumelo para o sr. @.^E tenho uma salada de couve e nozes para a senhorita.#$b#E um bife grelhado para Alex.^E um bife grelhado para o cavalheiro.\"/playSound woodyHit/specificTemporarySprite joshDinner/speak Alex \"Obrigado.\"/move Emily 4 0 2/move Emily 0 5 1/move Emily 11 0 1 true/speak Alex \"Então, o que eu queria dizer era...$9\"/playMusic musicboxsong/speak Alex \"*Gulp.*$s\"/pause 600/speak Alex \"Bem, quando nos vimos pela primeira vez, logo me senti atraído por você. Foi confuso... Nunca senti isso por ninguém.$l^Quando conheci você pela primeira vez, achei você uma gracinha.$l#$b#Ficava pensando 'não é certo se sentir assim por outro homem'.$l^Normalmente, quando gosto de alguém, supero muito rápido.$l\"/pause 800/speak Alex \"Mas meu coração estava me dizendo outra coisa.^Com você, essa atração só crescia.$l\"/pause 400/emote Alex 40/pause 600/question fork1 \"#Sinto o mesmo.#Sinto muito... Não sinto isso por você.\"/pause 400/fork rejectJosh/speak Alex \"...$l#$b#Não acredito que demorou tanto para dizermos isso um para o outro.$l\"/emote Alex 32/pause 800/animate Alex false false 400 40 41 41 40 41 41 40 41 41 40 41 41 40/pause 800/playSound eat/pause 800/playSound eat/pause 800/playSound eat/pause 800/playSound gulp/pause 400/speak Alex \"Huum... esse bife está maravilhoso. Você consegue sentir esse cheiro?$10\"/eyes 1 -4000/animate Alex false false 400 40 41 41 40 41 41 40/pause 1000/specificTemporarySprite alexDiningDog/playSound dogWhining/pause 1000/globalFade/viewport -1000 -1000/pause 6000/end dialogue Alex \"...$l\"" #!String
     rejectJosh: "pause 100/playMusic none/shake Alex 2000/emote Alex 28/speak Alex \"...Oh...$s#$b#I...I'm sorry if I made you uncomfortable...$s\"/pause 2000/speak Alex \"I'm not hungry anymore...$s\"/viewport move 1 1 5000/globalFade/viewport -1000 -1000/pause 4000/end dialogue Alex \"...$l\"" #!String
+
     rejectJosh: "pause 100/playMusic none/shake Alex 2000/emote Alex 28/speak Alex \"... Ah...$s#$b#Eu... eu sinto muito se deixei você sem graça...$s\"/pause 2000/speak Alex \"Já não estou mais com fome...$s\"/viewport move 1 1 5000/globalFade/viewport -1000 -1000/pause 4000/end dialogue Alex \"...$l\"" #!String
     195099/f Shane 2500/f Sebastian 2500/f Sam 2500/f Harvey 2500/f Alex 2500/f Elliott 2500/o Abigail/o Penny/o Leah/o Emily/o Maru/o Haley/o Shane/o Harvey/o Sebastian/o Sam/o Elliott/o Alex/e 911526/e 528052/e 9581348/e 43/e 384882/e 233104/i 446/k 195013: "playful/-1000 -1000/farmer 27 19 1 Sam 36 20 1 Sebastian 37 19 2 Harvey 39 19 2 Shane 40 17 2 Elliott 41 19 2 Alex 42 20 3/animate Shane false true 200 20 20 20 20 20 20 20 20 20 20 21 22 23 24 24 24 24 23 22 21 20 20 20 20/pause 1000/message \"For some reason, you decide to place your hand in your pocket...\"/pause 500/message \"You touch the rabbit's foot, and feel a sense of relief...\"/move farmer 5 0 1 true/viewport 37 19 true/move false/pause 500/faceDirection Sam 3 true/faceDirection Elliott 3 true/faceDirection Harvey 3 true/faceDirection Alex 3 true/faceDirection Shane 3 true/faceDirection Sebastian 3 true/textAboveHead Sam \"Hey!\"/textAboveHead Alex \"What's up?\"/textAboveHead Shane \"Oh, hey\"/pause 2000/move farmer 3 0 1/emote farmer 32/pause 500/speak Harvey \"You showed up just in time for the first ever Pelican Town 8-ball tournament!\"/pause 500/speak Elliott \"Don't worry, I've never played before, either.$h\"/pause 500/speak Shane \"It's easy, you just gotta put some mustard on the cue ball...$h\"/pause 500/fade/viewport -1000 -1000/pause 1500/message \"You played a round of pool with the boys.\"/pause 1000/message \"Sebastian won, of course... but it was still a lot of fun!\"/pause 500/end" #!String
+
     195099/f Shane 2500/f Sebastian 2500/f Sam 2500/f Harvey 2500/f Alex 2500/f Elliott 2500/o Abigail/o Penny/o Leah/o Emily/o Maru/o Haley/o Shane/o Harvey/o Sebastian/o Sam/o Elliott/o Alex/e 911526/e 528052/e 9581348/e 43/e 384882/e 233104/i 446/k 195013: "playful/-1000 -1000/farmer 27 19 1 Sam 36 20 1 Sebastian 37 19 2 Harvey 39 19 2 Shane 40 17 2 Elliott 41 19 2 Alex 42 20 3/animate Shane false true 200 20 20 20 20 20 20 20 20 20 20 21 22 23 24 24 24 24 23 22 21 20 20 20 20/pause 1000/message \"Por algum motivo, você decidiu colocar a mão no bolso...\"/pause 500/message \"Você tocou no pé de coelho e sentiu um alívio...\"/move farmer 5 0 1 true/viewport 37 19 true/move false/pause 500/faceDirection Sam 3 true/faceDirection Elliott 3 true/faceDirection Harvey 3 true/faceDirection Alex 3 true/faceDirection Shane 3 true/faceDirection Sebastian 3 true/textAboveHead Sam \"Ei!\"/textAboveHead Alex \"O que houve?\"/textAboveHead Shane \"Ah, ei\"/pause 2000/move farmer 3 0 1/emote farmer 32/pause 500/speak Harvey \"Você chegou bem na hora do primeiríssimo torneio de bola 8 da Vila Pelicano!\"/pause 500/speak Elliott \"Não se preocupe, eu também nunca joguei.$h\"/pause 500/speak Shane \"É fácil, você só precisa colocar mostarda na bola branca...$h\"/pause 500/fade/viewport -1000 -1000/pause 1500/message \"Você jogou uma rodada de sinuca com os rapazes.\"/pause 1000/message \"Sebastian ganhou, claro... mas foi bem divertido!\"/pause 500/end" #!String
     195013/f Shane 2500/f Sebastian 2500/f Sam 2500/f Harvey 2500/f Alex 2500/f Elliott 2500/o Abigail/o Penny/o Leah/o Emily/o Maru/o Haley/o Shane/o Harvey/o Sebastian/o Sam/o Elliott/o Alex/e 911526/e 528052/e 9581348/e 43/e 384882/e 233104/k 195099: "playful/-1000 -1000/farmer 27 19 1 Sam 36 20 1 Sebastian 37 19 2 Harvey 39 19 2 Shane 40 17 2 Elliott 41 19 2 Alex 42 20 3/animate Shane false true 200 20 20 20 20 20 20 20 20 20 20 21 22 23 24 24 24 24 23 22 21 20 20 20 20/move farmer 5 0 1 true/viewport 37 19 true/move false/pause 500/startJittering/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/pause 2000/stopAnimation farmer/showFrame farmer 0/stopJittering/playSound thudStep/faceDirection farmer 3 true/showFrame farmer 7 true/startJittering/faceDirection Sam 3 true/faceDirection Elliott 3 true/faceDirection Harvey 3 true/faceDirection Alex 3 true/faceDirection Shane 3 true/faceDirection Sebastian 3 true/textAboveHead Sam \"Not so fast!\"/textAboveHead Alex \"Hold it!\"/textAboveHead Shane \"Stop!\"/pause 3000/stopJittering/showFrame farmer 6 true/pause 500/faceDirection farmer 1/move farmer 3 0 1/playMusic none/emote farmer 28/pause 500/speak Sam \"Never thought you'd find all your 'boyfriends' in one room, huh @?$a\"/pause 500/speak Harvey \"You tricked all of us into thinking we loved you...$s^@... I thought you wanted to get married and start a family with me... What did I do wrong?$s\"/pause 500/speak Shane \"The last shred of hope I had left is completely destroyed... Thanks, @. Are you happy now?$s\"/pause 500/speak Alex \"@? I thought... I thought we were 'one of a kind'... But you were just using me?$s^What are you looking at *me* for? You think I'm gonna come to your rescue?$a\"/pause 500/speak Elliott \"For once, I'm at a loss for words... $a\"/pause 500/playMusic wedding/speak Sam \"Well, we're not going to put up with your abuse any longer!$a^We all know the truth, now! And we're not going to tolerate this!$a\"/textAboveHead Alex \"That's right!\"/pause 500/speak Sebastian \"Well? What do you have to say for yourself?$a\"/pause 1000/question fork1 \"#I'm sorry... what I did was wrong.#Guys, calm down! I can explain...#\"/fork choseToExplain/pause 500/textAboveHead Alex \"Sure...\"/pause 500/speak Shane \"Nice try, but that's not going to cut it...$a\"/pause 1000/playMusic none/speak Sam \"...so we've come to a decision... isn't that right, fellas?$u\"/pause 500/speak Harvey \"...yes.$s\"/speak Elliott \"Absolutely.$a\"/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/speak Sam \"We're all giving you the cold shoulder!$a\"/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/playSound slimedead/pause 2000/fade/viewport -2000 -2000/dump guys 3/end warpOut" #!String
+
     195013/f Shane 2500/f Sebastian 2500/f Sam 2500/f Harvey 2500/f Alex 2500/f Elliott 2500/o Abigail/o Penny/o Leah/o Emily/o Maru/o Haley/o Shane/o Harvey/o Sebastian/o Sam/o Elliott/o Alex/e 911526/e 528052/e 9581348/e 43/e 384882/e 233104/k 195099: "playful/-1000 -1000/farmer 27 19 1 Sam 36 20 1 Sebastian 37 19 2 Harvey 39 19 2 Shane 40 17 2 Elliott 41 19 2 Alex 42 20 3/animate Shane false true 200 20 20 20 20 20 20 20 20 20 20 21 22 23 24 24 24 24 23 22 21 20 20 20 20/move farmer 5 0 1 true/viewport 37 19 true/move false/pause 500/startJittering/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/pause 2000/stopAnimation farmer/showFrame farmer 0/stopJittering/playSound thudStep/faceDirection farmer 3 true/showFrame farmer 7 true/startJittering/faceDirection Sam 3 true/faceDirection Elliott 3 true/faceDirection Harvey 3 true/faceDirection Alex 3 true/faceDirection Shane 3 true/faceDirection Sebastian 3 true/textAboveHead Sam \"Não tão rápido!\"/textAboveHead Alex \"Espera!\"/textAboveHead Shane \"Pare!\"/pause 3000/stopJittering/showFrame farmer 6 true/pause 500/faceDirection farmer 1/move farmer 3 0 1/playMusic none/emote farmer 28/pause 500/speak Sam \"Nunca achou que encontraria todos os seus 'namorados' em um mesmo lugar, @?$a\"/pause 500/speak Harvey \"Você nos enganou, fez com que achássemos que nos amava...$s^@... Eu achei que você queria se casar e criar uma família comigo... O que eu fiz de errado?$s\"/pause 500/speak Shane \"O último pedacinho de esperança que eu tinha foi completamente destruído... Obrigado, @. Está feliz agora?$s\"/pause 500/speak Alex \"@? Eu achei que... Achei que nós éramos 'perfeitos um para o outro'... Mas você estava me usando?$s^Por que está olhando para *mim*? Você acha que eu vou te salvar?$a\"/pause 500/speak Elliott \"Pela primeira vez eu fiquei sem palavras... $a\"/pause 500/playMusic wedding/speak Sam \"Bem, não vamos aceitar mais abusos!$a^Agora nós sabemos da verdade! E não vamos tolerar isto!$a\"/textAboveHead Alex \"É isso mesmo!\"/pause 500/speak Sebastian \"Bem? O que você tem a dizer em sua defesa?$a\"/pause 1000/question fork1 \"#Sinto muito... eu errei.#Pessoal, calma! Eu posso explicar...#\"/fork choseToExplain/pause 500/textAboveHead Alex \"Claro...\"/pause 500/speak Shane \"Boa tentativa, mas não foi o suficiente...$a\"/pause 1000/playMusic none/speak Sam \"...então tomamos uma decisão... não é, galera?$u\"/pause 500/speak Harvey \"...sim.$s\"/speak Elliott \"Com certeza.$a\"/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/speak Sam \"Nós vamos ignorar você!$a\"/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/playSound slimedead/pause 2000/fade/viewport -2000 -2000/dump guys 3/end warpOut" #!String
     choseToExplain: "pause 100/textAboveHead Shane \"I doubt it...\"/pause 500/resetVariable/question fork2 \"#You were all too pushy with me! You made it difficult to say 'no'!#Pierre pressured me! He wanted to sell more bouquets!#(Start crying)/pause 100/fork crying/textAboveHead Sam \"Liar!\"/textAboveHead Alex \"Yeah, right!\"/speak Elliott \"Don't blame others for your mistakes! You're just losing more respect with us...$a\"/pause 1000/faceDirection Sam 2/playMusic none/speak Sam \"...I think we've come to a decision... isn't that right, boys?$u\"/pause 500/speak Harvey \"...yes.$s\"/speak Sebastian \"Absolutely.$a\"/faceDirection Sam 3/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/speak Sam \"We're all giving you the cold shoulder!$a\"/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/playSound slimedead/pause 2000/fade/viewport -2000 -2000/dump guys 4/end warpOut" #!String
+
     choseToExplain: "pause 100/textAboveHead Shane \"Eu duvido...\"/pause 500/resetVariable/question fork2 \"#Vocês cobravam muito de mim! Era muito difícil dizer 'não'!#Pierre me pressionou! Ele queria vender mais buquês!#(Começa a chorar)/pause 100/fork crying/textAboveHead Sam \"Mentira!\"/textAboveHead Alex \"Sim!\"/speak Elliott \"Não culpe outras pessoas por seus erros! Você só está perdendo ainda mais o nosso respeito...$a\"/pause 1000/faceDirection Sam 2/playMusic none/speak Sam \"...Acho que tomamos uma decisão... certo, rapazes?$u\"/pause 500/speak Harvey \"...sim.$s\"/speak Sebastian \"Com certeza.$a\"/faceDirection Sam 3/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/speak Sam \"Nós vamos ignorar você!$a\"/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/playSound slimedead/pause 2000/fade/viewport -2000 -2000/dump guys 4/end warpOut" #!String
     crying: "pause 100/faceDirection farmer 0/emote farmer 28/pause 1000/emote Harvey 12 true/emote Sebastian 12 true/emote Shane 12 true/emote Sam 12 true/emote Elliott 12 true/emote Alex 12 true/speak Harvey \"That's not going to work! You won't be preying on our sympathies this time!$a\"/speak Alex \"I'll assume this is just another act...$a^Typical...$a\"/pause 100/speak Sebastian \"You need to take responsibility for what you've done...$a\"/pause 1000/faceDirection Sam 2/playMusic none/speak Sam \"...I think we've come to a decision... isn't that right, boys?$u\"/pause 500/speak Harvey \"...yes.$s\"/speak Sebastian \"Absolutely.$a\"/faceDirection Sam 3/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/speak Sam \"We're all giving you the cold shoulder!$a\"/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/playSound slimedead/pause 2000/fade/viewport -2000 -2000/dump guys 4/end warpOut" #!String
+
     crying: "pause 100/faceDirection farmer 0/emote farmer 28/pause 1000/emote Harvey 12 true/emote Sebastian 12 true/emote Shane 12 true/emote Sam 12 true/emote Elliott 12 true/emote Alex 12 true/speak Harvey \"Isso não vai funcionar! Você não vai se aproveitar de nossa compaixão desta vez!$a\"/speak Alex \"Vou assumir que este é só mais um jogo seu...$a^Típico...$a\"/pause 100/speak Sebastian \"Você precisa assumir a responsabilidade pelo que fez...$a\"/pause 1000/faceDirection Sam 2/playMusic none/speak Sam \"...Acho que tomamos uma decisão... certo, rapazes?$u\"/pause 500/speak Harvey \"...sim.$s\"/speak Sebastian \"Com certeza.$a\"/faceDirection Sam 3/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/speak Sam \"Nós vamos ignorar você!$a\"/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/playSound slimedead/pause 2000/fade/viewport -2000 -2000/dump guys 4/end warpOut" #!String
 
</syntaxhighlight>}}
 
</syntaxhighlight>}}
  
 
==Pré-condições do evento==
 
==Pré-condições do evento==
Cada evento possui uma chave que inclui um ID de evento e todas as condições prévias. As pré-condições do evento incluem qualquer número dos seguintes argumentos (separado por <tt>/</tt>). Por exemplo, as pré-condições do evento de corações do Clint no Saloon são <code>97/f Clint 750/t 1900 2300/d Tue Wed Thu Fri Sat Sun</code>, which (per the tables below) significa ''evento #97, requer 3 corações com Clint, entre 7pm e 11pm na segunda-feira''.
+
Cada evento possui uma chave que inclui um ID de evento e todas as condições prévias. As pré-condições do evento incluem qualquer número dos seguintes argumentos (separado por <samp>/</samp>). Por exemplo, as pré-condições do evento de corações do Clint no Saloon são <code>97/f Clint 750/t 1900 2300/d Tue Wed Thu Fri Sat Sun</code>, cujo (conforme as tabelas abaixo) significa ''evento #97, requer 3 corações com Clint, entre 7pm e 11pm na segunda-feira''.
  
 
Notas:
 
Notas:
 
* 'Nome do NPC' significa seu nome interno em inglês, não o nome de exibição traduzível.
 
* 'Nome do NPC' significa seu nome interno em inglês, não o nome de exibição traduzível.
* Most text is case-sensitive (e.g. <tt>Mon</tt> is not the same as <tt>mon</tt>).
+
* A maioria dos textos diferencia maiúsculas de minúsculas (''e.g.,'' <samp>Mon</samp> não é o mesmo que <samp>mon</samp>).
* The game's logic for these codes is in <tt>GameLocation::checkEventPrecondition</tt>.
+
* A logística do jogo para esses códigos está em <samp>GameLocation::checkEventPrecondition</samp>.
  
 
===Contexto===
 
===Contexto===
 
Estes verificam a hora atual, data, clima, etc. Eles não são específicos do jogador.
 
Estes verificam a hora atual, data, clima, etc. Eles não são específicos do jogador.
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! syntax
+
! sintaxe
! precondition
+
! condição prévia
 
|-
 
|-
| <tt>A {{t|dialogue ID}}</tt>
+
| <samp>A {{t|dialogo ID}}</samp>
| The special dialogue event with the given ID is ''not'' in progress. This can be a custom event ID, but these are the in-game IDs: <tt>cc_Begin</tt>, <tt>cc_Boulder</tt>, <tt>cc_Bridge</tt>, <tt>cc_Bus</tt>, <tt>cc_Complete</tt>, <tt>cc_Greenhouse</tt>, <tt>cc_Minecart</tt>, <tt>dumped_Girls</tt>, <tt>dumped_Guys</tt>, <tt>Introduction</tt>, <tt>joja_Begin</tt>, <tt>pamHouseUpgrade</tt>, <tt>pamHouseUpgradeAnonymous</tt>, <tt>secondChance_Girls</tt>, <tt>secondChance_Guys</tt>, <tt>willyCrabs</tt>.
+
| O evento de diálogo especial com o ID fornecido está ''não'' em andamento. Isso pode ser um evento ID personalizado, mas esses são os do jogo IDs: <samp>cc_Begin</samp>, <samp>cc_Boulder</samp>, <samp>cc_Bridge</samp>, <samp>cc_Bus</samp>, <samp>cc_Complete</samp>, <samp>cc_Greenhouse</samp>, <samp>cc_Minecart</samp>, <samp>dumped_Girls</samp>, <samp>dumped_Guys</samp>, <samp>Introduction</samp>, <samp>joja_Begin</samp>, <samp>pamHouseUpgrade</samp>, <samp>pamHouseUpgradeAnonymous</samp>, <samp>secondChance_Girls</samp>, <samp>secondChance_Guys</samp>, <samp>willyCrabs</samp>.
 
|-
 
|-
| <tt>F</tt>
+
| <samp>F</samp>
| Today is ''not'' a festival day.
+
| Hoje ''não'' é dia de festival.
 
|-
 
|-
| <tt>d {{t|day of week}}</tt>
+
| <samp>d {{t|dia da semana}}</samp>
| Today is ''not'' one of the specified days (may specify multiple days). Valid values: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
+
| Hoje ''não'' é um dos dias especificados (pode especificar vários dias). Valores válidos: Mon Tue Wed Thu Fri Sat Sun.
 
|-
 
|-
| <tt>r {{t|number}}</tt>
+
| <samp>r {{t|número}}</samp>
| A random probability check, where {{t|number}} is the probability between 0 and 1 (e.g. 0.2 for 20% chance).
+
| Uma verificação de probabilidade aleatória, onde {{t|número}} é a probabilidade entre 0 e 1 (''e.g.,'' 0.2 for 20% chance).
 
|-
 
|-
| <tt>v {{t|name}}</tt>
+
| <samp>v {{t|nome}}</samp>
| The specified NPC is not invisible (regardless of whether they're on-screen).
+
| Esse especifico NPC não está invisível (independentemente de estarem na tela).
 
|-
 
|-
| <tt>w {{t|weather}}</tt>
+
| <samp>w {{t|clima}}</samp>
| Current weather matches {{t|weather}}. Valid values: rainy, sunny.
+
| Clima atual {{t|clima}}. Valores válidos: rainy, sunny.
 
|-
 
|-
| <tt>y {{t|year}}</tt>
+
| <samp>y {{t|ano}}</samp>
| If {{t|year}} is 1, must be in the first year. Otherwise, year must be at least this value.
+
| Se {{t|ano}} é 1, deve estar no ano 1. Caso contrário, ano deve ser pelo menos este valor.
 
|-
 
|-
| <tt>z {{t|season}}</tt>
+
| <samp>z {{t|estação}}</samp>
| Current season is ''not'' {{t|season}}.
+
| A estação atual "não" é {{t|estação}}.
 
|}
 
|}
  
===Current player===
+
===Jogador Atual===
These check the current player (the one playing this instance of the game).
+
Esses verificam o jogador atual (aquele que está jogando esta instância do jogo).
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! syntax
+
! sintaxe
! precondition
+
! condição prévia
 
|-
 
|-
| <tt>D {{t|name}}</tt>
+
| <samp>D {{t|nome}}</samp>
| Current player is dating the given NPC name.
+
| Atual jogador está namorando o nome do NPC dado.
 
|-
 
|-
| <tt>J</tt>
+
| <samp>J</samp>
| Current player has finished the [[Joja Warehouse]].
+
| Atual jogador finalizou o [[Armazém Joja]].
 
|-
 
|-
| <tt>M {{t|number}}</tt>
+
| <samp>M {{t|número}}</samp>
| Current player has at least this much money.
+
| O jogador atual tem ao menos esse tanto de dinheiro.
 
|-
 
|-
| <tt>S {{t|secret note ID}}</tt>
+
| <samp>S {{t|ID nota secreta}}</samp>
| Current player has seen the [[Secret Notes|Secret Note]] with the given ID.
+
| Atual jogador viu o [[Recados Secretos|Nota secreta]] com tal ID.
 
|-
 
|-
| <tt>a {{t|x}} {{t|y}}</tt>
+
| <samp>a {{t|x}} {{t|y}}</samp>
| Current player is on that tile position.
+
| O jogador atual está nessa posição do ladrilho.
 
|-
 
|-
| <tt>b {{t|number}}</tt>
+
| <samp>b {{t|número}}</samp>
| Current player has reached the bottom floor of the [[Mines]] at least that many times.
+
| O jogador atual chegou ao piso inferior das [[As Minas|Minas]] pelo menos esse tanto de vezes.
 
|-
 
|-
| <tt>c {{t|number}}</tt>
+
| <samp>c {{t|número}}</samp>
| Current player has at least that many free inventory slots.
+
| O jogador atual tem pelo menos tantos slots de inventário livre.
 
|-
 
|-
| <tt>e {{t|event ID}}</tt>
+
| <samp>e {{t|evento ID}}</samp>
| Current player has seen the specified event (may contain multiple event IDs).
+
| O jogador atual viu o evento especificado (pode conter multiplos IDs de evento).
 
|-
 
|-
| <tt>f {{t|name}} {{t|number}}</tt>
+
| <samp>f {{t|nome}} {{t|número}}</samp>
| Current player has at least {{t|number}} [[friendship|friendship points]] with the {{t|name}} NPC. Can specify multiple name and number pairs, in which case the player must meet all of them.
+
| Jogador atual tem pelo menos {{t|número}} [[amizade|pontos de amizade]] com o {{t|nome}} NPC. Pode especificar vários pares de nomes e números, caso em que o jogador deve atender a todos eles.
 
|-
 
|-
| <tt>g {{t|gender}}</tt>
+
| <samp>g {{t|gênero}}</samp>
| Current player is the specified gender (<tt>male</tt> or <tt>female</tt>).
+
| Atual jogador é do gênero específico (<samp>male</samp> or <samp>female</samp>).
 
|-
 
|-
| <tt>h {{t|pet}}</tt>
+
| <samp>h {{t|pet}}</samp>
| Current player does not already have a pet, and their preference matches {{t|pet}} ("cat" or "dog").
+
| Atual jogador não tem um pet, e suas preferências {{t|pet}} ("cat" or "dog").
 
|-
 
|-
| <tt>i {{t|item ID}}</tt>
+
| <samp>i {{t|item ID}}</samp>
| Current player has specified item in their inventory.
+
| Atual jogador tem o item específico em seu inventário.
 
|-
 
|-
| <tt>j {{t|number}}</tt>
+
| <samp>j {{t|number}}</samp>
| Current player has played ''more'' than {{t|number}} days.
+
| Atual jogador jogou ''mais'' que {{t|número}} dias.
 
|-
 
|-
| <tt>k {{t|event ID}}</tt>
+
| <samp>k {{t|evento ID}}</samp>
| Current player has ''not'' seen that event (may contain multiple event IDs).
+
| Jogador atual ''não'' viu esse evento (Pode conter multíplos IDs de evento).
 
|-
 
|-
| <tt>l {{t|letter ID}}</tt>
+
| <samp>l {{t|carta ID}}</samp>
| Current player has '''not''' received that mail letter or non-mail flag.
+
| Jogador atual ''não'' recebeu essa carta postal ou sinalizador não postal.
 
|-
 
|-
| <tt>m {{t|number}}</tt>
+
| <samp>m {{t|número}}</samp>
| Current player has earned at least this much money (regardless of how much they currently have).
+
| O jogador atual ganhou pelo menos esse tanto dinheiro (independentemente de quanto ele tenha atualmente).
 
|-
 
|-
| <tt>n {{t|letter ID}}</tt>
+
| <samp>n {{t|carta ID}}</samp>
| Current player has received that mail letter or non-mail flag.
+
| O jogador atual recebeu essa carta postal ou sinalizador não postal.
 
|-
 
|-
| <tt>o {{t|name}}</tt>
+
| <samp>o {{t|nome}}</samp>
| Current player is ''not'' married to that NPC.
+
| Jogador atual ''não'' está casado com este NPC.
 
|-
 
|-
| <tt>p {{t|name}}</tt>
+
| <samp>p {{t|nome}}</samp>
| Specified NPC is in the current player's location.
+
| O NPC especificado está na localização do jogador atual.
 
|-
 
|-
| <tt>q {{t|dialogue ID}}</tt>
+
| <samp>q {{t|dialogo ID}}</samp>
| Current player has chosen the given answer in a dialogue. May contain multiple dialogue IDs, in which case they must all have been selected.
+
| O jogador atual escolheu a resposta dada em um diálogo. Pode conter vários IDs de diálogo; nesse caso, todos devem ter sido selecionados.
 
|-
 
|-
| <tt>s {{t|item ID}} {{t|number}}</tt>
+
| <samp>s {{t|item ID}} {{t|número}}</samp>
| Current player has shipped at least {{t|number}} of the specified item. Can specify multiple item and number pairs, in which case all of them must be met.
+
| O jogador atual enviou pelo menos {{t|number}} do item especificado. Pode especificar vários pares de itens e números; nesse caso, todos eles devem ser atendidos.
 
|-
 
|-
| <tt>t {{t|min time}} {{t|max time}}</tt>
+
| <samp>t {{t|min tempo}} {{t|max tempo}}</samp>
| Current time is between between the specified times.
+
| A hora atual está entre as horas especificadas.
 
|-
 
|-
| <tt>u {{t|day of month}}</tt>
+
| <samp>u {{t|dia do mês}}</samp>
| Current day of month is one of the specified values (may contain multiple days).
+
| O dia atual do mês é um dos valores especificados (pode conter vários dias).
 
|-
 
|-
| <tt>x {{t|event ID}} {{t|letter ID}}</tt>
+
| <samp>x {{t|evento ID}} {{t|carta ID}}</samp>
| For the current player: mark the specified ID as seen, add the specified letter to tomorrow's mail, then return false (so the event doesn't trigger).
+
| Para o jogador atual: marque o ID especificado como visto, adicione a letra especificada ao e-mail de amanhã e marque falso (para que o evento não seja acionado).
 
|}
 
|}
  
===Host player===
+
===Jogador anfitrião===
These check the host player (the one running a multiplayer farm, not necessarily the current player). If single-player, this is always the current player.
+
Eles verificam o jogador host (aquele que está executando uma fazenda multijogador, não necessariamente o jogador atual). Se for single-player, este é sempre o jogador atual.
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! syntax
+
! sintaxe
! precondition
+
! condição prévia
 
|-
 
|-
| <tt>C</tt>
+
| <samp>C</samp>
| Host player has not finished the [[community center]], or has not seen the grand reopening yet.
+
| O jogador anfitrião não terminou o [[Centro Comunitário]] ou ainda não viu a grande reabertura.
 
|-
 
|-
| <tt>H</tt>
+
| <samp>H</samp>
| Current player is the host player.
+
| O jogador atual é o jogador anfitrião.
 
|-
 
|-
| <tt>Hl {{t|letter ID}}</tt>
+
| <samp>Hl {{t|carta ID}}</samp>
| Host player has '''not''' received that mail letter or non-mail flag.
+
| O jogador anfitrião '''não''' recebeu essa carta de correio ou sinalizador de não correio.
 
|-
 
|-
| <tt>Hn {{t|letter ID}}</tt>
+
| <samp>Hn {{t|carta ID}}</samp>
| Host player has received that mail letter or non-mail flag.
+
| O jogador anfitrião recebeu essa carta de correio ou sinalizador de não correio.
 
|-
 
|-
| <tt>*l {{t|letter ID}}</tt>
+
| <samp>*l {{t|carta ID}}</samp>
| Host player ''and'' current player have '''not''' received that mail letter or non-mail flag.
+
| O jogador anfitrião ''e'' o jogador atual '''não''' receberam essa carta ou sinalizador de não correio.
 
|-
 
|-
| <tt>*n {{t|letter ID}}</tt>
+
| <samp>*n {{t|carta ID}}</samp>
| Host player ''and'' current player have received that mail letter or non-mail flag.
+
| O jogador anfitrião ''e'' o jogador atual receberam essa carta ou sinalizador de não correio.
 
|}
 
|}
  
==Event scripts==
+
==Scripts de Eventos==
===Basic format===
+
===Formato Básico===
Each event has a value which is the event script. This specifies what happens in the event — everything from lighting and music to NPC movement and dialogue. The script consists of multiple commands separated by <tt>/</tt> characters.
+
Isso especifica o que acontece no evento - tudo desde luz e música até movimento dos NPCs e diálogo. O script consiste em vários comandos separados por <samp>/</samp>.
  
Every script must start with three commands in this exact order:
+
Todo script deve começar com três comandos nessa ordem exata:
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
 
! index
 
! index
! syntax
+
! sintaxe
! description
+
! descrição
 
|-
 
|-
 
| 0
 
| 0
| <tt>{{t|music ID}}</tt>
+
| <samp>{{t|music ID}}</samp>
| The background music or ambient background track to play. Can be changed later using <tt>playMusic <newmusic></tt>, or stopped entirely using <tt>stopMusic</tt>. This can also be <tt>none</tt> (which stops any existing music and uses the default ambient background noise for the location), or <tt>continue</tt> (which keeps playing the current background song).
+
| A música de fundo ou ambientação a ser tocada. Pode ser mudada depois usando <samp>playMusic <newmusic></samp> ou parada completamente usando <samp>stopMusic</samp>. Isso também pode ser <samp>none</samp> (que para a música existente e usa o som ambiente padrão do local) ou <samp>continue</samp> (que continua o som de fundo atual).
 
|-
 
|-
 
| 1
 
| 1
| <tt>{{t|x}} {{t|y}}</tt>
+
| <samp>{{t|x}} {{t|y}}</samp>
| The tile coordinates the camera should center on at the start of the event.
+
| As coordenadas do quadrado onde a câmera deve alinhar no início do evento.
 
|-
 
|-
 
| 2
 
| 2
| <tt>{{t|npc ID}} {{t|x}} {{t|y}} {{t|direction}}</tt>
+
| <samp>{{t|npc ID}} {{t|x}} {{t|y}} {{t|direction}}</samp>
| Initialises an NPC's starting tile position and [[#Directions|direction]]. The NPC ID can be <tt>farmer</tt> or an NPC name like <tt>Abigail</tt>.
+
| Inicializa o quadrado de início do NPC e [[#Direcões|direção]]. O ID do NPC pode ser <samp>farmer</samp> ou o nome de um NPC como <samp>Abigail</samp>.
 
|}
 
|}
  
Those three commands may be followed by any sequence of the following commands:
+
Estes três comando podem ser seguidos por qualquer sequência dos comandos a seguir:
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! command
+
! comando
! description
+
! descrição
 
|-
 
|-
| <tt>addBigProp {{t|x}} {{t|y}} {{t|object ID}}</tt>
+
| <samp>addBigProp {{t|x}} {{t|y}} {{t|object ID}}</samp>
| Adds an object at the specified tile from the <tt>TileSheets\Craftables.png</tt> sprite sheet.
+
| Adiciona um objeto no quadrado especificado pela <samp>TileSheets\Craftables.png</samp> folha de sprites.
 
|-
 
|-
| <tt>addConversationTopic {{t|ID}}</tt>
+
| <samp>addConversationTopic {{t|ID}}</samp>
| Starts an active dialogue event with the given ID and a length of 4 days.
+
| Começa um evento de diálogo com o ID dado e uma duração de 4 dias.
 
|-
 
|-
| <tt>addCookingRecipe {{t|recipe}}</tt>
+
| <samp>addCookingRecipe {{t|recipe}}</samp>
| Adds the specified cooking recipe to the player.
+
| Adiciona a receita culinária especificada ao jogador.
 
|-
 
|-
| <tt>addCraftingRecipe {{t|recipe}}</tt>
+
| <samp>addCraftingRecipe {{t|recipe}}</samp>
| Adds the specified crafting recipe to the player.
+
| Adiciona a receita de fabircação especificada ao jogador.
 
|-
 
|-
| <tt>addFloorProp {{t|prop index}} {{t|x}} {{t|y}} {{o|solid width}} {{o|solid height}} {{o|display height}}</tt>
+
| <samp>addFloorProp {{t|prop index}} {{t|x}} {{t|y}} {{o|solid width}} {{o|solid height}} {{o|display height}}</samp>
 
| Add a non-solid prop from the current festival texture. Default solid width/height is 1. Default display height is solid height.
 
| Add a non-solid prop from the current festival texture. Default solid width/height is 1. Default display height is solid height.
 
|-
 
|-
| <tt>addLantern {{t|row in texture}} {{t|x}} {{t|y}} {{t|light radius}}</tt>
+
| <samp>addLantern {{t|row in texture}} {{t|x}} {{t|y}} {{t|light radius}}</samp>
| Adds a glowing temporary sprite at the specified tile from the <tt>Maps\springobjects.png</tt> sprite sheet. A light radius of <tt>0</tt> just places the sprite.
+
| Adds a glowing temporary sprite at the specified tile from the <samp>Maps\springobjects.png</samp> sprite sheet. A light radius of <samp>0</samp> just places the sprite.
 
|-
 
|-
| <tt>addMailReceived {{t|letter ID}}</tt>
+
| <samp>addMailReceived {{t|letter ID}}</samp>
 
| Set a letter as received.
 
| Set a letter as received.
 
|-
 
|-
| <tt>addObject {{t|x}} {{t|y}} {{t|row in texture}} {{o|layer}} </tt>
+
| <samp>addObject {{t|x}} {{t|y}} {{t|row in texture}} {{o|layer}} </samp>
| Adds a temporary sprite at the specified tile from the <tt>Maps\springobjects.png</tt> sprite sheet.
+
| Adds a temporary sprite at the specified tile from the <samp>Maps\springobjects.png</samp> sprite sheet.
 
|-
 
|-
| <tt>addProp {{t|prop index}} {{t|x}} {{t|y}} {{o|solid width}} {{o|solid height}} {{o|display height}}</tt>
+
| <samp>addProp {{t|prop index}} {{t|x}} {{t|y}} {{o|solid width}} {{o|solid height}} {{o|display height}}</samp>
 
| Add a solid prop from the current festival texture. Default solid width/height is 1. Default display height is solid height.
 
| Add a solid prop from the current festival texture. Default solid width/height is 1. Default display height is solid height.
 
|-
 
|-
| <tt>addQuest {{t|quest ID}}</tt>
+
| <samp>addQuest {{t|quest ID}}</samp>
 
| Add the specified quest to the quest log.
 
| Add the specified quest to the quest log.
 
|-
 
|-
| <tt>addTemporaryActor {{t|character}} {{t|sprite width}} {{t|sprite height}} {{t|tile x}} {{t|tile y}} {{t|facing}} {{o|breather}} {{o|Character|Animal|Monster}} {{o|animal name}}</tt>
+
| <samp>addTemporaryActor {{t|character}} {{t|sprite width}} {{t|sprite height}} {{t|tile x}} {{t|tile y}} {{t|facing}} {{o|breather}} {{o|Character|Animal|Monster}} {{o|animal name}}</samp>
 
| Add a temporary actor. 'breather' is boolean. The category determines where the texture will be loaded from, default is Character. Animal name only applies to animal.
 
| Add a temporary actor. 'breather' is boolean. The category determines where the texture will be loaded from, default is Character. Animal name only applies to animal.
 
|-
 
|-
| <tt>addToTable {{t|x}} {{t|y}} {{t|object ID}}</tt>
+
| <samp>addToTable {{t|x}} {{t|y}} {{t|object ID}}</samp>
 
| Places on object on the furniture at a position. If the location is FarmHouse, then it will always be placed on the initial table.
 
| Places on object on the furniture at a position. If the location is FarmHouse, then it will always be placed on the initial table.
 
|-
 
|-
| <tt>addTool {{t|Sword|Wand}}</tt>
+
| <samp>addTool {{t|Sword|Wand}}</samp>
 
| Adds either a Battered Sword or Return Scepter to the player's inventory. The ''Battered Sword'' is unobtainable in vanilla and is incomplete and not implemented.
 
| Adds either a Battered Sword or Return Scepter to the player's inventory. The ''Battered Sword'' is unobtainable in vanilla and is incomplete and not implemented.
 
|-
 
|-
| <tt>advancedMove {{t|npc}} {{t|loop}} {{t|x y}}...</tt>
+
| <samp>advancedMove {{t|npc}} {{t|loop}} {{t|x y}}...</samp>
| Set multiple movements for an NPC.  You can set True to have NPC walk the path continuously. Example: <tt>/advancedMove Robin false 0 3 2 0 0 2 -2 0 0 -2 2 0/</tt>
+
| Set multiple movements for an NPC.  You can set True to have NPC walk the path continuously. Example: <samp>/advancedMove Robin false 0 3 2 0 0 2 -2 0 0 -2 2 0/</samp>
 
|-
 
|-
| <tt>ambientLight {{t|r}} {{t|g}} {{t|b}}</tt>
+
| <samp>ambientLight {{t|r}} {{t|g}} {{t|b}}</samp>
| Modifies the ambient light level, with RGB values from 0 to 255. Note that it works by ''removing'' colors from the existing light ambience, so <tt>ambientLight 1 80 80</tt> would reduce green and blue and leave the light with a reddish hue.
+
| Modifies the ambient light level, with RGB values from 0 to 255. Note that it works by ''removing'' colors from the existing light ambience, so <samp>ambientLight 1 80 80</samp> would reduce green and blue and leave the light with a reddish hue.
 
|-
 
|-
| <tt>animalNaming</tt>
+
| <samp>animalNaming</samp>
 
| Show the animal naming menu if no other menu is open. Uses the current location as Coop. Appears to only work for 'hatched' animals.
 
| Show the animal naming menu if no other menu is open. Uses the current location as Coop. Appears to only work for 'hatched' animals.
 
|-
 
|-
| <tt>animate {{t|actor}} {{t|flip}} {{t|loop}} {{t|frame duration}} {{t|frames...}}</tt>
+
| <samp>animate {{t|actor}} {{t|flip}} {{t|loop}} {{t|frame duration}} {{t|frames...}}</samp>
| Animate a named actor, using one or more {{t|frames}} from their sprite sheet, for {{t|frame duration}} milliseconds per frame. {{t|flip}} indicates whether to flip the sprites along the Y axis; {{t|loop}} indicates whether to repeat the animation until <tt>stopAnimation</tt> is used.
+
| Animate a named actor, using one or more {{t|frames}} from their sprite sheet, for {{t|frame duration}} milliseconds per frame. {{t|flip}} indicates whether to flip the sprites along the Y axis; {{t|loop}} indicates whether to repeat the animation until <samp>stopAnimation</samp> is used.
 
|-
 
|-
| <tt>attachCharacterToTempSprite {{t|actor}}</tt>
+
| <samp>attachCharacterToTempSprite {{t|actor}}</samp>
 
| Attach an actor to the most recent temporary sprite.
 
| Attach an actor to the most recent temporary sprite.
 
|-
 
|-
| <tt>awardFestivalPrize</tt>
+
| <samp>awardFestivalPrize</samp>
 
| Awards the festival prize to the winner for the easter egg hunt and ice fishing contest.
 
| Awards the festival prize to the winner for the easter egg hunt and ice fishing contest.
 
|-
 
|-
| <tt>awardFestivalPrize {{t|item type}}</tt>
+
| <samp>awardFestivalPrize {{t|item type}}</samp>
 
| Awards the specified item to the player. Possible item types are "pan", "sculpture", "rod", "sword", "hero", "joja", and "slimeegg".
 
| Awards the specified item to the player. Possible item types are "pan", "sculpture", "rod", "sword", "hero", "joja", and "slimeegg".
 
|-
 
|-
| <tt>broadcastEvent</tt>
+
| <samp>broadcastEvent</samp>
 
| TODO: Explain broadcastEvent.
 
| TODO: Explain broadcastEvent.
 
|-
 
|-
| <tt>catQuestion</tt>
+
| <samp>catQuestion</samp>
 
| Trigger question about adopting your pet.
 
| Trigger question about adopting your pet.
 
|-
 
|-
| <tt>cave</tt>
+
| <samp>cave</samp>
 
| Trigger the question for the farm cave type. This will work again later, however changing from bats to mushrooms will not remove the mushroom spawning objects.
 
| Trigger the question for the farm cave type. This will work again later, however changing from bats to mushrooms will not remove the mushroom spawning objects.
 
|-
 
|-
| <tt>changeLocation {{t|location}}</tt>
+
| <samp>changeLocation {{t|location}}</samp>
 
| Change to another location and run the remaining event script there.
 
| Change to another location and run the remaining event script there.
 
|-
 
|-
| <tt>changeMapTile {{t|layer}} {{t|x}} {{t|y}} {{t|tile index}}</tt>
+
| <samp>changeMapTile {{t|layer}} {{t|x}} {{t|y}} {{t|tile index}}</samp>
 
| Change the specified tile to a particular value.
 
| Change the specified tile to a particular value.
 
|-
 
|-
| <tt>changePortrait {{t|npc}} {{t|portrait}}</tt>
+
| <samp>changePortrait {{t|npc}} {{t|portrait}}</samp>
 
| Change the NPC's portrait to be from "Portraits/{{t|actor}}_<sprite&gt".
 
| Change the NPC's portrait to be from "Portraits/{{t|actor}}_<sprite&gt".
 
|-
 
|-
| <tt>changeSprite {{t|actor}} {{t|sprite}}</tt>
+
| <samp>changeSprite {{t|actor}} {{t|sprite}}</samp>
 
| Change the actor's sprite to be from "Characters/{{t|actor}}_{{t|sprite}}".
 
| Change the actor's sprite to be from "Characters/{{t|actor}}_{{t|sprite}}".
 
|-
 
|-
| <tt>changeToTemporaryMap {{t|map}} {{o|pan}}</tt>
+
| <samp>changeToTemporaryMap {{t|map}} {{o|pan}}</samp>
| Change the location to a temporary one loaded from the map file specified by {{t|map}}. The {{o|pan}} argument indicates the tile coordinates to pan to (defaults to <tt>0, 0</tt>).
+
| Change the location to a temporary one loaded from the map file specified by {{t|map}}. The {{o|pan}} argument indicates the tile coordinates to pan to (defaults to <samp>0, 0</samp>).
 
|-
 
|-
| <tt>changeYSourceRectOffset {{t|npc}} {{t|offset}}</tt>
+
| <samp>changeYSourceRectOffset {{t|npc}} {{t|offset}}</samp>
| Changes the NPC's vertical texture offset. Example: <tt>changeYSourceRectOffset Abigail 96</tt> will offset her sprite sheet, showing her looking left instead of down. This persists for the rest of the event. This is only used in Emily's ''Clothing Therapy'' event to display the various outfits properly.
+
| Changes the NPC's vertical texture offset. Example: <samp>changeYSourceRectOffset Abigail 96</samp> will offset her sprite sheet, showing her looking left instead of down. This persists for the rest of the event. This is only used in Emily's ''Clothing Therapy'' event to display the various outfits properly.
 
|-
 
|-
| <tt>characterSelect</tt>
+
| <samp>characterSelect</samp>
 
| Seemingly unused. Sets Game1.gameMode to 5 and Game1.menuChoice = 0.
 
| Seemingly unused. Sets Game1.gameMode to 5 and Game1.menuChoice = 0.
 
|-
 
|-
| <tt>cutscene {{t|cutscene}}</tt>
+
| <samp>cutscene {{t|cutscene}}</samp>
 
| Activate a cutscene. See cutscene list. (TODO: Pull list from my event editor)
 
| Activate a cutscene. See cutscene list. (TODO: Pull list from my event editor)
 
|-
 
|-
| <tt>doAction {{t|x}} {{t|y}}</tt>
+
| <samp>doAction {{t|x}} {{t|y}}</samp>
| Acts as if the player had clicked the specified x/y coordinate and triggers any relevant action. It is commonly used to open doors from inside events, but it can be used for other purposes. If you use it on an NPC you will talk to them, and if the player is holding an item they will give that item as a gift. <tt>doAction</tt> activates objects in the main game world (their actual location outside of the event), so activating NPCs like this is very tricky, and their reaction varies depending on what the player is holding.
+
| Acts as if the player had clicked the specified x/y coordinate and triggers any relevant action. It is commonly used to open doors from inside events, but it can be used for other purposes. If you use it on an NPC you will talk to them, and if the player is holding an item they will give that item as a gift. <samp>doAction</samp> activates objects in the main game world (their actual location outside of the event), so activating NPCs like this is very tricky, and their reaction varies depending on what the player is holding.
 
|-
 
|-
| <tt>dump {{t|group}}</tt>
+
| <samp>dump {{t|group}}</samp>
| Starts the special "cold shoulder" and "second chance" dialogue events for the given group (women if group is <tt>girls</tt> and men if it is anything else.) The cold shoulder event has an id of <tt>dumped_Girls</tt> or <tt>dumped_Guys</tt> and lasts 7 days; the second chance event has an id of <tt>secondChance_Girls</tt> or <tt>secondChance_Guys</tt> and lasts 14 days. During open beta testing of version 1.3 there was a second parameter which determined the amount of hearts lost, but support for that parameter was removed before release.
+
| Starts the special "cold shoulder" and "second chance" dialogue events for the given group (women if group is <samp>girls</samp> and men if it is anything else.) The cold shoulder event has an id of <samp>dumped_Girls</samp> or <samp>dumped_Guys</samp> and lasts 7 days; the second chance event has an id of <samp>secondChance_Girls</samp> or <samp>secondChance_Guys</samp> and lasts 14 days. During open beta testing of version 1.3 there was a second parameter which determined the amount of hearts lost, but support for that parameter was removed before release.
 
|-
 
|-
| <tt>elliotbooktalk</tt>
+
| <samp>elliotbooktalk</samp>
 
| Elliot book talk.
 
| Elliot book talk.
 
|-
 
|-
| <tt>emote {{t|actor}} {{t|emote ID}}</tt>
+
| <samp>emote {{t|actor}} {{t|emote ID}}</samp>
| Make the given NPC name perform an emote, which is a little icon shown above the NPC's head. Emotes are stored in <tt>Content\TileSheets\emotes.xnb</tt> (see [https://www.reddit.com/r/StardewValley/comments/5s5m9g/help_annoyed_squiggle/ddd33qg/ list of emotes]).
+
| Make the given NPC name perform an emote, which is a little icon shown above the NPC's head. Emotes are stored in <samp>Content\TileSheets\emotes.xnb</samp> (see [https://www.reddit.com/r/StardewValley/comments/5s5m9g/help_annoyed_squiggle/ddd33qg/ list of emotes]).
 
|-
 
|-
| <tt>end</tt>
+
| <samp>end</samp>
| Ends the current event by fading out, then resumes the game world and places the player on the square where they entered the zone. All <tt>end</tt> parameters do this by default ''unless otherwise stated''.
+
| Ends the current event by fading out, then resumes the game world and places the player on the square where they entered the zone. All <samp>end</samp> parameters do this by default ''unless otherwise stated''.
 
|-
 
|-
| <tt>end bed</tt>
+
| <samp>end bed</samp>
| Same as <tt>end</tt>, but warps the player to the x/y coordinate of their most recent bed. This does not warp them to the farmhouse, only to the x/y coordinate of the bed regardless of map.
+
| Same as <samp>end</samp>, but warps the player to the x/y coordinate of their most recent bed. This does not warp them to the farmhouse, only to the x/y coordinate of the bed regardless of map.
 
|-
 
|-
| <tt>end beginGame</tt>
+
| <samp>end beginGame</samp>
| ''Used only during the introduction sequence in the bus stop event.'' It sets the game mode to <tt>playingGameMode</tt>, warps the player to the farmhouse (9, 9), ends the current event, and starts a new day.
+
| ''Used only during the introduction sequence in the bus stop event.'' It sets the game mode to <samp>playingGameMode</samp>, warps the player to the farmhouse (9, 9), ends the current event, and starts a new day.
 
|-
 
|-
| <tt>end credits</tt>
+
| <samp>end credits</samp>
| ''Not used in any normal events.'' Clears debris weather, changes the music to wedding music, sets game mode to <tt>creditsMode</tt> and ends the current event.
+
| ''Not used in any normal events.'' Clears debris weather, changes the music to wedding music, sets game mode to <samp>creditsMode</samp> and ends the current event.
 
|-
 
|-
| <tt>end dialogue {{t|NPC}} {{t|"Text for next chat"}}</tt>
+
| <samp>end dialogue {{t|NPC}} {{t|"Text for next chat"}}</samp>
| Same as <tt>end</tt>, and additionally clears the existing NPC dialogue for the day and replaces it with the line(s) specified at the end of the command. Example usage: ''end dialogue Abigail "It was fun talking to you today.$h"''
+
| Same as <samp>end</samp>, and additionally clears the existing NPC dialogue for the day and replaces it with the line(s) specified at the end of the command. Example usage: ''end dialogue Abigail "It was fun talking to you today.$h"''
 
|-
 
|-
| <tt>end dialogueWarpOut {{t|NPC}} {{t|"Text for next chat"}}</tt>
+
| <samp>end dialogueWarpOut {{t|NPC}} {{t|"Text for next chat"}}</samp>
| See <tt>end dialogue</tt> and <tt>end warpOut</tt>.
+
| See <samp>end dialogue</samp> and <samp>end warpOut</samp>.
 
|-
 
|-
| <tt>end invisible {{t|NPC}}</tt>
+
| <samp>end invisible {{t|NPC}}</samp>
| Same as <tt>end</tt>, and additionally turns the specified NPC invisible (cannot be interacted with until the next day).
+
| Same as <samp>end</samp>, and additionally turns the specified NPC invisible (cannot be interacted with until the next day).
 
|-
 
|-
| <tt>end invisibleWarpOut {{t|NPC}}</tt>
+
| <samp>end invisibleWarpOut {{t|NPC}}</samp>
| See <tt>end invisible</tt> and <tt>end warpOut</tt>.
+
| See <samp>end invisible</samp> and <samp>end warpOut</samp>.
 
|-
 
|-
| <tt>end newDay</tt>
+
| <samp>end newDay</samp>
 
| Ends both the event and the day (warping player to their bed, saving the game, selling everything in the shipping box, etc).
 
| Ends both the event and the day (warping player to their bed, saving the game, selling everything in the shipping box, etc).
 
|-
 
|-
| <tt>end position {{t|x}} {{t|y}}</tt>
+
| <samp>end position {{t|x}} {{t|y}}</samp>
| Same as <tt>end</tt>, and additionally warps the player to the map coordinates specified in ''x y''.
+
| Same as <samp>end</samp>, and additionally warps the player to the map coordinates specified in ''x y''.
 
|-
 
|-
| <tt>end warpOut</tt>
+
| <samp>end warpOut</samp>
| Same as <tt>end</tt>, and additionally finds the first warp out of the current location (second warp if male and in the bathhouse), and warps the player to its endpoint.
+
| Same as <samp>end</samp>, and additionally finds the first warp out of the current location (second warp if male and in the bathhouse), and warps the player to its endpoint.
 
|-
 
|-
| <tt>end wedding</tt>
+
| <samp>end wedding</samp>
 
| ''Used only in the hardcoded wedding event.'' Changes the character's clothes back to normal, sets Lewis' post-event chat to ''"That was a beautiful ceremony. Congratulations!$h"'', and warps the player to their farm.
 
| ''Used only in the hardcoded wedding event.'' Changes the character's clothes back to normal, sets Lewis' post-event chat to ''"That was a beautiful ceremony. Congratulations!$h"'', and warps the player to their farm.
 
|-
 
|-
| <tt>extendSourceRect {{t|actor}} reset</tt>
+
| <samp>extendSourceRect {{t|actor}} reset</samp>
 
| Resets the actors sprite.
 
| Resets the actors sprite.
 
|-
 
|-
| <tt>extendSourceRect {{t|actor}} {{t|horizontal}} {{t|vertical}} {{o|ignoreUpdates}}</tt>
+
| <samp>extendSourceRect {{t|actor}} {{t|horizontal}} {{t|vertical}} {{o|ignoreUpdates}}</samp>
 
| TODO: Explain Character.extendSourceRect
 
| TODO: Explain Character.extendSourceRect
 
|-
 
|-
| <tt>eyes {{t|eyes}} {{t|blink}}</tt>
+
| <samp>eyes {{t|eyes}} {{t|blink}}</samp>
| Change the player's eyes.
+
| Muda os olhos do jogador
 
|-
 
|-
| <tt>faceDirection {{t|actor}} {{t|direction}} {{o|continue}}</tt>
+
| <samp>faceDirection {{t|actor}} {{t|direction}} {{o|continue}}</samp>
 
| Make a named NPC face a [[#Directions|direction]]. If no parameter is supplied for [continue], the game will pause.
 
| Make a named NPC face a [[#Directions|direction]]. If no parameter is supplied for [continue], the game will pause.
 
|-
 
|-
| <tt>fade {{o|fadeOut}}</tt>
+
| <samp>fade {{o|fadeOut}}</samp>
 
| If 'fadeOut' is not specified, it will fade in. (?)
 
| If 'fadeOut' is not specified, it will fade in. (?)
 
|-
 
|-
| <tt>farmerAnimation {{t|anim}}</tt>
+
| <samp>farmerAnimation {{t|anim}}</samp>
| Briefly sets the farmer's sprite to {{t|anim}} for a variable (depending on sprite) interval. Only used once in vanilla events. Using <tt>showFrame farmer <sprite></tt> twice (to set a new frame and back) is more powerful as it lets you control the interval using <tt>pause n</tt>.
+
| Briefly sets the farmer's sprite to {{t|anim}} for a variable (depending on sprite) interval. Only used once in vanilla events. Using <samp>showFrame farmer <sprite></samp> twice (to set a new frame and back) is more powerful as it lets you control the interval using <samp>pause n</samp>.
 
|-
 
|-
| <tt>farmerEat {{t|object ID}}</tt>
+
| <samp>farmerEat {{t|object ID}}</samp>
 
| Make the player eat an object
 
| Make the player eat an object
 
|-
 
|-
| <tt>fork {{t|event ID}} {{o|req}}</tt>
+
| <samp>fork {{t|event ID}} {{o|req}}</samp>
| End the current command script and starts a different script with the given ID, but only if the {{o|req}} condition is met. The {{o|req}} condition can be a mail ID or dialogue answer ID; if not specified, it checks if the <tt>specialEventVariable1</tt> variable was set (e.g. by a <tt>question</tt> command). The new script should have the same format as a normal event script, but without the mandatory three start fields.
+
| End the current command script and starts a different script with the given ID, but only if the {{o|req}} condition is met. The {{o|req}} condition can be a mail ID or dialogue answer ID; if not specified, it checks if the <samp>specialEventVariable1</samp> variable was set (''e.g.,'' by a <samp>question</samp> command). The new script should have the same format as a normal event script, but without the mandatory three start fields.
 
|-
 
|-
| <tt>friendship {{t|npc}} {{t|amount}}</tt>
+
| <samp>friendship {{t|npc}} {{t|amount}}</samp>
 
| Add the given number of friendship points with the named NPC. (There are 250 points per heart.)
 
| Add the given number of friendship points with the named NPC. (There are 250 points per heart.)
 
|-
 
|-
| <tt>globalFade {{o|speed}}</tt>
+
| <samp>globalFade {{o|speed}}</samp>
| Fade to black at a particular speed (default 0.007). If no speed is specified, the event will continue immediately; otherwise, it will continue after the fade is finished. The fade effect disappears when this command is done; to avoid that, use the <tt>viewport</tt> command to move the camera off-screen.
+
| Fade to black at a particular speed (default 0.007). If no speed is specified, the event will continue immediately; otherwise, it will continue after the fade is finished. The fade effect disappears when this command is done; to avoid that, use the <samp>viewport</samp> command to move the camera off-screen.
 
|-
 
|-
| <tt>globalFadeToClear {{o|speed}}</tt>
+
| <samp>globalFadeToClear {{o|speed}}</samp>
 
| Fade to clear (unfade?) at a particular speed (default 0.007). If no speed is specified, the event will continue immediately; otherwise, it will continue after the fade is finished.
 
| Fade to clear (unfade?) at a particular speed (default 0.007). If no speed is specified, the event will continue immediately; otherwise, it will continue after the fade is finished.
 
|-
 
|-
| <tt>glow {{t|r}} {{t|g}} {{t|b}} {{t|hold}}</tt>
+
| <samp>glow {{t|r}} {{t|g}} {{t|b}} {{t|hold}}</samp>
| Make the screen glow once, fading into and out of the {{t|r}} {{t|g}} {{t|b}} values over the course of a second. If {{t|hold}} is <tt>true</tt> it will fade to and hold that color until <tt>stopGlowing</tt> is used.
+
| Make the screen glow once, fading into and out of the {{t|r}} {{t|g}} {{t|b}} values over the course of a second. If {{t|hold}} is <samp>true</samp> it will fade to and hold that color until <samp>stopGlowing</samp> is used.
 
|-
 
|-
| <tt>grandpaCandles</tt>
+
| <samp>grandpaCandles</samp>
 
| Do grandpa candles
 
| Do grandpa candles
 
|-
 
|-
| <tt>grandpaEvaluation</tt>
+
| <samp>grandpaEvaluation</samp>
 
| Do grandpa evaluation
 
| Do grandpa evaluation
 
|-
 
|-
| <tt>grandpaEvaluation2</tt>
+
| <samp>grandpaEvaluation2</samp>
 
| Do grandpa evaluation (manually resummoned)
 
| Do grandpa evaluation (manually resummoned)
 
|-
 
|-
| <tt>halt</tt>
+
| <samp>halt</samp>
 
| Make everyone stop.
 
| Make everyone stop.
 
|-
 
|-
| <tt>hospitaldeath</tt>
+
| <samp>hospitaldeath</samp>
 
|  
 
|  
 
|-
 
|-
| <tt>itemAboveHead {{o|type}}</tt>
+
| <samp>itemAboveHead {{o|type}}</samp>
 
| Show an item above the player's head. The {{o|type}} can be "pan", "hero", "sculpture", "joja", "slimeEgg", "rod", "sword", or "ore". If no item is specified, then they will 'hold' nothing?
 
| Show an item above the player's head. The {{o|type}} can be "pan", "hero", "sculpture", "joja", "slimeEgg", "rod", "sword", or "ore". If no item is specified, then they will 'hold' nothing?
 
|-
 
|-
| <tt>jump {{t|actor}} {{o|intensity}}</tt>
+
| <samp>jump {{t|actor}} {{o|intensity}}</samp>
| Make a the named NPC jump. The default <tt>intensity</tt> is 8.
+
| Make a the named NPC jump. The default <samp>intensity</samp> is 8.
 
|-
 
|-
| <tt>loadActors {{t|layer}}</tt>
+
| <samp>loadActors {{t|layer}}</samp>
 
| Load the actors from a layer in the map file.
 
| Load the actors from a layer in the map file.
 
|-
 
|-
| <tt>mail {{t|letter ID}}</tt>
+
| <samp>mail {{t|letter ID}}</samp>
| Queue a letter to be received tomorrow (see <tt>Content\Data\mail.xnb</tt> for available mail).
+
| Queue a letter to be received tomorrow (see <samp>Content\Data\mail.xnb</samp> for available mail).
 
|-
 
|-
| <tt>message "{{t|text}}"</tt>
+
| <samp>message "{{t|text}}"</samp>
 
| Show a dialogue box (no speaker). See [[#Dialogue format|dialogue format]] for the {{t|text}} format.
 
| Show a dialogue box (no speaker). See [[#Dialogue format|dialogue format]] for the {{t|text}} format.
 
|-
 
|-
| <tt>minedeath</tt>
+
| <samp>minedeath</samp>
 
| TODO.
 
| TODO.
 
|-
 
|-
| <tt>move {{t|actor}} {{t|x}} {{t|y}} {{t|facing}} {{t|continue}}</tt>
+
| <samp>move {{t|actor}} {{t|x}} {{t|y}} {{t|facing}} {{t|continue}}</samp>
| Make a named NPC move by the given tile offset from their current position (along one axis ''only''), and face the given [[#Directions|direction]] when they're done. To move along multiple axes, you must specify multiple <tt>move</tt> commands. By default the event pauses while a move command is occurring, but if {{t|continue}} is set to ''true'' the movement is asynchronous and will run simultaneously with other event commands.
+
| Make a named NPC move by the given tile offset from their current position (along one axis ''only''), and face the given [[#Directions|direction]] when they're done. To move along multiple axes, you must specify multiple <samp>move</samp> commands. By default the event pauses while a move command is occurring, but if {{t|continue}} is set to ''true'' the movement is asynchronous and will run simultaneously with other event commands.
 
|-
 
|-
| <tt>pause {{t|duration}}</tt>
+
| <samp>pause {{t|duration}}</samp>
 
| Pause the game for the given number of milliseconds.
 
| Pause the game for the given number of milliseconds.
 
|-
 
|-
| <tt>playMusic {{t|track}}</tt>
+
| <samp>playMusic {{t|track}}</samp>
 
| Play the specified music track ID. If the track is 'samBand', the track played will change depend on certain dialogue answers (76-79).
 
| Play the specified music track ID. If the track is 'samBand', the track played will change depend on certain dialogue answers (76-79).
 
|-
 
|-
| <tt>playSound {{t|sound}}</tt>
+
| <samp>playSound {{t|sound}}</samp>
 
| Play a given sound ID from the game's sound bank.
 
| Play a given sound ID from the game's sound bank.
 
|-
 
|-
| <tt>playerControl</tt>
+
| <samp>playerControl</samp>
 
| Give the player control back.
 
| Give the player control back.
 
|-
 
|-
| <tt>positionOffset {{t|actor}} {{t|x}} {{t|y}}</tt>
+
| <samp>positionOffset {{t|actor}} {{t|x}} {{t|y}}</samp>
 
| Offset the position of the named NPC by the given number of pixels. This happens instantly, with no walking animation.
 
| Offset the position of the named NPC by the given number of pixels. This happens instantly, with no walking animation.
 
|-
 
|-
| <tt>proceedPosition {{t|actor}}</tt>
+
| <samp>proceedPosition {{t|actor}}</samp>
 
| TODO: Explain
 
| TODO: Explain
 
|-
 
|-
| <tt>question null "{{t|question}}#{{t|answer1}}#{{t|answer2}}"</tt>
+
| <samp>question null "{{t|question}}#{{t|answer1}}#{{t|answer2}}"</samp>
 
| Show a dialogue box with some answers and an optional question. When the player chooses an answer, the event script continues with no other effect.
 
| Show a dialogue box with some answers and an optional question. When the player chooses an answer, the event script continues with no other effect.
 
|-
 
|-
| <tt>question fork{{t|answer index}} "{{t|question}}#{{t|answer 0}}#{{t|answer 1}}#..."</tt>
+
| <samp>question fork{{t|answer index}} "{{t|question}}#{{t|answer 0}}#{{t|answer 1}}#..."</samp>
| Show a dialogue with some answers and an optional question. When the player chooses the answer matching the <tt>fork{{t|answer index}}</tt> (like <tt>fork0</tt> for the first answer), the <tt>specialEventVariable1</tt> variable is set. Usually followed by a <tt>fork</tt> command.
+
| Show a dialogue with some answers and an optional question. When the player chooses the answer matching the <samp>fork{{t|answer index}}</samp> (like <samp>fork0</samp> for the first answer), the <samp>specialEventVariable1</samp> variable is set. Usually followed by a <samp>fork</samp> command.
 
|-
 
|-
| <tt>removeItem {{t|object ID}}</tt>
+
| <samp>removeItem {{t|object ID}}</samp>
 
| Remove the first of an object from a player's inventory.
 
| Remove the first of an object from a player's inventory.
 
|-
 
|-
| <tt>removeObject {{t|x}} {{t|y}}</tt>
+
| <samp>removeObject {{t|x}} {{t|y}}</samp>
 
| Remove the prop at a position.
 
| Remove the prop at a position.
 
|-
 
|-
| <tt>removeQuest {{t|quest ID}}</tt>
+
| <samp>removeQuest {{t|quest ID}}</samp>
 
| Remove the specified quest from the quest log.
 
| Remove the specified quest from the quest log.
 
|-
 
|-
| <tt>removeSprite {{t|x}} {{t|y}}</tt>
+
| <samp>removeSprite {{t|x}} {{t|y}}</samp>
 
| Remove the temporary sprite at a position.
 
| Remove the temporary sprite at a position.
 
|-
 
|-
| <tt>removeTemporarySprites</tt>
+
| <samp>removeTemporarySprites</samp>
 
| Remove all temporary sprites.
 
| Remove all temporary sprites.
 
|-
 
|-
| <tt>removeTile {{t|x}} {{t|y}} {{t|layer}}</tt>
+
| <samp>removeTile {{t|x}} {{t|y}} {{t|layer}}</samp>
 
| Remove a tile from the specified layer.
 
| Remove a tile from the specified layer.
 
|-
 
|-
| <tt>resetVariable</tt>
+
| <samp>resetVariable</samp>
 
| Set the first event variable to false.
 
| Set the first event variable to false.
 
|-
 
|-
| <tt>rustyKey</tt>
+
| <samp>rustyKey</samp>
 
| Gives the player the rusty key. (Sewer key)
 
| Gives the player the rusty key. (Sewer key)
 
|-
 
|-
| <tt>screenFlash {{t|alpha}}</tt>
+
| <samp>screenFlash {{t|alpha}}</samp>
| Flashes the screen white for an instant. An alpha value from <tt>0</tt> to <tt>1</tt> adjusts the brightness, and values from <tt>1</tt> and out flashes pure white for <tt>x</tt> seconds.
+
| Flashes the screen white for an instant. An alpha value from <samp>0</samp> to <samp>1</samp> adjusts the brightness, and values from <samp>1</samp> and out flashes pure white for <samp>x</samp> seconds.
 
|-
 
|-
| <tt>setRunning</tt>
+
| <samp>setRunning</samp>
 
| Set the player as running.
 
| Set the player as running.
 
|-
 
|-
| <tt>shake {{t|actor}} {{t|duration}}</tt>
+
| <samp>shake {{t|actor}} {{t|duration}}</samp>
 
| Shake the named NPC for the given number of milliseconds.
 
| Shake the named NPC for the given number of milliseconds.
 
|-
 
|-
| <tt>showFrame farmer flip</tt>
+
| <samp>showFrame farmer flip</samp>
 
| Flip the farmer's current sprite along the Y axis. TODO: Behavior with farmer looks strange?
 
| Flip the farmer's current sprite along the Y axis. TODO: Behavior with farmer looks strange?
 
|-
 
|-
| <tt>showFrame {{t|actor}} {{t|frame ID}}</tt>
+
| <samp>showFrame {{t|actor}} {{t|frame ID}}</samp>
| Set the named NPC's current frame in their <tt>Content\Characters\*.xnb</tt> spritesheet. Note that setting the farmer's sprite only changes ''parts'' of the sprite (some times arms, some times arms and legs and torso but not the head, etc). To rotate the whole sprite, use ''faceDirection farmer {{t|0/1/2/3}}'' first before modifying the sprite with ''showFrame''.
+
| Set the named NPC's current frame in their <samp>Content\Characters\*.xnb</samp> spritesheet. Note that setting the farmer's sprite only changes ''parts'' of the sprite (some times arms, some times arms and legs and torso but not the head, etc). To rotate the whole sprite, use ''faceDirection farmer {{t|0/1/2/3}}'' first before modifying the sprite with ''showFrame''.
 
|-
 
|-
| <tt>showRivalFrame {{t|frame}}</tt>
+
| <samp>showRivalFrame {{t|frame}}</samp>
 
| Set the 'rival' actor's sprite to a specific frame.
 
| Set the 'rival' actor's sprite to a specific frame.
 
|-
 
|-
| <tt>skippable</tt>
+
| <samp>skippable</samp>
 
| Allow skipping this event.
 
| Allow skipping this event.
 
|-
 
|-
| <tt>speak {{t|character}} "{{t|text}}"</tt>
+
| <samp>speak {{t|character}} "{{t|text}}"</samp>
 
| Show dialogue text from a named NPC; see [[#Dialogue format|dialogue format]].
 
| Show dialogue text from a named NPC; see [[#Dialogue format|dialogue format]].
 
|-
 
|-
| <tt>specificTemporarySprite {{t|sprite}} {{o|other params}}</tt>
+
| <samp>specificTemporarySprite {{t|sprite}} {{o|other params}}</samp>
 
| Shows the given temporary sprite. Parameters change depending on the sprite.
 
| Shows the given temporary sprite. Parameters change depending on the sprite.
 
|-
 
|-
| <tt>speed farmer {{t|modifier}}</tt>
+
| <samp>speed farmer {{t|modifier}}</samp>
 
| Add a speed modifier to the farmer. TODO: for the next action only?
 
| Add a speed modifier to the farmer. TODO: for the next action only?
 
|-
 
|-
| <tt>speed {{t|actor}} {{t|speed}}</tt>
+
| <samp>speed {{t|actor}} {{t|speed}}</samp>
 
| Sets the named NPC's speed (default speed is 3). Not applicable to the farmer. TODO: for the next action only?
 
| Sets the named NPC's speed (default speed is 3). Not applicable to the farmer. TODO: for the next action only?
 
|-
 
|-
| <tt>splitSpeak {{t|actor}} "{{t|text}}"</tt>
+
| <samp>splitSpeak {{t|actor}} "{{t|text}}"</samp>
 
| Dialogue, but chosen based on previous answer. ('~' is the separator used.)
 
| Dialogue, but chosen based on previous answer. ('~' is the separator used.)
 
|-
 
|-
| <tt>startJittering</tt>
+
| <samp>startJittering</samp>
 
| Make the player start jittering.
 
| Make the player start jittering.
 
|-
 
|-
| <tt>stopAdvancedMoves</tt>
+
| <samp>stopAdvancedMoves</samp>
 
| Stop movement from advancedMove.
 
| Stop movement from advancedMove.
 
|-
 
|-
| <tt>stopAnimation farmer</tt>
+
| <samp>stopAnimation farmer</samp>
 
| Stop the farmer's current animation.
 
| Stop the farmer's current animation.
 
|-
 
|-
| <tt>stopAnimation {{t|actor}} {{t|end frame}}</tt>
+
| <samp>stopAnimation {{t|actor}} {{t|end frame}}</samp>
 
| Stop the named NPC's current animation. Not applicable to the farmer.
 
| Stop the named NPC's current animation. Not applicable to the farmer.
 
|-
 
|-
| <tt>stopGlowing</tt>
+
| <samp>stopGlowing</samp>
 
| Make the screen stop glowing.
 
| Make the screen stop glowing.
 
|-
 
|-
| <tt>stopJittering</tt>
+
| <samp>stopJittering</samp>
 
| Make the player stop jittering.
 
| Make the player stop jittering.
 
|-
 
|-
| <tt>stopMusic</tt>
+
| <samp>stopMusic</samp>
 
| Stop any currently playing music.
 
| Stop any currently playing music.
 
|-
 
|-
| <tt>stopRunning</tt>
+
| <samp>stopRunning</samp>
 
| Make the farmer stop running.
 
| Make the farmer stop running.
 
|-
 
|-
| <tt>stopSwimming {{t|actor}}</tt>
+
| <samp>stopSwimming {{t|actor}}</samp>
 
| Make an actor stop swimming.
 
| Make an actor stop swimming.
 
|-
 
|-
| <tt>swimming {{t|actor}}</tt>
+
| <samp>swimming {{t|actor}}</samp>
 
| Make an actor start swimming.
 
| Make an actor start swimming.
 
|-
 
|-
| <tt>switchEvent {{t|event ID}}</tt>
+
| <samp>switchEvent {{t|event ID}}</samp>
 
| Changes the current event (ie. event commands) to another event in the same location.
 
| Changes the current event (ie. event commands) to another event in the same location.
 
|-
 
|-
| <tt>taxvote</tt>
+
| <samp>taxvote</samp>
 
| Trigger voting for or against a 3% shipping tax. (No effect on game?)
 
| Trigger voting for or against a 3% shipping tax. (No effect on game?)
 
|-
 
|-
| <tt>temporarySprite {{t|x}} {{t|y}} {{t|row in texture}} {{t|animation length}} {{t|animation interval}} {{t|flipped}} {{t|loop count}}</tt>
+
| <samp>temporarySprite {{t|x}} {{t|y}} {{t|row in texture}} {{t|animation length}} {{t|animation interval}} {{t|flipped}} {{t|loop count}}</samp>
 
| Create a temporary sprite with the given parameters.
 
| Create a temporary sprite with the given parameters.
 
|-
 
|-
| <tt>textAboveHead {{t|actor}} "{{t|text}}"</tt>
+
| <samp>textAboveHead {{t|actor}} "{{t|text}}"</samp>
 
| Show a small text bubble over the named NPC's head with the given text; see [[#Dialogue format|dialogue format]].
 
| Show a small text bubble over the named NPC's head with the given text; see [[#Dialogue format|dialogue format]].
 
|-
 
|-
| <tt>tutorialMenu</tt>
+
| <samp>tutorialMenu</samp>
 
| Show the tutorial menu if no other menu is open.
 
| Show the tutorial menu if no other menu is open.
 
|-
 
|-
| <tt>updateMinigame {{t|event data}}</tt>
+
| <samp>updateMinigame {{t|event data}}</samp>
 
| Send an event to the current minigame.
 
| Send an event to the current minigame.
 
|-
 
|-
| <tt>viewport move {{t|x}} {{t|y}} {{t|duration}}</tt>
+
| <samp>viewport move {{t|x}} {{t|y}} {{t|duration}}</samp>
 
| Pan the the camera in the direction (and with the velocity) defined by ''x/y'' for the given duration in milliseconds. Example: ''"viewport move 2 -1 5000"'' moves the camera 2 pixels right and 1 pixel up for 5 seconds.
 
| Pan the the camera in the direction (and with the velocity) defined by ''x/y'' for the given duration in milliseconds. Example: ''"viewport move 2 -1 5000"'' moves the camera 2 pixels right and 1 pixel up for 5 seconds.
 
|-
 
|-
| <tt>viewport {{t|x}} {{t|y}} [true [unfreeze]&#124;clamp [true&#124;unfreeze]]</tt>
+
| <samp>viewport {{t|x}} {{t|y}} [true [unfreeze]&#124;clamp [true&#124;unfreeze]]</samp>
 
| Instantly reposition the camera to center on the given X, Y tile position. TODO: explain other parameters.
 
| Instantly reposition the camera to center on the given X, Y tile position. TODO: explain other parameters.
 
|-
 
|-
| <tt>waitForKey {{t|key}} {{t|message on finish}}</tt>
+
| <samp>waitForKey {{t|key}} {{t|message on finish}}</samp>
 
| TODO: Explain
 
| TODO: Explain
 
|-
 
|-
| <tt>waitForOtherPlayers</tt>
+
| <samp>waitForOtherPlayers</samp>
 
| Wait for other players (vanilla MP).
 
| Wait for other players (vanilla MP).
 
|-
 
|-
| <tt>warp {{t|actor}} {{t|x}} {{t|y}}</tt>
+
| <samp>warp {{t|actor}} {{t|x}} {{t|y}}</samp>
 
| Warp the named NPC to a position to the given X, Y tile coordinate. This can be used to warp characters off-screen.
 
| Warp the named NPC to a position to the given X, Y tile coordinate. This can be used to warp characters off-screen.
 
|-
 
|-
| <tt>weddingSprite {{t|frame}}</tt>
+
| <samp>weddingSprite {{t|frame}}</samp>
 
| Sets the actor known as 'WeddingOutfits' to a particular frame.
 
| Sets the actor known as 'WeddingOutfits' to a particular frame.
 
|}
 
|}
  
 
Some commands are broken or unusable:
 
Some commands are broken or unusable:
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
 
! command
 
! command
 
! description
 
! description
 
|-
 
|-
| <tt>grabObject {{t|object ID}}</tt>
+
| <samp>grabObject {{t|object ID}}</samp>
 
| '''Broken.''' Triggers a generic animation. The item ID is ignored and the item isn't added.
 
| '''Broken.''' Triggers a generic animation. The item ID is ignored and the item isn't added.
 
|-
 
|-
| <tt>end busIntro</tt>
+
| <samp>end busIntro</samp>
 
| Supposed to start the bus intro scene, presumably the one that was cut before release.
 
| Supposed to start the bus intro scene, presumably the one that was cut before release.
 
|}
 
|}
Linha 581: Linha 581:
 
When event commands refer to a facing direction, they'll use one of these values:
 
When event commands refer to a facing direction, they'll use one of these values:
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
 
! Value
 
! Value
Linha 599: Linha 599:
 
|}
 
|}
  
===Dialogue format===
+
===Formato do diálogo===
See [[Modding:Dialogue#Format]].
+
Veja [[Modificações:Diálogo#Format]].
  
 
==See also==
 
==See also==

Edição atual desde as 20h15min de 13 de dezembro de 2023

Robin building.png
“Ainda tenho muito trabalho a fazer”
— Robin

Tradução incompleta

Este artigo ou seção não foi completamente traduzido para o português. Você está convidado a ajudar na sua construção editando-o
Última edição por Majulu em 2023-12-13 20:15:26.

Índice

Esta página explica como o jogo armazena e analisa os dados do evento. Este é um guia avançado para desenvolvedores de mod.

Fonte

Os eventos são armazenados em Content\Data\Events\*.xnb (um arquivo por local), que pode ser desempacotado usando XNB Extract.

Aqui estão os dados brutos para eventos de salão a partir de 1.3.27 para referência (excluindo cabeçalhos XNB):

Código 
40/f Elliott 1000/p Gus/t 1500 2200: "playful/11 20/farmer 14 24 0 Elliott -30 -30 0 Clint 18 22 2 Marnie 9 22 3 Pam 7 18 1 Lewis 8 22 1 Pierre 4 22 2 Demetrius 3 23 1 Gus 14 18 2 Emily 16 18 3/skippable/move farmer 0 -3 3/faceDirection Pierre 1 true/move farmer -3 0 0/faceDirection Pierre 2 true/move farmer 0 -1 0/faceDirection Marnie 0 true/faceDirection Gus 3/speak Gus \"Oi.  anoto o seu pedido.\"/faceDirection Gus 2/move Emily 2 0 1/faceDirection Marnie 3 true/pause 800/move Emily -2 0 0/pause 1000/faceDirection Clint 3 true/move Emily 2 0 1/warp Elliott 14 24/playSound doorClose/pause 500/move Elliott 0 -3 3/faceDirection farmer 2 true/move Elliott -2 0 0/move Elliott 0 -1 0/faceDirection farmer 1/faceDirection Elliott 3/speak Elliott \"Oi, @! Que surpresa agradável!#$b#Eu ia parar para relaxar após uma sessão de oito horas de escrita.$h\"/pause 400/faceDirection Elliott 1/speak Elliott \"Garçom! Duas de suas melhores cervejas, por favor!^Garçom! Dê-me sua melhor cerveja. E traga um pouco de vinho para esta senhorita!\"/faceDirection Gus 3/faceDirection farmer 0/speak Gus \"...$u\"/move Gus 3 0 0/move Gus 0 -1 0/faceDirection Emily 2/playSound openBox/pause 400/playSound Milking/move Pam -6 0 0/move Gus 0 1 3/move Gus -5 0 2/faceDirection Elliott 0/pause 500/speak Gus \"Aqui está, senhor.$u\"/pause 500/faceDirection Elliott 3/faceDirection farmer 1/speak Elliott \"$q 28376 null#Espere. Proponho um brinde! À...#$r 28376 25 event_toast4#Á Vila Pelicanos!#$r 28376 50 event_toast2#À nossa amizade!#$r 28376 -10 event_toast1#À nossa saúde#$r 28376 -50 event_toast3#A seu fim!\"/faceDirection Elliott 2/faceDirection farmer 2/pause 900/showFrame Elliott 16/animate Elliott false false 120 16 17 18 19 19 18 18 19 19 18 18 19 19 18 18 19 19 18 18 17 16/pause 500/farmerEat 346/pause 900/pause 1100/stopAnimation farmer/faceDirection farmer 1/speak Elliott \"*Hic*... Que coisa forte...$h\"/pause 800/animate Elliott false false 400 20 21 22 21 20 21 22 21 20 21 22 21 20 21 22 21 16/pause 1000/faceDirection farmer 1/pause 800/faceDirection farmer 2/animate farmer false true 100 102 103/pause 1000/globalFade/viewport -1000 -1000/pause 600/stopAnimation farmer/end warpOut" #!String
    96/f Gus 1000/f Pam 500/p Gus: "jaunty/10 21/farmer -100 -100 0 Gus 10 21 2 Pam -101 -101 0/skippable/pause 200/emote Gus 28/pause 500/playSound doorClose/warp farmer 14 24/pause 500/faceDirection Gus 1 true/move farmer 0 -3 3/speak Gus \"Ah, olá, colega.^Oi, @.\"/pause 500/faceDirection Gus 2/move farmer -3 0 2/pause 800/faceDirection farmer 3/pause 400/emote farmer 8/pause 700/speak Gus \"Aaah... eu estava dando uma olhada no faturamento do mês passado... e não está nada bom, @.$s#$b#E o pior... e eu odeio dizer isso, porque ela é minha amiga... é a Pam! Ela não paga  semanas!...$s#$b#Mas não consigo cobrá-la. Sei que ela vai ficar ofendida, e não quero ferir os sentimentos dela.$s\"/pause 600/faceDirection Gus 1/speak Gus \"@, você precisa me ajudar!$s\"/stopMusic/pause 500/playSound doorClose/warp Pam 14 24/move Pam 0 -3 3/faceDirection Gus 1 true/faceDirection farmer 1/emote Gus 16/speak Pam \"Olá!$h#$b#Gus... Estou com muita sede, se é que você me entende.\"/emote Gus 28/speak Gus \"Err... Bem, está certo, Pam.$s\"/emote Gus 28/pause 700/emote Pam 8/pause 400/speak Pam \"$q 207 null#@, o que está acontecendo aqui?#$r 207 -50 event_credit1#Você precisa pagar a sua conta agora!#$r 208 15 event_credit2#O saloon não está indo bem financeiramente\"/pause 400/faceDirection Pam 1/emote Pam 12/speak Pam \"...$u#$b#Bem, então acho que é melhor eu pagar essa conta.$s\"/move Pam -2 0 0/move Pam 0 -1 3/move Pam -2 0 2/faceDirection Gus 0/faceDirection farmer 3/playSound money/pause 500/speak Gus \"Obrigado, Pam!$h\"/pause 500/faceDirection Gus 1/speak Gus \"E obrigado, @.$u\"/pause 500/faceDirection Gus 0/speak Gus \"Agora, deixa eu pegar a sua cerveja, Pam.$h\"/friendship Gus 50/end dialogue Gus \"Obrigado por sua ajuda, @. Esse dinheiro vai ser de grande ajuda para o saloon.\"" #!String
    97/f Clint 750/t 1900 2300/d Tue Wed Thu Fri Sat Sun: "none/4 18/farmer 14 24 0 Clint 4 19 2 Emily 10 11 0 Gus 15 18 1 Shane 7 18 1/skippable/move farmer 0 -3 3/emote Clint 28/pause 500/move Clint 0 -1 3/move Clint -3 0 0/pause 500/playSound openBox/pause 150/playSound shiny4/pause 400/playMusic desolate/move Clint 3 0 2/move Clint 0 1 2/move farmer -3 0 0/move farmer 0 -1 3/faceDirection Shane 2 true/move farmer -3 0 3/faceDirection Shane 1 true/move farmer -3 0 3/faceDirection Clint 1/speak Clint \"Oi, @... se importaria de se juntar a mim?\"/pause 400/faceDirection farmer 0/pause 800/faceDirection farmer 3/faceDirection Clint 2/speak Clint \"Deixe-me dizer o que está na minha cabeça.$u#$b#Tenho uma sorte terrível com mulheres, @... Aaah...$s#$b#Sou um cara muito legal se você me conhecer, juro!$u\"/pause 500/faceDirection farmer 0/emote farmer 28/pause 500/faceDirection farmer 3/speak Clint \"Todas as garotas parecem gostar de você, @...^Você é uma garota, @...\"/speak Clint \"$q 211 null#Tem alguma dica?^Que tipo de conselho você pode me dar?#$r 211 25 event_advice1#Impressione as mulheres com sua força e charme#$r 211 25 event_advice1#Aja loucamente, para manter o suspense#$r 211 0 event_advice2#Aja naturalmente... seja você mesmo#$r 211 50 event_advice1#Trate mulheres da mesma forma que homens\"/speed Emily 4/move Emily -6 0 2/speed Emily 2/move Emily 0 4 2/doAction 4 16/playSound openBox/stopMusic/move Emily 0 3 1/move Emily 1 0 2/move Emily 0 1 3/pause 400/pause 700/speak Emily \"Oi, Clint. Que posso fazer por você hoje à noite?$h\"/pause 600/faceDirection Clint 1/pause 200/speak Clint \"Sim!\"/pause 300/speak Clint \"Err... Quero dizer, quero o Queijo Grande. Com molho extra, por favor.$s#$b#...$u\"/faceDirection Clint 3/faceDirection Emily 2/pause 300/faceDirection Clint 2/speak Emily \"Oi, @.\"/pause 300/faceDirection farmer 0/faceDirection Clint 1/speak Clint \"Err... *caham*. O-obrigado, Emily. Por... pegar meu pedido.#$b#Hã... Emily? Eu estava... *gulp*... Estava me perguntando se...$h\"/pause 300/faceDirection Emily 3/emote Emily 8/pause 400/speak Emily \"Sim, Clint?$u\"/pause 500/emote Clint 28/pause 1200/speak Clint \"... Deixa para lá.$s\"/faceDirection Clint 0/playMusic sadpiano/pause 300/faceDirection Emily 2/pause 300/faceDirection Emily 3/pause 500/move Emily 0 -1 1/move Emily 1 0 1/faceDirection Shane 3/speak Emily \"Oi, Shane! Aqui está a sua bebida.$h\"/pause 300/faceDirection Shane 1/pause 400/addObject 8 17 346 1/playSound woodyStep/pause 400/faceDirection Shane 3/pause 300/faceDirection Clint 1/speak Shane \"Obrigado, Emily!$h#$b#Então... Como está indo o seu turno?\"/speak Emily \"Está indo bem! Obrigado por perguntar, Shane!$h#$b#Você tem novas histórias de galinha para mim?\"/pause 600/emote Clint 28/pause 500/faceDirection Clint 2/pause 800/speak Clint \"*Aaah...*$s#$b#Estou perdido...$s\"/end warpOut" #!String
    911526/f Alex 2500/t 1900 2200/n joshMessage: "gusviolin/-1000 -1000/farmer 5 5 1 Gus 10 6 2 Alex 9 5 3 Emily 9 17 2/skippable/showFrame 117/showFrame Alex 39/positionOffset farmer 12 8/positionOffset Alex -12 0/animate Gus false true 723 16 17/viewport 7 4 true/pause 23000/stopAnimation Gus/pause 1000/faceDirection Gus 3/speak Alex \"Obrigado, Gus. Isso foi ótimo.\"/move Gus 0 1 1/move Gus 1 0 2/move Gus 0 1 2/doAction 11 9/move Gus 0 3 1/move Gus 12 0 3 true/speak Alex \"Isso é muito legal... Nunca jantei aqui antes.\"/pause 1000/emote Alex 40/speak Alex \"Hã... então... Reservei esta sala particular para que pudéssemos falar...$l\"/warp Emily 11 11 true/playSound woodyStep/move Emily 0 -4 3/move Emily -4 0 0/move Emily 0 -1 0/speak Emily \" Um linguine com creme de cogumelo para o sr. @.^E tenho uma salada de couve e nozes para a senhorita.#$b#E um bife grelhado para Alex.^E um bife grelhado para o cavalheiro.\"/playSound woodyHit/specificTemporarySprite joshDinner/speak Alex \"Obrigado.\"/move Emily 4 0 2/move Emily 0 5 1/move Emily 11 0 1 true/speak Alex \"Então, o que eu queria dizer era...$9\"/playMusic musicboxsong/speak Alex \"*Gulp.*$s\"/pause 600/speak Alex \"Bem, quando nos vimos pela primeira vez, logo me senti atraído por você. Foi confuso... Nunca senti isso por ninguém.$l^Quando conheci você pela primeira vez, achei você uma gracinha.$l#$b#Ficava pensando 'não é certo se sentir assim por outro homem'.$l^Normalmente, quando gosto de alguém, supero muito rápido.$l\"/pause 800/speak Alex \"Mas meu coração estava me dizendo outra coisa.^Com você, essa atração  crescia.$l\"/pause 400/emote Alex 40/pause 600/question fork1 \"#Sinto o mesmo.#Sinto muito... Não sinto isso por você.\"/pause 400/fork rejectJosh/speak Alex \"...$l#$b#Não acredito que demorou tanto para dizermos isso um para o outro.$l\"/emote Alex 32/pause 800/animate Alex false false 400 40 41 41 40 41 41 40 41 41 40 41 41 40/pause 800/playSound eat/pause 800/playSound eat/pause 800/playSound eat/pause 800/playSound gulp/pause 400/speak Alex \"Huum... esse bife está maravilhoso. Você consegue sentir esse cheiro?$10\"/eyes 1 -4000/animate Alex false false 400 40 41 41 40 41 41 40/pause 1000/specificTemporarySprite alexDiningDog/playSound dogWhining/pause 1000/globalFade/viewport -1000 -1000/pause 6000/end dialogue Alex \"...$l\"" #!String
    rejectJosh: "pause 100/playMusic none/shake Alex 2000/emote Alex 28/speak Alex \"... Ah...$s#$b#Eu... eu sinto muito se deixei você sem graça...$s\"/pause 2000/speak Alex \"Já não estou mais com fome...$s\"/viewport move 1 1 5000/globalFade/viewport -1000 -1000/pause 4000/end dialogue Alex \"...$l\"" #!String
    195099/f Shane 2500/f Sebastian 2500/f Sam 2500/f Harvey 2500/f Alex 2500/f Elliott 2500/o Abigail/o Penny/o Leah/o Emily/o Maru/o Haley/o Shane/o Harvey/o Sebastian/o Sam/o Elliott/o Alex/e 911526/e 528052/e 9581348/e 43/e 384882/e 233104/i 446/k 195013: "playful/-1000 -1000/farmer 27 19 1 Sam 36 20 1 Sebastian 37 19 2 Harvey 39 19 2 Shane 40 17 2 Elliott 41 19 2 Alex 42 20 3/animate Shane false true 200 20 20 20 20 20 20 20 20 20 20 21 22 23 24 24 24 24 23 22 21 20 20 20 20/pause 1000/message \"Por algum motivo, você decidiu colocar a mão no bolso...\"/pause 500/message \"Você tocou no  de coelho e sentiu um alívio...\"/move farmer 5 0 1 true/viewport 37 19 true/move false/pause 500/faceDirection Sam 3 true/faceDirection Elliott 3 true/faceDirection Harvey 3 true/faceDirection Alex 3 true/faceDirection Shane 3 true/faceDirection Sebastian 3 true/textAboveHead Sam \"Ei!\"/textAboveHead Alex \"O que houve?\"/textAboveHead Shane \"Ah, ei\"/pause 2000/move farmer 3 0 1/emote farmer 32/pause 500/speak Harvey \"Você chegou bem na hora do primeiríssimo torneio de bola 8 da Vila Pelicano!\"/pause 500/speak Elliott \"Não se preocupe, eu também nunca joguei.$h\"/pause 500/speak Shane \"É fácil, você  precisa colocar mostarda na bola branca...$h\"/pause 500/fade/viewport -1000 -1000/pause 1500/message \"Você jogou uma rodada de sinuca com os rapazes.\"/pause 1000/message \"Sebastian ganhou, claro... mas foi bem divertido!\"/pause 500/end" #!String
    195013/f Shane 2500/f Sebastian 2500/f Sam 2500/f Harvey 2500/f Alex 2500/f Elliott 2500/o Abigail/o Penny/o Leah/o Emily/o Maru/o Haley/o Shane/o Harvey/o Sebastian/o Sam/o Elliott/o Alex/e 911526/e 528052/e 9581348/e 43/e 384882/e 233104/k 195099: "playful/-1000 -1000/farmer 27 19 1 Sam 36 20 1 Sebastian 37 19 2 Harvey 39 19 2 Shane 40 17 2 Elliott 41 19 2 Alex 42 20 3/animate Shane false true 200 20 20 20 20 20 20 20 20 20 20 21 22 23 24 24 24 24 23 22 21 20 20 20 20/move farmer 5 0 1 true/viewport 37 19 true/move false/pause 500/startJittering/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/pause 2000/stopAnimation farmer/showFrame farmer 0/stopJittering/playSound thudStep/faceDirection farmer 3 true/showFrame farmer 7 true/startJittering/faceDirection Sam 3 true/faceDirection Elliott 3 true/faceDirection Harvey 3 true/faceDirection Alex 3 true/faceDirection Shane 3 true/faceDirection Sebastian 3 true/textAboveHead Sam \"Não tão rápido!\"/textAboveHead Alex \"Espera!\"/textAboveHead Shane \"Pare!\"/pause 3000/stopJittering/showFrame farmer 6 true/pause 500/faceDirection farmer 1/move farmer 3 0 1/playMusic none/emote farmer 28/pause 500/speak Sam \"Nunca achou que encontraria todos os seus 'namorados' em um mesmo lugar,  @?$a\"/pause 500/speak Harvey \"Você nos enganou, fez com que achássemos que nos amava...$s^@... Eu achei que você queria se casar e criar uma família comigo... O que eu fiz de errado?$s\"/pause 500/speak Shane \"O último pedacinho de esperança que eu tinha foi completamente destruído... Obrigado, @. Está feliz agora?$s\"/pause 500/speak Alex \"@? Eu achei que... Achei que nós éramos 'perfeitos um para o outro'... Mas você estava me usando?$s^Por que está olhando para *mim*? Você acha que eu vou te salvar?$a\"/pause 500/speak Elliott \"Pela primeira vez eu fiquei sem palavras... $a\"/pause 500/playMusic wedding/speak Sam \"Bem, não vamos aceitar mais abusos!$a^Agora nós sabemos da verdade! E não vamos tolerar isto!$a\"/textAboveHead Alex \"É isso mesmo!\"/pause 500/speak Sebastian \"Bem? O que você tem a dizer em sua defesa?$a\"/pause 1000/question fork1 \"#Sinto muito... eu errei.#Pessoal, calma! Eu posso explicar...#\"/fork choseToExplain/pause 500/textAboveHead Alex \"Claro...\"/pause 500/speak Shane \"Boa tentativa, mas não foi o suficiente...$a\"/pause 1000/playMusic none/speak Sam \"...então tomamos uma decisão... não é, galera?$u\"/pause 500/speak Harvey \"...sim.$s\"/speak Elliott \"Com certeza.$a\"/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/speak Sam \"Nós vamos ignorar você!$a\"/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/playSound slimedead/pause 2000/fade/viewport -2000 -2000/dump guys 3/end warpOut" #!String
    choseToExplain: "pause 100/textAboveHead Shane \"Eu duvido...\"/pause 500/resetVariable/question fork2 \"#Vocês cobravam muito de mim! Era muito difícil dizer 'não'!#Pierre me pressionou! Ele queria vender mais buquês!#(Começa a chorar)/pause 100/fork crying/textAboveHead Sam \"Mentira!\"/textAboveHead Alex \"Sim!\"/speak Elliott \"Não culpe outras pessoas por seus erros! Você  está perdendo ainda mais o nosso respeito...$a\"/pause 1000/faceDirection Sam 2/playMusic none/speak Sam \"...Acho que tomamos uma decisão... certo, rapazes?$u\"/pause 500/speak Harvey \"...sim.$s\"/speak Sebastian \"Com certeza.$a\"/faceDirection Sam 3/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/speak Sam \"Nós vamos ignorar você!$a\"/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/playSound slimedead/pause 2000/fade/viewport -2000 -2000/dump guys 4/end warpOut" #!String
    crying: "pause 100/faceDirection farmer 0/emote farmer 28/pause 1000/emote Harvey 12 true/emote Sebastian 12 true/emote Shane 12 true/emote Sam 12 true/emote Elliott 12 true/emote Alex 12 true/speak Harvey \"Isso não vai funcionar! Você não vai se aproveitar de nossa compaixão desta vez!$a\"/speak Alex \"Vou assumir que este é  mais um jogo seu...$a^Típico...$a\"/pause 100/speak Sebastian \"Você precisa assumir a responsabilidade pelo que fez...$a\"/pause 1000/faceDirection Sam 2/playMusic none/speak Sam \"...Acho que tomamos uma decisão... certo, rapazes?$u\"/pause 500/speak Harvey \"...sim.$s\"/speak Sebastian \"Com certeza.$a\"/faceDirection Sam 3/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/jump Sam/jump Sebastian/jump Elliott/jump Shane/jump Alex/jump Harvey/pause 1000/speak Sam \"Nós vamos ignorar você!$a\"/faceDirection farmer 2 true/animate farmer false true 100 94/jump farmer/playSound slimedead/pause 2000/fade/viewport -2000 -2000/dump guys 4/end warpOut" #!String

Pré-condições do evento

Cada evento possui uma chave que inclui um ID de evento e todas as condições prévias. As pré-condições do evento incluem qualquer número dos seguintes argumentos (separado por /). Por exemplo, as pré-condições do evento de corações do Clint no Saloon são 97/f Clint 750/t 1900 2300/d Tue Wed Thu Fri Sat Sun, cujo (conforme as tabelas abaixo) significa evento #97, requer 3 corações com Clint, entre 7pm e 11pm na segunda-feira.

Notas:

  • 'Nome do NPC' significa seu nome interno em inglês, não o nome de exibição traduzível.
  • A maioria dos textos diferencia maiúsculas de minúsculas (e.g., Mon não é o mesmo que mon).
  • A logística do jogo para esses códigos está em GameLocation::checkEventPrecondition.

Contexto

Estes verificam a hora atual, data, clima, etc. Eles não são específicos do jogador.

sintaxe condição prévia
A <dialogo ID> O evento de diálogo especial com o ID fornecido está não em andamento. Isso pode ser um evento ID personalizado, mas esses são os do jogo IDs: cc_Begin, cc_Boulder, cc_Bridge, cc_Bus, cc_Complete, cc_Greenhouse, cc_Minecart, dumped_Girls, dumped_Guys, Introduction, joja_Begin, pamHouseUpgrade, pamHouseUpgradeAnonymous, secondChance_Girls, secondChance_Guys, willyCrabs.
F Hoje não é dia de festival.
d <dia da semana> Hoje não é um dos dias especificados (pode especificar vários dias). Valores válidos: Mon Tue Wed Thu Fri Sat Sun.
r <número> Uma verificação de probabilidade aleatória, onde <número> é a probabilidade entre 0 e 1 (e.g., 0.2 for 20% chance).
v <nome> Esse especifico NPC não está invisível (independentemente de estarem na tela).
w <clima> Clima atual <clima>. Valores válidos: rainy, sunny.
y <ano> Se <ano> é 1, deve estar no ano 1. Caso contrário, ano deve ser pelo menos este valor.
z <estação> A estação atual "não" é <estação>.

Jogador Atual

Esses verificam o jogador atual (aquele que está jogando esta instância do jogo).

sintaxe condição prévia
D <nome> Atual jogador está namorando o nome do NPC dado.
J Atual jogador finalizou o Armazém Joja.
M <número> O jogador atual tem ao menos esse tanto de dinheiro.
S <ID nota secreta> Atual jogador viu o Nota secreta com tal ID.
a <x> <y> O jogador atual está nessa posição do ladrilho.
b <número> O jogador atual chegou ao piso inferior das Minas pelo menos esse tanto de vezes.
c <número> O jogador atual tem pelo menos tantos slots de inventário livre.
e <evento ID> O jogador atual viu o evento especificado (pode conter multiplos IDs de evento).
f <nome> <número> Jogador atual tem pelo menos <número> pontos de amizade com o <nome> NPC. Pode especificar vários pares de nomes e números, caso em que o jogador deve atender a todos eles.
g <gênero> Atual jogador é do gênero específico (male or female).
h <pet> Atual jogador não tem um pet, e suas preferências <pet> ("cat" or "dog").
i <item ID> Atual jogador tem o item específico em seu inventário.
j <number> Atual jogador jogou mais que <número> dias.
k <evento ID> Jogador atual não viu esse evento (Pode conter multíplos IDs de evento).
l <carta ID> Jogador atual não recebeu essa carta postal ou sinalizador não postal.
m <número> O jogador atual ganhou pelo menos esse tanto dinheiro (independentemente de quanto ele tenha atualmente).
n <carta ID> O jogador atual recebeu essa carta postal ou sinalizador não postal.
o <nome> Jogador atual não está casado com este NPC.
p <nome> O NPC especificado está na localização do jogador atual.
q <dialogo ID> O jogador atual escolheu a resposta dada em um diálogo. Pode conter vários IDs de diálogo; nesse caso, todos devem ter sido selecionados.
s <item ID> <número> O jogador atual enviou pelo menos <number> do item especificado. Pode especificar vários pares de itens e números; nesse caso, todos eles devem ser atendidos.
t <min tempo> <max tempo> A hora atual está entre as horas especificadas.
u <dia do mês> O dia atual do mês é um dos valores especificados (pode conter vários dias).
x <evento ID> <carta ID> Para o jogador atual: marque o ID especificado como visto, adicione a letra especificada ao e-mail de amanhã e marque falso (para que o evento não seja acionado).

Jogador anfitrião

Eles verificam o jogador host (aquele que está executando uma fazenda multijogador, não necessariamente o jogador atual). Se for single-player, este é sempre o jogador atual.

sintaxe condição prévia
C O jogador anfitrião não terminou o Centro Comunitário ou ainda não viu a grande reabertura.
H O jogador atual é o jogador anfitrião.
Hl <carta ID> O jogador anfitrião não recebeu essa carta de correio ou sinalizador de não correio.
Hn <carta ID> O jogador anfitrião recebeu essa carta de correio ou sinalizador de não correio.
*l <carta ID> O jogador anfitrião e o jogador atual não receberam essa carta ou sinalizador de não correio.
*n <carta ID> O jogador anfitrião e o jogador atual receberam essa carta ou sinalizador de não correio.

Scripts de Eventos

Formato Básico

Isso especifica o que acontece no evento - tudo desde luz e música até movimento dos NPCs e diálogo. O script consiste em vários comandos separados por /.

Todo script deve começar com três comandos nessa ordem exata:

index sintaxe descrição
0 <music ID> A música de fundo ou ambientação a ser tocada. Pode ser mudada depois usando playMusic <newmusic> ou parada completamente usando stopMusic. Isso também pode ser none (que para a música existente e usa o som ambiente padrão do local) ou continue (que continua o som de fundo atual).
1 <x> <y> As coordenadas do quadrado onde a câmera deve alinhar no início do evento.
2 <npc ID> <x> <y> <direction> Inicializa o quadrado de início do NPC e direção. O ID do NPC pode ser farmer ou o nome de um NPC como Abigail.

Estes três comando podem ser seguidos por qualquer sequência dos comandos a seguir:

comando descrição
addBigProp <x> <y> <object ID> Adiciona um objeto no quadrado especificado pela TileSheets\Craftables.png folha de sprites.
addConversationTopic <ID> Começa um evento de diálogo com o ID dado e uma duração de 4 dias.
addCookingRecipe <recipe> Adiciona a receita culinária especificada ao jogador.
addCraftingRecipe <recipe> Adiciona a receita de fabircação especificada ao jogador.
addFloorProp <prop index> <x> <y> [solid width] [solid height] [display height] Add a non-solid prop from the current festival texture. Default solid width/height is 1. Default display height is solid height.
addLantern <row in texture> <x> <y> <light radius> Adds a glowing temporary sprite at the specified tile from the Maps\springobjects.png sprite sheet. A light radius of 0 just places the sprite.
addMailReceived <letter ID> Set a letter as received.
addObject <x> <y> <row in texture> [layer] Adds a temporary sprite at the specified tile from the Maps\springobjects.png sprite sheet.
addProp <prop index> <x> <y> [solid width] [solid height] [display height] Add a solid prop from the current festival texture. Default solid width/height is 1. Default display height is solid height.
addQuest <quest ID> Add the specified quest to the quest log.
addTemporaryActor <character> <sprite width> <sprite height> <tile x> <tile y> <facing> [breather] [Character|Animal|Monster] [animal name] Add a temporary actor. 'breather' is boolean. The category determines where the texture will be loaded from, default is Character. Animal name only applies to animal.
addToTable <x> <y> <object ID> Places on object on the furniture at a position. If the location is FarmHouse, then it will always be placed on the initial table.
addTool <Sword|Wand> Adds either a Battered Sword or Return Scepter to the player's inventory. The Battered Sword is unobtainable in vanilla and is incomplete and not implemented.
advancedMove <npc> <loop> <x y>... Set multiple movements for an NPC. You can set True to have NPC walk the path continuously. Example: /advancedMove Robin false 0 3 2 0 0 2 -2 0 0 -2 2 0/
ambientLight <r> <g> <b> Modifies the ambient light level, with RGB values from 0 to 255. Note that it works by removing colors from the existing light ambience, so ambientLight 1 80 80 would reduce green and blue and leave the light with a reddish hue.
animalNaming Show the animal naming menu if no other menu is open. Uses the current location as Coop. Appears to only work for 'hatched' animals.
animate <actor> <flip> <loop> <frame duration> <frames...> Animate a named actor, using one or more <frames> from their sprite sheet, for <frame duration> milliseconds per frame. <flip> indicates whether to flip the sprites along the Y axis; <loop> indicates whether to repeat the animation until stopAnimation is used.
attachCharacterToTempSprite <actor> Attach an actor to the most recent temporary sprite.
awardFestivalPrize Awards the festival prize to the winner for the easter egg hunt and ice fishing contest.
awardFestivalPrize <item type> Awards the specified item to the player. Possible item types are "pan", "sculpture", "rod", "sword", "hero", "joja", and "slimeegg".
broadcastEvent TODO: Explain broadcastEvent.
catQuestion Trigger question about adopting your pet.
cave Trigger the question for the farm cave type. This will work again later, however changing from bats to mushrooms will not remove the mushroom spawning objects.
changeLocation <location> Change to another location and run the remaining event script there.
changeMapTile <layer> <x> <y> <tile index> Change the specified tile to a particular value.
changePortrait <npc> <portrait> Change the NPC's portrait to be from "Portraits/<actor>_<sprite&gt".
changeSprite <actor> <sprite> Change the actor's sprite to be from "Characters/<actor>_<sprite>".
changeToTemporaryMap <map> [pan] Change the location to a temporary one loaded from the map file specified by <map>. The [pan] argument indicates the tile coordinates to pan to (defaults to 0, 0).
changeYSourceRectOffset <npc> <offset> Changes the NPC's vertical texture offset. Example: changeYSourceRectOffset Abigail 96 will offset her sprite sheet, showing her looking left instead of down. This persists for the rest of the event. This is only used in Emily's Clothing Therapy event to display the various outfits properly.
characterSelect Seemingly unused. Sets Game1.gameMode to 5 and Game1.menuChoice = 0.
cutscene <cutscene> Activate a cutscene. See cutscene list. (TODO: Pull list from my event editor)
doAction <x> <y> Acts as if the player had clicked the specified x/y coordinate and triggers any relevant action. It is commonly used to open doors from inside events, but it can be used for other purposes. If you use it on an NPC you will talk to them, and if the player is holding an item they will give that item as a gift. doAction activates objects in the main game world (their actual location outside of the event), so activating NPCs like this is very tricky, and their reaction varies depending on what the player is holding.
dump <group> Starts the special "cold shoulder" and "second chance" dialogue events for the given group (women if group is girls and men if it is anything else.) The cold shoulder event has an id of dumped_Girls or dumped_Guys and lasts 7 days; the second chance event has an id of secondChance_Girls or secondChance_Guys and lasts 14 days. During open beta testing of version 1.3 there was a second parameter which determined the amount of hearts lost, but support for that parameter was removed before release.
elliotbooktalk Elliot book talk.
emote <actor> <emote ID> Make the given NPC name perform an emote, which is a little icon shown above the NPC's head. Emotes are stored in Content\TileSheets\emotes.xnb (see list of emotes).
end Ends the current event by fading out, then resumes the game world and places the player on the square where they entered the zone. All end parameters do this by default unless otherwise stated.
end bed Same as end, but warps the player to the x/y coordinate of their most recent bed. This does not warp them to the farmhouse, only to the x/y coordinate of the bed regardless of map.
end beginGame Used only during the introduction sequence in the bus stop event. It sets the game mode to playingGameMode, warps the player to the farmhouse (9, 9), ends the current event, and starts a new day.
end credits Not used in any normal events. Clears debris weather, changes the music to wedding music, sets game mode to creditsMode and ends the current event.
end dialogue <NPC> <"Text for next chat"> Same as end, and additionally clears the existing NPC dialogue for the day and replaces it with the line(s) specified at the end of the command. Example usage: end dialogue Abigail "It was fun talking to you today.$h"
end dialogueWarpOut <NPC> <"Text for next chat"> See end dialogue and end warpOut.
end invisible <NPC> Same as end, and additionally turns the specified NPC invisible (cannot be interacted with until the next day).
end invisibleWarpOut <NPC> See end invisible and end warpOut.
end newDay Ends both the event and the day (warping player to their bed, saving the game, selling everything in the shipping box, etc).
end position <x> <y> Same as end, and additionally warps the player to the map coordinates specified in x y.
end warpOut Same as end, and additionally finds the first warp out of the current location (second warp if male and in the bathhouse), and warps the player to its endpoint.
end wedding Used only in the hardcoded wedding event. Changes the character's clothes back to normal, sets Lewis' post-event chat to "That was a beautiful ceremony. Congratulations!$h", and warps the player to their farm.
extendSourceRect <actor> reset Resets the actors sprite.
extendSourceRect <actor> <horizontal> <vertical> [ignoreUpdates] TODO: Explain Character.extendSourceRect
eyes <eyes> <blink> Muda os olhos do jogador
faceDirection <actor> <direction> [continue] Make a named NPC face a direction. If no parameter is supplied for [continue], the game will pause.
fade [fadeOut] If 'fadeOut' is not specified, it will fade in. (?)
farmerAnimation <anim> Briefly sets the farmer's sprite to <anim> for a variable (depending on sprite) interval. Only used once in vanilla events. Using showFrame farmer <sprite> twice (to set a new frame and back) is more powerful as it lets you control the interval using pause n.
farmerEat <object ID> Make the player eat an object
fork <event ID> [req] End the current command script and starts a different script with the given ID, but only if the [req] condition is met. The [req] condition can be a mail ID or dialogue answer ID; if not specified, it checks if the specialEventVariable1 variable was set (e.g., by a question command). The new script should have the same format as a normal event script, but without the mandatory three start fields.
friendship <npc> <amount> Add the given number of friendship points with the named NPC. (There are 250 points per heart.)
globalFade [speed] Fade to black at a particular speed (default 0.007). If no speed is specified, the event will continue immediately; otherwise, it will continue after the fade is finished. The fade effect disappears when this command is done; to avoid that, use the viewport command to move the camera off-screen.
globalFadeToClear [speed] Fade to clear (unfade?) at a particular speed (default 0.007). If no speed is specified, the event will continue immediately; otherwise, it will continue after the fade is finished.
glow <r> <g> <b> <hold> Make the screen glow once, fading into and out of the <r> <g> <b> values over the course of a second. If <hold> is true it will fade to and hold that color until stopGlowing is used.
grandpaCandles Do grandpa candles
grandpaEvaluation Do grandpa evaluation
grandpaEvaluation2 Do grandpa evaluation (manually resummoned)
halt Make everyone stop.
hospitaldeath
itemAboveHead [type] Show an item above the player's head. The [type] can be "pan", "hero", "sculpture", "joja", "slimeEgg", "rod", "sword", or "ore". If no item is specified, then they will 'hold' nothing?
jump <actor> [intensity] Make a the named NPC jump. The default intensity is 8.
loadActors <layer> Load the actors from a layer in the map file.
mail <letter ID> Queue a letter to be received tomorrow (see Content\Data\mail.xnb for available mail).
message "<text>" Show a dialogue box (no speaker). See dialogue format for the <text> format.
minedeath TODO.
move <actor> <x> <y> <facing> <continue> Make a named NPC move by the given tile offset from their current position (along one axis only), and face the given direction when they're done. To move along multiple axes, you must specify multiple move commands. By default the event pauses while a move command is occurring, but if <continue> is set to true the movement is asynchronous and will run simultaneously with other event commands.
pause <duration> Pause the game for the given number of milliseconds.
playMusic <track> Play the specified music track ID. If the track is 'samBand', the track played will change depend on certain dialogue answers (76-79).
playSound <sound> Play a given sound ID from the game's sound bank.
playerControl Give the player control back.
positionOffset <actor> <x> <y> Offset the position of the named NPC by the given number of pixels. This happens instantly, with no walking animation.
proceedPosition <actor> TODO: Explain
question null "<question>#<answer1>#<answer2>" Show a dialogue box with some answers and an optional question. When the player chooses an answer, the event script continues with no other effect.
question fork<answer index> "<question>#<answer 0>#<answer 1>#..." Show a dialogue with some answers and an optional question. When the player chooses the answer matching the fork<answer index> (like fork0 for the first answer), the specialEventVariable1 variable is set. Usually followed by a fork command.
removeItem <object ID> Remove the first of an object from a player's inventory.
removeObject <x> <y> Remove the prop at a position.
removeQuest <quest ID> Remove the specified quest from the quest log.
removeSprite <x> <y> Remove the temporary sprite at a position.
removeTemporarySprites Remove all temporary sprites.
removeTile <x> <y> <layer> Remove a tile from the specified layer.
resetVariable Set the first event variable to false.
rustyKey Gives the player the rusty key. (Sewer key)
screenFlash <alpha> Flashes the screen white for an instant. An alpha value from 0 to 1 adjusts the brightness, and values from 1 and out flashes pure white for x seconds.
setRunning Set the player as running.
shake <actor> <duration> Shake the named NPC for the given number of milliseconds.
showFrame farmer flip Flip the farmer's current sprite along the Y axis. TODO: Behavior with farmer looks strange?
showFrame <actor> <frame ID> Set the named NPC's current frame in their Content\Characters\*.xnb spritesheet. Note that setting the farmer's sprite only changes parts of the sprite (some times arms, some times arms and legs and torso but not the head, etc). To rotate the whole sprite, use faceDirection farmer <0/1/2/3> first before modifying the sprite with showFrame.
showRivalFrame <frame> Set the 'rival' actor's sprite to a specific frame.
skippable Allow skipping this event.
speak <character> "<text>" Show dialogue text from a named NPC; see dialogue format.
specificTemporarySprite <sprite> [other params] Shows the given temporary sprite. Parameters change depending on the sprite.
speed farmer <modifier> Add a speed modifier to the farmer. TODO: for the next action only?
speed <actor> <speed> Sets the named NPC's speed (default speed is 3). Not applicable to the farmer. TODO: for the next action only?
splitSpeak <actor> "<text>" Dialogue, but chosen based on previous answer. ('~' is the separator used.)
startJittering Make the player start jittering.
stopAdvancedMoves Stop movement from advancedMove.
stopAnimation farmer Stop the farmer's current animation.
stopAnimation <actor> <end frame> Stop the named NPC's current animation. Not applicable to the farmer.
stopGlowing Make the screen stop glowing.
stopJittering Make the player stop jittering.
stopMusic Stop any currently playing music.
stopRunning Make the farmer stop running.
stopSwimming <actor> Make an actor stop swimming.
swimming <actor> Make an actor start swimming.
switchEvent <event ID> Changes the current event (ie. event commands) to another event in the same location.
taxvote Trigger voting for or against a 3% shipping tax. (No effect on game?)
temporarySprite <x> <y> <row in texture> <animation length> <animation interval> <flipped> <loop count> Create a temporary sprite with the given parameters.
textAboveHead <actor> "<text>" Show a small text bubble over the named NPC's head with the given text; see dialogue format.
tutorialMenu Show the tutorial menu if no other menu is open.
updateMinigame <event data> Send an event to the current minigame.
viewport move <x> <y> <duration> Pan the the camera in the direction (and with the velocity) defined by x/y for the given duration in milliseconds. Example: "viewport move 2 -1 5000" moves the camera 2 pixels right and 1 pixel up for 5 seconds.
viewport <x> <y> [true [unfreeze]|clamp [true|unfreeze]] Instantly reposition the camera to center on the given X, Y tile position. TODO: explain other parameters.
waitForKey <key> <message on finish> TODO: Explain
waitForOtherPlayers Wait for other players (vanilla MP).
warp <actor> <x> <y> Warp the named NPC to a position to the given X, Y tile coordinate. This can be used to warp characters off-screen.
weddingSprite <frame> Sets the actor known as 'WeddingOutfits' to a particular frame.

Some commands are broken or unusable:

command description
grabObject <object ID> Broken. Triggers a generic animation. The item ID is ignored and the item isn't added.
end busIntro Supposed to start the bus intro scene, presumably the one that was cut before release.

Directions

When event commands refer to a facing direction, they'll use one of these values:

Value Meaning
0 looking up
1 looking right
2 looking down
3 looking left

Veja Modificações:Diálogo#Format.

See also