jptrrs / SpeakUp

A conversation mod for RimWorld
4 stars 23 forks source link

Falas repetidas sucessivamente. #11

Closed sergiodinapoli closed 3 years ago

sergiodinapoli commented 3 years ago

A Sparkles estava craftando tijolos feliz, quando aconteceu. No mesmo quarto havia a Nummy. Sparkles é feia e Nummy nao gosta dela. Ja Sparkles gosta da Nummy.

Pelo log anexo, pode ver que rolou o seguinte inesperado:

Esse enorme caos talvez seja de extrema ajuda na investigação, pois rolou muita coisa doida: 1) balao aplicado na Nummy, mas que no log consta como lançado pela Sparkles 2) auto-resposta da Sparkles, sem nenhuma intervençao da Nummy

Pelo ponto 1) acho que rolou alguma confusao entre initiator e recipient - como nao sei o mecanismo por tras desse ping pong, nao sei o que dizer. Ponto 2), nao entendo como é possivel soltar uma resposta sem ter uma interactiondef inicial.

A sequencia estranha de respostas (contidas no Interactions.xml) depois do primeiro legitimo chitchat é: ReactToThought_AteWithoutTable -> ReactToThought_Bedroom -> ReactToThought_Bedroom -> ReactToThought_Bedroom -> ReactToThought_AteWithoutTable -> WhatsUp

Todas essas constam como respostas dadas pela Sparkles, falando com Nummy. Mas no log consta que Nummy ficou calada - e inesperadamente na tela tem 3 baloes visualizados, com "...", referentes às casas 1, 2 e 4 da sequencia estranha acima.

Espero que tudo isso que escrevi seja visivel tb nos logs anexos e possa ajudar de alguma forma. buglog.txt

F12 (cliquei na sequencia estranha, um a um, antes de salvar o log): https://gist.github.com/1c143cb7ae2092280fc9eab6b0295397

jptrrs commented 3 years ago

(cliquei na sequencia estranha, um a um, antes de salvar o log):

Pra q? Pra deixar o log maior? Acho que vou simplesmente desativar essa funcionalidade, vc insiste em complicar as coisas!! E fora o relatório de resolução, que não tem nada a ver com o agendamento de respostas , não tem nada nesses logs. Como eu faço para reproduzir o problema? Você tem que entender, Sérgio, que se não tem um jeito de reproduzir um problema e não tem uma mensagem óbvia de erro, não tem nada que eu possa fazer!!!!!!!

jptrrs commented 3 years ago

Pronto, favor usar essa versão: https://github.com/jptrrs/SpeakUp/releases/tag/v0.5.2

sergiodinapoli commented 3 years ago

==>Pra q? Pra deixar o log maior? Pra oferecer detalhes sobre o que rolou. Se eu nao clicasse, nada ficaria registrado e vc teria um log vazio. Por exemplo, eu nao entenderia que a Sparkles tava conversado sozinha.

Considerando o texto de análise que eu fiz, deu para derivar dele que há casos em que:

O erro acontece em situações bastante várias, em que não consigo achar um padrão. E quando acontece, pelo visto, nem consigo arrumar dados para tentar desvendar o mistério.

Pelo que você me instruiu:

O XML estou escrevendo com bastante cuidado e sem me arriscar. Não detectei erros. Você consegue ver algum?

O que eu posso fazer para te ajudar a resolver este problema? Eu - além do que já tentei fazer - não imagino ter outras opções.

sergiodinapoli commented 3 years ago

==>Pronto, favor usar essa versão: ==>https://github.com/jptrrs/SpeakUp/releases/tag/v0.5.2

Prefiro manter aquela função, pois me ajudou a entender os problemas na hora do bug. Pelo menos, minha sensação é que obtive muitos detalhes por ela.

jptrrs commented 3 years ago

Pra oferecer detalhes sobre o que rolou. Se eu nao clicasse, nada ficaria registrado e vc teria um log vazio. Por exemplo, eu nao entenderia que a Sparkles tava conversado sozinha.

Toda a informação fica registrada no log do pawn. Bastaria vc me mandar o savegame. Lembre-se que o mod NÃO TEM NENHUMA INFLUÊNCIA NO APARECIMENTO DOS BALÕES.

O erro acontece em situações bastante várias, em que não consigo achar um padrão. E quando acontece, pelo visto, nem consigo arrumar dados para tentar desvendar o mistério.

Pois é, se é uma coisa que não fica registrada em lugar nenhum e é impossível de se reproduzir, então simplesmente não tem nada que eu possa fazer. Isso não é um issue! Para todos os casos que você listou, a resposta é uma só: Como faz para reproduzir?

Sobre o relatório de validação das regras desativado, não quero ter a "sensação" que ajudou. Se estamos tratando de um problema preciso da informação que indica a existência ou a consequência do problema!

sergiodinapoli commented 3 years ago

"Lembre-se que o mod NÃO TEM NENHUMA INFLUÊNCIA NO APARECIMENTO DOS BALÕES." ==> Mas se o SpeakUp calcula de um modo errado quem for o initiator e quem for o recipient, o SpeakUp vai fazer com que o balao seja visualizado na cabeça da pessoa errada. Claro, desenhar o balao é coisa do Bubbles. Onde desenhar, ja imagino dependa do Speakup?

"Pois é, se é uma coisa que não fica registrada em lugar nenhum e é impossível de se reproduzir, então simplesmente não tem nada que eu possa fazer." ==> Ou seja, se o erro sempre acontecer de um jeito bem random, ele jamais será corrigido? Faz sentido. Mas ai, significa também que precisamos de mais ferramentas de análise. Por exemplo o outro problema do CTD eu resolvi 100% na cagada. Mas nao podemos sempre rolar 20 no dado...

"Sobre o relatório de validação das regras desativado, não quero ter a "sensação" que ajudou. Se estamos tratando de um problema preciso da informação que indica a existência ou a consequência do problema!" ==> O relatório indica a existência de um problema: um monólogo imprevisto e indesejável, onde a bola cai pro recipient (que vira initiator) e nunca sai dele.

jptrrs commented 3 years ago

Mas se o SpeakUp calcula de um modo errado quem for o initiator e quem for o recipient, o SpeakUp vai fazer com que o balao seja visualizado na cabeça da pessoa errada. Claro, desenhar o balao é coisa do Bubbles. Onde desenhar, ja imagino dependa do Speakup?

Não, não depende. Nenhuma influência mesmo. O SpeakUp lida com registros no log do pawn. O Interaction Bubbles usa os registros do log para gerar os balões. Se os balões estão diferentes do log do pawn, o problema não é nosso. Mas eu duvido que isso aconteça.

Ou seja, se o erro sempre acontecer de um jeito bem random, ele jamais será corrigido? Faz sentido.

Sim. Mas não existe erro aleatório, computadores só fazem o que foram comandados para fazer. É sempre uma questão de você entender o que está acontecendo.

Mas ai, significa também que precisamos de mais ferramentas de análise.

Qual, por exemplo?

Por exemplo o outro problema do CTD eu resolvi 100% na cagada.

Não, você resolveu porque você revisou o XML. É a primeira coisa a se fazer, sempre.

O relatório indica a existência de um problema: um monólogo imprevisto e indesejável, onde a bola cai pro recipient (que vira initiator) e nunca sai dele.

Onde aquele relatório indica isso?

sergiodinapoli commented 3 years ago

Onde aquele relatório indica isso?

Toda secçao SUCCESS (imagino que podemos ignorar as FAILED, certo?) contempla sempre INITIATOR_nameFull: Alyssa 'Sparkles' Orchard

O esperado era um revezamento entre Sparkles e Nummy. Mas Nummy aparece apenas no RECIPIENT: RECIPIENT_nameFull: Naomi 'Nummy' Seratina

Não há revezamento.

Lembrando que criei o buglog clicando, uma a uma, nas interações a partir da interaçao inesperada.

Outro detalhe peculiar é que na tela (e no log "ao vivo" no jogo) aparecia um tanto de "..." mas no log aqui, o que consta de SUCCESS é sempre: SUCCESS validating constraints for r_logentry: "INITIATOR_opinion greaterorequal 0" The rule text is "r_logentry ? [good_opinion]".

E de fato a Sparkles tinha boa opiniao da Nummy. Mas isso nao seria possivel, pois o texto "..." no meu XML é evocado apenas quando:

            <li>r_logentry(INITIATOR_opinion&lt;0)->...</li>

Restam as 2 perguntas: 1) por que todas as linhas SUCCESS sempre relatam Sparkles como initiator? [lembrando que no jogo Sparkles aparecia fazendo monologo, auto-respondendo 6 "SpeakUpReply" a um "ChitChat" inicial) 2) Como é possivel que na tela e no log no jogo havia 4 vezes "..." se tudo era falado por Sparkles (initiator), e Sparkles jamais poderia ter dito "..." vez que este texto é apenas pronunciado em caso de bad opinion do outro pawn?

sergiodinapoli commented 3 years ago

Mas ai, significa também que precisamos de mais ferramentas de análise.

Nesse misterioso bug, o mais util seria ter um registro de "quem é" o responsável por ativar uma InteractionDef. Pois temos InteractionDefs chamadas fora da hora prevista. E nao consigo entender se essas:

Por exemplo neste caso teria muito gostado de entender: por quem foram ativadas as 6 linhas inesperadas de SpeakUpReply ? No log, eu consigo saber quem é o initiator e quem é o recipient. E ja é bom.

Mas quem ativou essas 6, sendo que cada uma delas teria que ter uma InteractionDef inicial como estopim? As 6 linhas "criminosas" sao contidas no Interactions.xml - cujo conteudo (pelo que entendi) é so chamado quando no Patches.xml ha um tag correspondente. Mas pelo visto, essas do Interactions.xml podem ser lançadas a toda hora, tag ou nao tag.

jptrrs commented 3 years ago

Lembrando que criei o buglog clicando, uma a uma, nas interações a partir da interaçao inesperada.

Aí é que tá. O log não reflete as falas, reflete o que você clicou. Ou seja: totalmente inútil.

jptrrs commented 3 years ago

Nesse misterioso bug, o mais util seria ter um registro de "quem é" o responsável por ativar uma InteractionDef. Pois temos InteractionDefs chamadas fora da hora prevista. E nao consigo entender se essas:

Repetindo: é só olhar o log de cada pawn. Isso no arquivo salvo do jogo.

sergiodinapoli commented 3 years ago

Aí é que tá. O log não reflete as falas, reflete o que você clicou. Ou seja: totalmente inútil.

Cliquei cuidadosamente nas ultimas seis falas do log, na sequencia. Isso nao seria um relatorio oportuno do que aconteceu na hora do bug?

jptrrs commented 3 years ago

Aí é que tá. O log não reflete as falas, reflete o que você clicou. Ou seja: totalmente inútil.

Cliquei cuidadosamente nas ultimas seis falas do log, na sequencia. Isso nao seria um relatorio oportuno do que aconteceu na hora do bug?

Não. É um relatório oportuno do que aconteceu na sua cabeça somente.

sergiodinapoli commented 3 years ago

Repetindo: é só olhar o log de cada pawn. Isso no arquivo salvo do jogo.

Arquivo que - acho - nao tenho mais.

No log ta indicada qual resoluçao de InteractionDef do Patches.xml levou a chamar 6 linhas de Interactions.xml ?

sergiodinapoli commented 3 years ago

Não. É um relatório oportuno do que aconteceu na sua cabeça somente.

Como, na minha cabeça? Sao as ultimas 6 interaçoes incluidas no log. Nao fui selecionando linhas de log do jeito que eu queria, como me convinha, ou randomicamente. Se o log, por inteiro, é valido e crivel, por que as ultimas 6 entries do log seriam coisa da minha cabeça?

Como, oportuno? Se selecionei todas as ultimas 6, sem omitir ou pular nada, como seria um relatorio oportuno?

jptrrs commented 3 years ago

Arquivo que - acho - nao tenho mais.

Pois é, passo 2 do passo a passo que eu te pedi para segur ao encontrar qualquer erro: https://steamcommunity.com/workshop/filedetails/discussion/1971860929/3345546435393929815/ Não entendo o que te custa entender. Por falta disso, estamos perdendo um tempo enorme a cada issue.

No log ta indicada qual resoluçao de InteractionDef do Patches.xml levou a chamar 6 linhas de Interactions.xml ?

Sim. Exemplo de um log no arquivo do jogo:

<li Class="PlayLogEntry_Interaction">
  <ticksAbs>17028812</ticksAbs>
  <logID>49299</logID>
  <intDef>ChattedAboutSomeone</intDef>
  <initiator>Thing_Human2353042</initiator>
  <recipient>Thing_Human150510</recipient>
  <extras />
</li>

Nao fui selecionando linhas de log do jeito que eu queria, como me convinha, ou randomicamente.

Então me responde uma coisa, espertão: quando você fez isso, o fato já tinha acontecido? sim ou não?

sergiodinapoli commented 3 years ago

Não entendo o que te custa entender. Por falta disso, estamos perdendo um tempo enorme a cada issue.

Nao é entender, neste caso é lembrar. Nao memorizei todos os pontos ainda, pois é tudo muito novo pra mim. Também tive a sensaçao de que savegame nem sempre ia ser util. Mas a partir de agora vou sempre te mandar o savegame.

Quero grifar que estou fazendo meu maximo para agilizar as coisas - se eu falhar, nao é por ma vontade, e sim pois nao sou "espertao" - que seja claro. Muito pelo contrario, SpeakUp é um dos meus focos centrais e prioridades desde que tomou forma e vida.

Então me responde uma coisa, espertão: quando você fez isso, o fato já tinha acontecido? sim ou não?

Sim.

sergiodinapoli commented 3 years ago

Sim. Exemplo de um log no arquivo do jogo:

Nunca tinha visto antes esse formato. O que costumo ver é: FAILED validating constraints for r_logentry: "INITIATOR_opinion less 0" The rule text is "r_logentry ? ...".

Checked against 257 rules: INITIATOR_faction: PlayerColony INITIATOR_formerlyColonist: True [...]

E no snippet que voce colocou nao percebo como posso tirar a informaçao: qual parte do Patches.xml "autorizou" a chamada das 6 InteractionDefs no Interactions.xml .

sergiodinapoli commented 3 years ago

Achei o savegame. Nesse caso fui espertao, mas ao mesmo tempo esquecido. Mas que bom que lembrei que tinha - de fato - feito um save à parte. test.zip

Veja o log e o que rolou com a Sparkles. Vai ver que as ultimas interaçoes no jogo sao assim: tem 1 chitchat dela e mais 6 respostas dela mesma a si mesma.

jptrrs commented 3 years ago

Não entendo o que te custa entender. Por falta disso, estamos perdendo um tempo enorme a cada issue.

Nao é entender, neste caso é lembrar. Nao memorizei todos os pontos ainda, pois é tudo muito novo pra mim. Também tive a sensaçao de que savegame nem sempre ia ser util. Mas a partir de agora vou sempre te mandar o savegame.

Pois deixe anotado aí então. Não precisa nem ler tudo, só os títulos já ajuda bem. São apenas 5 pontos para "memorizar" (olha o drama!), e você já faz 2 ou 3. Não tem como eu ser mais didático que isso.

Quero grifar que estou fazendo meu maximo para agilizar as coisas - se eu falhar, nao é por ma vontade, e sim pois nao sou "espertao" - que seja claro.

Que drama!!! Grita na janela aí então! rrsrsrsrsr Não pretendo e nem tenho a menor competência para debugar seus sentimentos, Sérgio. Me tira dessa! Prefiro me limitar ao (pouco) que eu entendo de mods de RimWorld.

Então me responde uma coisa, espertão: quando você fez isso, o fato já tinha acontecido? sim ou não?

Sim.

Pois bem. Imagina que vc é investigador e vai à cena de um crime. Chegando lá, a polícia local já limpou o lugar, ensacou e removeu os cadáveres e o policial te diz: "ah, o ladrão entrou pela janela, usou um martelo e roubou o cofre inteiro". Aí vc pergunta como eles chegaram a essa conclusão. Ele responde "Ah, a janela tá aberta, a vítima tinha um galo na cabeça e não tem nenhum cofre na casa." Entendeu porque não dá para você tentar "recriar" o acontecimento clicando nas linhas que te parecem estar em ordem?

jptrrs commented 3 years ago

Achei o savegame. Nesse caso fui espertao, mas ao mesmo tempo esquecido. Mas que bom que lembrei que tinha - de fato - feito um save à parte. test.zip

Veja o log e o que rolou com a Sparkles. Vai ver que as ultimas interaçoes no jogo sao assim: tem 1 chitchat dela e mais 6 respostas dela mesma a si mesma.

Enfim! Agora podemos começar!

As última interações no jogo, entre Thing_Human113860 e Thing_Human883 (começando na linha 3844):

                <li Class="PlayLogEntry_Interaction">
                    <ticksAbs>1697322</ticksAbs>
                    <logID>951</logID>
                    <intDef>WhatsUp</intDef>
                    <initiator>Thing_Human113860</initiator>
                    <recipient>Thing_Human883</recipient>
                    <extras />
                </li>
                <li Class="PlayLogEntry_Interaction">
                    <ticksAbs>1697321</ticksAbs>
                    <logID>950</logID>
                    <intDef>ReactToThought_AteWithoutTable</intDef>
                    <initiator>Thing_Human113860</initiator>
                    <recipient>Thing_Human883</recipient>
                    <extras />
                </li>
                <li Class="PlayLogEntry_Interaction">
                    <ticksAbs>1697320</ticksAbs>
                    <logID>949</logID>
                    <intDef>ReactToThought_Bedroom</intDef>
                    <initiator>Thing_Human883</initiator>
                    <recipient>Thing_Human113860</recipient>
                    <extras />
                </li>
                <li Class="PlayLogEntry_Interaction">
                    <ticksAbs>1697319</ticksAbs>
                    <logID>948</logID>
                    <intDef>ReactToThought_Bedroom</intDef>
                    <initiator>Thing_Human113860</initiator>
                    <recipient>Thing_Human883</recipient>
                    <extras />
                </li>
                <li Class="PlayLogEntry_Interaction">
                    <ticksAbs>1697319</ticksAbs>
                    <logID>947</logID>
                    <intDef>ReactToThought_Bedroom</intDef>
                    <initiator>Thing_Human883</initiator>
                    <recipient>Thing_Human113860</recipient>
                    <extras />
                </li>
                <li Class="PlayLogEntry_Interaction">
                    <ticksAbs>1697289</ticksAbs>
                    <logID>946</logID>
                    <intDef>ReactToThought_AteWithoutTable</intDef>
                    <initiator>Thing_Human883</initiator>
                    <recipient>Thing_Human113860</recipient>
                    <extras />
                </li>
                <li Class="PlayLogEntry_Interaction">
                    <ticksAbs>1697229</ticksAbs>
                    <logID>945</logID>
                    <intDef>Chitchat</intDef>
                    <initiator>Thing_Human113860</initiator>
                    <recipient>Thing_Human883</recipient>
                    <extras />
                </li>

"Traduzindo" e colocando em ordem cronológica. Vou chamar os participantes de A e B (os nomes não interessam, mas eu conferi que são os que vc menciona).

  1. Chitchat de A para B.
  2. Depois de 10 ticks, ReactToThought_AteWithoutTable de B para A.
  3. Depois de 20 ticks, ReactToThought_Bedroom de B para A.
  4. Ao mesmo tempo, ReactToThought_Bedroom de A para B.
  5. Depois de 1 tick, ReactToThought_Bedroom de B para A.
  6. Depois de 1 tick, ReactToThought_AteWithoutTable de A para B.
  7. Depois de 1 tick, WhatsUp de A para B.

Portanto

tem 1 chitchat dela e mais 6 respostas dela mesma a si mesma.

Está equivocado, já que existe sim uma alternância. O que está estranho aqui é a fala 4 acontecer simultaneamente à fala 3, e depois a rápida sucessão de 3 respostas.

Agora então é tentar descobrir o que pode estar causando a fala simultânea. Agora que tenho dados, vou investigar e te retorno.

sergiodinapoli commented 3 years ago

Entendeu porque não dá para você tentar "recriar" o acontecimento clicando nas linhas que te parecem estar em ordem?

Nao entendi completamente ou entendi que o log é inutil. O que seria bem grave.

O policial do caso acima, ele supoe o que rolou com base no que achou ao limpar o quarto. Ele nao estava la na hora do crime. Ja o log, pelo que imagino, é o que realmente aconteceu, na ordem que aconteceu: o log ele esteve la tick por tick e registrou tick por tick os acontecimentos na ordem certa. Ao clicar em cada linha do log, eu apenas visualizo as "fotos" que ele registrou. E portanto boto fé no log.

E' isso? A ordem das linhas no log é a mesma ordem em que os fatos aconteceram? Pois se a resposta for nao, posso dizer que isso seria completamente inesperado por um ser humano médio, tipo eu. Um relatorio de acontecimentos, que relata os fatos em ordem random, seria bastante inutil em quase todo caso de analise. Espero que nao seja isso.

jptrrs commented 3 years ago

O policial do caso acima, ele supoe o que rolou com base no que achou ao limpar o quarto. Ele nao estava la na hora do crime.

Ou ele estava e depois deturpou todas as informações, por malícia ou ignorância, ao tentar "registrar" os fatos sem o menor rigor. É exatamente o que acontece aqui. O log não é inútil, como demonstrado no meu último comentário. O log filtrado por você a partir dos seus cliques, sim, é totalmente inútil.

sergiodinapoli commented 3 years ago

Não pretendo e nem tenho a menor competência para debugar seus sentimentos, Sérgio. Me tira dessa!

Nunca te coloquei nessa, nunca te pedi para debugar sentimentos. Isso nem psicologo consegue às vezes, por que eu te pediria isso? Explico melhor o porquê do esclarecimento: Como quase toda colocaçao sua ultimamente me parece apontar que estou operando na base da preguiça, da distraçao, da leviandade e da incompetencia voluntaria (é o que percebo), quis esclarecer que nao é bem assim.

Percebi errado? Pode ser. Mas vai que percebi certo, e nao é drama meu - ai preferi esclarecer. Apenas isso.

sergiodinapoli commented 3 years ago

O log filtrado por você a partir dos seus cliques, sim, é totalmente inútil.

Continuo sem entender. Mas deixa quieto. Confio nas suas palavras.

As última interações no jogo, entre Thing_Human113860 e Thing_Human883 (começando na linha 3844):

Como voce puxou isso!? Do savegame imagino? Nunca vi. E também nao fosse sua explicaçao, nunca entenderia nada.

Mas voce viu no savegame que se voce analisar o log (nao o teu, que nem sei como acessar, digo o log visualizado ao jogador), as ultimas 6 interaçoes é sempre a mesma pessoa que fala? Sempre tem o mesmo initiator? Como é possivel que no log que visualiza-se no jogo consta que Sparkles sempre fala, e no log que voce puxou ja ha uma alternancia?

Mais uma vez, estou 100% pirdidu. Mas deixa quieto. Me resta confiar nas suas palavras.

jptrrs commented 3 years ago

Sim, percebeu errado. Quando escrevo, por exemplo: "Não entendo o que te custa entender. Por falta disso, estamos perdendo um tempo enorme a cada issue." Isso é uma questão objetiva, não uma avaliação subjetiva da sua "competência" (ugh!). Estou te dizendo, o mais objetivamente e claramente possível, o que precisa ser feito, não estou te chamando de preguiçoso!!! Podemos, então, deixar o drama de lado e concentrar no problema, por favor?

Como voce puxou isso!? Do savegame imagino?

Não "puxei", apenas abri o arquivo no Notepad. Desculpe-me, mas para mim isso parecia que era óbvio. Vc nunca precisou editar um save game?

Continuo sem entender.

Não há cofre, o hematoma e a janela aberta não estão relacionados ao crime e o log de um pawn não conta toda a história, já que filtra somente os acontecimentos para aquele pawn. Portanto, não tente narrar o crime se você não sabe o que aconteceu, ou seja, não tente gerar você mesmo as informações acerca de um problema que só você percebeu. O resultado vai sempre estar contaminado pela sua própria percepção (porque você é humano, não porque vc é burro, que fique bem claro).

sergiodinapoli commented 3 years ago

Podemos, então, deixar o drama de lado e concentrar no problema, por favor?

Claro. Uma vez esclarecido que suas palavras nao visam me criticar ferozmente e me jogar no lixo (como eu percebia), posso tranquilamente cancelar qualquer drama e concentrar no problema. :-D

Vc nunca precisou editar um save game?

Nunca.

(porque você é humano, não porque vc é burro, que fique bem claro)

Acho que todo o problema é que eu estava lendo corretamente o log errado. Seu log (aquele com Class="PlayLogEntry_Interaction") me parece bem mais util, enxuto e focado. Pena que so agora descobri ele (mas ainda nem sei como acessar - se puder informar, agradeço).

Assim como eu combinei contigo que nao vou mais te glorificar nos altos dos Céus, peço que também voce imagine eu ser um gafanhoto, com conhecimento falho e lacunoso. Essa de editar um save game por exemplo, que pra voce é banalidade, pra mim é revoluçao copernicana.

jptrrs commented 3 years ago

Vc nunca precisou editar um save game?

Nunca.

Noob!! (Agora sim, foi um juízo de valor! kkkkk) Da próxima vez que vc cair com um pawn chamado Wachintangafalkupatchag, vc já sabe que pode abrir seu próprio savageme e renomear ele como "Zé".

Acho que todo o problema é que eu estava lendo corretamente o log errado.

Não, o problema foi você achar que o clica-e-loga era uma pílula mágica para qualquer problema e, depois, tentar usar ele para criar um "log de erro". Nas suas próprias palavras: "Se eu nao clicasse, nada ficaria registrado e vc teria um log vazio. "

Seu log (aquele com Class="PlayLogEntry_Interaction") me parece bem mais util, enxuto e focado.

Não é meu, é o log normal que o jogo faz das interações. Mais precisamente, o "playLog", como está especificado no arquivo. No jogo, ele aparece principalmente botão chamado "log" de cada pawn, só que filtrado para aquele sujeito. Não confundir com o "Debug Log", que é onde aparecem os erros.

Pena que so agora descobri ele (mas ainda nem sei como acessar - se puder informar, agradeço).

Já falei! Abre o arquivo no Notepad!

Assim como eu combinei contigo que nao vou mais te glorificar nos altos dos Céus, peço que também voce imagine eu ser um gafanhoto, com conhecimento falho e lacunoso. Essa de editar um save game por exemplo, que pra voce é banalidade, pra mim é revoluçao copernicana.

Até quando? Você já é um modder, cara! Se você não entendeu alguma coisa, pesquise (lembra que já inventaram o google), pergunte, fuçe os arquivos. Presuma que tem algo por trás que vc ainda não sabe e vc nunca vai precisar mistificar nada nem ninguém.

sergiodinapoli commented 3 years ago

Noob!! (Agora sim, foi um juízo de valor! kkkkk) Da próxima vez que vc cair com um pawn chamado Wachintangafalkupatchag, vc já sabe que pode abrir seu próprio savageme e renomear ele como "Zé".

KKK... gente que útil! Eu nunca abri um RWS com o notepad. Nunca senti necessidade disso. Acabo de abrir pela primeira vez. Cheio de coisas. Nem sei como vc chegou a entender qual tick era necessario investigar, naquele mar de dados.

Já falei! Abre o arquivo no Notepad!

Eu imaginava fosse um arquivo à parte, nao o savegame. Agora sim que fica OBVIO que mandar savegame é PRIMORDIAL! Ai nao esqueço nunca mais mesmo! Pra mim o savegame era uma avalanche confusos de dados ilegiveis apenas.

Até quando? Você já é um modder, cara!

Se criar conteudo é ser modder, tudo bem. Mas o que me falta é conhecer ferramentas basicas. Portanto, posso até ser um modder... mas modder gafanhoto! Um simples gafanhodder! Portanto: até quando? Até quando voce tiver certeza que eu sei das coisas, pois no momento ha inumeras provas de que eu estou cheio de falhas basicas que apenas com tempo e pratica e pesquisa vou poder tampar.

jptrrs commented 3 years ago

Nem sei como vc chegou a entender qual tick era necessario investigar, naquele mar de dados.

Ctrl+F é seu amigo.

Eu imaginava fosse um arquivo à parte, nao o savegame. Agora sim que fica OBVIO que mandar savegame é PRIMORDIAL! Ai nao esqueço nunca mais mesmo! Pra mim o savegame era uma avalanche confusos de dados ilegiveis apenas.

Tenho emails aqui de vc me mandando savegame que tava dando pau quando eu estava testando o Human Resources! O que c acha que eu fazia com eles? rsrsrsr

Se criar conteudo é ser modder, tudo bem.

É. Editou um XML para uso próprio, já perdeu o cabaço.

Portanto: até quando? Até quando voce tiver certeza que eu sei das coisas, pois no momento ha inumeras provas de que eu estou cheio de falhas basicas que apenas com tempo e pratica e pesquisa vou poder tampar.

Esse momento ideal nunca vai chegar!!!! Ninguém e capaz de avaliar precisamente o conhecimento de ninguém (nem sendo professor, sinto muito). Se eu sempre mastigasse tudo pra vc vc nunca ia ficar sabendo que dava pra abrir arquivo de RW no notepad. Nunquinha! Portanto, me recuso!!!

Só tem um jeito de aprender a voar:

4c53f8def4ceb3166f40fd393d954922919691a40bcf2571f9eadd51d9ec4d3a_1

jptrrs commented 3 years ago

Uma pergunta: você lembra se quando aconteceu, você estava com a janela do log do pawn aberta?

sergiodinapoli commented 3 years ago

Nao posso jurar, mas nao costumo ficar com essa janela aberta. Geralmente, abro ela so quando preciso mesmo. No maximo, estava com a ficha do pawn aberta.

sergiodinapoli commented 3 years ago

Ctrl+F é seu amigo.

Sim, imaginei. Mas... é só pegar os ticks mais recentes?

É. Editou um XML para uso próprio, já perdeu o cabaço.

Perdi, mas nao sou meretriz certificada ainda :-)

Ninguém e capaz de avaliar precisamente o conhecimento de ninguém

Concordo. Mas todos somos capazes de avaliar, com certa eficiencia, a falta de conhecimento de alguém ;-) - e eu demonstrei isso varias vezes aqui. Foi (e ta sendo) bem facil provar quao boa é minha falta de conhecimento. Entao mudo e digo: até quando? Até quando os momentos de "Pow, Sergio, voce realmente nao sabia disso?!" fiquem bem raros.

Só tem um jeito de aprender a voar:

Amei a vinheta kkk - mas ao mesmo tempo discordo. E ja ficou claro isso: voce tem uma opiniao menos fofa sobre didatica, ja eu sou o oposto. Na vdd eu tb escracho meus alunos, mas so quando repetem ha séculos o mesmo erro, ai sim que chuto e xingo. Tirando isso, sempre vou com luvas de algodao. Duas perspectivas, cada uma com suas aplicaçoes validas (afinal, depende do aluno - os alunos FDP merecem chute e xingo desde o começo).

sergiodinapoli commented 3 years ago

Arrumei mais um savegame aqui. Assim que rolou a confusao, salvei. test01.zip

OBS eu vi que voce atualizou o DLL, mas como voce nao mandou eu atualizar, imaginei fosse uma tentativa de conserto e ai nao baixei. Esse arquivo é, portanto, com a velha versao. Nao sei se é util, mas... preferi botar aqui, pra nao perder depois.

AH! Aqui com certeza estava com janelas fechadas --- social log, ficha do pawn, tudo fechado.

sergiodinapoli commented 3 years ago

Inspirado pelo outro bug da caravana, e também numa hipotese tua, averiguei uma coisa: realmente, no ato de abrir o Social log (e mante-lo aberto), o gamelog fica assinalando coisas (inclusive coisas do passado, como se fossem novas), se o Grammar Resolution log estiver ativo. E' como se o fato de manter o Social log aberto, cause o disparo de mensagens que por sua vez causa novos baloes e novas interaçoes. Nao entendi exatamente o que passa, mas pode averiguar: 1-num mapa qualquer, com grammar log ativo, abre o gamelog e limpe ele, para garantir 2-faça mil coisas, que nada acontece - mas na hora que abrir o Social log de um pawn, ai o gamelog se enche de linhas novas, até ter que travar por limite maximo alcançado

Sera' que nosso problema fica nesse tal de social log que - estando aberto - causa alguma outra açao escondida?

sergiodinapoli commented 3 years ago

Depois de tanto testar, acho que posso confirmar uma coisa: o problema esta' no manter aberto o Social tab do pawn. Tipo, assim que abro ele, rola treta. Até desenvolvi um medo "automático" de abrir este tab, como se abrí-lo desse azar kkk Fico horas e horas sem problemas como o relatado neste issue, e ai é só abrir o social tab... ;-)

sergiodinapoli commented 3 years ago

Ok. Acrescento: tente jogar sem nunca abrir o social tab. Como eu desenvolvi um "medo", nunca mais abro e o "falas repetidas" deixou de existir! Agora, tente o contrario, mantenha sempre o social tab aberto - e veja o caos se instaurando :-)

jptrrs commented 3 years ago

Idem #19.