-
Notifications
You must be signed in to change notification settings - Fork 0
Missionmaker guide
Um einen Sektor zu erstellen, muss als erstes ein Marker im Editor platziert werden. pta_sector_mySectorName Wichtig, dass System wird diesen Marker als Zentrum des Sektors anschauen. Der Markertype spielt keine Rolle, er wird dann vom System ersetzt.
Nun muss der Sektor noch in die Config eingetragen werden. Dazu im Missionsordner in den Ordner config gehen und dort die CfgSectors öffnen. Dort tragt ihr euren Sektor folgendermaßen ein.
x steht hier für einen Namen oder Nummer
class pta_sector_x {
name="sector_X";
marker="pta_sector_X";
attackTargets[] = {"pta_sector_X_attack"}; // Mind. 1 Marker definieren, der das Angriffsziel ist
resource[] = {"Fuel"}; // Möglich hier sind: Diesel, Fuel, Kerosene
tasks[] = {"pta_task_sector2"}; // Könnt ihr die Klassennamen der Tasks einfügen die in diesem Sektor sein sollen
province[] = {"pta_province_1"}; // Provinzen können im moment ignoriert werden
};Wenn dies gemacht ist, könnt ihr den Sektor oben hinzufügen
class CfgSector {
sectors[] = {"pta_sector_1", "pta_sector_2", "pta_sector_3", "pta_sector_x"};
.......So und das wars der Sektor ist nun ready.
Die Taskerstellung ist fast genau so einfach wie, die für den Sektor. Alls erstes müsst ihr in den Ordner config und dort die Datei mit dem Namen CfgTaskSystem.hpp öffen.
Nun könnt ihr euren Task hier eintragen:
class pta_task_sectorX {
name = "Destroy AA"; //Name of the task
desc = "There are 2 AA's in the AO, destroy them!"; // Description of the task
markerName = "pta_task_sector2"; // The name of the empty marker that you have given in the mission
taskType = "kill"; //https://community.bistudio.com/wiki/Arma_3_Tasks_Overhaul#Default_Task_Types:_Actions
winCond = "(!alive (aa1)) && (!alive(aa2))"; // Hier könnt ihr die condition für den task eintragen !WICHTIG AA1 & AA2 SIND AUF DER MAP PLATZIERT UND HEISSEN AUCH SO
unit[] = {"pta_inf_ft", "pta_inf_squad", "pta_inf_squad"}; // Units die initial spawnen sollen.(Siehe dazu den Unitseintrag)
};Die Tasks müssen nicht wie die Sektoren noch extra eingetragen werden. Die Tasks werden beim Sector angegeben.
Wenn eine Task als "Geschafft" angesehen werden soll, kann z.b. über ein Trigger dann das Tasksystem getriggert werden. Hierzu einfach in die onActivation folgendes eintragen:
["pt_onTaskCompleted", ["pt_exmapleTask1"]] call CBA_fnc_globalEvent;Das was in den eckigen Klammern(Array) steht, ist der Name des Tasks. Also der gleiche Name wie der Classname in der Config.
Das Tasksystem von Project Tacoma wurde so ausgelegt, dass es schon vieles dem Missionbauer abnimmt. Wer nun einen neuen Task erstellen will geht wie folgt vor:
- Die Datei mit dem Namen CfgTaskSystem.hpp öffnen
- Dort unter dem Eintag
class CfgTaskSystemeine neue Klasse anlegen. Diese könnte so aussehen.
class pt_exmapleTask1 {
name = "Example"; //Name of the task
desc = "Example desc"; // Description of the task
markerName = "pms_exampleTask1"; // The name of the empty marker that you have given in the mission
taskType = "kill"; //https://community.bistudio.com/wiki/Arma_3_Tasks_Overhaul#Default_Task_Types:_Actions
reward = 20 //How many tickets they get for this
minPlayer = 5; //Min player who you need for this mission
maxPlayer = 10; //Max player who you need for this mission
//lists here all side tasks
sideMissions[] = {"pt_exampleSideTask"};
class sideTasks {
class pt_exampleSideTask {
name = "Example Side"
desc = "Example Side desc!";
markerName = "pms_exampleSideTask1"
taskType = "scout";
reward = 10;
minPlayer = 2;
maxPlayer = 4;
};
};
};!!!WICHTIG!!! Wenn ihr keine Sidemissions definieren wollt, dann die Variable sideMissions so definieren:
sideMissions[] = {};- Wenn dies nun alles getan ist, dann noch die Klasse(in unserem Beispiel pt_exmapleTask1) noch in das Array tasks eintragen:
tasks[] = {"_pt_exmapleTask1 "};