My First Mod
This page either contains information that is only partially or incorrectly translated, or there isn't a translation yet.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article tries to comply with the alternate languages guide.
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.