Tutorial de creación de modificaciones de Command & Conquer Remastered
Tutorial de producción de MOD de Command & Conquer Remastered En este remake, podemos usar el código fuente abierto oficial para crear MOD. A continuación compartiremos la guía del tutorial específico con usted, con la esperanza de ayudar a todos.
Tutorial de producción de MOD (en actualización)
Primero preparemos algunas cosas:
1. Tener cierta reserva de conocimientos: tener ciertos conocimientos de programación informática. idiomas, La producción de MOD no se trata solo de modificar el código de manera casual.
2. Microsoft Visual Studio: debe descargar la versión 2017. Existe un cierto conflicto entre la versión 2019 y el código abierto oficial. Proporcionaré el programa de descarga e instalación en el archivo adjunto.
3. Herramienta de búsqueda UTF8 por lotes: le proporcionaré una en el archivo adjunto. Si tiene una mejor, prepárela usted mismo.
4. Código fuente abierto para el desarrollo del MOD "Command and Conquer": se proporcionará en el directorio de instalación del juego original.
Inicia el tutorial ahora:
1. Descarga e instala
versión Microsoft Visual Studio 2017
, selecciona
Utilice el desarrollo de escritorio C
Si no lo necesita para otros fines, no lo instale.
Seleccione todas las sugerencias en los detalles de instalación a la derecha. Contiene algunos parches, paquetes de lenguajes de programación, etc. para su sistema correspondiente.
Luego haga clic en
Instalar
en la esquina inferior derecha. Hice clic en "Cerrar" porque ya se instaló.
Nota:
Configure su sistema para que admita
codificación UTF8
, si no está configurado
Microsoft Visual Studio
compilará el código del programa de código fuente en otros códigos y se informará un error al generar MOD. Consulte WIN10
l
2. Encontramos el directorio
SOURCECODE
en el directorio de instalación del juego (si es genuino). versiones o versiones pirateadas) No lo sé), cópialo (tú decides dónde guardarlo, no me preguntes). Este directorio es el programa de código fuente abierto proporcionado oficialmente.
Utilice
Microsoft Visual Studio
Abra el archivo
CnCRemastered.sln en el directorio que copió
(Archivo → Abrir → Proyecto/Solución), el
Explorador de soluciones
de la derecha se cargará como se muestra en la imagen.
Contiene dos proyectos, correspondientes a "Red Alert" y "Command and Conquer" respectivamente. Modifíquelo según sus propios objetivos. Aquí tomaré como ejemplo la modificación de una unidad de automóvil "jeep" en "Command and Conquer". Haga clic en el proyecto
TiberianDawn
.
Podemos ver muchos archivos. ¿Qué archivo es el objetivo que estamos buscando?
A continuación, debemos utilizar la
herramienta de búsqueda Batch UTF8
. La proporciono en el archivo adjunto. Si tiene otras herramientas, tenga en cuenta que debe utilizar herramientas que admitan UTF8. Algunos elementos del juego son necesarios a la hora de modificar el MOD Localizaremos el archivo que buscamos buscando estos elementos.
Debido a que lo que planeamos modificar aquí son los atributos de las unidades en el juego, los elementos que conocemos incluyen el nombre "jeep" y el precio de compra "COSTO". Buscamos estos dos conjuntos de cadenas. Encuentra archivos.
Tome el modificador que proporcioné como ejemplo:
La selección del directorio está en el directorio copiado
directorio tiberiandawn
, cadena original Cambiar el nombre a
JEEP
, sin distinguir entre mayúsculas y minúsculas, seleccione
Buscar solo y no reemplazar
y deje el nuevo nombre de cadena en blanco, haga clic en Ejecutar para generar un documento de texto, no lo cierre.
Cambie el nombre de la cadena original a
COST
(precio de compra) y haga clic en Ejecutar para generar un documento de texto. Ahora, comparando los dos documentos, podemos ver que estas dos cadenas aparecen en el mismo archivo:
UDATA.CPP
Cambiar la ventana a
Microsoft Visual Studio
, busque el proyecto
TiberianDawn
abierto anteriormente en el directorio
Archivos fuente
UDATA.CPP
y haga doble clic para abrirlo. Presione
Ctrl F
Aparecerá el cuadro de búsqueda Ingrese
jeep
y presione Entrar para encontrar el segmento de caracteres que queremos. para buscar.
Echemos un vistazo al siguiente contenido:
//El lado izquierdo del símbolo es el código fuente y el lado derecho es la descripción del código.
// Jeep (hummer)
UnityTypeClass estática const UnitJeep(
UNIT_JEEP,
TXT_JEEP, // NOMBRE: Nombre de texto de este tipo de unidad. El nombre de este tipo de unidad.
"JEEP", // NOMBRE: Nombre de texto de este tipo de unidad El nombre de este tipo de unidad (no sé la diferencia con el anterior. uno, no lo he probado)
ANIM_FRAG1, // EXPLOSIÓN: Tipo de explosión al ser destruido. Tipo de explosión al ser destruido.
2, // Nivel de construcción y. nivel de fabricación
STRUCTF_NONE, // Requisito previo de construcción. Requisitos previos de construcción y fabricación
verdadero, // ¿Puede ser una buena sorpresa de una caja? ¿Se puede obtener de una "caja"? (recoge una caja en el juego)
verdadero, // ¿Es un tipo líder? ¿Es un tipo líder?
falso, // Solo tiene ocho caras (¿debería ser? la dirección en la que mira el vehículo: arriba, abajo, izquierda, derecha, arriba a la izquierda, arriba a la derecha, abajo a la izquierda, abajo a la derecha)
falso, // Utilice siempre el nombre de pila para el vehículo. ¿Nombre del vehículo?
falso, // ¿Es este un vehículo de transporte típico? ¿Es este un vehículo de transporte típico?
falso, // ¿Puede ser aplastado por un vehículo pesado? ¿Puede ser aplastado por un vehículo pesado?
p>false, // ¿Puede esta unidad aplastar a la infantería? ¿Puede esta unidad suprimir a la infantería?
false, // ¿Esta unidad cosecha? ¿Tiberio? ¿Esta unidad puede recolectar Tiberio?
falso, // ¿Es invisible para el radar? ¿Es esta unidad invisible para el radar?
verdadero, // ¿Puede el jugador seleccionarla? ¿Puede ser seleccionado por el jugador?
true p>
verdadero, // ¿Puede ser un objetivo para atacar o moverse? ¿Es un objetivo que se puede mover o atacar?
falso, // ¿Es insignificante (no se anunciará)? No importa
falso, // ¿Es inmune al daño de combate normal? ¿Es inmune al daño de combate normal?
verdadero, // ¿Está equipado con una torreta de combate? ¿Dispara la torreta de batalla?
falso, // ¿Dispara varios tiros en rápida sucesión? ¿El fuego rápido dispara varias balas seguidas?
true, // ¿Se puede reparar?
¿En una instalación de reparación? ¿Se puede reparar en un taller de reparación?
verdadero, // ¿Puede el jugador construir u ordenar esta unidad? ¿Puede el jugador construir u ordenar esta unidad?
verdadero. , // ¿Hay una tripulación adentro? ¿Hay una tripulación adentro? (Si hay una, los minions caerán después de destruirla)
falso, // ¿Tiene un plato de radar giratorio? ¿Tiene una antena parabólica giratoria?
false, // ¿Hay una animación de disparo asociada? ¿Hay una animación de disparo asociada?
false, // ¿La torreta debe estar bloqueada? ¿Posición mientras se mueve? ¿Cuando la torreta se mueve? ¿Está bloqueada?
verdadero, // ¿Deja huellas mientras se mueve?
falso, // ¿Es esta una unidad gigantesca y redonda? ¿Es una unidad gigantesca y redonda? (No entiendo)
falso, // ¿El arte de la unidad es solo de cara cardinal "gruesa"? (No entiendo)
false, // ¿La unidad es capaz de camuflarse?
false, // ¿La unidad tiene una animación constante?
-1, // MUNICIÓN: Número de disparos que tiene (por defecto). La cantidad de munición -1 es ilimitada
150, // FUERZA: Fuerza (en puntos de daño). Fuerza de armadura (comúnmente conocida como sangre). Cantidad)
2, // SIGHTRANGE: Alcance de visión
1, // COSTE: Costo de construcción (Créditos) (lo cambié a 1 aquí porque). Para probar MOD)
5, // ESCENARIO: Escenario inicial de disponibilidad (no estoy seguro de cómo usarlo)
80, 41, // RIESGO/RWRD: Riesgo/. Valores de calificación de recompensa. Valores de calificación de riesgo y retorno (no estoy seguro de cómo usarlos).
HOUSEF_MULTI1|
HOUSEF_MULTI2|
HOUSEF_MULTI3|
HOUSEF_MULTI4|
HOUSEF_MULTI5|
HOUSEF_MULTI6|
HOUSEF_JP|
HOUSEF_GOOD, // OWNABLE: Propiedad por casa (bit campo).
WEAPON_M60MG, WEAPON_NONE, primera arma, segunda arma
ARMOR_ALUMINIUM, // ARMADURA: Brazo
o tipo armadura ALUMINUM es aluminio
SPEED_WHEEL, // MOVE: Tipo de locomoción Tipo de movimiento WHEEL rodado
MPH_MEDIUM_FAST, // SPEED: Millas por hora Velocidad (millas por hora). hora) ) El formato no está claro. Esto debería ser una variable. Puedes consultar otras unidades.
10, // ROT: Velocidad de giro (grados por tick). >
0, // Desplazamiento del centro de la torreta a lo largo de la línea central del cuerpo. Desplazamiento del centro de la torreta a lo largo de la línea central del cuerpo (se desconoce el método de uso)
MISSION_HUNT // ORDERS: Orden predeterminado. dar nueva unidad: orden predeterminada dada a las nuevas unidades. (Uso desconocido)
);
Modifica el código según tus propios propósitos. (Acabo de cambiar el precio a 1 aquí)
3. Después de haber completado todas las modificaciones a modificar, generaremos el archivo MOD
Haga clic derecho en el mouse
p>Microsoft Visual Studio
En el Explorador de soluciones en el lado derecho de la ventana
TiberianDawn
proyecto, selecciónelo en la ventana emergente menú
Generar
Al generar, habrá varios mensajes en la ventana de salida a continuación. Si hay errores, le indicará dónde hay errores. Corrija los problemas de acuerdo con el. indicaciones. Si se completa la generación normal, aparecerá un mensaje
Generación: xx exitosa, 0 fallida, última 0, omitida 0
Permítame reiterar aquí, si no ha instalado el sistema antes Modifique para admitir
codificación UTF8
y se le preguntará:
advertencia C4819: el archivo contiene caracteres que no se pueden representar en la página de códigos actual ( 936). Guarde el archivo en formato Unicode para evitar la pérdida de datos
Después de que la generación sea exitosa, vamos al directorio bin
en el directorio del código fuente
>
Win32
Hay 4 archivos en el directorio, de los cuales solo necesitamos
TiberianDawn.dll
y
TiberianDawn. .pdb
Dos archivos.
El archivo MOD está listo, ahora crea un directorio
bbitt - TD Only
(
Tú decides el nombre, aquí Tome el MOD de prueba que preparé como ejemplo
). Cree un nuevo directorio de DATOS en el directorio bbitt - TD Only.
Crea el
TiberianDawn.dll
y
TiberianDawn.pdb
previamente preparado y cópialo.
Luego regresa a
bbitt - Solo TD
Crea un nuevo documento de texto en el directorio con el contenido:
{
"name": "bbitt - TD Only", nombre MOD bbitt - TD Only, me temo que no será reconocido y es el mismo que el nombre del directorio
"description": "Cambia el costo de Hummer = 1", Introducción MOD Cambia el costo de Hummer = 1 Cambia el precio de Hummer a 1
"author": "bbitt", autor
"load_order ": 1, orden de carga
"version_low": 0, versión baja
"version_high": 1, versión alta y versión baja. Parece que uno está configurado en 1, y el otro debe estar configurado en 0
" game_type": "TD" Tipo de juego: Tiberian Dawn
}
Después de completar el contenido, cámbiale el nombre a
ccmod.json
ccmod.json
p>
Presta atención a la extensión, no es
ccmod .json.txt
Entonces el directorio MOD estará bien. Todo lo que necesitamos ahora es colocarlo en el directorio MODS dedicado del juego. La ubicación específica está en el directorio documentCnCRemasteredModSTiberian_Dawn.
Bien, vamos a probarlo para ver si nuestro MOD se puede cargar y si tiene algún efecto. Ingresa al juego, opciones, módulos, OK, nuestro MOD ha sido actualizado. Selecciónelo y haga clic en Aceptar para reiniciar el juego.
El módulo se cargará después de reiniciar, pruébalo, ¡es perfecto!