Pt/My First Mod

== 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 .
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 , e 
# 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 . Isto carrega o . 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. 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 . 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 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.
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 for articles to help you add more features to your MOD. 
* See for a listing of programmer-specific documentation. 
* See for articles on populating your mod with levels.
* See for articles to help you add models to your MOD.