Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (isServer) then {
- private["_traderList","_trader","_spawnTrader","_i","_arrayLength","_center","_trdGroup"];
- _center = WEST;
- _trdGroup = Creategroup WEST;
- _spawnTrader = {
- private ["_endMarker","_truefalse","_moving","_markermove","_trdpos","_name","_cat","_spawnRadius","_needsrelocated","_istoomany","_trdGroup","_trdleader","_unitSkin","_WTpos","_position","_marker_1","_rad","_position2","_marker_2","_playerPresent"];
- _this = _this select 0;
- _unitSkin = _this select 0;
- _name = _this select 1;
- _cat = _this select 2;
- _truefalse = _this select 3;
- _spawnRadius = (HeliCrashArea/2);
- if(_truefalse) then {
- _WTpos = position WT;
- _trdleader = createAgent [_unitSkin,[(_WTpos select 0)+floor(random 14), (_WTpos select 1)-floor(random 2), 0], [], 0, "NONE"];
- _trdleader setBehaviour "CARELESS";
- _trdleader setSpeedMode "LIMITED";
- _trdleader setCombatMode "GREEN";
- _trdleader setFormation "FILE";
- _trdleader allowFleeing 0;
- _trdleader allowDamage false;
- while {true} do {
- _WTpos = position WT;
- _trdleader doMove _WTpos;
- sleep 10;
- };
- } else {
- _needsrelocated = true;
- while {_needsrelocated} do {
- _position = [getMarkerPos "center",0,_spawnRadius,10,0,5000,0] call BIS_fnc_findSafePos;
- //START POS
- _startPos = createMarker [_cat, _position];
- _startPos setMarkerShape "mil_dot";
- _startPos setMarkerColor "ColorGreen";
- _startPos setMarkerText "Trader Start";
- _startPos setMarkerAlpha 1;
- _startPos setMarkerSize [1.25, 1.25];
- _marker_1 = _startPos;
- //END POS
- _rad = 2000;
- _position2 = [getMarkerPos "center",0,_rad,10,0,5000,0] call BIS_fnc_findSafePos;
- //_endMarker = _position2;
- diag_log _position2;
- _endMarker = createMarker [_name, _position2];
- _endMarker setMarkerType "mil_dot";
- _endMarker setMarkerColor "ColorGreen";
- _endMarker setMarkerText "Trader End";
- _endMarker setMarkerAlpha 1;
- _endMarker setMarkerSize [1.25, 1.25];
- _marker_2 = _endMarker;
- _istoomany = _position nearObjects ["AllVehicles",10];
- if((count _istoomany) == 0) then { _needsrelocated = false; };
- };
- diag_log _position2;
- _trdleader = createAgent [_unitSkin,[(_position select 0)+floor(random 14), (_position select 1)-floor(random 2), 0], [], 0, "NONE"];
- _trdleader doMove [_position2 select 0, _position2 select 1];
- _trdleader setBehaviour "CARELESS";
- _trdleader setSpeedMode "LIMITED";
- _trdleader setCombatMode "GREEN";
- _trdleader setFormation "FILE";
- _trdleader allowFleeing 0;
- _trdleader allowDamage false;
- if(_truefalse) then {WT = _trdleader;};
- _trdpos = getPos _trdleader;
- _markermove = createMarker [_unitSkin, _trdpos];
- _markermove setMarkerType "mil_dot";
- _markermove setMarkerSize [1.5, 1.5];
- _markermove setMarkerColor "ColorGreen";
- _markermove setMarkerText _name;
- _markermove setMarkerAlpha 1;
- _moving = true;
- while {_moving} do {
- _playerPresent = false;
- _markermove setMarkerPos (getPos _trdleader);
- _markermove setMarkerDir (getDir _trdleader);
- if ({_trdleader distance (getMarkerPos _unitSkin) < 30} count playableUnits > 0) then {
- _playerPresent = true;
- _trdleader disableAI "MOVE";
- _trdleader disableAI "FSM";
- _trdleader doWatch player;
- //hint format ["playerpresent=%1", _playerPresent];
- } else {
- _trdleader enableAI "MOVE";
- _trdleader enableAI "FSM";
- _playerPresent = false;
- //hint format ["playerpresent=%1", _playerPresent];
- };
- if (_trdleader distance _position2 <= 50) then {
- //deleteVehicle _trdleader;
- //deletemarker _markermove;
- //deletemarker _marker_1;
- //deletemarker _marker_2;
- //hint parseText format ["<t align='center' color='%1' shadow='2' size='1.75'>Trader</t><br/><t align='center' color='%2' size='1.35'>sind weitergezogen</t>", _failMissionColor, _subTextColor];
- _moving = false;
- };
- sleep 5;
- };
- };
- };
- _traderList = [
- ["pook_Doc_Bell47","Medical Supply","MS",false],
- ["Damsel3","Drinks ,Backpacks ,Foods","DBF",false],
- ["GUE_Woodlander2","Building, Vehicle ,Toolbelt Items","BVT",false],
- ["Soldier_GL_PMC","Black Market","BM",false],
- ["Soldier_MG_PKM_PMC","Weapon and Ammo Trader","WT",false],
- ["Soldier_MG_PKM_PMC","Ammo Trader","AT",true]
- ];
- _arrayLength = count _traderList;
- _i = 0;
- for [{_i=0}, {_i<_arrayLength}, {_i=_i+1}] do
- {
- _trader = _traderList select (_i);
- diag_log format["%1 spawned",_trader select 0];
- [_trader] spawn _spawnTrader;
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement