Jump to content

ollem

Member
  • Content Count

    453
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by ollem

  1. Thanks, but Fabrizio is the real magician - I'm just the assistant ;-)
  2. well... actually most likely one version which should fit all... but making some decision based on which system it is being triggered. ---------- Post added at 06:24 ---------- Previous post was at 06:19 ---------- If they're not in there I might have sent you the wrong version ... was kind of hectoc weekend so wouldn't be surprised... :-( Updated version uncomming later today..
  3. The debug balls showing continously is one of the issues with dedicated server at this moment. If youi don't like the balls you better remove mod uintil we released an MP compatible version. Hopefully within a few days from now. After remove and restart balls should be gone.
  4. I've been able to successfully test the concept :cool: Will work on the details now
  5. MP server doesn't currently work 100% - some features may work, but other features not at all. E.g. not all bullets shot by players are detected and processed. I'm working on it and do make some good progress. No guarantees, but lets say I'm very optimistic and do hope to have some more news by tomorrow evening.
  6. Check out http://forums.bistudio.com/showthread.php?136304-TPWC-AI-suppression-system This is Work-In-Progress to do what you are looking for. (Works already in SP, not MP)
  7. I do agree we should try to keep this as lean and mean as possible - however I thought you were looking for some routines to add. If the AI drops and gets scared (== not very efficient in returning fire for a small period of time) that's already a major step forward.
  8. PM sent. Have a nice weekend too!
  9. With UPSMON and ASR_AI AI seems to take cover behind trees/bushes, have morale etc. Not sure if either is triggered by ASR or UPSMON, but you may want to have a look at the scripts: UPSMON: https://dev-heaven.net/projects/upsmon/wiki
  10. Not sure if I'm able to work it out today, but I believe I've found the right approach: The rately used: CBA_fnc_whereLocalEvent (there's only 2 references about it on this 10 yr old forum - 3 now :p ) I'll believe the following should work: on isDedicated server, spawned in dDetect.sqf: // Only triggered where _unit is local ["suppressEvent", { _unit = _this select 0; _side = _this select 1; [_unit, _side] call '[i]some_bDetect_fnc'[/i]; }] call CBA_fnc_addLocalEventHandler; Player trigger event, executed on player client - already processed so only triggered in case bullets were detected in range of suppressed unit: ["suppressEvent", ['[i]suppressed AI unit[/i]', '[i]side[/i]']] call CBA_fnc_whereLocalEvent; (I've code ready which allows specific parts od bDetect to run on isDedicated and/or client - will share later today)
  11. thx, so broadcasting variables to server and all clients is still preferable over sending vars + some code to just the server? Or is there an CBA EH that will only broadcast to server? (I've seen only a) EH to send to all, including local client, b) to all exlcuding local, and c) just local, but not one to just send to server? (Anyway, using the EH seems easier to hook into the existing dDetect framework after all.) d) CBA_fnc_whereLocalEvent
  12. Did a quick test to split into a server/SP and a MP Client specific version. Server excludes to add player-EH's, the players EH are processed by client. This works. To investigate: A- Use "CBA_fnc_addEventHandler" and "CBA_fnc_globalEvent" on dedi server to have bDetect pick up client sent data. B - Using "[-1, { some code _this }, params ] call CBA_fnc_globalExecute" trigger required effect on dedi server. (Not sure what is prefered to limit system and network overhead)
  13. :p indeed strange flight path - It looks like the bullet got stuck in the wall.. ;-) Can't tell yet if it improved, but at least you somehow were able to mimic per frame EH at the server. (I did not have time to look at the details of the script) I did test another test with me vs single AI: 15 single shots from +/- 70m: with bdetect_bullet_max_proximity = 10 less then half of the bullets were discovered However, with bdetect_bullet_max_proximity = 16 all 15 of the fired bullets were discovered. This looks promising.. if only performance isn't impacted that bad.. bDetect_mp_player_ai_15-10.log dDetect_mp_player_ai_15-16.log
  14. Here are 2 logs: 1 - Me shooting bursts and multiple single shots at a single AI: dDetect_mp_player_ai.log (added some comments in the log) 2 - AI USMC squad versus AI Takistani Militia squad: dDetect_mp_ai_vs_ai.log (remarkable: the logs consistently show 2 detected bullets instead of 3 for bursts..)
  15. Here is the raw log (I removed a few non-related messages) which includes in the upper part just me shooting AI, lower part it's some 15 vs 15 (or more) AI shooting each other. Arma_server_bDetect.log settings used: - bdetect_bullet_max_distance = 1000; - bdetect_bullet_max_lifespan = 1.1; - bdetect_debug_levels = [0,1,2,5,6,7,8,9]; ---------- Post added at 08:25 ---------- Previous post was at 08:10 ---------- Dedicated Server most likely has a different need (in general; or at least speaking for myself): Dedicated game play is focused around COOP vs AI, or PvP. In theory that would mean AI suppression is primarily needed based on players shooting AI only. So I will investigate if bDetect could just run on each client, monitoring a local EH tracing bullets fired by the player only (assuming cba_fnc_addPerFrameHandler is working normally on MP clients) If thresholds are met, the info about which _unit should be considered suppressed should be sent to the server, which would collect and process the suppressing info.
  16. The fact MP is not (or better very very limited) working on Dedicated is caused by the delay in bullet detection. I did some more detailed MP testing yesterday and posted the results in fabrizio_T's seperate bDetect thread. The concept itself works, but for Dedicated server some additional work is needed. I do have some ideas which may or may not work: I'll look into this. NOTE: Make sure the current code/PBO is only running on the server, not on any client in case of MP testing.
  17. I've done some more dedicated server testing. created a dedicated server on same system as client, so basically no network latency. Still, any shots fired by me on the client were hardly detected in time: only 1 bullet Often the bullet has traveled over 200m before being detected. For dedicated we may have to increase the detection area significantly, in order to detect passing bullets. We could reduce the sideway detection by determining the shooter direction - by adding getDir to EH, and then use some good ole SIN calculation based on distance and angle to reduce to e.g. 10 m sideways. (I already tested this last week and it works) Another approach could be to run a bullet framework for just the player on the client, based on a single EH for just the client. Conclusion: Dedicated Server support still needs some attention... [font=Courier New][b] time frame bullet Time Distance Speed nr[/b] 31.878 69748 L2: bullet 438946 " tracer_red.p3d added""" 1 32.178 69763 L2: Following bullet 438946 tracer_red.p3d. Time 0.300001. 207.736 930. 6 32.680 69788 L2: Following bullet 438946 tracer_red.p3d. Time 0.802. 341.833 930. 8 32.038 69756 L2: bullet 438948 " tracer_red.p3d added""" 4 32.178 69763 L2: Following bullet 438948 tracer_red.p3d. Time 0.140003. 136.310 930.001. 7 32.680 69788 L2: Following bullet 438948 tracer_red.p3d. Time 0.642002. 305.080 930.001. 10 34.186 69863 L2: bullet 438974 " tracer_red.p3d added""" 12 34.186 69863 L2: Following bullet 438974 tracer_red.p3d. Time 0.186.002 930.001. 14 34.688 69888 L2: Following bullet 438974 tracer_red.p3d. Time 0.501999. 266.783 930.001. 19 34.347 69871 L2: bullet 438976 " tracer_red.p3d added""" 16 34.688 69888 L2: Following bullet 438976 tracer_red.p3d. Time 0.341. 220.107 930.002. 21 35.188 69913 L2: Following bullet 438976 tracer_red.p3d. Time 0.841. 355.699 930.002. 22 35.688 69938 L2: Following bullet 438976 tracer_red.p3d. Time 1.341. 441.723 930.002. 23 36.909 69999 L2: bullet 438997 " tracer_red.p3d added""" 25 37.169 70012 L2: Following bullet 438997 tracer_red.p3d. Time 0.259998. 195.559 930. 30 37.069 70007 L2: bullet 438999 " tracer_red.p3d added""" 28 37.169 70012 L2: Following bullet 438999 tracer_red.p3d. Time 0.0999985. 104.691 930. 31 37.673 70037 L2: Following bullet 438999 tracer_red.p3d. Time 0.604. 294.965 930. 32 79.484 72126 L2: bullet 439011 " tracer_red.p3d added""" 40 79.684 72136 L2: Following bullet 439011 tracer_red.p3d. Time 0.199997. 176.602 930.002. 45 79.624 72133 L2: bullet 439013 " tracer_red.p3d added""" 43 80.184 72160 L2: Following bullet 439013 tracer_red.p3d. Time 0.559998. 282.969 930. 48 79.684 72136 L2: Following bullet 439013 tracer_red.p3d. Time 0.0599976. 715.429 930. 46 80.624 72182 L2: bullet 439024 " tracer_red.p3d added""" 50 81.184 72210 L2: Following bullet 439024 tracer_red.p3d. Time 0.559998. 282.925 930.002. 56 80.684 72185 L2: Following bullet 439024 tracer_red.p3d. Time 0.0599976. 715.432 930.002. 52 80.784 72190 L2: bullet 439026 " tracer_red.p3d added""" 54 81.184 72210 L2: Following bullet 439026 tracer_red.p3d. Time 0.400002. 237.472 930.001. 58 81.787 72240 L2: bullet 439038 " tracer_red.p3d added""" 60 82.187 72260 L2: Following bullet 439038 tracer_red.p3d. Time 0.399994. 237.651 930.001. 65 82.669 72284 L2: Following bullet 439038 tracer_red.p3d. Time 0.881996. 365.855 930.001. 67 81.947 72248 L2: bullet 439040 " tracer_red.p3d added""" 63 82.187 72260 L2: Following bullet 439040 tracer_red.p3d. Time 0.239998. 189.201 930.001. 66 82.669 72284 L2: Following bullet 439040 tracer_red.p3d. Time 0.722. 326.066 930.001. 69 82.789 72290 L2: bullet 439048 " tracer_red.p3d added""" 70 82.949 72298 L2: bullet 439051 " tracer_red.p3d added""" 73 83.169 72309 L2: Following bullet 439051 tracer_red.p3d. Time 0.220001. 182.939 930.001. 75 83.672 72334 L2: Following bullet 439051 tracer_red.p3d. Time 0.723. 326.310 930.001. 76 84.172 72359 L2: Following bullet 439051 tracer_red.p3d. Time 1.223. 422.959 930.001. 82 83.992 72350 L2: bullet 439059 " tracer_red.p3d added""" 77 84.172 72359 L2: Following bullet 439059 tracer_red.p3d. Time 0.18. 166.538 930.001. 84 84.152 72358 L2: bullet 439061 " tracer_red.p3d added""" 80 84.672 72384 L2: Following bullet 439061 tracer_red.p3d. Time 0.519997. 271.955 930.001. 87 84.172 72359 L2: Following bullet 439061 tracer_red.p3d. Time 0.0199966. 367.074 930.001. 85 85.175 72409 L2: Following bullet 439061 tracer_red.p3d. Time 1.023. 386.612 930.001. 88 85.677 72434 L2: Following bullet 439061 tracer_red.p3d. Time 1.525. 455.826 930.001. 94 85.295 72415 L2: bullet 439075 " tracer_red.p3d added""" 89 85.455 72423 L2: bullet 439077 " tracer_red.p3d added""" 92 85.677 72434 L2: Following bullet 439077 tracer_red.p3d. Time 0.222. 183.512 930. 97 86.177 72459 L2: Following bullet 439077 tracer_red.p3d. Time 0.722. 325.937 930. 98 86.498 72475 L2: bullet 439085 " tracer_red.p3d added""" 100 86.679 72484 L2: Following bullet 439085 tracer_red.p3d. Time 0.181. 167.284 930.001. 105 86.658 72483 L2: bullet 439089 " tracer_red.p3d added""" 103 87.180 72509 L2: Following bullet 439089 tracer_red.p3d. Time 0.522003. 272.212 930.002. 107 86.679 72484 L2: Following bullet 439089 tracer_red.p3d. Time 0.0210037. 376.121 930.002. 106 356.879 85980 L2: bullet 439115 " tracer_red.p3d added""" 145 357.499 86011 L2: bullet 439117 " tracer_red.p3d added""" 147 358.040 86038 L2: bullet 439119 " tracer_red.p3d added""" 149 358.180 86045 L2: Following bullet 439119 tracer_red.p3d. Time 0.139984. 136.319 930. 151 358.180 86045 L9: [O 1-1-A:1 439119 "Close to bullet ;" 7.8549m 152 358.180 86045 L9: [O 1-1-A:2 439119 "Close to bullet ;" 2.15786m 153 358.180 86045 L9: [O 1-1-A:3 439119 "Close to bullet ;" 5.30886m 154 359.603 86116 L2: bullet 439121 " tracer_red.p3d added""" 155 359.683 86120 L2: Following bullet 439121 tracer_red.p3d. Time 0.0800171. 883.206 930. 157 359.703 86121 L2: bullet 439122 " tracer_red.p3d added""" 158 360.323 86152 L2: bullet 439127 " tracer_red.p3d added""" 161 360.683 86170 L2: Following bullet 439127 tracer_red.p3d. Time 0.360016. 192.865 930. 166 361.184 86195 L2: Following bullet 439127 tracer_red.p3d. Time 0.860992. 276.016 930. 172 361.684 86220 L2: Following bullet 439127 tracer_red.p3d. Time 1.36099. 351.635 930. 177 360.483 86160 L2: bullet 439130 " tracer_red.p3d added""" 164 360.683 86170 L2: Following bullet 439130 tracer_red.p3d. Time 0.200012. 176.511 930.001. 167 361.184 86195 L2: Following bullet 439130 tracer_red.p3d. Time 0.700989. 362.986 930.001. 173 361.064 86189 L2: bullet 439134 " tracer_red.p3d added""" 168 361.184 86195 L2: Following bullet 439134 tracer_red.p3d. Time 0.119995. 120.689 930.001. 174 361.164 86194 L2: bullet 439135 " tracer_red.p3d added""" 170 361.184 86195 L2: Following bullet 439135 tracer_red.p3d. Time 0.019989. 367.074 930.001. 175 361.889 86229 L2: bullet 439141 " tracer_red.p3d added""" 182 362.169 86243 L2: Following bullet 439141 tracer_red.p3d. Time 0.279999. 216.222 930.001. 187 362.669 86268 L2: Following bullet 439141 tracer_red.p3d. Time 0.779999. 429.064 930.001. 192 363.170 86293 L2: Following bullet 439141 tracer_red.p3d. Time 1.28101. 592.554 930.001. 200 362.029 86236 L2: bullet 439143 " tracer_red.p3d added""" 185 362.169 86243 L2: Following bullet 439143 tracer_red.p3d. Time 0.140015. 136.318 930.002. 188 362.169 86243 L9: [O 1-1-A:2 439143 "Close to bullet ;" 6.87299m 189 362.169 86243 L9: [O 1-1-A:3 439143 "Close to bullet ;" 4.61316m 190 362.169 86243 L9: [O 1-1-A:4 439143 "Close to bullet ;" 9.06002m 191 362.689 86269 L2: bullet 439149 " tracer_red.p3d added""" 194 362.790 86274 L2: bullet 439150 " tracer_red.p3d added""" 196 363.170 86293 L2: Following bullet 439150 tracer_red.p3d. Time 0.380005. 239.339 930.001. 204 363.670 86318 L2: Following bullet 439150 tracer_red.p3d. Time 0.880005. 387.874 930.001. 208 364.170 86343 L2: Following bullet 439150 tracer_red.p3d. Time 1.38. 511.055 930.001. 214 362.890 86279 L2: bullet 439151 " tracer_red.p3d added""" 198 363.670 86318 L2: bullet 439157 " tracer_red.p3d added""" 206 363.670 86318 L2: Following bullet 439157 tracer_red.p3d. Time 0. 186.001 930.001. 210 364.170 86343 L2: Following bullet 439157 tracer_red.p3d. Time 0.5. 268.888 930.001. 217 364.670 86368 L2: Following bullet 439157 tracer_red.p3d. Time 1. 410.637 930.001. 223 365.170 86393 L2: Following bullet 439157 tracer_red.p3d. Time 1.5. 528.719 930.001. 228 363.830 86326 L2: bullet 439159 " tracer_red.p3d added""" 212 364.550 86362 L2: bullet 439163 " tracer_red.p3d added""" 219 364.670 86368 L2: Following bullet 439163 tracer_red.p3d. Time 0.120026. 120.689 930.001. 225 364.710 86370 L2: bullet 439166 " tracer_red.p3d added""" 226 365.170 86393 L2: Following bullet 439166 tracer_red.p3d. Time 0.460022. 286.107 930.002. 232 365.670 86418 L2: Following bullet 439166 tracer_red.p3d. Time 0.960022. 458.367 930.002. 233 366.184 86440 L2: Following bullet 439166 tracer_red.p3d. Time 1.474. 600.208 930.002. 234 367.085 86485 L2: bullet 439171 " tracer_red.p3d added""" 236 367.185 86490 L2: Following bullet 439171 tracer_red.p3d. Time 0.100006. 106.334 930. 239 367.247 86493 L2: bullet 439173 " tracer_red.p3d added""" 240 367.827 86522 L2: bullet 439178 " tracer_red.p3d added""" 242 368.188 86540 L2: Following bullet 439178 tracer_red.p3d. Time 0.360992. 218.570 930. 247 368.688 86565 L2: Following bullet 439178 tracer_red.p3d. Time 0.860992. 367.024 930. 249 369.169 86589 L2: Following bullet 439178 tracer_red.p3d. Time 1.34201. 485.352 930. 251 368.007 86531 L2: bullet 439180 " tracer_red.p3d added""" 245 368.188 86540 L2: Following bullet 439180 tracer_red.p3d. Time 0.181. 165.265 930. 248 368.688 86565 L2: Following bullet 439180 tracer_red.p3d. Time 0.681. 398.090 930. 250 369.169 86589 L2: Following bullet 439180 tracer_red.p3d. Time 1.16202. 566.226 930. 253 [/font] CSV export:
  18. I'd like to propose to include '_pbos' by default in the return of the callback around line 337? Reason for this is I did use the equivalent 'getPosATL _bullet' in the callback, but had several occasions where by the time the getPosATL was called, the bullet no longer existed and resulted in error. Alternative could be to return '_pbos' in stead of '_x distance _bpos': _x is send by default anyway, so the distance could also be done in the callback function itself. if( bdetect_callback_mode == "spawn" ) then { _nul = [_x, _bullet, _x distance _bpos, _data] spawn bdetect_callback_compiled; } else { [_x, _bullet, _x distance _bpos, _data] call bdetect_callback_compiled; };
  19. Thanks for detailed description. Could you perhaps share your mission file, so me/others could run the exact same test?
  20. You shouldn't get stressed :cool: It's already quite amazing how much time you can spend to work on this. So you just released an updated v2.04, or wre you stressed again and should it be called 2.05? :p
  21. Agree - but keep in mind the 'bird watching' was already spotted before 'reveal' was added to the code. However, did anyone experience AI behavior improvement using 'reveal'? Because that was the purpose in the first place.
  22. tadanobu, ChrisB, are you running 'latest version of ArmA' (1.60) or the (latest?) post 1.60 Beta? (ArmA2, ArmA2 OA, ArmA2 CO?) (Difficulty setting? (e.g. Recruit, Veteran)) (map and type/side of AI used?)
  23. For the 'bird watchers', please share exact details in order to be able the pinpoint the issue: - Mod list, preferably with versions - ArmA version (running Beta or not) - Maybe side and type of units showing the issue
  24. At this stage development is just Single Play only. On MP Dedicated Server it doesn't work (yet).
  25. I did quick test: no real need to attach them: balls won't move with _unit, but since they are supposed to be suppressed won't hardly move anyway _unitPos = getPosATL _unit; _ball = createVehicle ["Sign_sphere25cm_EP1", getPosATL _unit, [], 0, "NONE"]; _ball setPosATL [((_unitPos select 0)), ((_unitPos select 1)), ((_unitPos select 2) + 2)]; e.g. use to make yellow: if !(isNull _ball) then { _ball setObjectTexture [0,"#(argb,8,8,3)color(0.6,0.9,0.0,0.7,ca)"]; }; //yellow and to hide ;) deleteVehicle _ball;
×