Advertisement
Guest User

SAR_AI_spawn.sqf (error)

a guest
Mar 26th, 2015
16
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.32 KB | None | 0 0
  1. // =========================================================================================================
  2. // SAR_AI - DayZ AI library
  3. // Version: 1.1.0
  4. // Author: Sarge (sarge@krumeich.ch)
  5. //
  6. // Wiki: to come
  7. // Forum: http://opendayz.net/index.php?threads/sarge-ai-framework-public-release.8391/
  8. //
  9. // ---------------------------------------------------------------------------------------------------------
  10. // Required:
  11. // UPSMon
  12. // SHK_pos
  13. //
  14. // ---------------------------------------------------------------------------------------------------------
  15. // SAR_AI_spawn.sqf - handle the logic of spawning and despawning AI groups via the defined trigger array
  16. // last modified: 1.4.2013
  17. // ---------------------------------------------------------------------------------------------------------
  18.  
  19.  
  20. private ["_i","_snipers","_soldiers","_group","_check","_probability","_chance","_playerlist","_triggername","_tmparr","_markername","_player","_valuearray","_max_grps","_rnd_grps","_max_p_grp","_grps_band","_grps_sold","_grps_surv","_grps_upd","_respawn"];
  21.  
  22. if (!isServer) exitWith {}; // only run this on the server
  23.  
  24. _playerlist = _this select 0;
  25. _triggername = _this select 1;
  26.  
  27. _tmparr=toArray (_triggername);
  28.  
  29. _tmparr set[4,97];
  30. _tmparr set[5,114];
  31. _tmparr set[6,101];
  32. _tmparr set[7,97];
  33.  
  34. _markername=toString _tmparr;
  35.  
  36. {if(isPlayer _x) then {_player = _x;};} foreach _playerlist;
  37.  
  38. if (SAR_DEBUG) then {diag_log format["SAR_DEBUG: Triggered by (might be wrong): %1", _player];};
  39.  
  40. if (SAR_EXTREME_DEBUG) then {
  41. diag_log "SAR EXTREME DEBUG: Content of the Monitor before adding spawned groups.";
  42. call SAR_DEBUG_mon;
  43. };
  44.  
  45. if (SAR_dynamic_group_respawn) then {
  46. _respawn = true;
  47. };
  48.  
  49. _valuearray= [["max_grps","rnd_grps","max_p_grp","grps_band","grps_sold","grps_surv"],_markername] call SAR_AI_mon_read;
  50.  
  51. _max_grps=_valuearray select 0;
  52. _rnd_grps=_valuearray select 1;
  53. _max_p_grp=_valuearray select 2;
  54. _grps_band=_valuearray select 3;
  55. _grps_sold=_valuearray select 4;
  56. _grps_surv=_valuearray select 5;
  57. _grps_upd =[];
  58.  
  59. _grps_upd = _grps_band;
  60.  
  61. for [{_i = (count _grps_band)},{_i < (_max_grps select 0)}, {_i=_i+1}] do
  62. {
  63. if(_max_p_grp select 0 > 0) then {
  64. _probability = _rnd_grps select 0;
  65. _chance = (random 100);
  66. if(_chance < _probability) then {
  67. _snipers=floor (random ((_max_p_grp select 0)-1));
  68. _soldiers =((_max_p_grp select 0)-1) - _snipers;
  69. _group = [_markername,3,_snipers,_soldiers,"",_respawn] call SAR_AI; <<<----------------E_R_R_O_R----------------
  70. _grps_upd set [count _grps_upd,_group];
  71. // update AI monitor
  72. _check = [["grps_band"],[_grps_upd],_markername] call SAR_AI_mon_upd;
  73. };
  74. };
  75. };
  76.  
  77. _grps_upd = _grps_sold;
  78.  
  79. for [{_i = (count _grps_sold)},{_i < (_max_grps select 1)}, {_i=_i+1}] do
  80. {
  81. if(_max_p_grp select 1 > 0) then {
  82. _probability = _rnd_grps select 1;
  83. _chance = (random 100);
  84. if(_chance < _probability) then {
  85. _snipers=floor (random ((_max_p_grp select 1)-1));
  86. _soldiers =((_max_p_grp select 1)-1) - _snipers;
  87. _group = [_markername,1,_snipers,_soldiers,"",_respawn] call SAR_AI; <<<----------------E_R_R_O_R----------------
  88. _grps_upd set [count _grps_upd,_group];
  89. // update AI monitor
  90. _check = [["grps_sold"],[_grps_upd],_markername] call SAR_AI_mon_upd;
  91. };
  92. };
  93. };
  94.  
  95. _grps_upd = _grps_surv;
  96.  
  97. for [{_i = (count _grps_surv)},{_i < (_max_grps select 2)}, {_i=_i+1}] do
  98. {
  99. if(_max_p_grp select 2 > 0) then {
  100. _probability = _rnd_grps select 2;
  101. _chance = (random 100);
  102. if(_chance < _probability) then {
  103. _snipers=floor (random ((_max_p_grp select 2)-1));
  104. _soldiers =((_max_p_grp select 2)-1) - _snipers;
  105. _group = [_markername,2,_snipers,_soldiers,"",_respawn] call SAR_AI; <<<----------------E_R_R_O_R----------------
  106. _grps_upd set [count _grps_upd,_group];
  107. // update AI monitor
  108. _check = [["grps_surv"],[_grps_upd],_markername] call SAR_AI_mon_upd;
  109. };
  110. };
  111. };
  112.  
  113. // DEBUG
  114. if (SAR_EXTREME_DEBUG) then {
  115. diag_log "SAR EXTREME DEBUG: Content of the Monitor after adding spawned groups.";
  116. call SAR_DEBUG_mon;
  117. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement