Mr.Mine Editar guardado, arreglar los logros rotos y más


¡Síguenos en Telegram, Facebook, Instagram, Twitter y así estarás al tanto de las mejores guías! Además, si quieres apoyarnos, ¡tan solo mira estas ofertas de juegos de Amazon aquí!

Esta guía es principalmente acerca de cómo Editar los guardados, precios de venta/compra, arreglar logros rotos y actualizar las imágenes de la interfaz de usuario, vamos a comprobarlo.

Disclaimer

No voy a decirte cómo jugar tu juego, si quieres jugarlo de la manera «correcta» y avanzar nivel por nivel, entonces hazlo…

Esta guía es para aquellos que quieren adelantar el progreso del juego o simplemente explorar lo que el juego tiene para ofrecer antes de comprometerse a un sinfín de horas de trabajo.

Personalmente, recomendaría evitar las modificaciones de esta guía si desea experimentar la jugabilidad tal y como la concibieron los desarrolladores.

⚠Por favor, asegúrate de hacer una copia de seguridad del código de guardado del juego antes de intentar cualquier cosa en esta guía, ya que algunos cambios pueden tener efectos irreversibles.

Save Editing

¿Cómo se almacenan las partidas guardadas?

Tus guardados se almacenan en un formato base64, un código de guardado típico se ve como el siguiente:

Guide|TXpZek16TXhOekU0ZkRNd2ZEY3hOamMyZkRjMk5UWXhNVGs0TVRZMU1qRXdOak01ZkRWOE1UUjhNVFY4TVRKOE1UQjhNVEF4ZkRVMk56SjhORFEzTW53ME1UZ3hmREV5TkRWOE1UY3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRRMk5Yd3hNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRFaE9TRXRNU0V0TVNFdE1TRXRNU0V0TVNFdE1TRXRNWHd5SVRZaE1UQWhMVEVoTFRFaExURWhMVEVoTFRFaExURjhNeUV4TVNFM0lTMHhJUzB4SVMweElTMHhJUzB4SVMweGZEUWhPQ0V0TVNFdE1TRXRNU0V0TVNFdE1TRXRNU0V0TVh3dE1TRXRNU0V0TVNFdE1TRXRNU0V0TVNFdE1TRXRNU0V0TVh3eGZERjhNWHd4ZkRGOE1Yd3hmREY4TVh3eGZERjhNWHd4ZkRGOE1Yd3hmREY4TUh3eGZERjhNWHd4ZkRGOE1Id3hmREI4TVh3d2ZERjhNSHd4ZkRCOE1Id3dmREV5TURNd2ZESWhNaUV5SVRJaE1DRXdJVEFoTUNFd0lUSWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRFd2ZEQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNVFl3TVRnNU9EQTRNSHd3ZkRGOE1Id3dJVE1oTWpBd01DRXhJVEFoTUNFd2ZIeDhmSHg4Zkh4OGZIeDhmSHg4TUh3d2ZEQjhNVEI4TFRFaExURWhMVEVoTFRFaExURWhMVEVoTFRFaExURWhMVEVoTFRFaExURWhMVEVoTFRFaExURWhMVEVoTFRFaExURWhMVEVoTFRFaExURjhmSHg4Zkh4OGZIeDhmSHc9

Podemos ignorar la parte del nombre (Guía), ya que sólo necesitamos la sección correcta del código para nuestro propósito. Este código obviamente no es legible, así que por nuestro bien podemos decodificarlo usando un decodificador online o cualquier método que pueda decodificar desde base64 -> utf-8, yo personalmente uso la biblioteca de base64 de Python.

Después de decodificar el código de guardado una vez que obtenemos el siguiente resultado:

MzYzMzMxNzE4fDMwfDcxNjc2fDc2NTYxMTk4MTY1MjEwNjM5fDV8MTR8MTV8MTJ8MTB8MTAxfDU2NzJ8NDQ3Mnw0MTgxfDEyNDV8MTcwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDQ2NXwxMHwwfDB8MHwwfDB8MHwwfDB8MHwwfDEhOSEtMSEtMSEtMSEtMSEtMSEtMSEtMXwyITYhMTAhLTEhLTEhLTEhLTEhLTEhLTF8MyExMSE3IS0xIS0xIS0xIS0xIS0xIS0xfDQhOCEtMSEtMSEtMSEtMSEtMSEtMSEtMXwtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMXwxfDF8MXwxfDF8MXwxfDF8MXwxfDF8MXwxfDF8MXwxfDF8MHwxfDF8MXwxfDF8MHwxfDB8MXwwfDF8MHwxfDB8MHwwfDEyMDMwfDIhMiEyITIhMCEwITAhMCEwITIhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDEwfDAhMCEwITAhMCEwITAhMCEwITB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MTYwMTg5ODA4MHwwfDF8MHwwITMhMjAwMCExITAhMCEwfHx8fHx8fHx8fHx8fHx8MHwwfDB8MTB8LTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTEhLTF8fHx8fHx8fHx8fHw

Vale, esto sigue siendo ilegible. Si miramos el código fuente del juego descubrimos por qué:

El código de guardado está codificado dos veces, así que en teoría, si pasamos el resultado anterior por el decodificador otra vez deberíamos obtener nuestro guardado decodificado:

363331718|30|71676|76561198165210639|5|14|15|12|10|101|5672|4472|4181|1245|170|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|465|10|0|0|0|0|0|0|0|0|0|0|1!9!-1!-1!-1!-1!-1!-1!-1|2!6!10!-1!-1!-1!-1!-1!-1|3!11!7!-1!-1!-1!-1!-1!-1|4!8!-1!-1!-1!-1!-1!-1!-1|-1!-1!-1!-1!-1!-1!-1!-1!-1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|0|1|1|1|1|1|0|1|0|1|0|1|0|1|0|0|0|12030|2!2!2!2!0!0!0!0!0!2!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|10|0!0!0!0!0!0!0!0!0!0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1601898080|0|1|0|0!3!2000!1!0!0!0|||||||||||||||0|0|0|10|-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1||||||||||||

Genial, ahora tenemos números, pero ¿qué significan, Mason? Si miramos el código fuente obtenemos nuestras respuestas:

money = Math.floor(saves[chosen][0]);
depth = parseInt(saves[chosen][1]);
dexp = parseInt(saves[chosen][2]);
UID = saves[chosen][3];
drill[0] = parseInt(saves[chosen][4]);
drill[1] = parseInt(saves[chosen][5]);
drill[2] = parseInt(saves[chosen][6]);
drill[3] = parseInt(saves[chosen][7]);
hireamt = parseInt(saves[chosen][8]);
if(hireamt > 10){hireamt = 10;}
oldversion = saves[chosen][9]; …

Vamos a desglosar esto:

  • Moneyes el primer elemento de nuestro código de salvado, si nos referimos al código podemos deducir que nuestro dinero está en $363331718.
  • Depth (Profundidad)es el segundo elemento, y al igual que el dinero, nuestra profundidad puede verse como 30.
  • dexp es nuestra experiencia.
  • UID es el steamID64 de la cuenta que creó el guardado, si tienes curiosidad puedes usar SteamID I/O[steamid.io] para averiguar la cuenta de Steam del creador.

Si miramos en el juego, podemos confirmarlo en la pantalla de título:
Mr.Mine Save Editing, Fixing Broken Achievements, More

Información adicional

El orden de los materiales en el archivo de guardado es el siguiente:

  1. Dinero
  2. Profundidasd
  3. Exp
  4. UID
  5. Taladro 1
  6. Taladro 2
  7. Taladro 3
  8. Taladro 4
  9. Hireamt
  10. Versión
  11. Carbón
  12. Cobre
  13. Plata
  14. Oro
  15. Platino
  16. Diamante
  17. Coltán
  18. Painite
  19. Ópalo negro
  20. Diamante Rojo
  21. Obsidiana azul
  22. Californium

El primer material comienza en la separación ( | ) #10 (el dinero comienza en 0). Si estás interesado en la lista completa del código de guardado aquí tienes.

Cómo editar guardados

Para editar el guardado, puedes simplemente modificar estos valores. Digamos, por ejemplo, que queremos que nuestros dólares estén en 700.000 dólares, nos referimos a nuestro código de guardado y simplemente reemplazamos el primer valor por el deseado. Lo mismo se aplica para la profundidad, para nuestro ejemplo lo cambiaremos a 5

700000|5|71676|76561198165210639|5|14|15|12|10|101|5672|4472|4181|1245|170|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|465|10|0|0|0|0|0|0|0|0|0|0|1!9!-1!-1!-1!-1!-1!-1!-1|2!6!10!-1!-1!-1!-1!-1!-1|3!11!7!-1!-1!-1!-1!-1!-1|4!8!-1!-1!-1!-1!-1!-1!-1|-1!-1!-1!-1!-1!-1!-1!-1!-1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|0|1|1|1|1|1|0|1|0|1|0|1|0|1|0|0|0|12030|2!2!2!2!0!0!0!0!0!2!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|10|0!0!0!0!0!0!0!0!0!0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1601898080|0|1|0|0!3!2000!1!0!0!0|||||||||||||||0|0|0|10|-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1!-1||||||||||||

Una vez que terminamos de editar nuestro archivo, tenemos que volver a convertirlo codificándolo dos veces usando la encriptación base64. Podemos usar el mismo sitio web que usamos para decodificar, para codificar nuestro nuevo archivo modificado.

La primera pasada nos da el primer resultado codificado, tenemos que repetir el proceso para codificar más este resultado:

NzAwMDAwfDV8NzE2NzZ8NzY1NjExOTgxNjUyMTA2Mzl8NXwxNHwxNXwxMnwxMHwxMDF8NTY3Mnw0NDcyfDQxODF8MTI0NXwxNzB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8NDY1fDEwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MSE5IS0xIS0xIS0xIS0xIS0xIS0xIS0xfDIhNiExMCEtMSEtMSEtMSEtMSEtMSEtMXwzITExITchLTEhLTEhLTEhLTEhLTEhLTF8NCE4IS0xIS0xIS0xIS0xIS0xIS0xIS0xfC0xIS0xIS0xIS0xIS0xIS0xIS0xIS0xIS0xfDF8MXwxfDF8MXwxfDF8MXwxfDF8MXwxfDF8MXwxfDF8MXwwfDF8MXwxfDF8MXwwfDF8MHwxfDB8MXwwfDF8MHwwfDB8MTIwMzB8MiEyITIhMiEwITAhMCEwITAhMiEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MTB8MCEwITAhMCEwITAhMCEwITAhMHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwwfDB8MHwxNjAxODk4MDgwfDB8MXwwfDAhMyEyMDAwITEhMCEwITB8fHx8fHx8fHx8fHx8fHwwfDB8MHwxMHwtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMSEtMXx8fHx8fHx8fHx8fA

La segunda pasada nos da el resultado deseado:

TnpBd01EQXdmRFY4TnpFMk56WjhOelkxTmpFeE9UZ3hOalV5TVRBMk16bDhOWHd4Tkh3eE5Yd3hNbnd4TUh3eE1ERjhOVFkzTW53ME5EY3lmRFF4T0RGOE1USTBOWHd4TnpCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhORFkxZkRFd2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNU0U1SVMweElTMHhJUzB4SVMweElTMHhJUzB4SVMweGZESWhOaUV4TUNFdE1TRXRNU0V0TVNFdE1TRXRNU0V0TVh3eklURXhJVGNoTFRFaExURWhMVEVoTFRFaExURWhMVEY4TkNFNElTMHhJUzB4SVMweElTMHhJUzB4SVMweElTMHhmQzB4SVMweElTMHhJUzB4SVMweElTMHhJUzB4SVMweElTMHhmREY4TVh3eGZERjhNWHd4ZkRGOE1Yd3hmREY4TVh3eGZERjhNWHd4ZkRGOE1Yd3dmREY4TVh3eGZERjhNWHd3ZkRGOE1Id3hmREI4TVh3d2ZERjhNSHd3ZkRCOE1USXdNekI4TWlFeUlUSWhNaUV3SVRBaE1DRXdJVEFoTWlFd0lUQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQWhNQ0V3SVRBaE1DRXdJVEI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3

Ahora todo lo que tenemos que hacer es añadir un nombre al inicio de nuestro código, e importarlo al juego. El código final se vería como el siguiente:

Guide|TnpBd01EQXdmRFY4TnpFMk56WjhOelkxTmpFeE9UZ3hOalV5TVRBMk16bDhOWHd4Tkh3eE5Yd3hNbnd4TUh3eE1ERjhOVFkzTW53ME5EY3lmRFF4T0RGOE1USTBOWHd4TnpCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhORFkxZkRFd2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNU0U1SVMweElTMHhJUzB4SVMweElTMHhJUzB4SVMweGZESWhOaUV4TUNFdE1TRXRNU0V0TVNFdE1TRXRNU0V0TVh3eklURXhJVGNoTFRFaExURWhMVEVoTFRFaExURWhMVEY4TkNFNElTMHhJUzB4SVMweElTMHhJUzB4SVMweElTMHhmQzB4SVMweElTMHhJUzB4SVMweElTMHhJUzB4SVMweElTMHhmREY4TVh3eGZERjhNWHd4ZkRGOE1Yd3hmREY4TVh3eGZERjhNWHd4ZkRGOE1Yd3dmREY4TVh3eGZERjhNWHd3ZkRGOE1Id3hmREI4TVh3d2ZERjhNSHd3ZkRCOE1USXdNekI4TWlFeUlUSWhNaUV3SVRBaE1DRXdJVEFoTWlFd0lUQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQWhNQ0V3SVRBaE1DRXdJVEFoTUNFd0lUQWhNQ0V3SVRBaE1DRXdJVEI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3d2ZEQjhNSHd3ZkRCOE1Id3dmREI4TUh3
Cómo cargas los guardados

Para cargar un archivo, simplemente navega al botón de carga en el menú principal, y pega tu nuevo código en el campo provisto. Luego presiona “Importar el juego y cerrar
Mr.Mine Save Editing, Fixing Broken Achievements, More

Si todo funcionó con éxito, deberíamos ver el resultado deseado como un archivo de guardado con 700.000 dólares y una profundidad de 5:
Mr.Mine Save Editing, Fixing Broken Achievements, More

Precios de venta/compra

Cómo modificar los precios de venta de los minerales


Si quieres vender carbón por 10.000 dólares la pieza, este es el lugar para ti.

Index.html

Comienza navegando hasta el siguiente archivo, que se encuentra en el directorio raíz del juego. Este puede ser abierto por: Haciendo clic con el botón derecho del ratón en el juego en tu biblioteca➡ Propiedades ➡ Navegar por los archivos locales ➡ win-unpacked

MrMinewin-unpackedresourcesappindex.html

Este es esencialmente el código fuente del juego, recomiendo abrirlo con notepad++ o una aplicación equivalente para navegarlo fácilmente.

minerals[]

Los precios de venta se almacenan en una matriz llamada minerals[] que se puede encontrar en la búsqueda var minerals =
En esta área se puede alterar el precio de venta de cualquiera de los minerales, por ejemplo, modificaremos el precio de venta del carbón a 10.000 dólares.

var minerals = [ [], [_(“Coal”),10000,0], [_(“Copper”),2,0], [_(“Silver”),4,0], [_(“Gold”),16,0], [_(“Platinum”),32,0], [_(“Diamond”),64,0], [_(“Coltan”),500,0], [_(“Painite”),1000,0], [_(“Black Opal”),2000,0], [_(“Red Diamond”),10000,0], [_(“Blue Obsidian”),20000,0], [_(“Californium”),100000,0], [_(“Diamond8”),13,0], [_(“Diamond9”),14,0], [_(“Diamond10”),15,0], [_(“Diamond11”),16,0], [_(“Diamond12”),17,0], [_(“Diamond13”),18,0], [_(“Diamond14”),19,0], [_(“Diamond15”),20,0], [_(“Uranium”),[100,2000,50000],0,[0,0,0],[],36001] [_(“Plutonium”),[1000,20000,500000],0,[0,0,0],[],36001], [_(“Polonium”),[5000,250000,50000000],0,[0,0,0],[],36001] ];

Una vez que hayas modificado el código, simplemente guarda y recarga tu juego – ¡los cambios deberían ser visibles de inmediato! Ten en cuenta que siempre puedes volver atrás y revertir este cambio una vez que estés contento con tu cantidad de dólares.

Cómo modificar los precios de compra y los costos de los recursos
Costos de contratación de trabajadores
Costos de la base

El array titulado dlvlcost contiene los costos de alquiler, simplemente cambiándolo a 0 se obtienen costos de alquiler gratis.

var dlvlcost = [0,1,1,1,1,1,1,1,1,1,1];
Función contratar

Si por alguna razón no quiere alterar los costos de contratación, puede cambiar la función titulada upgradehire(x) a lo siguiente:

function upgradehire(x){dlvl++;}
Costos de actualización del equipo

En la array titulada upgradeEquipCosts tiene los costes de petróleo/dinero/tiempo de las mejoras y puede ser modificado simplemente cambiando los valores deseados y recargando el juego.

Costos de actualización de la plataforma petrolera

En la array titulada oilRigUpgradeCosts sostiene, lo adivinaste, los costos de actualización de la plataforma petrolera. Cambie esto a 0 si desea tener costos de actualización gratuitos:

var oilRigUpgradeCosts = [0,0,0, 0, 0,0, 0,0,0];

Edición de imágenes

Cómo cambiar las imágenes de la UI
Cómo cambiar los extras de la UI (Fuentes)
(en progreso)

¿Por qué se rompen los logros?

(en progreso)

Arreglar los logros

¿Por qué se rompen los logros?

Logros cronometradosEste juego tiene dos logros cronometrados

  • Jugar durante 2 horas
  • Juega durante 24 horas

Estos logros funcionan comprobando la variable de tiempo de juego de la grabación del usuario en dos momentos diferentes: 7200 y 86400 que son horas convertidas en minutos; 2hrs y 24hrs respectivamente.

Este código funciona bien, sin embargo, la cuestión radica en cómo se añade el tiempo a la variable de tiempo de juego:

setInterval(function(){if(chosen > -1){playtime+=30;savegame();afk–;if(focus){checkQuests();}}},30000);

Cada 30 segundos, el juego comprueba si el usuario ha completado alguna misión. El problema aquí es la siguiente línea de código: tiempo de juego+=30

Cada 30 segundos, el juego añade 30 minutos al tiempo de juego, lo que hace que todos los jugadores ganen las recompensas programadas mucho antes de lo previsto.

Una solución simple es cambiar la función a tiempo de juego += 0.3 que otorga 30 segundos en vez de 30 minutos – lo que asumo es la funcionalidad prevista 🙂

Eso es todo lo que estamos compartiendo hoy en el Sr. Mine, si hay algo que quieras añadir por favor siéntete libre de dejar un comentario abajo y nos veremos pronto.
Credit to Twi

Últimas noticias