Das ist doch mal eine nette Bi-Funktion: BIS_fnc_stalk.
(Siehe auch BIS_fnc_stalk)
Vor allem dann, wenn man einem Ziel, in meinem Fall einem zufällig gewähltem Spieler von der AI verfolgen lassen möchte. Man baut sich hier zu z.B. eine oder diverse Feindgruppen auf, lässt diese spawnen und dann ruft man die Funktion mit der jeweiligen Gruppe und dem Ziel auf.
In diesem Beispiel stelle ich auch sicher, das die Feindeinheit auf ein mögliches Bodenziel geht.
In meinem Beispiel , sieht es wie folgt, in meiner GT_playerHunt.sqf, aus:
Die hier verwendeten GM Einheiten sind natürlich je nach Bedürfnis austauschbar
Code
- if (!isServer) exitWith {};
- private _randomTarget = selectRandom (allPlayers - entities "HeadlessClient_F");
- if ((isTouchingGround _randomTarget) && _randomTarget distance (getMarkerPos "respawn_west") < 500) then{
- _playerPos = getpos _randomTarget;
- _enemyTankGroup =["gm_gc_army_t55a","gm_gc_army_t55am2b","gm_gc_army_pt76b"];
- _enemyCarGroup = ["gm_gc_army_uaz469_spg9","gm_pl_army_uaz469_dshkm"];
- _enemyTank = selectRandom ["gm_gc_army_t55a","gm_gc_army_t55am2b","gm_gc_army_pt76b","gm_pl_army_t55ak","gm_pl_army_t55"];
- _enemyCar = selectRandom ["gm_gc_army_uaz469_spg9","gm_pl_army_uaz469_dshkm"];
- _condition = selectRandom [1,2,3,4,5,6];
- switch (_condition) do {
- case 1: {
- //Tankgroup
- {
- _tank = _x;
- _grade = [330,345,0,15,45] call BIS_fnc_selectRandom;
- _position = [(getpos _randomTarget), (800 + random 250), _grade] call BIS_fnc_relPos;
- _grppatrol = createGroup EAST;
- _grppatrol = [_position, EAST, [_tank],[],[],[],[],[],180] call BIS_fnc_spawnGroup;
- _stalking = [_grppatrol, group _randomTarget] spawn BIS_fnc_stalk;
- } forEach _enemyTankGroup;
- };
- case 2: {
- //singleTank
- _grade = [330,345,0,15,45] call BIS_fnc_selectRandom;
- _position = [(getpos _randomTarget), (800 + random 250), _grade] call BIS_fnc_relPos;
- _grppatrol = createGroup EAST;
- _grppatrol = [_position, EAST, [_enemyTank],[],[],[],[],[],180] call BIS_fnc_spawnGroup;
- _stalking = [_grppatrol, group _randomTarget] spawn BIS_fnc_stalk;
- };
- case 3: {
- //small infgroup
- _grade = [330,345,0,15,45] call BIS_fnc_selectRandom;
- _position = [(getpos _randomTarget), (800 + random 250), _grade] call BIS_fnc_relPos;
- _grppatrol = createGroup EAST;
- _grppatrol = [_position, EAST, ["gm_gc_army_squadleader_mpiak74n_80_str",
- "gm_gc_army_machinegunner_assistant_mpiak74n_lmgrpk74_80_str",
- "gm_gc_army_antitank_mpiak74n_rpg7_80_str",
- "gm_gc_army_antitank_assistant_mpiak74n_rpg7_80_str",
- "gm_gc_army_sf_antitank_mpikms72_rpg7_80_str",
- "gm_gc_bgs_rifleman_mpikm72_80_str",
- "gm_gc_bgs_rifleman_mpikm72_80_str"]] call BIS_fnc_spawnGroup;
- _stalking = [_grppatrol, group _randomTarget] spawn BIS_fnc_stalk;
- };
- case 4: {
- //big infgroup
- _grade = [330,345,0,15,45] call BIS_fnc_selectRandom;
- _position = [(getpos _randomTarget), (800 + random 250), _grade] call BIS_fnc_relPos;
- _grppatrol = createGroup EAST;
- _grppatrol = [_position, EAST, ["gm_gc_army_squadleader_mpiak74n_80_str",
- "gm_gc_army_rifleman_mpiak74n_80_str",
- "gm_gc_army_rifleman_mpiak74n_80_str",
- "gm_gc_army_machinegunner_lmgrpk74_80_str",
- "gm_gc_army_machinegunner_assistant_mpiak74n_lmgrpk74_80_str",
- "gm_gc_army_antitank_mpiak74n_rpg7_80_str",
- "gm_gc_army_antitank_assistant_mpiak74n_rpg7_80_str",
- "gm_gc_army_rifleman_mpiak74n_80_str",
- "gm_gc_army_rifleman_mpiak74n_80_str",
- "gm_gc_army_sf_squadleader_mpikms72_80_str",
- "gm_gc_army_sf_machinegunner_lmgrpk_80_str",
- "gm_gc_army_sf_marksman_svd_80_str",
- "gm_gc_army_sf_antitank_mpikms72_rpg7_80_str",
- "gm_gc_army_sf_demolition_pm63_80_str",
- "gm_gc_army_sf_rifleman_pm63_80_str",
- "gm_gc_bgs_rifleman_mpikm72_80_str",
- "gm_gc_bgs_rifleman_mpikm72_80_str"]] call BIS_fnc_spawnGroup;
- _stalking = [_grppatrol, group _randomTarget] spawn BIS_fnc_stalk;
- };
- case 5: {
- //single car
- _grade = [330,345,0,15,45] call BIS_fnc_selectRandom;
- _position = [(getpos _randomTarget), (800 + random 250), _grade] call BIS_fnc_relPos;
- _grppatrol = createGroup EAST;
- _grppatrol = [_position, EAST, [_enemyCar],[],[],[],[],[],180] call BIS_fnc_spawnGroup;
- _stalking = [_grppatrol, group _randomTarget] spawn BIS_fnc_stalk;
- };
- case 6:{
- //multiple cars
- {
- _car = _x;
- _grade = [330,345,0,15,45] call BIS_fnc_selectRandom;
- _position = [(getpos _randomTarget), (800 + random 250), _grade] call BIS_fnc_relPos;
- _grppatrol = createGroup EAST;
- _grppatrol = [_position, EAST, [_car],[],[],[],[],[],180] call BIS_fnc_spawnGroup;
- _stalking = [_grppatrol, group _randomTarget] spawn BIS_fnc_stalk;
- } forEach _enemyCarGroup;
- };
- default {
- hint "No Reinforcements"
- };
- };
- };
Wie ihr Eure Feinde auf die Karte bringt natürlich Euer Ding, einsetzten braucht ihr dann nur