Saltar al contenido

DOC-04 · Resolución de problemas

Qué se rompió, y de quién es la culpa

Cinco fallos que se repiten una y otra vez durante el desarrollo. Tres no son culpa del mod en absoluto, y justo por eso son los que más tiempo hacen perder.

No se crea redscript_rCURRENT.log

No es el mod

Si r6\logs\redscript_rCURRENT.log no aparece en absoluto después de iniciar el juego, redscript nunca se ejecutó, lo que significa que RED4ext nunca lo cargó. El problema es RED4ext, no los scripts, y siempre es lo primero que hay que sospechar.

Después revisa red4ext\logs\. Si esa carpeta también está vacía o no existe, nada se está enganchando al juego, y por más que leas el código del mod no vas a encontrar la explicación.

Los cambios no llegan al juego

Es lo esperado

redscript no tiene hot reload propio, pero RedHotTools le agrega uno, y funciona: si cambias el cuerpo de una función que ya existe, el cambio llega al juego sin reiniciarlo. Para recargar, abre el overlay de CET y entra en Hot Reload → Scripts → Reload scripts. Confirmado en uso desde el 4 de septiembre.

Tres cambios siguen exigiendo reiniciar el juego por completo: una clase Event nueva, un @addMethod nuevo sobre una clase propia del juego, o un campo nuevo en una clase que ya tiene una instancia viva — este último tumbó el juego al recargar.

Errores de compilación tras actualizar

Caché obsoleta

Si los errores señalan código que ya no tienes, o líneas que no coinciden con el archivo que tienes delante, el problema es una caché de mods obsoleta, no un fallo real de compilación. Bórrala y vuelve a iniciar el juego.

r6\cache\modded      # borra esta carpeta
.\tools\clean-cache.ps1   # o ejecuta el script que lo hace

El juego se cayó

Primero mira el tipo de crash

Abre el informe del crash antes de culpar a cualquier script. Un crash de DX12 por pérdida del dispositivo (device-removed) nombra directamente la API de la GPU:

Message: Gpu Crash for unknown reasons!
File: ...\src\common\gpuApi\src\dx12\gpuApiDX12Error.cpp(42)

Eso es un fallo del driver gráfico, no de un script. Un script no puede provocar directamente un crash por pérdida del dispositivo. Una violación de acceso es otra historia y vale la pena investigarla; una pérdida del dispositivo se reduce a un driver, una frecuencia de reloj o una tarjeta.

Un parche de CDPR lo rompió

Degradarse, no caerse

Cada parche rompe hashes y offsets, y siempre lo hará. Las herramientas nativas tienen que recompilarse contra el binario nuevo antes de que pueda funcionar cualquier cosa que dependa de ellas.

El mod está escrito para degradarse, no para tumbar el juego: un sistema que ya no encuentra lo que necesita se apaga solo en vez de llevarse el juego por delante. Después de un parche, cuenta con que algunas funciones se desactiven en silencio, y con tener que actualizar primero RED4ext y redscript.

¿Te pasó uno que no está aquí?

Repórtalo en Discord. Di en qué parche del juego estás y qué hiciste antes de que pasara: los cinco fallos de arriba se acotaron gracias a alguien que describió exactamente eso. Ahí también se responde el soporte, y lo responde la misma persona que escribe el código.