Dead Cells

Dead Cells

27 ratings
Asignación de botones (teclado y mouse)
By compilador html ★★★
¡Esquivar con la ruedita del mouse, intercambiar habilidades con Bloq Mayús, abrir el mapa con la tecla Windows, teclas y acciones ocultas, y no mucho más! Consigue la configuración ideal usando solo el bloc de notas.
   
Award
Favorite
Favorited
Unfavorite
Actualización Breaking Barriers
https://gtm.steamproxy.vip/games/588650/announcements/detail/3346752589077077088
La actualización, Breaking Barriers, añadió dos acciones y trajo cambios que modificaron un poco los contenidos que se trataban en esta guía. Ya está todo al día, actualizado y listo para leerse.


Guía actualizada a la versión del juego: (v35 - 2024-08-26)
https://gtm.steamproxy.vip/games/588650/announcements/detail/6100774879119621995

todavía no se pueden asignar las rueditas desde el menú
Prefacio
Comprenderán tanto como su servidor la importancia de, al embarcar en un nuevo videojuego, inspeccionar la sección de configuración. Entonces, damas y caballeros, sabrán notar que en Dead Cells existen teclas y botones que no se pueden asignar. Las rueditas del mouse constituyendo dicho listado de in-asignables, ¡Pecado capital de los souls!, éstas son sagradas y su falta es un tormento.
Mi fervor por este juego era inmenso, así que me lancé a la tarea de investigar en distintas páginas acerca del percance...
¿Qué clase de blasfemos eran los desarrolladores para privarnos de tan sagradas herramientas de los dioses? Me repetía a mí mismo mientras indagaba.
Ante la falta de informes me vi desalentado, debía hallar información, pero ni Google, ni la wiki, ni Reddit supieron iluminarme. Estaba ante un muro. Todos parecían aceptar las arbitrariedades impuestas por estos herejes y se decantaron por usar mando🤢[puajj.jj].
Luego de una ardua búsqueda e investigación, en compañía de música cristiana durante largas horas, logré mi cometido... lo único que espero es complacer a mi Gremio de Puristas Tecladomousesco...
Introducción
Ya quitando un poco la tonalidad devota, en esta guía te enseñaré a encontrar el archivo de configuración del juego, a entender la sección de controles dentro del archivo y crear tu propia configuración. Abarcaré también algunas acciones que no se pueden cambiar en el menú del juego y, tal como mencioné en el prefacio, teclas imposibles de asignar... ahora veremos si son tan in-asignables.

Desde ahora me referiré a los botones/teclas/lo que sea como "botones" y al teclado/mouse como "periférico". Así que botón engloba todo lo que sea tocable.:)

Procedamos a asignar cualquier cosa a cualquier acción.
Carpeta "save"
En la carpeta save ~ o remote, en caso de tener activada la nube de Steam ~ se encuentra la configuración general del juego y los datos de partidas. Está ubicada en:

ꜱᴛᴇᴀᴍ:
C:\Program Files (x86)\Steam\steamapps\common\Dead Cells\save
C:\Program Files (x86)\Steam\userdata\<ID de usuario>\588650\remote

ɢᴏɢ:
C:\GOG Games\Dead Cells\save

ꜱɪ ᴛᴇ ɢᴜꜱᴛᴀ ᴍᴜᴄʜᴏ ᴇʟ ᴩᴇʟɪɢʀᴏ, ᴇꜱᴛᴀꜱ ꜱᴏɴ ᴀʟɢᴜɴᴀꜱ ᴀʟᴛᴇʀɴᴀᴛɪᴠᴀꜱ:
<Carpeta del juego>\Profile\<ID>\Saves
<Carpeta del juego>\save

Dentro de la carpeta está el archivo "dc_options.json", que contiene la configuración de controles y otras cosas. Se puede abrir con bloc de notas.
dc_options.json
A continuación, una esquematización sobre qué representa cada sección del archivo...
Puede parecer mucho texto y abrumador cuando lo examines, pero es más sencillo de lo que parece ya que solo nos servirá un trozo de todo esto.
No asustarse. Los puntitos están para indicar que hay más cosas, aunque no son cosas tan relevantes... por ahora.
    ɪɴɪᴄɪᴏ ᴅᴇʟ ᴀʀᴄʜɪᴠᴏ
    {
    ᴏᴩᴄɪᴏɴᴇꜱ ɢᴇɴᴇʀᴀʟᴇꜱ
    "gamepadRumble": true, "isEditingCustomBindings": false,
    ɢᴀᴍᴇᴩᴀᴅ_ɴᴏʀᴍᴀʟ ▘ᶜᵒⁿᶠⁱᵍᵘʳᵃᶜⁱᵒⁿ ᵈᵉ ᶜᵒⁿᵗʳᵒˡᵉˢ ᵈᵉˡ ᵐᵃⁿᵈᵒ ▘
    "gamepad_normal": { "map_zoom_in": [ 7, null, null ], "activate": [ 9, null, null ], "map_zoom_out": [ 6, null, null ], . . . "left_skill": [ 6, null, null ], "homunculus": [ 11, null, null ], "main_weapon": [ 2, null, null ] },
    ɢᴀᴍᴇᴩᴀᴅ_ᴄᴜꜱᴛᴏᴍ ▘ᶜᵒⁿᶠⁱᵍᵘʳᵃᶜⁱᵒⁿ ᵈᵉ ᶜᵒⁿᵗʳᵒˡᵉˢ ᵈᵉˡ ᵐᵃⁿᵈᵒ ⁽ᶜᵘˢᵗᵒᵐ⁾ ▘
    "gamepad_custom": { "map_zoom_in": [ 7, null, null ], "activate": [ 9, null, null ], "map_zoom_out": [ 6, null, null ], . . . "left_skill": [ 6, null, null ], "homunculus": [ 11, null, null ], "main_weapon": [ 2, null, null ] },
    ᴏᴩᴄɪᴏɴᴇꜱ ɢᴇɴᴇʀᴀʟᴇꜱ ɪɪ - ᴇʟ ᴀᴛᴀqᴜᴇ ᴅᴇ ʟᴏꜱ ᴄʟᴏɴᴇꜱ
    "leftStickDeadzone": 0.3, "longActivateBind": 0, "diveAttackBind": 0, "lstickFunction": 0, "rstickFunction": 1, "dpadFunction": 2, "captureMouse": true,
    ᴋᴇyʙᴏᴀʀᴅ_ɴᴏʀᴍᴀʟ ▘ᶜᵒⁿᶠⁱᵍᵘʳᵃᶜⁱᵒⁿ ᵈᵉ ᶜᵒⁿᵗʳᵒˡᵉˢ ᵈᵉˡ ᵗᵉᶜˡᵃᵈᵒ ʸ ᵐᵒᵘˢᵉ ▘
    "keyboard_normal": { "map_zoom_in": [ 79, 107, null, null ], "activate": [ 82, null, null, null ], "map_zoom_out": [ 85, 109, null, null ], . . . "left_skill": [ 81, 3, 52, null ], "homunculus": [ 86, 2, null, null ], "main_weapon": [ 0, 49, null, null ] },
    ᴋᴇʏʙᴏᴀʀᴅ_ᴄᴜꜱᴛᴏᴍ ▘ᶜᵒⁿᶠᶦᵍᵘʳᵃᶜᶦᵒⁿ ᵈᵉ ᶜᵒⁿᵗʳᵒˡᵉˢ ᵈᵉˡ ᵗᵉᶜˡᵃᵈᵒ ʸ ᵐᵒᵘˢᵉ ⁽ᶜᵘˢᵗᵒᵐ⁾ ▘
    "keyboard_custom": { "map_zoom_in": [ 79, 107, null, null ], "activate": [ 82, null, null, null ], "map_zoom_out": [ 85, 109, null, null ], . . . "left_skill": [ 81, 3, 52, null ], "homunculus": [ 86, 2, null, null ], "main_weapon": [ 0, 49, null, null ] },
    ᴏᴩᴄɪᴏɴᴇꜱ ɢᴇɴᴇʀᴀʟᴇꜱ ɪɪɪ - ʟᴀ ᴠᴇɴɢᴀɴᴢᴀ ᴅᴇ ʟᴏꜱ ꜱɪᴛʜ
    "holdToAttack": false, "holdToJump": false, "pressToggleShield": false, "holdToDodge": false, "stopDodgeOnCliff": false, . . . "uniqId": "theGame", "debug": null, "assistMode": {...} "savedAssistMode": {...}
    ꜰɪɴ ᴅᴇʟ ᴀʀᴄʜɪᴠᴏ
    }

La guía se enfocará en la sexta sección, ᴋᴇʏʙᴏᴀʀᴅ_ɴᴏʀᴍᴀʟ. Comienza en la línea ~385 del archivo.
Normal y Custom
La pregunta que puede surgir al ver lo anterior es ¿Por qué hay dos secciones dedicadas, tanto para teclado (y mouse) como para mando?

gamepad_normal
gamepad_custom
keyboard_normal
keyboard_custom

Como algunos ya habrán visto: en el menú de partida personalizada se puede optar por una configuración NORMAL, o por una CUSTOM. La única diferencia (y si me equivoco que alguien me corrija) es que en la configuración CUSTOM te deja atacar con el arma primaria y secundaria usando un mismo botón. Sin embargo, no se podrá desbloquear logros con la configuración CUSTOM.
Por defecto, con la configuración NORMAL, el juego sí te deja usar el mismo botón para todo, salvo para atacar...

Para tener al menos un poco de contexto, la división de asignaciones puede haberse dado por las builds "dual-binding" que usaban algunas personas (esto es pura especulación).
(pequeño ejemplo cómico):
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=2391473201
Para que esto se entienda mejor; el juego carga 3 configuraciones:
Configuración predeterminada (la que, supongo, está en el código del juego)
Configuración NORMAL (editada mediante el menú)
Configuración CUSTOM (editada mediante el menú de partida personalizada)

El juego SIEMPRE cargará la configuración predeterminada. A partir de ahí cargará la configuración NORMAL o CUSTOM.


Entonces:
Partida normal: cargará la configuración predeterminada y la NORMAL.
Partida personalizada: cargará la configuración predeterminada y la NORMAL.
Partida personalizada, con asignación alternativa (CUSTOM): cargará la configuración predeterminada y la CUSTOM.

Lo ideal es que simplemente modifiquemos la sección KEYBOARD_NORMAL, sin molestarnos en ver KEYBOARD_CUSTOM, ya que la configuración que el juego DE BASE carga, sin necesidad de tocar nada, es la NORMAL
keyboard_normal
Aclaración: se puede configurar tanto teclado como mouse en esta sección del archivo, aunque su índice diga keyboard (teclado en inglés).

Acá tenemos lo más valioso de la guía, cualquier fallo puede destruir la línea temporal.

Para hacer esto más sencillo usaremos una herramienta que nos hará la vida mucho más fácil: expresiones regulares (RegEx). No hará falta explicar qué hacen o cómo se las usa.
Lo único que tendrás que hacer es:
  • Copiar el contenido de dc_options.json
  • Pegar el contenido en la página https://regexr.com/6ov02 (donde dice "EL TEXTO VA AQUÍ")
  • Copiar los resultados
  • Pegar los resultados en dc_options.json

Una vez hecho todo, keyboard_normal debería estar en la línea ~89 y tendría que verse así:
"keyboard_normal": { "map_zoom_in": [79,107,null,null], "activate": [82,null,null,null], "map_zoom_out": [85,109,null,null], "right": [68,39,null,null], "map_focus": [72,96,null,null], "right_skill": [69,4,51,null], "map_right": [76,102,null,null], "ui_swap_alt": [89,null,null,null], "cam_up": [73,null,null,null], "cancel": [27,null,null,null], "ui_next": [69,34,null,null], "map_up": [73,104,null,null], "cam_right": [76,null,null,null], "map_down": [75,98,null,null], "long_activate": [null,null,null,null], "ui_prev": [81,33,null,null], "ui_swap": [88,null,null,null], "dodge": [16,17,null,null], "map_left": [74,100,null,null], "up": [87,38,null,null], "map": [9,null,null,null], "down": [83,40,null,null], "side_weapon": [1,50,null,null], "validate": [32,13,null,null], "heal": [70,72,2,null], "jump": [32,87,38,null], "map_switch": [81,null,null,null], "ui_swap_bp": [82,null,null,null], "left": [65,37,null,null], "menu": [27,null,null,null], "cam_down": [75,null,null,null], "menu_secondary": [9,81,null,null], "cam_left": [74,null,null,null], "dive_attack": [null,null,null,null], "left_skill": [81,3,52,null], "homunculus": [86,2,null,null], "main_weapon": [0,49,null,null] },

Voy a limpiar un poco esto para explicar algo..
Vualá...
"keyboard_normal": { "map_zoom_in": [], "activate": [], "map_zoom_out": [], "right": [], "map_focus": [], "right_skill": [], "map_right": [], "ui_swap_alt": [], "cam_up": [], "cancel": [], "ui_next": [], "map_up": [], "cam_right": [], "map_down": [], "long_activate": [], "ui_prev": [], "ui_swap": [], "dodge": [], "map_left": [], "up": [], "map": [], "down": [], "side_weapon": [], "validate": [], "heal": [], "jump": [], "map_switch": [], "ui_swap_bp": [], "left": [], "menu": [], "cam_down": [], "menu_secondary": [], "cam_left": [], "dive_attack": [], "left_skill": [], "homunculus": [], "main_weapon": [] },
    (lo que quité era relevante, más adelante se explicará)

Voy a ordenarlo de manera que sea similar al menú de configuración del juego...

"keyboard_normal": { "up": [], "left": [], "down": [], "right": [], "jump": [], "dive_attack": [], "dodge": [], "main_weapon": [], "side_weapon": [], "left_skill": [], "right_skill": [], "activate": [], "heal": [], "cam_up": [], "cam_left": [], "cam_down": [], "cam_right": [], "homunculus": [], "menu": [], "map": [], "map_focus": [], "map_zoom_in": [], "map_zoom_out": [], "map_up": [], "map_left": [], "map_down": [], "map_right": [], "ui_next": [], "ui_prev": [], "ui_swap_bp": [], "long_activate": [], "map_switch": [], "ui_swap": [], "ui_swap_alt": [], "cancel": [], "validate": [], "menu_secondary": [] },

A partir de esto tenemos 31 acciones que se pueden cambiar dentro del juego y 6 acciones ocultas, que solo se pueden cambiar desde el archivo "dc_options.json"...

    "up"
    "left"
    "down"
    "right"
    "jump"
    "dive_attack"
    "dodge"
    "main_weapon"
    "side_weapon"
    "left_skill"
    "right_skill"
    "activate"
    "heal"
    "cam_up"
    "cam_left"
    "cam_down"
    "cam_right"
    "homunculus"
    "menu"
    "map"
    "map_focus"
    "map_zoom_in"
    "map_zoom_out"
    "map_up"
    "map_left"
    "map_down"
    "map_right"
    "ui_next"
    "ui_prev"
    "ui_swap_bp"
    "long_activate"
    "map_switch"
    "ui_swap"
    "ui_swap_alt"
    "cancel"
    "validate"
    "menu_secondary"

Ahora con las acciones listadas y acomodadas parece como si fuera suficiente, finalmente conseguirás tu configuración ideal y obtendrás esa quinta célula de jefe, pero en realidad no lo es. Todavía faltan unos cuantos puntos por tratar, así que eliminemos la posibilidad de que destruyas la línea temporal y veamos en qué consiste cada acción...
Listado de acciones
ᴜᴩ
    Subir escaleras.
ʟᴇꜰᴛ
    Moverse a la izquierda.
ᴅᴏᴡɴ
    Agacharse/Bajar escaleras.
ʀɪɢʜᴛ
    Moverse a la derecha.
ᴊᴜᴍᴩ
    Saltar.
ᴅɪᴠᴇ_ᴀᴛᴛᴀᴄᴋ
    Ataque hacia abajo (en el aire weon).
ᴊᴜᴍᴩ_ᴅᴏᴡɴ
    Bajar de una plataforma.
ᴅᴏᴅɢᴇ
    Rodar/Esquivar.
ᴍᴀɪɴ_ᴡᴇᴀᴩᴏɴ
    Atacar con arma primaria (izquierda).
ꜱɪᴅᴇ_ᴡᴇᴀᴩᴏɴ
    Atacar con arma secundaria (derecha).
ʟᴇꜰᴛ_ꜱᴋɪʟʟ
    Habilidad primaria (izquierda).
ʀɪɢʜᴛ_ꜱᴋɪʟʟ
    Habilidad secundaria (derecha).
ᴀᴄᴛɪᴠᴀᴛᴇ
    Recoger/Activar/Abrir/Equipar/Reciclar (mantener)/Examinar/Entrar/Salir.
ʜᴇᴀʟ
    Curarse.
ᴄᴀᴍ_ʟᴇꜰᴛ⧸ᴄᴀᴍ_ᴜᴩ⧸ᴄᴀᴍ_ʀɪɢʜᴛ⧸ᴄᴀᴍ_ᴅᴏᴡɴ
    Desplazar la cámara hacia la izquierda/arriba/derecha/abajo.
ʜᴏᴍᴜɴᴄᴜʟᴜꜱ
    Salir del cuerpo (desbloqueable después de terminar el juego).
ʟᴏɴɢ_ᴀᴄᴛɪᴠᴀᴛᴇ
    Acción secundaria (reciclar).
ᴜɪ_ꜱᴡᴀᴩ
    Intercambiar armas.
    Otras acciones: actualizar la clasificación de desafíos diarios.
ᴜɪ_ꜱᴡᴀᴩ_ᴀʟᴛ
    Intercambiar habilidades.
    Otras acciones: guardar arma en la mochila, mostrar u ocultar objetos desbloqueados en el menú del coleccionista y ver la puntuación personal en desafíos diarios.
ᴜɪ_ꜱᴡᴀᴘ_ʙᴘ
    Intercambiar objeto de la mochila (desde el menú).
Listado de acciones II
ᴍᴇɴᴜ
    Abrir/Cerrar menú.
ᴍᴀᴩ
    Abrir/Cerrar mapa.
ᴍᴀᴘ_ꜱᴡɪᴛᴄʜ
    Cambiar la visualización del mapa.
ᴍᴀᴩ_ᴜᴩ
    Mover el mapa hacia arriba.
ᴍᴀᴩ_ʟᴇꜰᴛ
    Mover el mapa hacia la izquierda.
ᴍᴀᴩ_ᴅᴏᴡɴ
    Mover el mapa hacia abajo.
ᴍᴀᴩ_ʀɪɢʜᴛ
    Mover el mapa hacia la derecha.
ᴍᴀᴩ_ᴅᴏᴡɴ⧸ᴍᴀᴩ_ᴜᴩ
    Bajar/Subir vista de texto en el menú de equipo.
ᴍᴀᴩ_ꜰᴏᴄᴜꜱ
    Centrar mapa en el personaje.
ᴍᴀᴩ_ᴢᴏᴏᴍ_ᴏᴜᴛ⧸ᴍᴀᴩ_ᴢᴏᴏᴍ_ɪɴ
    Disminuir/Incrementar zoom en el mapa.
ᴜɪ_ᴩʀᴇᴠ⧸ᴜɪ_ɴᴇxᴛ
    Día anterior/siguiente de la clasificación de desafíos diarios.
    Otras acciones: aumentar o disminuir el número de células de la partida.
ᴄᴀɴᴄᴇʟ
    Atrás/Cancelar.
ᴠᴀʟɪᴅᴀᴛᴇ
    Aceptar/Confirmar.
ᴍᴇɴᴜ_ꜱᴇᴄᴏɴᴅᴀʀy
    NO HACE NADA...
Numeritos
Previamente removí esto...
"keyboard_normal": { "map_zoom_in": [49,null,null,null], "activate": [69,null,null,null], . . . "main_weapon": [0,null,null,null] },

En el archivo (sin editar) se ve así:

Tomaré una acción para que se entienda mejor...

"map_zoom_in": [ 33, null, null, null ],

¿Qué significan estos numeritos? Bien, esto se puede interpretar como:


Cada número se traduce a un botón de nuestro periférico. Por ejemplo, el número "65" se traduce a la letra A, el "37" a la FLECHA IZQUIERDA, el "0" es un click del mouse, etc...
Más adelante dejé un listado de estos números, pero sigamos con lo nuestro ya que todavía nos falta un poco.
Editar dc_options.json
A continuación, unas cuantas consideraciones para modificar correctamente el archivo dc_options.json. Si hasta este punto te queda claro lo que tienes que hacer, puedes saltar al segmento Un poco de información de la guía. Por otro lado, esta trilogía puede ayudarte a entender un poco más - y simplificarte - el archivo.

IMPORTANTE: cerrar el juego antes de editar dc_options.json

No hay que temer a la hora de editarlo. Después de todo, solo se trata de cambiar numeritos por numeritos y no borrar de más. Al cometer un error e iniciar el juego, este no crashea ni nada, lo máximo que puede ocurrir es que dc_options.json se reestablezca a como venía de fábrica. Además, hay ocasiones específicas en las que el juego simplemente ignora el error y continúa la ejecución sin reestablecerlo. Nada más que señalar, comencemos el baile de pautas.

Los corchetes agrupan los números de los botones y la coma los sepa-... ¿¿De qué te estoy hablando??, ¿De qué las separa?, ¿Cuál corchete?, ¿De dónde saqué este conjunto de reglas tan de la manga?, verás: en programación, aunque haya otra línea, todo se lee de corrido.

Entonces esto:
"map_zoom_in": ⟦ primera línea 33, segunda línea null, tercera línea null, cuarta línea null quinta línea ], sexta línea

Realmente está escrito de esta manera:
"map_zoom_in": [33,null,null,null], una sola línea

Continuemos; los corchetes agrupan aquellos botones que harán la acción, y cada coma ( , ) los separa.

Entonces:
.png]

Con todo esto claro, aquí va un ejemplo de cómo asignar ENTER a la acción ACEPTAR:
Sabemos que la acción es validate (teniendo en cuenta el listado de acciones) y la tecla ENTER es "13":) (tomado del listado de teclas/botones).

Nos quedaría algo así:
"validate": [13,null,null,null], acción asignaciones

O si prefieres la estructura original:
"validate": ⟦ acción 13, asignación null, asignación null, asignación null asignación ],

Desde ahora tomaré esta estructura .png] para mostrar ejemplos, ya que es más sencilla, legible, no ocupa tantas líneas y, aún más importante, no da errores.
Espero que hayas seguido los pasos en keyboard_normal, porque sino estás frito :/


Ya que ahora estás un poco más consciente sobre los corchetes, me voy a permitir contradecir lo que escribí hace 10 párrafos; existe un error gravísimo que puede crashearte el juego...
Escribir las asignaciones así:
"map_zoom_out": 85,
Forma correcta:
"map_zoom_out": [85],
Todo listo, continuemos con las pautas.


Se pueden poner cantidades inmensas de botones después de la tercer coma, pero el juego no nos tomará lo escrito ~ a pesar de que la forma auto generada del archivo nos dé a entender que podemos sobrepasar los límites y asignar cuantas teclas nos guste ~.

Es lo mismo poner esto:
"validate": [13,68,69],
Que esto:
    El archivo no se reestablecerá, pero se ignorarán los botones que vengan después del tercero.


Es posible asignar solo un botón (o solo dos botones) a una acción y no poner nada más.

Estos ejemplos son válidos:
"validate": [13], "validate": [13,14],

Es más, siquiera es obligatorio escribir un botón a la acción. El juego lo tomará como válido y no asignará absolutamente nada.

Ejemplo:
"validate": [],


Nunca debes poner ceros "000" como prefijos de los números.

No es lo mismo esto:
"validate": [013], "validate": [00013], "validate": [00000013],
Que esto:
"validate": [13],
    El archivo se reestablecerá si hay prefijos en los números.

Otro error que también se puede dar es escribir las acciones en mayúscula, o alguna de sus letras.

No es lo mismo esto:
"ValidAte": [13], "VALiDate": [13], "VALIDATE": [13],
Que esto:
"validate": [13],
    El archivo no se reestablecerá por este error, pero la acción "validate" quedará sin asignar hasta que la escribas correctamente.

Editar dc_options.json: la venganza de la edición
Recuerda siempre poner la coma ( , ) cuando es debido. Solo sirven para separar acciones y botones. No pongas comas de más pero tampoco olvides colocarlas, su mal uso causará que se restablezca el archivo.

Ejemplos no válidos:
"validate": [13,], "map_zoom_in": [33] "main_weapon": [33 34],

La primera línea no es válida ya que no se especificó ningún botón después de la coma, o se puso una coma porque sí.

Para explicar por qué la segunda línea es inválida hay que recordar que todo se lee de corrido.
Por lo tanto, el ejemplo en realidad está escrito así:
"validate": [13,], "map_zoom_in": [33]"main_weapon": [33 34],
Hay que tener en cuenta que las acciones también se separan con una coma; no hay una coma después de los corchetes de map_zoom_in, lo que significa que la siguiente acción, main_weapon, será ignorada y no tendrá asignación. O podría también interpretarse que ambas acciones map_zoom_in y main_weapon serán omitidas.
El juego tomaría esto:
¿O tomaría solo esto?:
"validate": [13,], "map_zoom_in": [33]"main_weapon": [33 34],
Sin importar cómo lo veamos, el juego reestablecerá el archivo.

Por último, la tercera línea está mal porque claramente se usó un espacio en vez de coma para separar los botones.
    El archivo se restablecerá en los tres casos.
El ejemplo sería válido si estuviera escrito así:
"validate": [13], "map_zoom_in": [33], "main_weapon": [33,34],


Siguiendo la regla anterior tenemos que la coma también separa a las acciones, de la misma forma que separa los botones. Si quieres reordenar las acciones y darle un toque único al archivo, tendrás que entender lo siguiente:

Este ejemplo es inválido (tomaré solo tres acciones para mostrar mejor lo que explicaré):
"keyboard_normal": { "validate": [13], "map_zoom_in": [33], "main_weapon": [33,34], }
Recordemos que todo es una sola línea, entonces:
"keyboard_normal": {"validate": [13],"map_zoom_in": [33],"main_weapon": [33,34],}

A partir del ejemplo tenemos 3 acciones, validate, map_zoom_in y main_weapon. La coma después de main_weapon nos indica que se escribirá otra acción (la coma previa a la llave })
"keyboard_normal": {"validate": [13],"map_zoom_in": [33],"main_weapon": [33,34],}
Pero no se escribió ninguna acción delante, por lo que la coma está de más. Error localizado.
Esta es la forma válida:
"keyboard_normal": {"validate": [13],"map_zoom_in": [33],"main_weapon": [33,34]}

Editar dc_options.json: el lado oscuro de la edición
Así como hay botones agrupados dentro de acciones...
"main_weapon": [33,34],
También hay acciones agrupadas, y están dentro de keyboard_normal:
"keyboard_normal": {"validate": [32,13],"main_weapon": [33,34]}

Y keyboard_normal también forma parte de una agrupación. Menudo inception más bonito, chaval.

La diferencia clara se ve en que la agrupación de acciones se hace con { llaves } y la de botones con [ corchetes ]. Esto tiene un sentido, pero ¿Importa realmente? No. Así que no lo explicaré

Profundicemos en lo siguiente:
Podíamos ingresar una acción y no asignarle nada. De esta manera:
"validate": [],
Recordemos que validate es una de las muchas acciones dentro de keyboard_normal...
"keyboard_normal": { <-------- se abre la llave "validate": [], <-------- acción "map_zoom_in": [33], <-------- acción "main_weapon": [33,34], <-------- acción } <-------- se cierra la llave
Existen 37 acciones. Pero, ¿Qué pasa si olvido escribir una acción?...
"keyboard_normal": { "map_zoom_in": [49,null,null,null], "activate": [69,null,null,null], "map_zoom_out": [50,null,null,null], "right": [68,null,null,null], "map_focus": [0,1,null,null], "right_skill": [52,null,null,null], "map_right": [39,68,null,null], "ui_swap_alt": [0,null,null,null], "cam_up": [38,null,null,null], "cancel": [8,27,null,null], "ui_next": [34,null,null,null], "map_up": [38,87,null,null], "cam_right": [39,null,null,null], "map_down": [40,83,null,null], "long_activate": [82,null,null,null], "ui_prev": [46,null,null,null], "ui_swap": [1,null,null,null], "dodge": [5,6,16,null], "map_left": [37,65,null,null], "up": [87,null,null,null], "map": [20,77,null,null], "down": [83,null,null,null], "side_weapon": [1,null,null,null], "heal": [70,null,null,null], "jump": [32,null,null,null], "map_switch": [69,null,null,null], "ui_swap_bp": [69,null,null,null], "left": [65,null,null,null], "menu": [27,9,null,null], "cam_down": [40,null,null,null], "menu_secondary": [null,null,null,null], "cam_left": [37,null,null,null], "dive_attack": [72,null,null,null], "left_skill": [51,null,null,null], "homunculus": [81,86,null,null], "main_weapon": [0,null,null,null] },
En el ejemplo no ingresé la acción validate, pero el juego lo toma como válido y no reestablece dc_options.json.

El punto es que podemos evitar escribir todas las acciones y el juego funcionará correctamente. También podríamos excluir enteramente una sección y obtendríamos el mismo resultado. De la siguiente manera:
{ "gamepadRumble": true, "isEditingCustomBindings": false, "leftStickDeadzone": 0.3, "longActivateBind": 1, "diveAttackBind": 0, "lstickFunction": 0, "rstickFunction": 1, "dpadFunction": 2, "captureMouse": true, "holdToAttack": false, "holdToJump": false, "pressToggleShield": false, "holdToDodge": false, "stopDodgeOnCliff": false, "timerPermanent": 0, "controlTuto": true, "showDodgeCd": true, "enemyAnnounce": false, . . . "twitchBoss": true, "curSlot": null, "version": "2022-06-20", "uniqId": "theGame", "debug": null }

¿Puedes encontrar las secciones gamepad_normal, gamepad_custom, keyboard_normal y keyboard_custom? No, ¿Verdad? El juego toma el ejemplo como válido. Eso sí, establecerá las secciones de la siguiente forma:
"gamepad_normal": null, "gamepad_custom": null, "keyboard_normal": null, "keyboard_custom": null,
y continuará alegremente su vida.
    Omití otras secciones de la configuración pero, como expliqué, el juego lo toma como válido.


La idea es que quites todo lo que no te sea necesario, por ejemplo: la acción menu_secondary, que no sirve para nada.
Podrías omitir completamente las secciones gamepad_normal, gamepad_custom y keyboard_custom ya que son innecesarias (al menos para esta guía), ocupan espacio y podrían confundirte.

Es importante que sigas estos ejemplos tal y como están, haciendo copypaste al más puro estilo ya que las reglas para escribir son estrictas, solo así el juego aceptará lo que escribas (saber un poco de programación también ayuda). Recuerda: si cometes un mísero error, adiós archivo y hola opciones predeterminadas.
Espero que haya quedado claro. Pasemos a otra cosa.
Un poco de información
¿¿¡¡Más texto??!!, esto se está volviendo infinito. Hagámosla corta y comencemos.

    ɴᴏ ᴩᴜᴇᴅᴇꜱ ᴄᴀᴍʙɪᴀʀ ʟᴏꜱ ᴄᴏɴᴛʀᴏʟᴇꜱ ᴍɪᴇɴᴛʀᴀꜱ ᴇʟ ᴊᴜᴇɢᴏ ᴇꜱᴛᴀ ᴀʙɪᴇʀᴛᴏ
    Tal cual, no sirve de nada editar el archivo mientras esté ejecutándose Dead Cells. Guardas tus cambios, ingresas a ver los controles y... no hay cambios. Cierra el juego por el amor de Dios.
    ᴅᴜᴀʟ-ʙɪɴᴅɪɴɢ
    ¿Es posible pasar por alto la restricción del juego referente al tema "dual-binding" (A.K.A asignar la misma tecla para atacar con el arma primaria y secundaria) utilizando tan solo el archivo "dc_options.json"?
    Si alguien también tenía esta duda, espero resolvérsela: todo resulta en que sí. Es posible atacar con ambas armas usando una misma tecla, siempre que la asignemos desde el archivo.
    No estoy muy orgulloso de haber descubierto esto.
    Nota: en la actualización 'The End Is Near' sigue siendo posible
    ᴇʟ ᴊᴜᴇɢᴏ ᴍᴜᴇꜱᴛʀᴀ [?] ᴇɴ ᴀʟɢᴜɴᴏꜱ ʙᴏᴛᴏɴᴇꜱ
    Aunque el juego muestra [?], los botones funcionan correctamente. Así que a darle duro a esa configuración.
    ʟᴀꜱ ʀᴜᴇᴅɪᴛᴀꜱ ᴅᴇʟ ᴍᴏᴜꜱᴇ
    Las rueditas son algo muy excepcional. En los menús éstas sirven para bajar/subir la vista y no se puede cambiar.
    Te pueden dar dolores de cabeza muy severos si las asignas a acciones muy específicas, incluso pueden romperte el juego (esto no es broma).
    A pesar de todo, existe un pequeño rayo de esperanza, ya que algunas acciones son totalmente funcionales con las rueditas (rodar/esquivar, por ejemplo) así que, si las vas a usar, úsalas teniendo mucha cautela y no rompas el juego.
    ₙᴏ ꜱᴇ ₚᵤₑᴅᴇ ᴀꜱɪɢɴᴀʀ ᴍáꜱ ᴅᴇ ᴛʀᴇꜱ ʙₒₜₒₙₑₛ
    El juego ignora LOs BoTonEs dEspUÉs DeL tERCeR InGReSADo Y no REHACE el Archivo ni nAdA, solO LoS Ghostea Y ya.
    ꜱᴇ ᴩᴜᴇᴅᴇ ʙᴏʀʀᴀʀ ᴄᴜᴀʟ𝐪ᴜɪᴇʀ ꜱᴇᴄᴄɪᴏɴ y ɴᴏ ꜱᴜʀɢᴇ ɴɪɴɢúɴ ᴇʀʀᴏʀ
    El juego ignorará que hayamos borrado cualquier sección (siempre que lo hagamos bien). Por ejemplo, gamepad_normal y gamepad_custom, del archivo de configuración, no nos sirven. Podemos borrarlas y nos dejará seguir jugando sin ningún problema.
    ᴀᴄᴄɪᴏɴᴇꜱ ɴᴏ ᴍᴏᴅɪꜰɪᴄᴀʙʟᴇꜱ
    Las acciones esconder/mostrar el HUD (F3) y pantalla completa/ventana (F11) no se pueden cambiar. ALT+F4 también entraría a esta lista... aunque podría mencionar las acciones del menú (el click, los movimientos del mouse y desplazarse hacia arriba/abajo)... vaya, sí que son bastantes. La cosa es que no se las encuentra en el archivo "dc_options.json", así que no se pueden cambiar.
    ᴩᴜᴇᴅᴇꜱ ᴀꜱɪɢɴᴀʀ ᴇʟ ᴍɪꜱᴍᴏ ʙᴏᴛóɴ ᴇɴ ᴛᴏᴅᴀꜱ ʟᴀꜱ ᴀᴄᴄɪᴏɴᴇꜱ
    Si, esto se puede hacer, pero... ¿Estás locoo sos re tol? Ahora en serio, hay algunas ocasiones en las que dos acciones nunca van a ocurrir al mismo tiempo, esto es algo muy específico, por ejemplo: no puedes moverte mientras el mapa está abierto (el juego se pausa), lo que te permite moverte con WASD ~ como de costumbre ~ y desplazarte por el mapa con esas mismas teclas (cuando te teletransportas se usa WASD para elegir teletransportadores, así que ese podría ser el único inconveniente) o también podrías esquivar con las rueditas del mouse y usarlas para intercambiar armas/habilidades (esto dará problemas en algunos menús cuando quieras desplazarte hacia arriba o abajo).

Listado de botones
¿Recuerdas cuando dije que podrías asignar cualquier botón a una acción del juego? Mentí.

Ahora sí, la lista de botones. Hay que tener en cuenta que las teclas tienen distintos números dependiendo la región del teclado. El número "186" se traduce a una distinta tecla, por ejemplo, en los teclados latinoamericanos y españoles.
    Debes tomar la lista que abarque la región de tu teclado:
    ES_LAT: español (Latinoamérica)
    ES_ES: español (España)
    EN_UK: inglés (United Kingdom)
    EN_US: inglés (United States)
ᴇꜱ_ʟᴀᴛ
.gif]
ᴇꜱ_ᴇꜱ
.gif]
ᴇɴ_ᴜᴋ
.gif]
ᴇɴ_ᴜꜱ
.gif]
Listado de botones: la era de la extinción
ᴇꜱ_ʟᴀᴛ⧸ᴇꜱ_ᴇꜱ⧸ᴇɴ_ᴜᴋ⧸ᴇɴ_ᴜꜱ
    null
    Absolutamente nada
    0
    Click primario
    1
    Click secundario
    2
    Click de ruedita
    3
    Click 2 de los laterales del mouse (puede variar)
    4
    Click 1 de los laterales del mouse (puede variar)
    5
    Subir ruedita del mouse
    6
    Bajar ruedita del mouse
    8
    RETROCESO
    9
    TAB
    13
    ENTER
    16
    SHIFT
    17
    CTRL
    18
    ALT
    19
    PausaInter
    20
    BLOQ MAYUS
    27
    ESC
    32
    ESPACIO
    33
    RETROCEDER PÁGINA
    34
    AVANZAR PÁGINA
    35
    FIN
    36
    INICIO
    37
    FLECHA IZQUIERDA
    38
    FLECHA ARRIBA
    39
    FLECHA DERECHA
    40
    FLECHA ABAJO
    45
    INSERTAR
    46
    SUPRIMIR
    48
    0
    49
    1
    50
    2
    51
    3
    52
    4
    53
    5
    54
    6
    55
    7
    56
    8
    57
    9
    65
    A
    66
    B
    67
    C
    68
    D
    69
    E
    70
    F
    71
    G
    72
    H
    73
    I
    74
    J
    75
    K
    76
    L
    77
    M
    78
    N
    79
    O
    80
    P
    81
    Q
    82
    R
    83
    S
    84
    T
    85
    U
    86
    V
    87
    W
    88
    X
    89
    Y
    90
    Z
    92
    WINDOWS
    93
    APPSKEY
    96
    0 (teclado numérico)
    97
    1 (teclado numérico)
    98
    2 (teclado numérico)
    99
    3 (teclado numérico)
    100
    4 (teclado numérico)
    101
    5 (teclado numérico)
    102
    6 (teclado numérico)
    103
    7 (teclado numérico)
    104
    8 (teclado numérico)
    105
    9 (teclado numérico)
    106
    * (teclado numérico)
    107
    + (teclado numérico)
    108
    ENTER (teclado numérico)
    109
    - (teclado numérico)
    110
    . (teclado numérico)
    111
    / (teclado numérico)
    112
    F1
    113
    F2
    114
    F3
    115
    F4
    116
    F5
    117
    F6
    118
    F7
    119
    F8
    120
    F9
    121
    F10
    122
    F11
    123
    F12
    144
    BloqNum
    145
    BloqDespl


    ᴇꜱ_ʟᴀᴛ
    ᴇꜱ_ᴇꜱ
    ᴇɴ_ᴜᴋ
    ᴇɴ_ᴜꜱ
    186
    ¨´
    ^`⟦
    :;
    :;
    187
    *+~
    *+]
    +=
    +=
    188
    ;,
    ;,
    <,
    <,
    189
    -_
    -_
    _-
    -_
    190
    :.
    :.
    >.
    >.
    191
    ]}`
    Çç}
    ?/
    ?/
    192
    Ñ
    Ñ
    @'
    ~`
    219
    ?'\
    ?'
    {⟦
    {⟦
    220
    °|¬
    ªº\
    |\
    |\
    221
    ¡¿
    ¿¡
    }]
    }]
    222
    ⟦{^
    ¨´{
    ~#
    '"
    223
    ¬`¦
    226
    ><
    ><
Recomendación de controles
Cubrirse con CTRL, atacar con la tecla Windows, saltar con S, subir escaleras con D, abrir puertas con BloqNum... las posibilidades son infinitas. Dejo aquí mi, totalmente recomendable, configuración de controles:
dc_options_J4d.json | archivo personalizado[pastebin.com]
máS tEXtO
Para terminar, diré que el archivo de configuración demostró estar muy bien acabado, me permitió toquetearlo sin oponerse ni nada y al final terminé escribiendo una guía. No está al nivelaso de casi todos los juegos de Valve (o, mejor dicho, del motor source), los cuales dejan asignar todo a una misma tecla, editar mientras el juego está abierto e incluso crear macros me emociono :'). En su defensa diré que nos permite asignar más de tres botones a una sola acción e incluso repetir botones, DIOSSS, algunos juegos actuales no dejan ni asignar más de una tecla. La inmensa herejía de desarrolladores aprendería mucho de este juego, y no solo respecto a configuración.

Por lógica, también podemos cambiar los controles de mando con el archivo ~ JÁ, vi que muchos en los foros pensaban que era imposible ~, pero no quiero meterme en ese tema porque soy fiel a mi gremio de puritanos.
La Wiki Fandom sigue sin estar actualizada respecto a los controles
No voy a irme sin declarar: los controles predeterminados son horrendos.

Nada más que decir, agradecido con el motor de este juego que "caray, se andaba con chiquitas...".


17 Comments
compilador html ★★★  [author] 18 Oct, 2024 @ 12:22pm 
Guía actualizada para incluir la acción jump_down y gifs para las acciones validate, cancel y menu_secundary
compilador html ★★★  [author] 14 Oct, 2024 @ 11:18am 
A los 3 locos que estén leyendo esto: SE VIENE ALGO GORDO
compilador html ★★★  [author] 14 Oct, 2024 @ 11:12am 
Guía actualizada a la versión del juego: (v35 - 2024-08-26):
* Ahora los videitos de las acciones si se ven (hubo un bug con el servicio de filehosting...)
si faltan videos en otras secciones avisen 😭😭😭
* En la actualización "The End Is Near" sigue siendo posible el dual-binding a través de dc_options.json.
compilador html ★★★  [author] 25 Sep, 2023 @ 8:44am 
Guía actualizada a la versión del juego: (v34 - 2023-06-20)
Modificación de algunas cosillas sutiles.
La bruja de la envidia 1 Jan, 2023 @ 3:46pm 
me impresiona la dedicacion que le ponen algunos a algo, si tuviera puntos te daria puntos pero, no hay ni para el perro
:steamsad:
La bruja de la envidia 1 Jan, 2023 @ 3:45pm 
Mucho texto


:celeste_granny:
y muy bien ordenado, se nota que te gusta el juego
Insônia 28 Dec, 2022 @ 8:51am 
nice
compilador html ★★★  [author] 2 Jul, 2022 @ 5:26am 
Guía actualizada a la versión del juego: (v29 - 2022-06-20)
compilador html ★★★  [author] 22 Jun, 2022 @ 5:32pm 
🤢🤢🤮🤮
vrunn0 22 Jun, 2022 @ 12:59pm 
Y qué hago con el mando q m compré