PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Module über Script spawnen


TimmK
23.12.2015, 23:56
Moin,
kann mir jemand sagen ob und wie ich Module (Zeus Game Master) über ein Script spawnen kann?

Moerderhoschi
24.12.2015, 10:59
Das erstellen vom curatorModule ueber ein Script geht mit den Befehl


"ModuleCurator_F" createUnit [_pos, _grp];


Davor muss aber eine Gruppe der Seite sidelogic erstellt werden, in welcher das Module dann Mitglied ist.


_side_logic = createCenter sidelogic;
_grp = createGroup _side_logic;


Ich weiß nicht wie es um deine Scriptingkenntnis steht, falls da eher weniger vorhanden ist empfehle ich Dir den folgenden Thread zu lesen, 99% davon gilt auf fuer ArmA III: Missionserstellung Tipps&Tricks (http://hx3.de/editing-scripting-167/missionserstellung-tipps-tricks-22044/)

Sobald Du das getan hast, verstehst Du auch folgendes Script besser, was ich als Beispiel gebastelt habe:


// made by Moerderhoschi

// check if script only executed on server
if (!isServer) exitwith {};

// defining zeus game master
zeusGameMaster = nameOfPlayerWhoWillBeZeus;
publicvariable "zeusGameMaster";
sleep 0.1;

// wait until zeusGameMaster is defined
waitUntil {sleep 0.5; !isNil "zeusGameMaster"};

// create logic that zeus module can be created
_side_logic = createCenter sidelogic;
_group_logic = createGroup _side_logic;
sleep 0.1;

// create zeus module
"ModuleCurator_F" createUnit [[0,0,0], _group_logic,"zeusGameMasterModule = this"];

// set module to be able to do stuff near players
zeusGameMasterModule allowCuratorLogicIgnoreAreas true;
sleep 0.1;

// assign zeusGameMaster to module
zeusGameMaster assignCurator zeusGameMasterModule;
sleep 0.1;

// add allMissionObjects to be editable to the module
zeusGameMasterModule addCuratorEditableObjects [ (allMissionObjects "") , true];



Auch empfehlenswert der Editing Guide von Psychobastard fuer A3: Psycho's A3 Editing Guide (http://hx3.de/editing-scripting-187/psychos-a3-editing-guide-22809/)

[GNC]JamesRyan
08.05.2017, 19:01
Brauchte ebenfalls diese Funktionalität, also danke an Moerderhoschi für die Lösung! Allerdings ist das Skript sehr aufgebläht und wenn es eh auf dem Server läuft, sind die publicVariable Befehle auch unnötig (außer für JIP eventuell). Da ich das ganze für Admins brauche, die sich bei einem Disconnect auch neu einloggen können, sieht meine Lösung so aus:


// arguments
params ["_curator"];

// check if player is not already curator
if (_curator in (allCurators apply {getAssignedCuratorUnit _x})) exitWith{};

// create logic that zeus module can be created
private _side_logic = createCenter sidelogic;
private _group_logic = createGroup _side_logic;
sleep 0.1;

// create zeus module
private _curatorObj = _group_logic createUnit ["ModuleCurator_F", [0,0,0], [],0, "NONE"];

// set module to be able to do stuff near players
_curatorObj allowCuratorLogicIgnoreAreas true;

// assign zeusGameMaster to module
_curator assignCurator _curatorObj;

// add allMissionObjects to be editable to the module
_curatorObj addCuratorEditableObjects [ (allMissionObjects "") , true];