Es/My First Mod

Este tutorial enseña como crear, configurar y compilar tu primer simple mod de Source. En este mod, cambiaremos la velocidad de los misiles de , como un primer intento de modificar el juego original de Valve, y para comprobar que tipo de cosas se pueden llegar a hacer. Este tutorial es para Source 2007, pero la mayoría es aplicable a .
== Crear el proyecto ==
Para los propósitos de este tutorial llamaremos a este primer mod, "MiMod". Cuando creas un nuevomod lo puedes llamar como quieras (p.ej. "QuickMod", "TreasureTroll", etc.).
Asegúrate, para obtener siempre la última versión del código Source («Refresh SDK Content»).
	
Para crear un nuevo mod sigue los siguientes pasos:
# Busca en el menu Herramientas del programa Steam y abre Source SDK.
# Si no ha estado seleccionado, seleccione "Source SDK 2007" para la versión de motor («Engine Version»).
# Selecciona Create a Mod ("Crear Mod") de la lista de Utilidades.
# Elige si quieres modificar el juego en solitario: Modify Half-Life 2 Single Player; o bien el juego multijugador Modify Half-Life 2 Multiplayer. Las otras dos opciones disponibles son útiles cuando se tiene un cierto nivel de programación.
# Especifica el directorio en el cual quieres situar los archivos del MOD (p.e. C:\MiMod). En ese directorio van todos los modelos y mapas antes de compilarlos para jugarlos, y también las librerías necesarias *.h y algún *.cpp.
# Elije un nombre para tu MOD. En este ejemplo, lo llamamos "Mimod".
# Windows Vista posiblemente requiera una configuración de seguridad especial. (Más abajo están los problemas conocidos listados.)
La aplicación Steam copiará todos los archivos relevantes al directorio elegido. Todos los archivos son las librerías de programación entre otros, y están debidamente catalogados y organizados. Todo eso puede ser modificado.
== Abrir las soluciones del mod ==
# Ejecuta Microsoft Visual Studio. El código está diseñado para funcionar con la versión 2003 pero ha sido mejorado para funcionar con versiones más modernas. Se recomienda usar desde la versión 2005 y posteriores. Hay guías para, y 
# Seleciona File->Open Solution del menu, y abre Game_HL2-2003.sln o Game_HL2-2005.sln localizables en el directorio del MOD, en la carpeta src. Selecciona el que coincida con tu versión de Microsoft Visual Studio. Fíjate en que la parte "HL2" del nombre del archivo corresponderá con lo que se seleccionó en la creación del MOD. Si seleccionaste un MOD desde un borrador (una de las opciones para expertos), "Borrador" aparecerá en vez de "hl2".
== Alterar la velocidad del misil ==
Si estás editando 'Half-life Single-player', abra el archivo hl2_dll/weapon_rpg.cpp. En caso contrario, abra hl2mp_dll/weapon_rpg.cpp.
Una vez abierto, al comienzo del archivo, después del encabezamiento, busca la sentencia:
 #define RPG_SPEED 1500
Cambia este número para que ponga:
 #define RPG_SPEED 400
Alterando este número, hemos establecido la velocidad de los misiles a 400 unidades por minuto (unos 33 pies, (10 meters), por segundo). Antes, la velocidad era de 1500 unidades por segundo (125 pies/s o 38 m/s). La diferencia de velocidades será definitiva cuando compilemos el mod.
== Establecer una configuración activa ==
Necesitamos establecer nuestra propia configuración para "Release HL2". 
Para esto:
# Selecciona Build->Configuration Manager.
# Cambia Active Solution Configuration en la lista a "Release HL2" (Simplemente "Release" para VS 2005)
# Elije Close.
O Tambien, para usuarios de Visual Studio 2005:
# Seleciona Project -> Properties (el último del menu)
# Haz click en Configuration Manager (botón arriba-derecha)
# Cambia Active Solution Configuration en la lista a "Release"
== Compilar el proyecto==
Ahora estamos preparados para compilar. Elije Build->Build Solution para empezar. Cuando la compilación haya terminado, aparecerán los archivos server.lib, server.exp, client.exp y client.lib, junto con dos Buildlog.htm en el directorio MiMod/src/game (p.e. C:\MiMod\src\game). Estos son los Dll y el Client estandar de nuestro MOD, y son archivos que se distribuirán junto con el MOD terminado.
== Ejecutar el MOD ==
Ahora antes de cargar, es importante asegurarse de que tenemos algo que cargar. Por defecto, los nuevos MODs utilizan el 215 . Esto, carga el . Esto no es malo, de echo, es la mejor versión existente del motor Source hasta ahora. El problema es que no tiene un contenido especifico del juego. Los recursos globales, como las texturas y los modelos están disponibles para todos los juegos, sin embargo, los mapas no. Se necesitará cambiar el para que pueda usar motores de diferentes juegos, y así poder cargar datos de ellos, o bien se puede copiar el contenido de dichos juegos, y pegarlo en tu MOD. El programa permite copiar ese contenido pero no es posible distribuirlo legalmente junto con tu MOD. La otra opción es buscar el archivo .../steamapps/sourcemods/MiMod/gameinfo.txt y cambiar los valores a 220 para un sólo jugador y a 320 para multijugador. Pero, claro está, es aconsejable volver a poner el 215 original al final.
En el directorio en el cual está creado el MOD, debe haber un archivo 'bath' llamado run_mod.bat. No lo uses para cargar el MOD, ya que no está mejorado para soportar 'Source SDK Base'. La mejor forma es refrescar los juegos de Steam (Reiniciar steam), para que aparezca en tu lista de juegos, y ejecutarlo desde ahí. La otra opción es depurar el código Source en 'Vis'.
Lo mejor es que actives las opciones para desarrolladores, como la consola. Eso se puede hacer haciendo click derecho sobre el juego (en la lista de juegos. Luego en 'Propiedades', 'Establecer opciones de lanzamiento...', y ahí escribe: -console -dev. Ahora que sí hay contenido que cargar, ejecuta el MOD. Cuando haya cargado, aparecerá el menu principal. Es posible que se avise de que no hay contenido, como maplist.txt. Ignoralo por el momento. Como pusimos el comando 'console' aparecerá la consola automáticamente. Cierrala por ahora.
En el menú, click en 'Opciones', 'teclado', luego avanzado, y activa la consola ahí también. En algunos teclados españoles no funciona con esto porque no se detecta la tecla (~) (por eso determinamos antes las opciones de lanzamiento, que me parece más cómodo).
La consola permite acceder a todo el contenido del juego, y para ello hay que conocer una gran cantidad de comandos.
Por ahora, nuestro MOD no tiene mapas, pero podemos robar uno del Half-Life 2 con el programa . Recuerda que en la versión definitiva del MOD no puede haber mapas con copyright de otros. Los mapas del HL2 se encuentran en half-Life 2 Content.cfg que se encuentra en el directorio …/steamapps/. Dentro del .cfg, entra en "HL2", y luego en "maps". Extrae uno de los mapas en la carpeta de tu MOD donde van todos los mapas ya terminados, que es: …/steamapps/sourcemods/MiMod/maps
Ejecuta el MOD desde "Steam" (Si no aparece, reinicia y ya está), y dentro del menu, con la consola activada, escriba map [nombre_del_mapa]. Los mapas tienen formato .bsp, pero no hace falta escribirlo. Debería aparecer antes de terminar de escribir automáticamente, así no habrá dudas. El mapa cargará, cuando esté listo, podeis escribir otros comandos como impulse 101, que llena el inventario con armas y balas. 
Selecciona el RPG (Bazooka de siempre), y dispara a ver que tal va.
== Fin del Primer MOD ==
Has configurado y creado tu primer MOD:
* Ver para artículos que te ayuden a mejorar tu MOD.
* Ver para una lista de documentos para programadores. 
* Ver para artículos sobre como añadir niveles y mapas a tu MOD.
* Ver para artículos que te permitiran subir nuevos modelos a tu MOD.