A seguir, apresento um jeito muito fácil de lidar com briefings e objetivos:
Nesse exemplo usarei o taskmaster v 0.91, disponível em http://www.armaho...hp?id=7377
1- Primeiramente, baixe a versão mais recente do taskmaster e copie o arquivo "briefing.sqf" para a pasta em que estão gravados os demais arquivos da sua missão.
2- Copie o arquivo "briefing.html" do taskmaster para a pasta da sua missão.
3- Abra o arquivo "briefing.html" usando o notepad. Vai aparecer algo assim:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Title</title>
</head>
<body bgcolor="#FFFFFF">
<! -----DEBRIEFING----->
<hr>
<br>
<h2><a name="Debriefing:End1">Mission accomplished</a></h2>
<br>
<p>
<! ------victory------>
Well done!</p>
<br>
<hr>
<br>
<h2><a name="Debriefing:End2">Failed</a></h2>
<br>
<p>
<! ------KIA------>
That didnt go quite as planned.</p>
<br>
<! -----DEBRIEFING END----->
</body>
</html>
4- Edite os campos destacados em vermelho, inserindo as mensagens para o debriefing que aparece quando a missão é concluída com êxito ou não. Grave o arquivo.
5 - Para definir os objetivos e notas no taskmaster, você precisará utilizar a seguinte syntax:
[[
[Task1Data],
[Task2Data]
],[
[Note1Data],
[Note2Data]
]] execvm "briefing.sqf";
6- Parece complicado, mas não é. Veja, cada taskdata é uma matriz composta dos seguintes parâmetros:
[Condição,"Nome da tarefa", ["Descrição", "Descrição curta", "HUD desc"], Marca]
Exemplo:
["true","OBJ2",["Destruir o <marker name='zu'>ZU-23</marker>.","Destruir o ZU-23","Destruir"],zu],
true
Essa condição faz com que o briefing apareça para todos os jogadores, independentemente de sua facção ou grupo.
Se você quiser que essa nota apareça somente para os jogadores aliados dos americanos, substitua a condição "true" por "WEST".
Da mesma forma, se for somente para os Russos e seus amigos, substitua "true" por "EAST".
Se você quiser que a tarefa apareça somente para membros de um grupo, substitua "true" por "nome do grupo".
São várias as possibilidades, nesse exemplo, "(typeof _x == ""CDF_Soldier_Sniper"")" a tarefa aparecerá somente para os sniper dos CDF.
OBJ2
É o nome da minha tarefa. Poderia ser qualquer outro. É uma variável que será usada no editor para definir se a tarefa foi concluída ou não.
Destruir o <marker name='zu'>ZU-23</marker>
Esse é o texto que aparecerá na descrição da tarefa. Incluí uma marca para ajudar na localização do objetivo durante o jogo.
Destruir o ZU-23
Esse é o título da tarefa que aparecerá no briefing.
Destruir
Esse texto (HUD) aparecerá na tela quando o modo de jogo estiver em recruit e a tarefa destruir estiver selecionada no briefing como atual.
zu
Esse é no nome da marca que foi inserida no editor para que seja localizado o objetivo.
Poderão ser inseridas várias tarefas, sempre mantendo a syntax. Observe que a última tarefa não tem vírgula no final da linha.
7 - Cada nota é composta por:
[Condição, ["Título", "Texto"]]
Exemplo:
["true",["Creditos","Missao editada por Jorge."]]
true
Essa condição faz com que o briefing apareça para todos os jogadores, independentemente de sua facção ou grupo.
Se você quiser que essa nota apareça somente para os jogadores aliados dos americanos, substitua a condição "true" por "WEST".
Da mesma forma, se for somente para os Russos e seus amigos, substitua "true" por "EAST".
Se você quiser que a tarefa apareça somente para membros de um grupo, substitua "true" por "nome do grupo".
São várias as possibilidades, nesse exemplo, "(typeof _x == ""CDF_Soldier_Sniper"")" a tarefa aparecerá somente para os sniper dos CDF.
8 - 5 - Abra ou crie o arquivo "init.sqf" na pasta da sua missão e insira as tarefas e notas. Ficará parecida com isso:
[[
["true","OBJ1",["Localize e Resgate os <marker name='pil'>pilotos</marker> do Cobra que foi abatido. Elimine todos os guardas para liberta-los.","Resgatar os pilotos","Resgatar"], pil],
["true","OBJ2",["Destruir o <marker name='zu'>ZU-23</marker>.","Destruir o ZU-23","Destruir"],zu],
["true","OBJ3",["Eliminar a presenca inimiga no <marker name='deposito'>deposito</marker> de armas e veiculos.","Limpar o deposito","deposito"], deposito],
["true","OBJ4",["Invadir o <marker name='hq'>HQ</marker> inimigo e limpar a zona norte de Berezino.","Limpar Berezino","HQ"], hq],
["true","OBJ5",["Seguir para o ponto de <marker name='mkrExtraction'>extracao</marker> e deixar a cidade rumo ao sul, antes que os reforcos inimigos cheguem.","Evadir pelo sul","Evadir pelo sul"], mkrExtraction]
],[
["true",["Situacao","Em uma patrulha de rotina, um cobra foi abatido nas proximidades de Berezino. Os pilotos conseguiram ejetar a tempo, porem foram capturados pelos inimigos. Foram levados a um predio comercial no centro de Berezino para serem interrogados. Descobrimos que em Berezino encontra-se o deposito de armas, municoes e veiculos dos insurgentes. O local esta fortemente protegido por artilharia anti-aerea e patrulhas de infantaria."]],
["true",["Plano","Resgatar os pilotos e acabar com a presenca inimiga em Berezino. Seremos inseridos a sul da cidade em um Knight Hawk. O grupo de reconhecimento procurara pelos pilotos nos predios proximos ao local da queda do helicoptero, enquanto o grupo de fuzileiros dara suporte e destruira a artilharia anti-aerea nas imediacoes. Os snipers procurarao uma posicao favoravel para dar suporte aos demais. Apos libertarem os pilotos, todo o grupo devera seguir para o deposito de armas e municoes para juntos limparem o local e abrirem caminho para os pilotos roubarem um KA-52. Na sequencia, todos seguirao rumo ao norte para terminar o servico de limpeza com o apoio aereo do Helicoptero roubado pelos pilotos. O helicoptero deve levantar voo somente apos a eliminacao das armas antiaereas localizadas proximo ao deposito e sobre o HQ inimigo. Concluido o trabalho em Berezino, o grupo devera se dirigir ao local de extracao onde um helicoptero de transporte de tropas ou um caminhao russo se encontram. Fujam rumo ao sul, antes que o reforço inimigo chegue a Berezino."]],
["true",["Creditos","Missao editada por Jorge."]]
]] execvm "briefing.sqf";
9 - Grave o arquivo e pronto. O briefing está concluído.
10 - Para ativar a conclusão das tarefas, você poderá incluir triggers na missão com diversas condições para ativação.
O que importa é que no campo activation do trigger correspondente a sua tarefa, você inclua o seguinte código:
nul = ["OBJ1","succeeded"] call TASKMASTER_upd;
OBJ1
É o nome da sua tarefa, definido no item 6.
11 - Depois que cada tarefa for associada a um trigger ou outro meio de ativação, você poderá criar um trigger que verificará o status atual de cada objetivo e terminará a missão quando todas as tarefas forem concluídas.
Nesse trigger você deve definir type "END #1" e inserir no campo condition o seguinte:
(objOBJ1 == "succeeded") and (objOBJ2 == "succeeded") and (objOBJ3 == "succeeded")
and (objOBJ4 == "succeeded") and (objOBJ5 == "succeeded")
Onde a parte grifada em vermelho é o nome de cada tarefa sua definida no item 6.
Assim, quando todas as tarefas estiverem com o status "succeeded", a missão terminará.
Esse é só um exemplo básico, mas bastante prático para iniciantes.
E o bom é que é totalmente compatível com multiplayer, inclusive Join in Progress.
Nenhum comentário:
Postar um comentário