Es/My First Mod: Difference between revisions

From Valve Developer Community
< Es
Jump to navigation Jump to search
Line 58: Line 58:
Ahora estamos preparados para compilar. Elije '''Build-&gt;Build Solution''' para empezar. Cuando la compilación haya terminado, aparecerán los archivos <code>server.dll</code> y <code>client.dll</code> en el directorio <code>MiMod/bin</code> (p.e. <code>C:\MiMod\MiMod\Bin)</code>. Estos son los Dll y el Client estandar de nuestro MOD, y son archivos qeu se distribuirán junto con el MOD terminado.
Ahora estamos preparados para compilar. Elije '''Build-&gt;Build Solution''' para empezar. Cuando la compilación haya terminado, aparecerán los archivos <code>server.dll</code> y <code>client.dll</code> en el directorio <code>MiMod/bin</code> (p.e. <code>C:\MiMod\MiMod\Bin)</code>. Estos son los Dll y el Client estandar de nuestro MOD, y son archivos qeu se distribuirán junto con el MOD terminado.


== Run the MOD ==
== Ejecutar el MOD ==
Now before you launch it's important to ensure you have something to launch. By default, new mods will use the 215 [[appid]]. This loads the [[Source SDK Base]]. This is not a bad thing; in fact, it's the best version of the engine available. The only problem it does have is that it has no game specific content. Global resources like textures and models available to all games will be present; however, levels will not be. You will either need to change the appid to use different game engines and load content from that game, or instead copy content out of that game into your mod. [[GCFScape]] can allow you to copy that content into your mod, but this content cannot be legally redistributed with your mod. The other approach is simply finding your <code>.../steamapps/sourcemods/MyMod/gameinfo.txt</code> and changing the value to 220 for single player and 320 for multiplayer, although it's advisable to change it back to 215 later.  
Ahora antes de cargar, es importante asegurarse de que tenemos algo que cargar. Por defecto, los nuevos MODs utilizan el 215 [[appid]]. Esto, carga el [[Source SDK Base]]. 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 dispnibles para todos los juegos, sin embargo, los mapas no. Se necesitará cambiar el [[appid]] 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 [[GCFScape]] permite copiar ese contenido pero no es posible distribuirlo legalmente junto con tu MOD. La otra opción es nuscar el archivo <code>.../steamapps/sourcemods/MiMod/gameinfo.txt</code> 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.


In the directory that you created your MOD, there will be a batch file called <code>run_mod.bat</code>. Don't use the bat file to launch your mod, as it has not been updated for the SDK Base. The best way to launch your mod is to restart Steam and launch it from your Games list (where it should hopefully have appeared) or via the debugging option in vis (read how to debug the source code).
En el directorio en el cual está creado el MOD, debe haber un archivo 'bath' llamado <code>run_mod.bat</code>. 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'.


Now that there's content to load, start the game up. When the engine has loaded, you'll be taken to the title screen. If you are warned about missing content, such as <code>maplist.txt</code>, ignore it.  
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: <code>-console -dev</code>. 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 <code>maplist.txt</code>. Ignoralo por el momento. Como pusimos el comando 'console' aparecerá la consola automáticamente. Cierrala por ahora.


In "Options", "Keyboard", and "Advanced", enable the Developer Console. Hit the tilde key (<b>~</b>) to bring up the [[Developer Console]]. This console will provide you with numerous tools to help you create content for the Source engine.  
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 (<b>~</b>) (por eso determinamos antes las opciones de lanzamiento, que me parece más cómodo).


No maps are provided with your single player mod, so copy a map from the HL2 maps with [[GCFScape]] to your mod's /maps/ directory inside of SteamApps/SourceMods. Load a map by typing "map " (including the space) into the console and select from the list (e.g. "<code>map d1_canals_01</code>") then type "<code>impulse 101</code>" to give yourself a load of weapons.
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 [[GCFScape]]. Recuerda que en la versión definitiva del MOD no puede haber mapas con copyright de otros. Los mapas del Half-Life se encuentran en 'half-Life 2 Content.cfg' que se encuentra en el directorio <code>.../steamapps/</code>. 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: <code>.../steamapps/sourcemods/MiMod/maps</code>


{{note|Enable cheats in the game by typing "<code>sv_cheats 1</code>" in the console (~) for the "<code>impulse 101</code>" command to work}}
Ejecuta el MOD desde 'Steam' (Si no aparece, reinicia y ya está), y dentro del menu, con la consola activada, escribid <code>map nombre_del_mapa</code>. 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 <code>impulse 101</code>, que llena el inventario con armas y balas. Nota: este comando se considera un truco, así que antes, hay que escribir <code>sv_cheats 1</code>, que activa los trucos para esa sesion.


Select and fire the RPG to view the changes you've made.
Selecciona el RPG (Bazooka de siempre), y dispara a ver que tal va.


== You've built your first MOD ==
== You've built your first MOD ==

Revision as of 16:23, 10 June 2008

Introducción

Este tutorial enseña como crear, configurar y compilar tu primer simple MOD de HL2. En este MOD cambiaremos la velocidad de los misiles de Half-Life 2.

Crear un nuevo proyecto de MOD Half-Life 2

Para los propósitos de este tutorial llamaremos a este primer MOD, "MiMod". Cuando creas un nuevo MOD lo puedes llamar como quieras (p.e. "QuickMod", "TreasureTroll", etc.)

Asegurate, para obtener siempre la última versión del código Source Actualizar contenido SDK ('Redresh SDK Content').

Para crear un nuevo MOD sigue los soguientes pasos:

  1. Busca en el menu Herramientas de tu programa Steam y abre Source SDK (que tienes seguro si compraste HL2 original)
  2. Selecciona Create a Mod ('Crear Mod') de la lista de Utilidades.
  3. Elige si quieres modificar el juego en solitario: Modify Half-Life 2 Single Player; o bien el juego multijugador Modify Half-Life 2 Multiplayer.
  4. Especifica el directorio en el cual quieres situar los archivos del MOD (p.e. C:\MiMod).
  5. Elije un nobre para tu MOD. En este ejemplo lo llamamos 'Mimod'.
  6. 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

  1. 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. Recomendamos una copia mejor. Hay guías para, Compilar con VS 2005 y Compilar con VS 2008
  2. Seleciona File->Open Solution del menu, y abre Game_HL2-2003.sln o Game_HL2-2005.sln localizables en el directorio del mod src. Selecciona el que coincida con tu versión de Microsoft Visual Studio. Fijate en que la parte "HL2" del nombre del archivo correspoderá con lo qeu se seleccionó en la creación del Mod. Si seleccionaste un Mod desde un borrador, "Borrador" aparecera en vez de 'hl2'.

Alterar la velocidad del misil

Si estás editando 'Half-life Single-player', abre el archivo hl2_dll/weapon_rpg.cpp. En caso contrario, abre hl2mp_dll/weapon_rpg.cpp.

Nota: Si no encuentras el archivo, prueba a buscar en 'server_hl2 > Source Files > HL2 DLL' en el explorador, o en el Visual Studio.

Una vez abierto, al comienzo del archivo 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.

Set the active configuration

We'll need to set our active configuration to "Release HL2".

To do this:

  1. Select Build->Configuration Manager.
  2. Change the Active Solution Configuration drop-down list to "Release HL2"
  3. Select Close.

For Visual Studio 2005 users:

  1. Select Project -> Properties (last entry in menu)
  2. Press Configuration Manager (upper right button)
  3. Change the Active Solution Configuration drop-down list to "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.dll y client.dll en el directorio MiMod/bin (p.e. C:\MiMod\MiMod\Bin). Estos son los Dll y el Client estandar de nuestro MOD, y son archivos qeu 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 appid. Esto, carga el Source SDK Base. 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 dispnibles para todos los juegos, sin embargo, los mapas no. Se necesitará cambiar el appid 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 GCFScape permite copiar ese contenido pero no es posible distribuirlo legalmente junto con tu MOD. La otra opción es nuscar 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 GCFScape. Recuerda que en la versión definitiva del MOD no puede haber mapas con copyright de otros. Los mapas del Half-Life 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, escribid 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. Nota: este comando se considera un truco, así que antes, hay que escribir sv_cheats 1, que activa los trucos para esa sesion.

Selecciona el RPG (Bazooka de siempre), y dispara a ver que tal va.

You've built your first MOD

You’ve now setup and built your first MOD.

Template:Otherlang:en Template:Otherlang:en:es, Template:Otherlang:en:de, Template:Otherlang:en:pl, Template:Otherlang:en:ru, Template:Otherlang:en:pt, Template:Otherlang:en:pt-br