My First Mod:pt
Contents
Introdução
Este tutorial vai-lhe ensinar como criar, configurar e compilar a sua primeira versão simples de um MOD HL2. Neste MOD iremos mudar a velocidade na qual o foguete do Half-Life 2 viaja no mundo.
Criar o projecto do MOD
Para propósito deste tutorial nós vamos chamar ao nosso primeiro MOD de "MyMod". Quando criar o seu próprio MOD este pode ser o nome que quiser (i.e., "QuickMod", "TreasureTroll", etc.)
Por favor note que de modo a obter a última versão do código tem de refresh the SDK content.
Para criar um projecto do MOD:
- Abra a aplicação Source SDK no menu Tools do Steam.
- Abra o Create A Mod no grupo Utilities.
- Selecione o Modify Half-Life 2 Single Player ou Modify Half-Life 2 Multiplayer
- Especifique onde quer que o seu projecto do MOD seja gravado (i.e.
C:\MyMod
). - Escolha o nome do seu MOD. Neste exemplo iremos utilizar "MyMod".
- O Vista pode necessitar de passos extra, dependendo das suas políticas de segurança. (veja os problemas conhecidos em baixo)
A aplicação do steam irá então copiar todos os ficheiros relevantes para a directoria destino que especificou. Agora já possui uma cópia do código do Half-Life 2 no destino que escolheu e que pode modificar.
Abra a solução do seu MOD
- Abra a sua cópia do Microsoft Visual Studio, o código foi desenhado originalmente para funcionar no 2003, mas foi rectificado de forma a funcionar noutras versões. No caso de possuir uma versão diferente do 2003 existem guias disponíveis para Compiling under VS2002 , Compiling under VS2005 e Compiling under VS2008
- Selecione File->Open Solution no menu e abra a solução Game_HL2-2003.sln ou Game_HL2-2005.sln que está localizada na directoria
src
do seu MOD, selecione a correspondente à sua versão do Microsoft Visual Studio. Note que a porção "HL2" vai corresponder à selecção efectuada no passo em que criou o seu MOD. Se selecionou mod from scratch, "Scratch" aparecerá.
Alterar a velocidade do foguete
Se está a editar o Half-life em modo jogador único, abra o hl2_dll/weapon_rpg.cpp
. Caso contrário, abra o hl2mp_dll/weapon_rpg.cpp
.
Nota: Se não encontrar o ficheiro, tente procurar na pasta server_hl2 > Source Files > HL2 DLL na janela do Solution Explorer no Microsoft Visual Studio.
No topo do ficheiro vai encontrar a linha:
#define RPG_SPEED 1500
Mude-a para:
#define RPG_SPEED 400
Ao alterar este número, estará a dizer ao foguete para viajar a 400 unidades por segundo (ou por volta de 33 pés por segundo, ou 10 metros por segundo). Anteriormente o foguete viajava a 1500 unidades por segundo (125 ft/s, 38m/s). A diferença na velocidade será bastante notada quando compilarmos e corrermos o MOD.
Altere a configuração
Será necessário alterar a configuration para "Release HL2".
Para fazer isto:
- Selecione Build->Configuration Manager.
- Altere a lista de drop-down Active Solution Configuration para "Release HL2"
- Selecione Close.
Para os utilizadores do Visual Studio 2005:
- Selecione Project -> Properties (A última entrada no menu)
- Selecione Configuration Manager (O botão do topo direito)
- Altere a lista de drop-down Active Solution Configuration para "Release"
Compilando o projecto
Estará então pronto para compilar a solução. Escolha Build->Build Solution para começar. Quando a compilação terminar aparecerão os ficheiros server.dll
e o client.dll
na directoria MyMod/bin
(i.e. C:\MyMod\MyMod\Bin)
. Será um servidor e cliente customizados para o seu MOD e serão estes ficheiros que irá distribuir aos seus utilizadores.
Corra o MOD
Agora antes de correr é importante verificar algo. Por omissão, os novos mods irão utilizar 215 como appid. Isto carrega o Source SDK Base. Não é uma coisa má; de facto, é a melhor versão do motor disponível. O único problema que isto tem é que não contem nenhum conteúdo disponível para o jogo. Os recursos globais, como texturas e modelos disponíveis em todos os jogos estão presentes; mas, os níveis não estarão. Terá de alterar o appid para usar um motor de jogo diferente e ler o conteúdo desse jogo, ou então copiar o conteúdo do jogo para o seu mod. GCFScape permite-o copiar o conteúdo para o seu mod, mas esse conteúdo não pode ser distribuído legalmente no seu mod. A outra maneira é simplesmente procurar no seu ficheiro .../steamapps/sourcemods/MyMod/gameinfo.txt
e alterar o valor de 220 para jogador único e 320 para multi jogador, mas é aconselhado altera-lo de volta para 215 mais tarde.
Na directoria em que criou o seu MOD, estará um ficheiro batch chamado run_mod.bat
. Não use esse bat para correr o seu mod, pois este não foi actualizado para o SDK Base. A melhor maneira de correr o seu mod é reiniciar o Steam e corre-lo a partir do Games List (onde aparecerá, se tudo correr bem) ou via modo debug no vis (leia como fazer debug ao seu código).
Agora que há conteúdo para ler, inicie o jogo. Quando o motor for carregado, será levado até ao menu inicial. Se for avisado de que falta conteúdo, tal como o maplist.txt
, ignore.
No menu "Options", "Keyboard" e "Advanced", selecione a "Developer Console". Carregue na tecla til (~) para abrir a Developer Console. Esta consola irá dar-lhe variadas ferramentas que o ajudarão a criar conteúdo para o motor Source.
Não há mapas providenciados para o mod jogador único, portanto copie um mapa dos mapas HL2 com o GCFScape para a directoria /maps/ dentro do SteamApps/SourceMods. Carregue este mapa escrevendo "map " (incluindo o espaço) na consola e selecione da lista (p.e. "map dl_canals_01
") e de seguida "impulse 101
" para obter todas as armas.

sv_cheats 1
" na consola (~) e execute o comando "impulse 101
"Selecione e dispare o RPG para ver as alterações efectuadas.
Voce compilou o seu primeiro MOD
Voce configurou e compilou o seu primeiro MOD.
- See Category:Modding for articles to help you add more features to your MOD.
- See Category:Programming for a listing of programmer-specific documentation.
- See Category:Level_Design for articles on populating your mod with levels.
- See Category:Modeling for articles to help you add models to your MOD.