msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: Traduccion Tutorial Cheat Engine a es_ES version 1.0\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Javixx Entertainment - Javialvarez.1967@hotmail.com\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_ES\n"
"X-Generator: Poedit 2.2\n"
"X-Poedit-SourceCharset: UTF-8\n"

#: tform1.btnok.caption
msgctxt "tform1.btnok.caption"
msgid "OK"
msgstr "OK"

#: tform1.button1.caption
msgctxt "tform1.button1.caption"
msgid "Next"
msgstr "Siguiente"

#: tform1.caption
msgid "Cheat Engine Tutorial v3.4"
msgstr "Tutorial Cheat Engine v3.4"

#: tform1.edtpassword.hint
msgid "Use this to go imeadiatly to the step you want to try"
msgstr "Usa esto para ir inmediatamente al paso que deseas intentar"

#: tform1.edtpassword.text
msgid "090453"
msgstr "090453"

#: tform1.label1.caption
msgid "Password"
msgstr "Contraseña"

#: tform10.button3.caption
msgid "Restart game"
msgstr "Reiniciar juego"

#: tform10.button4.caption
msgctxt "tform10.button4.caption"
msgid "Attack"
msgstr "Atacar"

#: tform10.button5.caption
msgctxt "TFORM10.BUTTON5.CAPTION"
msgid "Attack"
msgstr "Atacar"

#: tform10.button6.caption
msgctxt "tform10.button6.caption"
msgid "Restart game and autoplay"
msgstr "Reiniciar juego y juego automático"

#: tform10.button7.caption
msgctxt "TFORM10.BUTTON7.CAPTION"
msgid "Attack"
msgstr "Atacar"

#: tform10.button8.caption
msgctxt "TFORM10.BUTTON8.CAPTION"
msgid "Attack"
msgstr "Atacar"

#: tform10.caption
msgid "Step 9"
msgstr "Paso 9"

#: tform10.label1.caption
msgctxt "tform10.label1.caption"
msgid "100"
msgstr "100"

#: tform10.label10.caption
msgctxt "TFORM10.LABEL10.CAPTION"
msgid "Health: 500"
msgstr "Salud: 500"

#: tform10.label2.caption
msgctxt "tform10.label2.caption"
msgid "Health:"
msgstr "Salud:"

#: tform10.label3.caption
msgid "Player 1: Dave"
msgstr "Jugador 1: Dave"

#: tform10.label4.caption
msgctxt "tform10.label4.caption"
msgid "Health: 100"
msgstr "Salud: 100"

#: tform10.label5.caption
msgid "Player 2: Eric"
msgstr "Jugador 2: Eric"

#: tform10.label6.caption
msgctxt "TFORM10.LABEL6.CAPTION"
msgid "Health: 100"
msgstr "Salud: 100"

#: tform10.label7.caption
msgid "C. Player 3: HAL"
msgstr "C. Jugadorr 3: HAL"

#: tform10.label8.caption
msgctxt "tform10.label8.caption"
msgid "Health: 500"
msgstr "Salud: 500"

#: tform10.label9.caption
msgid "C. Player 4: KITT"
msgstr "C. Jugador 4: KITT"

#: tform2.button1.caption
msgctxt "TFORM2.BUTTON1.CAPTION"
msgid "Next"
msgstr "Siguiente"

#: tform2.button2.caption
msgctxt "tform2.button2.caption"
msgid "Hit me"
msgstr "Pegame"

#: tform2.caption
msgid "Step 2"
msgstr "Paso 2"

#: tform2.label1.caption
msgctxt "TFORM2.LABEL1.CAPTION"
msgid "100"
msgstr "100"

#: tform2.label2.caption
msgctxt "TFORM2.LABEL2.CAPTION"
msgid "Health:"
msgstr "Salud:"

#: tform2.speedbutton1.caption
msgctxt "tform2.speedbutton1.caption"
msgid "Skip"
msgstr "Saltar"

#: tform3.button1.caption
msgctxt "TFORM3.BUTTON1.CAPTION"
msgid "Next"
msgstr "Siguiente"

#: tform3.button2.caption
msgctxt "TFORM3.BUTTON2.CAPTION"
msgid "Hit me"
msgstr "Pegame"

#: tform3.caption
msgid "Step 3"
msgstr "Paso 3"

#: tform3.label1.caption
msgid " "
msgstr ""

#: tform3.speedbutton1.caption
msgctxt "TFORM3.SPEEDBUTTON1.CAPTION"
msgid "Skip"
msgstr "Saltar"

#: tform4.button1.caption
msgctxt "TFORM4.BUTTON1.CAPTION"
msgid "OK"
msgstr "OK"

#: tform4.caption
msgid "Tutorial End"
msgstr "Fin del Tutorial"

#: tform4.label1.caption
msgid "Well done, you've completed the tutorial of Cheat Engine."
msgstr "Bien hecho, has completado el tutorial de Cheat Engine."

#: tform4.label2.caption
msgid "Just play around with the tutorial and learn how the other scanmethods work."
msgstr "Simplemente juega con el tutorial y aprende como funcionan los otros metodos de escaneo."

#: tform4.label3.caption
msgid "And you can always check out the Cheat Engine Forum for useful information and ask for help"
msgstr "Y siempre puedes consultar el Foro de Cheat Engine para obtener información útil y pedir ayuda"

#: tform4.label4.caption
msgid "Cheat Engine Forum"
msgstr "Fórum de Cheat Engine"

#: tform5.button1.caption
msgid "Fire"
msgstr "Fuego"

#: tform5.button2.caption
msgctxt "TFORM5.BUTTON2.CAPTION"
msgid "Next"
msgstr "Siguiente"

#: tform5.button3.caption
msgctxt "TFORM5.BUTTON3.CAPTION"
msgid "Hit me"
msgstr "Pegame"

#: tform5.caption
msgid "Step 4"
msgstr "Paso 4"

#: tform5.label1.caption
msgctxt "TFORM5.LABEL1.CAPTION"
msgid "100"
msgstr "100"

#: tform5.label2.caption
msgid "Ammo"
msgstr "Municion"

#: tform5.label3.caption
msgctxt "TFORM5.LABEL3.CAPTION"
msgid "Health:"
msgstr "Salud:"

#: tform5.label4.caption
msgctxt "TFORM5.LABEL4.CAPTION"
msgid "100"
msgstr "100"

#: tform5.label5.caption
msgid "(float)"
msgstr "(Flotante)"

#: tform5.label6.caption
msgid "(double)"
msgstr "(Doble)"

#: tform5.speedbutton1.caption
msgctxt "TFORM5.SPEEDBUTTON1.CAPTION"
msgid "Skip"
msgstr "Saltar"

#: tform6.button1.caption
msgctxt "tform6.button1.caption"
msgid "Change value"
msgstr "Modificar el valor"

#: tform6.button2.caption
msgctxt "TFORM6.BUTTON2.CAPTION"
msgid "Next"
msgstr "Siguiente"

#: tform6.caption
msgid "Step 5"
msgstr "Paso 5"

#: tform6.label1.caption
msgctxt "TFORM6.LABEL1.CAPTION"
msgid "100"
msgstr "100"

#: tform6.speedbutton1.caption
msgctxt "TFORM6.SPEEDBUTTON1.CAPTION"
msgid "Skip"
msgstr "Saltar"

#: tform7.button1.caption
msgctxt "TFORM7.BUTTON1.CAPTION"
msgid "Change value"
msgstr "Modificar el valor"

#: tform7.button2.caption
msgctxt "TFORM7.BUTTON2.CAPTION"
msgid "Next"
msgstr "Siguiente"

#: tform7.button3.caption
msgctxt "tform7.button3.caption"
msgid "Change pointer"
msgstr "Cambiar el puntero"

#: tform7.caption
msgid "Step 6"
msgstr "Paso 6"

#: tform7.label1.caption
msgctxt "TFORM7.LABEL1.CAPTION"
msgid "100"
msgstr "100"

#: tform7.label2.caption
msgctxt "tform7.label2.caption"
msgid "3"
msgstr "3"

#: tform7.speedbutton1.caption
msgctxt "TFORM7.SPEEDBUTTON1.CAPTION"
msgid "Skip"
msgstr "Saltar"

#: tform8.button1.caption
msgctxt "TFORM8.BUTTON1.CAPTION"
msgid "Hit me"
msgstr "Pegame"

#: tform8.button2.caption
msgctxt "TFORM8.BUTTON2.CAPTION"
msgid "Next"
msgstr "Siguiente"

#: tform8.caption
msgid "Step 7"
msgstr "Paso 7"

#: tform8.label1.caption
msgctxt "TFORM8.LABEL1.CAPTION"
msgid "Health: 100"
msgstr "Salud: 100"

#: tform8.speedbutton1.caption
msgctxt "TFORM8.SPEEDBUTTON1.CAPTION"
msgid "Skip"
msgstr "Saltar"

#: tform9.button1.caption
msgctxt "TFORM9.BUTTON1.CAPTION"
msgid "Change value"
msgstr "Modificar el valor"

#: tform9.button2.caption
msgctxt "TFORM9.BUTTON2.CAPTION"
msgid "Next"
msgstr "Siguiente"

#: tform9.button3.caption
msgctxt "TFORM9.BUTTON3.CAPTION"
msgid "Change pointer"
msgstr "Cambiar el puntero"

#: tform9.caption
msgid "Step 8"
msgstr "Paso 8"

#: tform9.label1.caption
msgctxt "TFORM9.LABEL1.CAPTION"
msgid "100"
msgstr "100"

#: tform9.label2.caption
msgctxt "TFORM9.LABEL2.CAPTION"
msgid "3"
msgstr "3"

#: tform9.speedbutton1.caption
msgctxt "TFORM9.SPEEDBUTTON1.CAPTION"
msgid "Skip"
msgstr "Saltar"

#: unit1.rsfirststeptoohardbettergiveupnow
msgid "First step too hard? Go to forum.cheatengine.org, then click on \"Tutorials\" for helpful guides!"
msgstr "¿Primer paso demasiado duro? Ve a forum.cheatengine.org y luego haz clic en \"Tutoriales\" para obtener ¡guías útiles!"

#: unit1.rstutorial1
msgid ""
"Welcome to the Cheat Engine Tutorial (v3.3)\n"
"\n"
"This tutorial will teach you the basics of cheating in video games. It will also show you foundational aspects of using Cheat Engine (or CE for short). Follow the steps below to get started.\n"
"\n"
"1: Open Cheat Engine if it currently isn't running.\n"
"2: Click on the \"Open Process\" icon (it's the top-left icon with the computer on it, below \"File\".).\n"
"3: With the Process List window now open, look for this tutorial's process in the list. It will look something like \"00001F98-Tutorial-x86_64.exe\" or \"0000047C-Tutorial-i386.exe\". (The first 8 numbers/letters will probably be different.)\n"
"4: Once you've found the process, click on it to select it, then click the \"Open\" button. (Don't worry about all the other buttons right now. You can learn about them later if you're interested.)\n"
"\n"
"Congratulations! If you did everything correctly, the process window should be gone with Cheat Engine now attached to the tutorial (you will see the process name towards the top-center of CE).\n"
"\n"
"Click the \"Next\" button below to continue, or fill in the password and click the \"OK\" button to proceed to that step.)\n"
"\n"
"If you're having problems, simply head over to forum.cheatengine.org, then click on \"Tutorials\" to view beginner-friendly guides!\n"
msgstr ""
"Bienvenido al tutorial de Cheat Engine (v3.3)\n"
"\n"
"Este tutorial te enseñará los fundamentos de hacer trampa en los videojuegos. También le mostrará los aspectos fundamentales del uso de Cheat Engine (o CE para abreviar). Sigue los pasos a continuación para comenzar.\n"
"\n"
"1: Abre Cheat Engine si no está funcionando actualmente.\n"
"2: haz clic en el ícono \"Abrir proceso\" (es el ícono de arriba a la izquierda con la computadora, debajo de \"Archivo\").\n"
"3: con la ventana Lista de procesos abierta, busca el proceso de este tutorial en la lista. Se verá algo así como \"00001F98-Tutorial-x86_64.exe\" o \"0000047C-Tutorial-i386.exe\". (Los primeros 8 números / letras probablemente serán diferentes.)\n"
"4: Una vez que hayas encontrado el proceso, haz clic en él para seleccionarlo, luego haz clic en el botón \"Abrir\". (No te preocupes por todos los otros botones en este momento. Puedes aprender sobre ellos más adelante si estás interesado).\n"
"\n"
"¡Felicidades! Si hiciste todo correctamente, la ventana del proceso debería haberse ido con Cheat Engine ahora adjunto al tutorial (veras el nombre del proceso hacia el centro superior de CE).\n"
"\n"
"Haz clic en el botón \"Siguiente\" a continuación para continuar, o ingresa la contraseña y haz clic en el botón \"Aceptar\" para continuar con ese paso.)\n"
"\n"
"Si tienes problemas, simplemente dirigete a forum.cheatengine.org y luego haz clic en \"Tutoriales\" para ver las guías para principiantes.\n"

#: unit10.rsdead
msgid "DEAD"
msgstr "MUERTO"

#: unit10.rsfailureyourteamdied
msgid "Failure. Your team died"
msgstr "Fallo. Tu equipo esta muerto"

#: unit10.rshealth
msgid "Health: %s"
msgstr "Salud: %s"

#: unit10.rsrestartgameandautoplay
msgctxt "unit10.rsrestartgameandautoplay"
msgid "Restart game and autoplay"
msgstr "Reiniciar juego y juego automático"

#: unit10.rsstep9sharedcodepw
msgid "Step 9: Shared code: (PW=%s)"
msgstr "Paso 9: Codigo Compartido: (PW=%s)"

#: unit10.rsstop
msgid "Stop"
msgstr "Parar"

#: unit10.rsthisplayerisalreadydeadrestartthegame
msgid "This player is already dead. Restart the game"
msgstr "Este jugador esta muerto. Reinicia el juego"

#: unit10.rstryagain10
msgid "Can't figure out how to do this? Don't worry. Try asking in the forum at cheatengine.org or perhaps someone already explained it better there. Are you sure you want to quit?"
msgstr "¿No consigues averiguar cómo hacer esto? No te preocupes Intenta preguntar en el foro en cheatengine.org, tal vez alguien ya lo haya explicado mejor allí. ¿Seguro que quieres salir?"

#: unit10.rstutorialstep9
msgid ""
"This step will explain how to deal with code that is used for other object of the same type\n"
"\n"
"Often when you've found health of a unit or your own player, you will find that if you remove the code, it affects enemies as well.\n"
"In these cases you must find out how to distinguish between your and the enemies objects.\n"
"Sometimes this is as easy as checking the first 4 bytes (Function pointer table) which often point to a unique location for the player, and sometimes it's a team number, or a pointer to a pointer to a pointer to a pointer to a pointer to a playername. It all depends on the complexity of the game, and your luck\n"
"\n"
"The easiest method is finding what addresses the code you found writes to and then use the dissect data feature to compare against two structures. (Your unit(s)/player and the enemies) And then see if you can find out a way to distinguish between them.\n"
"When you have found out how to distinguish between you and the computer you can inject an assembler script that checks for the condition and then either do not execute the code or do something else. (One hit kills for example)\n"
"Alternatively, you can also use this to build a so called \"Array of byte\" string which you can use to search which will result in a list of all your or the enemies players\n"
"In this tutorial I have implemented the most amazing game you will ever play.\n"
"It has 4 players. 2 Players belong to your team, and 2 Players belong to the computer. \n"
"Your task is to find the code that writes the health and make it so you win the game WITHOUT freezing your health\n"
"To continue, press \"Restart game and autoplay\" to test that your code is correct\n"
"\n"
"\n"
"Tip: Health is a float\n"
"Tip2: There are multiple solutions\n"
msgstr ""
"Este paso explicará cómo tratar con el código que se usa para otro objeto del mismo tipo\n"
"\n"
"A menudo, cuando has encontrado la salud de una unidad o de tu propio jugador, encontrarás que si eliminas el código, también afecta a los enemigos.\n"
"En estos casos, debes descubrir cómo distinguir entre tus objetos y los objetos enemigos.\n"
"A veces esto es tan fácil como verificar los primeros 4 bytes (tabla de punteros de función) que a menudo apuntan a una ubicación única para el jugador, y otras veces es un número de equipo, o un puntero a un puntero a un puntero a un puntero a un puntero a un nombre de juego. Todo depende de la complejidad del juego, y tu suerte.\n"
"\n"
"El método más fácil es encontrar qué direcciones abarca el código que encontraste en la escritura y luego usar la función de datos de disección para comparar contra dos estructuras. (Tu (s) unidad (es) / jugador y los enemigos) Y luego mira si puedes encontrar una manera de distinguirlos.\n"
"Cuando hayas descubierto cómo distinguir entre Tu y la computadora, puedes inyectar un script de ensamblador que verifique la condición y luego no ejecute el código ni haga otra cosa. (Un golpe mata por ejemplo)\n"
"Alternativamente, también puedes usar esto para construir una cadena llamada \"Array of byte\" que puedes usar para buscar, lo que resultará en una lista de todos tus jugadores o los de tus enemigos.\n"
"En este tutorial, he implementado el juego más increíble que jamás hayas jugado.\n"
"Tiene 4 jugadores. 2 jugadores pertenecen a tu equipo y 2 jugadores pertenecen a la computadora.\n"
"Tu tarea es encontrar el código que escribe la salud y hacer que ganes el juego SIN congelar tu salud\n"
"Para continuar, presiona \"Reiniciar juego y reproducción automática\" para probar que tu código es correcto\n"
"\n"
"\n"
"Consejo: la salud es un flotante.\n"
"Consejo 2: hay múltiples soluciones.\n"

#: unit10.rsu10thiswasthelasttutorial
msgid "This was the last tutorial and you skipped it. You lose"
msgstr "Este era el último tutorial y lo has saltado. Tú pierdes"

#: unit2.rsawyouredeathletmereviveyou
msgctxt "unit2.rsawyouredeathletmereviveyou"
msgid "Aw, you're dead! Let me revive you"
msgstr "Aw, estas muerto! Deja que te reviva"

#: unit2.rsloser
msgctxt "unit2.rsloser"
msgid "BOO"
msgstr "¡Buuuuh! (abucheo)"

#: unit2.rsquittingonstep2thisistheeasieststepthereisfindheal
msgid "Quitting on step2? This is the easiest step there is. Find health, change health, done.... Sure you want to quit?"
msgstr "¿Renuncias en el Paso 2? Este es el paso más fácil que hay. Encuentra salud, cambia salud, listo …. ¿Seguro que quieres dejarlo?"

#: unit2.rsstep2exactvaluescanningpw
msgid "Step 2: Exact Value scanning (PW="
msgstr "Paso 2: escaneo de valor exacto (PW="

#: unit2.rstutorialstep2
msgid ""
"Now that you have opened the tutorial with Cheat Engine let's get on with the next step.\n"
"\n"
"You can see at the bottom of this window is the text Health: xxx\n"
"Each time you click 'Hit me'  your health gets decreased.\n"
"\n"
"To get to the next step you have to find this value and change it to 1000\n"
"\n"
"To find the value there are different ways, but I'll tell you about the easiest, 'Exact Value':\n"
"First make sure value type is set to at least 2-bytes or 4-bytes. 1-byte will also work, but you'll run into an easy to fix problem when you've found the address and want to change it. The 8-byte may perhaps works if the bytes after the address are 0, but I wouldn't take the bet.\n"
"Single, double, and the other scans just don't work, because they store the value in a different way.\n"
"\n"
"When the value type is set correctly, make sure the scantype is set to 'Exact Value'\n"
"Then fill in the number your health is in the value box. And click 'First Scan'\n"
"After a while (if you have a extremely slow pc) the scan is done and the results are shown in the list on the left\n"
"\n"
"If you find more than 1 address and you don't know for sure which address it is, click 'Hit me', fill in the new health value into the value box, and click 'Next Scan'\n"
"repeat this until you're sure you've found it. (that includes that there's only 1 address in the list.....)\n"
"\n"
"Now double click the address in the list on the left. This makes the address pop-up in the list at the bottom, showing you the current value.\n"
"Double click the value, (or select it and press enter), and change the value to 1000.\n"
"\n"
"If everything went ok the next button should become enabled, and you're ready for the next step.\n"
"\n"
"\n"
"Note:\n"
"If you did anything wrong while scanning, click \"New Scan\" and repeat the scanning again.\n"
"Also, try playing around with the value and click 'hit me'\n"
msgstr ""
"Ahora que has abierto el tutorial con Cheat Engine, sigamos con el siguiente paso.\n"
"\n"
"Puedes ver en la parte inferior de esta ventana el texto Salud: xxx\n"
"Cada vez que haces clic en 'Pegame' tu salud disminuye.\n"
"\n"
"Para llegar al siguiente paso, debes encontrar este valor y cambiarlo a 1000\n"
"\n"
"Para encontrar el valor, hay diferentes formas, pero te diré la más fácil, 'Valor exacto':\n"
"Primero asegurate de que el tipo de valor esté establecido en al menos 2 bytes o 4 bytes. 1-byte también funcionará, pero te encontrarás con un problema fácil de solucionar cuando hayas encontrado la dirección y desees cambiarla. El 8-byte puede funcionar si los bytes después de la dirección son 0, pero no apostaría por ello.\n"
"Las exploraciones simples, dobles y otras simplemente no funcionan porque almacenan el valor de una manera diferente.\n"
"\n"
"Cuando el tipo de valor se establece correctamente, asegúrate de que el scantype esté establecido en 'Valor exacto'\n"
"Luego ingrese el número de su salud en el cuadro de valor. Y haga clic en 'Primer Scan'\n"
"Después de un tiempo (si tienes un PC extremadamente lento) se realiza el análisis y los resultados se muestran en la lista de la izquierda.\n"
"\n"
"Si encuentras más de 1 dirección y no estás seguro de qué dirección es, haz clic en 'Pegame', completa el nuevo valor de salud en el cuadro de valor y haz clic en 'Siguiente Scan'\n"
"repite esto hasta que estés seguro de que lo has encontrado. (eso quiere decir que solo hay 1 dirección en la lista …..)\n"
"\n"
"Ahora haz doble clic en la dirección en la lista de la izquierda. Esto hace que la dirección aparezca en la lista en la parte inferior, mostrándote el valor actual.\n"
"Haz doble clic en el valor (o selecciónalo y pulsa Intro) y cambia el valor a 1000.\n"
"\n"
"Si todo salió bien, el siguiente botón debería estar habilitado y estás listo para el siguiente paso.\n"
"\n"
"\n"
"Nota:\n"
"Si hiciste algo incorrecto durante el escaneo, haz clic en \"Nuevo escaneo\" y repite el escaneo nuevamente.\n"
"Además, intenta jugar con el valor y haz clic en 'Pegame'\n"

#: unit3.rsdead
msgid "Seems you've done it again! Let me get a replacement! (And restart your scan!)"
msgstr "Parece que lo has vuelto a hacer! Déjame reemplazarlo! (Y reinicia tu escaneo!)"

#: unit3.rsloser
msgctxt "unit3.rsloser"
msgid "BOO"
msgstr "¡Buuuuh! (abucheo)"

#: unit3.rsstep3unknowninitialvaluepw
msgid "Step 3: Unknown initial value (PW="
msgstr "Paso 3: Valor inicial desconocido (PW="

#: unit3.rstryagain3
msgid "Step 3 isn't really that hard. Just do a new scan, unkown initial value and then decreased value till you find it. Almost everyone gets past this one. Sure you want to quit?"
msgstr "El paso 3 no es realmente tan difícil. Solo haz un nuevo escaneo con un valor inicial desconocido y luego un valor reducido hasta que lo encuentres. Casi todos consiguen llegar mas alla de este. ¿Seguro que quieres dejarlo?"

#: unit3.rstutorialstep3
msgid ""
"Ok, seeing that you've figured out how to find a value using exact value let's move on to the next step.\n"
"\n"
"First things first though. Since you are doing a new scan, you have to click on New Scan first, to start a new scan. (You may think this is straighforward, but you'd be surprised how many people get stuck on that step) I won't be explaining this step again, so keep this in mind\n"
"Now that you've started a new scan, let's continue\n"
"\n"
"In the previous test we knew the initial value so we could do a exact value, but now we have a status bar where we don't know the starting value.\n"
"We only know that the value is between 0 and 500. And each time you click 'hit me' you lose some health. The amount you lose each time is shown above the status bar.\n"
"\n"
"Again there are several different ways to find the value. (like doing a decreased value by... scan), but I'll only explain the easiest. \"Unknown initial value\", and decreased value.\n"
"Because you don't know the value it is right now, a exact value wont do any good, so choose as scantype 'Unknown initial value', again, the value type is 4-bytes. (most windows apps use 4-bytes)click first scan and wait till it's done.\n"
"\n"
"When it is done click 'hit me'. You'll lose some of your health. (the amount you lost shows for a few seconds and then disappears, but you don't need that)\n"
"Now go to Cheat Engine, and choose 'Decreased Value' and click 'Next Scan'\n"
"When that scan is done, click hit me again, and repeat the above till you only find a few. \n"
"\n"
"We know the value is between 0 and 500, so pick the one that is most likely the address we need, and add it to the list.\n"
"Now change the health to 5000, to proceed to the next step.\n"
msgstr ""
"Ok, viendo que has descubierto cómo encontrar un valor usando el valor exacto, avancemos al siguiente paso.\n"
"\n"
"Lo primero es lo primero. Como estás realizando una nueva exploración, primero debes hacer clic en Nuevo Scan para iniciar una nueva exploración. (Puede que creas que esto es sencillo, pero te sorprenderias de cuánta gente se atasca en ese paso). No volveré a explicar este paso, así que ten esto en cuenta.\n"
"Ahora que has comenzado un nuevo escaneo, continuemos\n"
"\n"
"En la prueba anterior sabíamos el valor inicial, por lo que podríamos buscar un valor exacto, pero ahora tenemos una barra de estado donde no sabemos el valor inicial.\n"
"Solo sabemos que el valor está entre 0 y 500. Y cada vez que haces clic en 'Pegame' pierdes algo de salud. La cantidad que pierde cada vez se muestra sobre la barra de estado.\n"
"\n"
"De nuevo, hay varias maneras diferentes de encontrar el valor. (como hacer un valor reducido mediante ... escanear), pero solo explicaré lo más fácil. \"Valor inicial desconocido\", y valor reducido.\n"
"Debido a que no sabes el valor que tiene en este momento, un valor exacto no servirá de nada, por lo tanto, elije \"valor inicial desconocido\", nuevamente, el tipo de valor es de 4 bytes. (la mayoría de las aplicaciones de Windows usan 4 bytes), haz clic en 'Primer Scan' y espera hasta que esté listo.\n"
"\n"
"Cuando haya terminado, haz clic en 'Pegame'. Perderás algo de tu salud. (La cantidad que pierdes se muestra durante unos segundos y luego desaparece, pero no la necesitas)\n"
"Ahora ve a Cheat Engine, elije 'Valor reducido' y haz clic en 'Siguiente Scan'\n"
"Cuando haya terminado el escaneo, haz clic en 'Pegame' de nuevo y repite lo anterior hasta que solo encuentres algunos.\n"
"\n"
"Sabemos que el valor está entre 0 y 500, así que elije la que sea más probable que sea la dirección que necesitamos y agrégala a la lista.\n"
"Ahora cambia la salud a 5000, para pasar al siguiente paso.\n"

#: unit5.rsconfirmclose5
msgid "Come on. This step is simple. For health do a float scan, and for ammo a double type. (don't forget to disable fastscan for double in this case) Just ignore the fact that it looks different because it has a \".\" in the value. You sure you want to quit?"
msgstr "Venga. Este paso es simple. Para la salud, haz un escaneo flotante, y para la munición un tipo doble. (No olvides desactivar fastscan para el doble en este caso) Simplemente ignora el hecho de que se ve diferente porque tiene un \".\" en el valor. ¿Seguro que quieres dejarlo?"

#: unit5.rsdead
msgid "I think you're dead!%sPress ok to become a brain eating zombie"
msgstr "¡Creo que estas muerto! %s Pulsa ok para convertirte en un zombi comedor de cerebros"

#: unit5.rsloser
msgctxt "unit5.rsloser"
msgid "BOO"
msgstr "¡Buuuuh! (abucheo)"

#: unit5.rsoutofammo
msgid "Out of ammo!%sPress ok to stock up on some ammo"
msgstr "¡Sin munición! % Pulsa ok para recargar"

#: unit5.rsstep4floatingpointspw
msgid "Step 4: Floating points (PW="
msgstr "Paso 4: Puntos flotantes (PW="

#: unit5.rstutorialstep4
msgid ""
"In the previous tutorial we used bytes to scan, but some games store information in so called 'floating point' notations. \n"
"(probably to prevent simple memory scanners from finding it the easy way)\n"
"a floating point is a value with some digits behind the point. (like 5.12 or 11321.1)\n"
"\n"
"Below you see your health and ammo. Both are stored as Floating point notations, but health is stored as a float and ammo is stored as a double.\n"
"Click on hit me to lose some health, and on shoot to decrease your ammo with 0.5\n"
" \n"
"You have to set BOTH values to 5000 or higher to proceed.\n"
"\n"
"Exact value scan will work fine here, but you may want to experiment with other types too.\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"Hint: It is recommended to disable \"Fast Scan\" for type double\n"
msgstr ""
"En el tutorial anterior usamos bytes para escanear, pero algunos juegos almacenan información en las llamadas notaciones de 'punto flotante'.\n"
"(probablemente para evitar que los escáneres de memoria simples lo encuentren de manera fácil)\n"
"un punto flotante es un valor con algunos dígitos detrás del punto. (como 5.12 o 11321.1)\n"
"\n"
"Abajo ves tu salud y municiones. Ambos se almacenan como notaciones de punto flotante, pero la salud se almacena como un flotante y la munición se almacena como un doble.\n"
"Haz clic en 'Pegame' para perder algo de salud y en 'disparar' para disminuir tu munición en 0.5\n"
" \n"
"Debes establecer AMBOS valores en 5000 o más para continuar.\n"
"\n"
"La exploración del valor exacto funcionará bien aquí, pero es posible que desees experimentar con otros tipos también.\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"Sugerencia: se recomienda deshabilitar \"Exploración rápida\" para el tipo doble\n"

#: unit6.rsloser
msgctxt "unit6.rsloser"
msgid "BOO"
msgstr "¡Buuuuh! (abucheo)"

#: unit6.rsstep5codefinderpw
msgid "Step 5: Code finder (PW=%s)"
msgstr "Paso 5: buscador de código (PW =%s)"

#: unit6.rstryagain6
msgid "This may look difficult. but it's basicly. Find health, rigthclick health, find what writes, change health, click replace, change health, done.  But don't feel down if you don't get it. at least you know the basicas of memory scanning...  Are you sure you want to quit?"
msgstr "Esto puede parecer difícil. pero es básico. Encuentra salud, haga clic en salud, encuentra lo que escribe, cambia salud, haz clic en reemplazar, cambia salud, listo. Pero no te sientas deprimido si no lo entiendes. al menos ya conoces los aspectos básicos del escaneo de memoria …. ¿Estás seguro de que desea salir?"

#: unit6.rstutorialstep5
msgid ""
"Sometimes the location something is stored at changes when you restart the game, or even while you're playing.. In that case you can use 2 things to still make a table that works.\n"
"In this step I'll try to describe how to use the Code Finder function.\n"
"\n"
"The value down here will be at a different location each time you start the tutorial, so a normal entry in the address list wouldn't work.\n"
"First try to find the address. (you've got to this point so I assume you know how to)\n"
"When you've found the address, right-click the address in Cheat Engine and choose \"Find out what writes to this address\". A window will pop up with an empty list.\n"
"Then click on the Change value button in this tutorial, and go back to Cheat Engine. If everything went right there should be an address with assembler code there now.\n"
"Click it and choose the replace option to replace it with code that does nothing. That will also add the code address to the code list in the advanced options window. (Which gets saved if you save your table)\n"
"\n"
"Click on stop, so the game will start running normal again, and close to close the window.\n"
"Now, click on Change value, and if everything went right the Next button should become enabled.\n"
"\n"
"Note: When you're freezing the address with a high enough speed it may happen that next becomes visible anyhow\n"
msgstr ""
"A veces, la ubicación en la que se almacena algo cambia cuando se reinicia el juego, o incluso mientras juegas ….. En ese caso, puedes usar 2 cosas para hacer una tabla que funcione.\n"
"En este paso, trataré de describir cómo usar la función Code Finder.\n"
"\n"
"El valor estará en una ubicación diferente cada vez que inicies el tutorial, por lo que una entrada normal en la lista de direcciones no funcionará.\n"
"Primero trata de encontrar la dirección. (has llegado a este punto, así que asumo que sabes cómo)\n"
"Cuando hayas encontrado la dirección, haz clic con el botón derecho en la dirección en Cheat Engine y elije \"Averiguar qué escribe en esta dirección\". Aparecerá una ventana con una lista vacía.\n"
"Luego haga clic en el botón 'Cambiar valor' en este tutorial y vuelve a Cheat Engine. Si todo salió bien, debería haber una dirección con el código del ensamblador allí ahora.\n"
"Haz clic en él y elije la opción de reemplazo para reemplazarlo con un código que no hace nada. Eso también agregará la dirección del código a la lista de códigos en la ventana de opciones avanzadas. (Que se guarda si guardas tu tabla)\n"
"\n"
"Haz clic en Detener para que el juego comience a funcionar normalmente de nuevo y cierralo para cerrar la ventana.\n"
"Ahora, haz clic en Cambiar valor, y si todo salió bien, el botón Siguiente debería estar habilitado.\n"
"\n"
"Nota: cuando estás congelando la dirección con una velocidad lo suficientemente alta, puede suceder que la próxima vez sea visible de todos modos.\n"

#: unit6.rswelldoneyouscrewedupthetutorial
msgctxt "unit6.rswelldoneyouscrewedupthetutorial"
msgid "Well done, you screwed up the tutorial!!!!"
msgstr "Bien hecho, jodiste el tutorial !!!!"

#: unit7.rsloser
msgctxt "unit7.rsloser"
msgid "BOO"
msgstr "¡Buuuuh! (abucheo)"

#: unit7.rsstep6pointerspw
msgid "Step 6: Pointers: (PW=%s)"
msgstr "Paso 6: Punteros (PW=%s)"

#: unit7.rstryagain7
msgid "So, pointers are too difficult eh? Don't worry, try again later. For most beginners this is difficult to grasp. But I have to tell you it's a powerful feature if you learn to use it. Are you sure you want to quit?"
msgstr "Entonces, los punteros son demasiado difíciles, ¿eh? No te preocupes, vuelve a intentarlo más tarde. Para la mayoría de los principiantes esto es difícil de entender. Pero tengo que decirte que es una característica poderosa si aprendes a usarla. ¿Seguro que quieres salir?"

#: unit7.rstutorialstep6
msgid ""
"In the previous step I explained how to use the Code finder to handle changing locations. But that method alone makes it difficult to find the address to set the values you want.\n"
"That's why there are pointers:\n"
"\n"
"At the bottom you'll find 2 buttons. One will change the value, and the other changes the value AND the location of the value.\n"
"For this step you don't really need to know assembler, but it helps a lot if you do.\n"
"\n"
"First find the address of the value. When you've found it use the function to find out what accesses this address.\n"
"Change the value again, and a item will show in the list. Double click that item. (or select and click on more info) and a new window will open with detailed information on what happened when the instruction ran.\n"
"If the assembler instruction doesn't have anything between a '[' and ']' then use another item in the list.\n"
"If it does it will say what it think will be the value of the pointer you need.\n"
"Go back to the main cheat engine window (you can keep this extra info window open if you want, but if you close it, remember what is between the [ and ] ) and do a 4 byte scan in hexadecimal for the value the extra info told you.\n"
"When done scanning it may return 1 or a few hundred addresses. Most of the time the address you need will be the smallest one. Now click on manually add and select the pointer checkbox.\n"
"\n"
"The window will change and allow you to type in the address of a pointer and a offset.\n"
"Fill in as address the address you just found.\n"
"If the assembler instruction has a calculation (e.g: [esi+12]) at the end then type the value in that's at the end. else leave it 0. If it was a more complicated instruction look at the calculation.\n"
"\n"
"example of a more complicated instruction:\n"
"[EAX*2+EDX+00000310] eax=4C and edx=00801234.\n"
"In this case EDX would be the value the pointer has, and EAX*2+00000310 the offset, so the offset you'd fill in would be 2*4C+00000310=3A8.  (this is all in hex, use calc.exe from windows in scientific mode to calculate)\n"
"\n"
"Back to the tutorial, click OK and the address will be added, If all went right the address will show P->xxxxxxx, with xxxxxxx being the address of the value you found. If thats not right, you've done something wrong.\n"
"Now, change the value using the pointer you added in 5000 and freeze it. Then click Change pointer, and if all went \n"
"right the next button will become visible.\n"
"\n"
"\n"
"extra:\n"
"And you could also use the pointer scanner to find the pointer to this address\n"
msgstr ""
"En el paso anterior, expliqué cómo usar el buscador de código para manejar ubicaciones cambiantes. Pero ese método solo hace que sea difícil encontrar la dirección para establecer los valores que deseas.\n"
"Es por eso que hay punteros:\n"
"\n"
"En la parte inferior encontrarás 2 botones. Uno cambiará el valor y el otro cambiará el valor y la ubicación del valor.\n"
"Para este paso, realmente no necesitas saber ensamblador, pero ayuda mucho si lo conoces.\n"
"\n"
"Primero encuentra la dirección del valor. Cuando lo encuentres, usa la función para averiguar a qué accede esta dirección.\n"
"Vuelve a cambiar el valor y se mostrará un elemento en la lista. Haz doble clic en ese elemento. (o selecciona y haz clic en más información) y se abrirá una nueva ventana con información detallada sobre lo que sucedió cuando se ejecutó la instrucción.\n"
"Si la instrucción del ensamblador no tiene nada entre '[' y ']', usa otro elemento en la lista.\n"
"Si lo haces, dirá lo que cree que será el valor del puntero que necesitas.\n"
"Regresa a la ventana principal del Cheat Engine (puedes mantener abierta esta ventana de información adicional si lo deseas, pero si la cierras, recuerda lo que hay entre '[' y ']') y realiza un escaneo de 4 bytes en hexadecimal para obtener el valor de la información adicional.\n"
"Cuando termine de escanear puede devolver 1 o unos cientos de direcciones. La mayoría de las veces, la dirección que necesitas será la más pequeña. Ahora haz clic en Agregar manualmente y selecciona la casilla de verificación del puntero.\n"
"\n"
"La ventana cambiará y te permitirá escribir la dirección de un Puntero y un Offset.\n"
"Completa como dirección la dirección que acabas de encontrar.\n"
"Si la instrucción del ensamblador tiene un cálculo (por ejemplo: [esi + 12]) al final, escribe el valor que está al final. de lo contrario, déjalo a 0. Si fuera una instrucción más complicada, mira el cálculo.\n"
"\n"
"Ejemplo de una instrucción más complicada:\n"
"[EAX * 2 + EDX + 00000310] eax = 4C y edx = 00801234.\n"
"En este caso, EDX sería el valor que tiene el puntero y EAX * 2 + 00000310 el Offset, por lo que el Offset que completaría sería 2 * 4C + 00000310 = 3A8. (Esto esta todo en hexadecimal, usa calc.exe desde Windows en modo científico para calcular)\n"
"\n"
"De vuelta al tutorial, haz clic en Aceptar y se agregará la dirección. Si todo salió bien, la dirección mostrará P-> xxxxxxx, siendo xxxxxxx la dirección del valor que encontró. Si eso no está bien, has hecho algo mal.\n"
"Ahora, cambia el valor usando el puntero que agregastes en 5000 y congelalo. A continuación, haz clic en Cambiar puntero, y si todo fue bien el botón 'Siguiente' se hará visible.\n"
"\n"
"\n"
"extra:\n"
"Y también podrías usar el escáner de punteros para encontrar el puntero a esta dirección.\n"

#: unit7.rswelldoneyouscrewedupthetutorial
msgctxt "unit7.rswelldoneyouscrewedupthetutorial"
msgid "Well done, you screwed up the tutorial!!!!"
msgstr "Bien hecho, jodiste el tutorial !!!!"

#: unit7.rsyouvegotsecondslefttochangethevalueto5000
msgid "You have %s second%s left to change the value to 5000"
msgstr "Tienes %s second %s para cambiar el valor a 5000"

#: unit8.rsawyouredeathletmereviveyou
msgctxt "unit8.rsawyouredeathletmereviveyou"
msgid "Aw, you're dead! Let me revive you"
msgstr "Aw, estas muerto! Deja que te reviva"

#: unit8.rshealth
msgid "Health"
msgstr "Salud"

#: unit8.rsloser
msgctxt "unit8.rsloser"
msgid "BOO"
msgstr "¡Buuuuh! (abucheo)"

#: unit8.rsstep7codeinjectionpw
msgid "Step 7: Code Injection: (PW=%s)"
msgstr "Paso 7: Inyección de Código: (PW=%s)"

#: unit8.rstryagain8
msgid "Code injections too tough? No problem, memory scanning and basic pointers should be enough to get you experienced enough and you can always try the tutorial later. Are you sure you want to quit?"
msgstr "¿Las inyecciones de código son demasiado duras? No hay problema, el escaneo de la memoria y los punteros básicos deberían ser suficientes para que tengas suficiente experiencia y siempre puedes probar el tutorial más adelante. ¿Seguro que quieres salir?"

#: unit8.rstutorialstep7
msgid ""
"Code injection is a technique where you inject a piece of code into the target process, and then reroute the execution of code to go through your own written code.\n"
"\n"
"In this tutorial you'll have a health value and a button that will decrease your health by 1 each time you click it.\n"
"Your task is to use code injection to make the button increase your health by 2 each time it is clicked\n"
"\n"
"Start with finding the address and then find what writes to it.\n"
"then when you've found the code that decreases it browse to that address in the disassembler, and open the auto assembler window (ctrl+a)\n"
"There click on template and then code injection, and give it the address that decreases health (If it isn't already filled in correctly)\n"
"That will generate a basic auto assembler injection framework you can use for your code.\n"
"\n"
"Notice the alloc, that will allocate a block of memory for your code cave, in the past, in the pre windows 2000 systems, people had to find code caves in the memory(regions of memory unused by the game), but that's luckily a thing of the past since windows 2000, and will these days cause errors when trying to be used, due to SP2 of XP and the NX bit of new CPU's\n"
"\n"
"Also notice the line newmem: and originalcode: and the text \"Place your code here\"\n"
"As you guessed it, write your code here that will increase the  health with 2.\n"
"An usefull assembler instruction in this case is the \"ADD instruction\"\n"
"here are a few examples:\n"
"\"ADD [00901234],9\" to increase the address at 00901234 with 9\n"
"\"ADD [ESP+4],9\" to increase the address pointed to by ESP+4 with 9\n"
"In this case, you'll have to use the same thing between the brackets as the original code has that decreases your health\n"
"\n"
"Notice:\n"
"It is recommended to delete the line that decreases your health from the original code section, else you'll have to increase your health with 3 (you increase with 3, the original code decreases with 1, so the end result is increase with 2), which might become confusing. But it's all up to you and your programming.\n"
"\n"
"Notice 2:\n"
"In some games the original code can exist out of multiple instructions, and sometimes, not always, it might happen that a code at another place jumps into your jump instruction end will then cause unknown behavior. If that happens, you should usually look near that instruction and see the jumps and fix it, or perhaps even choose to use a different address to do the code injection from. As long as you're able to figure out the address to change from inside your injected code.\n"
msgstr ""
"La inyección de código es una técnica en la que se inyecta un fragmento de código en el proceso de destino y luego se vuelve a enrutar la ejecución del código para que pase por su propio código escrito.\n"
"\n"
"En este tutorial, tendrás un valor de salud y un botón que disminuirá tu salud en 1 cada vez que hagas clic en él.\n"
"Tu tarea es usar el inyector de código para hacer que el botón aumente su salud en 2 cada vez que se hace clic\n"
"\n"
"Comienza por encontrar la dirección y luego encuentra lo que le escribe.\n"
"luego, cuando hayas encontrado el código que lo disminuye, busca esa dirección en el desensamblador y abre la ventana del Auto ensamblador (ctrl + a)\n"
"Allí, haz clic en la plantilla y luego en el código de inyección, y dale la dirección que disminuye la salud (si aún no se ha completado correctamente)\n"
"Eso generará un marco de inyección de ensamblador automático básico que puedes utilizar para tu código.\n"
"\n"
"Observa la asignación, que asignará un bloque de memoria para su grupo de código, en el pasado, en los sistemas anteriores a Windows 2000, las personas tenían que encontrar grupos de código en la memoria (regiones de memoria no utilizadas por el juego), pero afortunadamente eso es un cosa del pasado desde Windows 2000, y en estos días causará errores al intentar ser utilizado, debido al SP2 de XP y el bit NX de las nuevas CPU\n"
"\n"
"Observa también la línea newmem: y el código original: y el texto \"Coloca tu código aquí\"\n"
"Como has adivinado, escribe tu código aquí que aumentará la salud con 2.\n"
"Una instrucción de ensamblador útil en este caso es la \"instrucción ADD\"\n"
"Aquí están algunos ejemplos:\n"
"\"ADD [00901234], 9\" para aumentar la dirección en 00901234 con 9\n"
"\"ADD [ESP + 4], 9\" para aumentar la dirección apuntada por ESP + 4 con 9\n"
"En este caso, tendrás que usar lo mismo entre los corchetes que tiene el código original que disminuye tu salud.\n"
"\n"
"Aviso:\n"
"Se recomienda eliminar la línea que disminuye su salud de la sección del código original, de lo contrario tendrás que aumentar tu salud con 3 (si aumentas con 3, el código original disminuye con 1, por lo que el resultado final aumenta con 2) , lo que podría llegar a ser confuso. Pero todo depende de ti y tu programación.\n"
"\n"
"Aviso 2:\n"
"En algunos juegos, el código original puede existir a partir de múltiples instrucciones y, a veces, no siempre, puede suceder que un código en otro lugar salte al final de tu instrucción de salto y cause un comportamiento desconocido. Si eso sucede, normalmente deberías mirar cerca de esa instrucción y ver los saltos y corregirlos, o tal vez incluso  utilizar una dirección diferente para realizar la inyección del código. Siempre y cuando puedas averiguar la dirección para cambiar dentro de tu código inyectado.\n"

#: unit9.rsloser
msgctxt "unit9.rsloser"
msgid "BOO"
msgstr "¡Buuuuh! (abucheo)"

#: unit9.rsstep8multilevelpointerspw
msgid "Step 8: Multilevel pointers: (PW=%s)"
msgstr "Paso 8: Punteros multilevel: (PW=%s)"

#: unit9.rstryagain9
msgid "Aw, you've almost reached the end. But don't worry, multilevel pointers can be a real pain when dealing with. If you get more experienced someday you can try it again. Are you sure you want to quit?"
msgstr "Aw, casi has llegado al final. Pero no te preocupes, los punteros de múltiples niveles pueden ser un verdadero dolor de cabeza. Si adquieres más experiencia algún día, puedes intentarlo de nuevo. ¿Seguro que quieres salir?"

#: unit9.rstutorialstep8
msgid ""
"This step will explain how to use multi-level pointers.\n"
"In step 6 you had a simple level-1 pointer, with the first address found already being the real base address.\n"
"This step however is a level-4 pointer. It has a pointer to a pointer to a pointer to a pointer to a pointer to the health.\n"
"\n"
"You basicly do the same as in step 6. Find out what accesses the value, look at the instruction and what probably is the base pointer value, and what is the offset, and already fill that in or write it down. But in this case the address you'll find will also be a pointer. You just have to find out the pointer to that pointer exactly the same way as you did with the value. Find out what accesses that address you found, look at the assembler instruction, note the probable instruction and offset, and use that.\n"
"and continue till you can't get any further (usually when the base address is a static address, shown up as green)\n"
"\n"
"Click Change Value to let the tutorial access the health.\n"
"If you think you've found the pointer path click Change Register. The pointers and value will then change and you'll have 3 seconds to freeze the address to 5000\n"
"\n"
"Extra: This problem can also be solved using a auto assembler script, or using the pointer scanner\n"
"Extra2: In some situations it is recommended to change ce's codefinder settings to Access violations when \n"
"Encountering instructions like mov eax,[eax] since debugregisters show it AFTER it was changed, making it hard to find out the the value of the pointer\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"Extra3: If you're still reading. You might notice that when looking at the assembler instructions that the pointer is being read and filled out in the same codeblock (same routine, if you know assembler, look up till the start of the routine). This doesn't always happen, but can be really useful in finding a pointer when debugging is troublesome\n"
msgstr ""
"Este paso explicará cómo utilizar punteros de varios niveles.\n"
"En el paso 6 tenías un puntero de nivel 1 simple, con la primera dirección encontrada como dirección base real.\n"
"Este paso sin embargo es un puntero de nivel 4. Tiene un puntero a un puntero a un puntero a un puntero a un puntero a la salud.\n"
"\n"
"Básicamente, haz lo mismo que en el paso 6. Averigua qué accede al valor, mira la instrucción y cuál es probablemente el valor del puntero base, y cuál es el Offset, y llénalo o escríbelo. Pero en este caso la dirección que encontrarás también será un puntero. Solo tienes que encontrar el puntero a ese puntero exactamente de la misma manera que lo hiciste con el valor. Averigua qué accesos encontró en esa dirección, mira la instrucción del ensamblador, anota la instrucción probable y el Offset, y usa eso.\n"
"y continúa hasta que no puedas seguir avanzando (generalmente cuando la dirección base es una dirección estática, que se muestra en verde)\n"
"\n"
"Haz clic en Cambiar valor para permitir que el tutorial acceda al estado.\n"
"Si crees que has encontrado la ruta del puntero, haz clic en Cambiar registro. Los punteros y el valor cambiarán y tendrás 3 segundos para congelar la dirección a 5000\n"
"\n"
"Extra: este problema también se puede resolver con un script de ensamblador automático o con el escáner de puntero\n"
"Extra2: en algunas situaciones, se recomienda cambiar la configuración del buscador de código de CE a las violaciones de acceso cuando\n"
"se encuentran instrucciones como mov eax, [eax] ya que los registros de depuración lo muestran DESPUÉS de que se cambiase, lo que dificulta encontrar el valor del puntero\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"Extra3: Si sigues leyendo. Puedes observar que al mirar las instrucciones del ensamblador, el puntero se está leyendo y rellenando en el mismo bloque de código (la misma rutina, si conoces ensamblador, busca hasta el inicio de la rutina). Esto no siempre sucede, pero puede ser realmente útil para encontrar un puntero cuando la depuración es problemática.\n"

#: unit9.rsunrandomizerdetected
msgid "Unrandomizer detected"
msgstr "Unrandomizer detectado"

#: unit9.rsyouvegotsecondslefttochangethevalueto5000
msgid "You've got %s seconds left to change the value to 5000"
msgstr "Tienes %s segundos para cambiar el valor a 5000"
