Jump to content

Bon

Member
  • Content Count

    556
  • Joined

  • Last visited

  • Medals

Everything posted by Bon

  1. Thank you very very much for releasing a coop mission that doesn't need any addons at all. I am so ****** of missions that requires mass of addons, even if the addons are called ACE or something... Looking forward to play this mission most definitely. Oh, and thanks for using the Ghost Recon music in your trailer, the first Ghost Recon is epic. :cool::cool::cool::cool::cool:
  2. Well, checking whether all opfor units within a trigger area are dead all you have to do is setting the trigger activation to OPFOR->not present. Once there is no alive opfor unit within this trigger area it gets executed. For checking whether all opfor units are dead place a trigger with condition {alive _x && side _x == EAST} count allUnits == 0 Think that should do the trick.
  3. Hi tobmic, improved the script in a way that it is more customizable. It now also provides checking for Machineguns, and has the / some ACE weapons included in its checks. It also gives the hintSilent you asked for. //by Bon_Inf* _unit = player; // only _AT_Classes can carry _AT_Weapons _AT_Classes = ["USMC_Soldier_LAT","USMC_Soldier_HAT","USMC_Soldier_AT"]; _AT_Weapons = ["Igla","M136","MetisLauncher","RPG18","RPG7","SMAW","Strela","ACE_M136_CSRS","JAVELIN"]; // only _Sniper_Classes can carry _Sniper_Weapons _Sniper_Classes = ["USMC_SoldierS_Sniper","USMC_SoldierS_SniperH"]; _Sniper_Weapons = ["KSVK","M107","M24","M40A3","ACE_M109","ACE_M110","ACE_M110_SD","ACE_TAC50","ACE_TAC50_SD"]; // a.s.o. _Marksman_Classes = ["USMC_SoldierM_Marksman"]; _Marksman_Weapons = ["DMR","SVD","SVD_CAMO","M4SPR","M8_Sharpshooter"]; _MG_Classes = ["USMC_Soldier_MG","USMC_Soldier_AR"]; _MG_Weapons = ["Mk_48","M249","M240","M8_SAW","MG36","ACE_M249Para","ACE_M249Para_M145","ACE_M240G_M145","ACE_M60","PK"]; // What happens if player equips with a weapon she is not allowed to have? _BON_CHECK_WEAPON = { _unit = _this select 0; _weapon = _this select 1; if(_unit hasWeapon _weapon) then{ hintSilent format["You are not allowed to carry the %1",getText (configFile >> "CfgWeapons" >> _weapon >> "displayname")]; _unit removeWeapon _weapon; }; }; While{true} do { sleep 1; if(not (typeOf _unit in _AT_Classes)) then { {[_unit,_x] spawn _BON_CHECK_WEAPON} foreach _AT_weapons; }; if(not (typeOf _unit in _Sniper_Classes)) then { if(not (typeOf _unit in _Marksman_Classes)) then { {[_unit,_x] spawn _BON_CHECK_WEAPON} foreach _Marksman_Weapons; }; {[_unit,_x] spawn _BON_CHECK_WEAPON} foreach _Sniper_Weapons; }; if(not (typeOf _unit in _MG_Classes)) then { {[_unit,_x] spawn _BON_CHECK_WEAPON} foreach _MG_Weapons; }; }; if(true) exitWith{hint "DEBUG: You should never read this."};
  4. There you go. _unit = player; While{true} do { sleep 1; if(typeOf _unit != "USMC_Soldier_LAT") then { {_unit removeWeapon _x} foreach ["Igla","M136","MetisLauncher","RPG18","RPG7","SMAW","Strela"]; }; if(typeOf _unit != "USMC_SoldierS_Sniper") then { if(typeOf _unit != "USMC_SoldierM_Marksman") then { {_unit removeWeapon _x} foreach ["DMR","SVD","SVD_CAMO"]; }; {_unit removeWeapon _x} foreach ["KSVK","M107","M24","M40A3"]; }; }; if(true) exitWith{hint "DEBUG: You should never read this."};
  5. arye_r, it works fine for me on Razani, since it does not work with mapgrids at all. This is actually the reason why I am sticking with polar coordinates (mapgrids would be much nicer), otherwise this script would not work anymore on certain maps. Can you tell me explicitly what is not working? CaptainBravo, in the demo video I just used the rangefinder of the ACE2 addon. Since then tcp of the ACE devs renewed the whole thing and the best I can do is link you to the ACE wiki referring to the particular section: http://ace.wikkii.com/wiki/Features_of_ACE2#Rangefinding_Devices Regards. EDIT: Start ArmA2 with CBA, ACE2. You can add the Rangefinder to the player unit by writing this into its init line: this addWeapon "ACE_Rangefinder_OD"; this addMagazine "ACE_Battery_Rangefinder" In game, select the Vector 21 NITE weapon. Press R, then activate the laser with left mouse button to get distance to target.
  6. Yes, of course. Manzilla asked for it already some posts above. In the Init.sqf you can see the following line: player addAction ["Call Artillery","bon_artillery\dialog\openMenu.sqf",["Arti_dlg"],-1,false,true,"",""]; The very last "" is a parameter for a condition to have this action listed in the action menu. Condition means an expression that returns either TRUE or FALSE. Examples: player addAction ["Call Artillery","bon_artillery\dialog\openMenu.sqf",["Arti_dlg"],-1,false,true,"",[b]"player hasWeapon 'ACE_P159_RD90'"[/b]]; gives the player only access to artillery when he/she has the radio of type 'ACE_P159_RD90'. player addAction ["Call Artillery","bon_artillery\dialog\openMenu.sqf",["Arti_dlg"],-1,false,true,"",[b]"typeOf player == 'USMC_Soldier_SL'"[/b]]; gives the player only access to artillery when he/she is a US Squadleader. player addAction ["Call Artillery","bon_artillery\dialog\openMenu.sqf",["Arti_dlg"],-1,false,true,"",[b]"playerSide == WEST"[/b]]; gives the player only access when he/she is on US side. aso. Player class types are listed here: http://forums.bistudio.com/showthread.php?t=73241 Weapon class names are listed here: http://community.bistudio.com/wiki/ArmA_2:_Weapons ACE class and weapon names are listed here: http://ace.wikkii.com/wiki/Class_Lists_for_ACE2 Be advised, this all can be easily set in the next version, which then will also include a detailed instruction manual.
  7. Weird, please make sure you have merged the enclosed Init.sqf with your own, i.e. the three lines HW_Arti_CannonNumber = ....; HW_number_artilleryshells_per_hour = ....; [] execVM "bon_artillery\bon_arti_init.sqf"; Otherwise it would be helpful if you can provide me your code.
  8. Hi LoneStar1, the first issue can't be fixed that easy. The carrier gets created per script, and sometimes, especially when your dedicated server was freshly started, your client machine is faster then the server. Two possibilities: Ignore it, just respawn, or restart the server. The second time it should work properly. The second issue isn't related to Chernogorsk, each mission is picked randomly and takes place on random locations. You said something of "expect heavy resistance" in the briefing, so I assume the mission was to search the houses in Chernogorsk for intel back then. Will check it. Thanks, will check that as well.
  9. Manzilla, if you used exactly the same code as I have written above, my only idea is that it might not work well when executed from the init line of the player. just write this line into the Init.sqf and try it again. Please try the following: open the "bon_artillery\dialog\Common.hpp" file and delete everything from line 330 to the bottom. CombatComm, did you place a GameLogic called "Server" onto the map as it is introduced in the enclosed readme?
  10. Hey, really cool, was pretty excited when reading about all these AI enhancements. Then started to test it on Utes, Strelka village by placing an infantry group at center of town, a marker called "testmarker" (ellipse, 100x100m) covering the area: I then wrote into the init line of the leader: _nul = [this,"testmarker"] execVM "scripts\upsmon.sqf"; The result was that all 5 to 10m the group changed their direction, i.e. got another waypoint, which then resulted in a way less structured patrol route as I know it from Kronzkys original. Made a video of it, you can download it here: http://10th-community.com/arma2/misc/upsmon.wmv As you can see, it took the group about 2 minutes to finally leave the camera range. I did run this setup about 10 times, and it was always the same picture. Possible I made a mistake or that there a parameter that can be set to change this kind of behavior? If not, any chance this gets improved someday? Kind Regards.
  11. Not working properly in Multiplayer when using a radio trigger.
  12. No mistake I guess. You using ACE? Write this into the units init line before starting the preview: this addWeapon "ACE_Rangefinder_OD"; this addMagazine "ACE_Battery_Rangefinder" There happened a lot with the rangefinder in ACE since the last version changes, read here for further information: http://ace.wikkii.com/wiki/Features_of_ACE2#Rangefinding_Devices
  13. Hi ahmedjbh, tried that yesterday and can confirm this doesn't work, so you did not do anything wrong. The mission is intended to be played on a dedicated server environment, but is designed in a way that you can play it in a hosted environment as well. The only thing I never considered was saving and resuming games. Actually, I really don't know how this works in ArmA2 anyway, what happens with currently running scripts when suspending and what happens with them when resuming a previously stored game. And 99% of all of this mission is scripted. So I am sorry for that.
  14. In general, you have the position of something, then you can randomize it a bit by _pos = [_x,_y,_z]; // thats your pos _radius = <a number>; _randompos = [_x + _radius - random 2*_radius, _y + _radius - random 2*_radius, z]; This will generate a random position in a circle of _radius meters around _pos. An "empty" marker is indeed invisible, however it is not that simple to get the area an empty marker is covering. You can make ANY marker invisible by setting its alpha value to zero: marker setMarkerAlpha 0;
  15. I was once to integrate it into my MP mission. Facile tests showed me that civilians doesn't get removed once created. So a flight over Elektrozavodsk and Chernogorsk placed about 550 civilan AIs onto the map, which then didn't ever disappear again. Additionally I don't know for sure if this happens only serverside or for each joining player, however, I recommend not to use it in MP considering possible performance issues.
  16. Hi guys, thanks for the feedback. Totally forgot about this script, but the activity in this thread proves the overall interest in an artillery request system being as realistic as possible, so I am going to improve it in this way as much as I can - lynx sent me the "bible for FO's" which will be a great help, however, what blakeace have written comes close to what the current version provides yet. What I will do for sure is to add a random "unpreciseness" (even when precise fire selected) so you have to use one designated cannon for adjusting fire before calling other cannons for fire for effect. Adjusting fire will simply happen by yourself updating direction and distance in the dialog. Scripting new functions and buttons etc. for adjustment fire would be nice, however not worth the effort, since this way does the trick already. Now to all your specific concerns: No mapclick feature. This will waste what the script actually is supposed to. Let me just try to explain the usage in a few steps: The spotter must have visual on the target so he/she can get direction and distance to it. For obtaining direction you usually use the compass, for distance simply press "SPACE". In ACE mod you need to use a rangefinding device. Enter the spotters x- and y-coordinates (if the spotter is actually the one with the dialog these coordinates are displayed in the upper middle of the dialog) into the fields marked with "x-ray" and "yankee". Set the height difference between spotter and target with the slider on the right-hand side. Mark the cannons you wish to be fired in the list box on the left-hand side. Then simply select type of rounds, number of rounds and spread and click "Confirm" to confirm these settings to the designated cannons. To reset a cannon's setup mark the particular cannon and press "Reset". Finally click "Execute" to fire for effect. Less to click and set for the caller (and one intention was to have the player having some work to do before pressing "Execute"), but I will think about it (can be done easily). Simplest way would be to add an action to the player unit: player addAction ["Call Artillery","bon_artillery\dialog\openMenu.sqf",["Arti_dlg"],-1,false,true,"","player hasWeapon 'ACE_P159_RD90'"]; Here I also added (last parameter) the condition for having this action to have the ACE Radio type "ACE_P159_RD90", hope that gives you the idea. 1) Yes, the current flight time is between 5 and 10 seconds, which is, of course, pretty unrealistic. But having a more realistic flight time it will be very hard to plan complex fire missions with different delays, and this feature becomes dispensable. But I suggest to extract this delaytime to a parameter everyone can set in the Init.sqf to his/her own desires. 2) Provide me with appropriate chatter sounds, be assured, I will integrate them. 3) My basic idea contained grid positions instead of polar coordinates. Problem in ArmA: I can convert polar coordinates into mapgrids, but not the other way around. So providing a grid to the cannons I can't extract any map position from it. 4) Thanks. 5) - 9) Thanks for the information and suggestions, will think about them seriously.
  17. Hi Folks, and a happy new year. To my question: Someone can explain to me how I can create an interactive dialog, i.e. with controls I can type in text? This is already done in the sight adjustment of the ACE2 mod, unfortunately I can't find the corresponding .hpp file where this dialog is defined. My intention is to make artillery calls a bit more realistic. So far every fire artillery request system I saw basically consists of simply clicking on the map to set where the shells shall go down. In my further missions I would like to have an interface where you instead have to insert your current grid coordinates (and subgrid coordinates), direction in degrees and distance to splashdown area, but for that I definitely need to open a dialog where I can write into a kind of text field.
  18. Bon

    MCTI - Return of CTI

    Sorry I already failed in downloading it. I can't speak this language, nor read or write it.
  19. For this Team Status thing there is the well-known "Team Status Dialog" written by Dr_Eyeball: http://forums.bistudio.com/showthread.php?t=55038&highlight=team+status+dialog It was written for Armed Assault, I dunno if there is a version for ArmA2, the best idea would be to contact Dr_Eyeball for this. For setting viewdistance I can offer you something I have written some time ago, just take a look at it, it is very easy to code it by yourself: http://forums.bistudio.com/showthread.php?t=91398
  20. He means the slider you use for example to set units direction in editor. What be nice to know how to get it, think the only way is to check BIS code itself, as I described above. "movingEnable = 1;" into the header of the container, "moving = 1;" into the header of each control the dialog should be able to move with.
  21. The carrier is not a static object on Chernarus, you have to use this third-party script to let it spawn. http://www.armaholic.com/page.php?id=5847
  22. Hi McArcher, clearWeaponCargo [color="Green"]this[/color] but [color="Red"]_crate[/color] addWeaponCargo [ mcti_weapons_pattern select _i, _x]
  23. Here u are doing the same as before. _randFireMission is a variable only local to the scope of the if-statement. It gets thrown away after exiting the if-statement. That's why it returns ANY. One possibility, as said, is, to reserve the variable name before entering the if-statement, as you did it now with _fireMissions. Another way would be to use "private".
  24. 2 things: You won't keep the local variable _fireMission when declaring it inside the if scope. Use private ["_fireMission"]; or declare _fireMission before entering the if-control statement. Otherwise the further script doesn't know this variable anymore. The probability for 2 when using floor(random 2) is damn low, because even if "random 2" returns 1.999999 the floor function makes 1 of it. Use round (random 2) instead.
  25. Hi McArcher, please try to fill the dynamically created crate within setVehicleInit, e.g. _crate setVehicleInit "this addWeaponCargo ['whatever',4711]; this addWeaponCargo ..."; processInitCommands;
×