arma:scripting:pmc_logic1
This is an old revision of the document!
Units on GameLogics
Units on GameLogics by Snake Man
This was the very first script I put together, took a look Evolutions makeshilka function and adapted that. This will scan all gameLogics named “pmc_?” where the ? is a number digit ranging from 1 to 10 or more. Then if it finds a match, it runs the functions to create vehicle + soldiers in that gamelogic's grid coordinates position.
_allvecA = ["UAZ_AGS30","UAZMG","BRDM2","BMP2","ZSU","T72"]; _allvecB = ["UralRepair","UralReammo","UralRefuel","Ural","UralOpen"]; _allvecC = ["Mi17","Mi17_mg"]; PMC_MakeTank = { _myVec = (_allvecA select round random (_maxA - 1)); _vcl = _myVec createVehicle _respawnpoint; _vcl setpos _respawnpoint; _grp=objNull; waitUntil { _grp = createGroup (east); !(isNull _grp); }; "SoldierECrew" createUnit [_respawnpoint, _grp]; "SoldierECrew" createUnit [_respawnpoint, _grp]; "SoldierECrew" createUnit [_respawnpoint, _grp]; (units _grp select 0) moveInCommander _vcl; (units _grp select 1) moveInGunner _vcl; (units _grp select 2) moveInDriver _vcl; "SquadLeaderE" createUnit [_respawnpoint, _grp]; "TeamLeaderE" createUnit [_respawnpoint, _grp]; "SoldierEG" createUnit [_respawnpoint, _grp]; "SoldierEMG" createUnit [_respawnpoint, _grp]; "SoldierEAT" createUnit [_respawnpoint, _grp]; "TeamLeaderE" createUnit [_respawnpoint, _grp]; "SoldierEG" createUnit [_respawnpoint, _grp]; "SoldierEMG" createUnit [_respawnpoint, _grp]; "SoldierESniper" createUnit [_respawnpoint, _grp]; _grp addWaypoint [_respawnpoint, 200]; [_grp, 0] setWaypointBehaviour "AWARE"; [_grp, 0] setWaypointCombatMode "RED"; [_grp, 0] setWaypointSpeed "FULL"; [_grp, 0] setWaypointFormation "WEDGE"; [_grp, 0] setWaypointType "MOVE"; [_grp, 1] setWaypointType "SENTRY"; }; PMC_MakeGuardInf = { _grp=objNull; waitUntil { _grp = createGroup (east); !(isNull _grp); }; "SquadLeaderE" createUnit [_respawnpoint, _grp]; "TeamLeaderE" createUnit [_respawnpoint, _grp]; "SoldierEG" createUnit [_respawnpoint, _grp]; "SoldierEMG" createUnit [_respawnpoint, _grp]; "SoldierEAT" createUnit [_respawnpoint, _grp]; "TeamLeaderE" createUnit [_respawnpoint, _grp]; "SoldierEG" createUnit [_respawnpoint, _grp]; "SoldierEMG" createUnit [_respawnpoint, _grp]; "SoldierESniper" createUnit [_respawnpoint, _grp]; _grp addWaypoint [_respawnpoint, 500]; [_grp, 0] setWaypointBehaviour "AWARE"; [_grp, 0] setWaypointCombatMode "RED"; [_grp, 0] setWaypointSpeed "FULL"; [_grp, 0] setWaypointFormation "WEDGE"; [_grp, 0] setWaypointType "GUARD"; }; // choose new digit for the gamelogic "pmc_*" _a=1; _p = call compile format["pmc_%1",_a]; // loop until we have no gamelogics left, it then should return 0. while {(getpos _p select 0) != 0} do { // debug :) player sidechat format["_p: %1 _a: %2",_p,_a]; // the position of our gamelogic _respawnpoint = getpos _p; [] call PMC_MakeTank; [] call PMC_MakeGuardInf; // add one digit to our gamelogic name. _a=_a+1; _p = call compile format["pmc_%1",_a]; };
The vehicles come in random type, however soldiers are always the “basic squad” style.
arma/scripting/pmc_logic1.1184307648.txt.gz · Last modified: 2007/07/13 06:20 by snakeman