Jump to content

Clayman

Member
  • Content Count

    230
  • Joined

  • Last visited

  • Medals

Everything posted by Clayman

  1. Larkin Aviation? Hmmm..... In my mission Take the Helo the Protagonist was named Clive Larkin and the objective was to steal a Helicopter. Wonder if this should tell me anything. :D Good to see BI working on something new and different. Anything good for BI can only be good for us ArmAddicts. ;) Although I too was hoping for something Arma-related, and I'm not that much into flying helos, I'll keep an eye on this. And following this thread the last few days was really entertaining, so I'm only a little bit disappointed. :p Btw. Why does everyone want a Arma 3? What advantages would that have over EP2?^^
  2. Very handy tool indeed. Can never have enough brown. :p
  3. Clayman

    Disable player move?

    http://forums.bistudio.com/showpost.php?p=1707356&postcount=4
  4. I have used boundingBox to check if a unit is prone. If (((boundingBox _unit select 1) select 2) < 1) Then ... Only limitation is that values for standing and crouch are the same. But if you only want to check if the unit is prone (or not prone for that matter) it should work.
  5. Most impressive, that did the trick. Thanks neokika. It even mentions exact this situation on the wiki page. lol. And thanks for the explaination sbsmac.
  6. I've ran into a strange problem with a script I'm working on. Not sure if it should be this way or if something is "glitched". Maybe someone can enlighten me. So, basicly I have a script that selects a random set of vehicle and unit classnames and stores these in three local variables. Then these local variables are passed to a function that creates the vehicle and the units, moves the units into the vehicle and returns the group. Simplified version of the script (initPatrol.sqf): _units = ["TK_Soldier_SL_EP1", "TK_Soldier_EP1", "TK_Soldier_GL_EP1", "TK_Soldier_AR_EP1"]; _crew = ["TK_Soldier_Crew_EP1", "TK_Soldier_Crew_EP1"]; _vehicle = "M113_TK_EP1"; _grp = [_units, _crew, _vehicle] call compile preprocessFile "fn_create.sqf"; Hint format ["_units: %1\n\n_crew: %2\n\n_vehicle: %3\n\n_grp: %4", _units, _crew, _vehicle, _grp]; _units is the classnames of the units in cargo _crew is the classnames of the vehicle crew _vehicle is classname of the vehicle Function to create the units (fn_create.sqf): _u = _this select 0; _c = _this select 1; _v = _this select 2; _p = "pos1"; _grp = [[0,0,0], EAST, _u] call BIS_fnc_spawnGroup; _vehicle = _v createVehicle markerPos _p; _crew = []; _tmp = [[0,0,0], EAST, _c] call BIS_fnc_spawnGroup; _crew = units _tmp; _d = _crew select 0; _d assignAsDriver _vehicle; _d moveInDriver _vehicle; _g = _crew select 1; _g assignAsGunner _vehicle; _g moveInGunner _vehicle; If (count _crew == 3) Then { _o = _crew select 2; _o assignAsCommander _vehicle; _o moveInCommander _vehicle; }; { _x assignAsCargo _vehicle; _x moveInCargo _vehicle; } forEach units _grp; _crew join _grp; deleteGroup _tmp; _grp The function uses the same local variables _crew and _vehicle. But as these are local, it shouldn't conflict with the variables in the first script (initPatrol.sqf). Therefore the Hint at the end should return all the classnames for the variables _units, _crew and _vehicle. But this is only true for _units, while _crew and _vehicle return the actual units (e.g. O 1-1-B:1 etc.) as the variables in fn_create do. And this is pretty much the part I don't understand. Can someone explain to me what's going wrong - either in the script or in my head. :confused:
  7. Never noticed this before. Going to check it. Thanks for reporting. Yes, this has been fixed in Beta 1.2
  8. http://community.bistudio.com/wiki/createTrigger Trigger type should be "EmptyDetector", not "EVAC". ;) ASL1 = createTrigger ["EmptyDetector", position Player]; ASL1 setTriggerText "CALL EVAC"; ASL1 setTriggerType "NONE"; ASL1 setTriggerActivation ["ALPHA", false]; However, it's much easier to place the Radio Alpha trigger on the map and in the Text field put NULL. Then in your other trigger covering the area where Radio Alpha should be available, put in On Act: 1 setRadioMsg "CALL EVAC" And in On Deact: 1 setRadioMsg "NULL"
  9. http://community.bistudio.com/wiki/triggerActivated
  10. Thanks for the info. :) To (de)activate a menu item you can use something like this (from the example on the biki page): // Deactivate first item BIS_MENU_GroupCommunication set [1, ["First", [0], "", -5, [["expression", "player sidechat ""First"" "]], "1", "0"]]; // Activate second item BIS_MENU_GroupCommunication set [2, ["Second", [2], "", -5, [["expression", "player sidechat ""Second"" "]], "1", "1"]]; Just change the isActive / isVisible to "1" or "0".
  11. I think you already answerd your question right there. ;) I never used Steam so I can't really say anything about it. But I do know that having a choice is always something good. Also I don't like the idea of paying for a download, no matter if it's music, a movie, a game or whatever. If I spend my money, I want to have something in my hands, especially when it comes to something epic like a BI Game. I still have that cardboard fieldmanual that came with OFP on my desk. :D
  12. I've done some tests a few days ago for something I'm working on, and this is what I found out so far. _unit setSkill 1 will set all different skill types to 1 ("aimingShake" should in fact be called "aimingSteadiness" ;)) _unit setSkill ["General", 1]; Hint str(skill _unit); will return 1, no matter what the other skill types are _unit setSkill ["General", 1] has no effect to the other skill types (like setSkill 1 would have) with Super AI enabled skill _unit will return 1, while _unit skill "General" will return whatever value it is set to Skill sliders (in options) for friendly / enemy units seem to have no effect on any of the skill values
  13. Will be in next version. :) Not all vehicles are supported yet. You can manuelly add other vehicles using the .hpp file inside the userconfig folder.
  14. Sexy. Like the new theme more than the old one. Looks more modern and I'm not a fan of bright colors anyway. :D Only thing I miss is the Quick Links tab at the top right. (Next to User CP, Members List etc.)
  15. That's a feature. ;) You can't tell from a mile away who sits in a vehicle, can you? A BLUFOR vehicle is considered a BLUFOR vehicle until it's close enough to recognize who is inside. You could even park a tank right in the middle of a group of enemies and then wouldn't notice you unless you open fire on them. Solution? Not sure but maybe reveal will work.
  16. if ((typeOf _x) in ["A10_US_EP1","ACE_AH6J_DAGR_FLIR"]) then { Note that the check is case-sensitive.
  17. You can change the ppEffects any time during the mission. Movie Day: "colorCorrections" ppEffectAdjust [1, 1.02, -0.005, [0.0, 0.0, 0.0, 0.0], [1, 0.8, 0.6, 0.65], [0.199, 0.587, 0.114, 0.0]]; "colorCorrections" ppEffectCommit 0; "colorCorrections" ppEffectEnable true; Movie Night: "colorCorrections" ppEffectAdjust [1, 1.15, 0, [0.0, 0.0, 0.0, 0.0], [0.5, 0.8, 1, 0.5], [0.199, 0.587, 0.114, 0.0]]; "colorCorrections" ppEffectCommit 0; "colorCorrections" ppEffectEnable true;
  18. To what did you rename your mission? Just a wild guess, but maybe it's the spaces in the mission name. You could try to name your mission sth like Hike_and_Seek.Takistan and see if it still crashes.
  19. It took a little bit longer than I had planed... but finally here is the next update. The main purpose of this version is MP testing. This is my first attempt at making something really work in multiplayer. I've spend the last two weeks reading every little bit about MP Scripting I could find, and I think slowly I'm getting my head around it. (Although when I read the words local, global and public one more time my head is going to explode. *lol*) However, I wasn't able to test this in a real multiplayer environment - I hope it will work. But don't kill me if it doesn't. :p Any feedback on this is very much appreciated. Make sure to read the included Readme file. There have been lots of changes to scripts and config. Most classnames have changed. Old ones will work for now, but will be removed in the future. So if you've made a mission with the previous version, make sure to update it. As a little bonus I've added a Wild Dogs module. This will spawn a group of wild dogs (guess what^^) that will attack any unit in range. See the included Readme file or the first post for details. (Ignore the TO DO: in the module's name - forgot to remove it and I'm too lazy to change it right now. ;) ) DL Link and further info can be found in the first post. Please remember to leave feedback on MP compatibility. Of course any kind of ideas and suggestions are welcome. And again sorry for the delayed update. Have fun!
  20. mapGridPosition There's also a MapToGrid function in the Function Manager somewhere.
  21. Yes, that looks much better. Should work now. What I do remember from school is "Punktrechnung vor Strichrechnung", so actually the brackets aren't needed at all. ;)
  22. Well I'm not sure if this might help, as I totally suck when it comes to maths, so I can't really say where exactly the problem is. But I noticed you are not using the SafeZoneX and SafeZoneY commands anywhere in your code. This is what I use for my dialogs and as far as I can tell, it works for any menu size and screen resolution. x = (0.606 * SafeZoneW + SafeZoneX); y = (0.8 * SafeZoneH + SafeZoneY); w = (0.085 * SafeZoneW); h = (0.025 * SafeZoneH); I can't say where you have to change your code, as -like I said- I'm not good at math. But maybe it will get you started.
  23. Would like to know the exact same thing. Does anyone have any experience with this or can point me in the right direction?
  24. English Version^^ Wetterscript V1.3: With this script you can create random weather. There are several optional parameters to adjust the weather settings. _initial: If set to true, random settings for weather will be generated at mission start. If you want specific weather at the beginn of the mission, and random weather to start later, set this to false. (Default: true) _startDawn: Determines the daytime when dawn beginns. Value from 0 to 24. (Default: 05:00) _endDawn: Determines the daytime when dawn ends. Value from 0 to 24. (Default: 07:00) _nightTime: Determines the daytime when night beginns. Value from 0 to 24. (Default: 20:00) _weatherType: Here you can select the kind of weather. (Default: "Mixed") Possible values (See header of script for details): "Good" "Average" "Bad" "Mixed" "MediumGood" "MediumBad" "Custom" The following parameters are only required for _weatherType "Custom": _customMinOvercast: _customMaxOvercast: You can pass values for min and max overcast, e.g. best and worst possible weather. Values must be between 0 and 1, where 0 is clear sky and 1 is heavy rain / storm. _customMinFog: _customMaxFog: Same as above, only for the fog. 0 is no fog, 1 is thick fog. There are four different ways to call the script. Examples: Call without parameter: 0 = [] execVM "randomWeather.sqf" Call with only one parameter: 0 = [false] execVM "randomWeather.sqf" Call with five parameters: 0 = [true, 4.5, 6.5, 19.5, "Average"] execVM "randomWeather.sqf"; Call for "Custom" weathertype with nine parameters: 0 = [false, 6, 8, 18, "Custom", [0.4, 0.6], [0.2, 0.5]] execVM "randomWeather.sqf"; And here is the script: randomWeather.sqf /******************************************************************************** randomWeather.sqf Script by Clayman Version 1.3 Optional Parameters: [<_initial | Bool>, <_startDawn | Number>, <_endDawn | Number>, <_nightTime | Number>, <_weatherType | String>, [<_customMinOvercast | Number>, <_customMaxOvercast | Number>], [<_customMinFog | Number>, <_customMaxFog | Number>]] _initial: Should random weather be set initially. If you want specific weather at mission start and the random weather to start later, set this to false. If you start script at mission start, set this to true, so random values for starting weather will be used. _startDawn: Sets the time (0-24) when dawn beginns (default: 05:00) _endDawn: Sets the time (0-24) when dawn ends (default: 07:00) _nightTime: Sets the time (0-24) when the night starts (default: 20:00) _weatherType: Sets what kind of weather there will be: (default: "Mixed") "Good": Clear sky to light clouds None to light fog during day and night Medium to thick fog during dawn No rain "Average": Cloudy sky Light to medium fog during day Light fog during night Light to medium fog during dawn No rain "Bad": Dark clouds Medium to thick fog during day Light to medium fog during night No fog during heavy rain / storm Light rain to storm "Mixed": All of the above can be possible "MediumGood": Mix of 'Good' and 'Average' weather types "MediumBad": Mix of 'Average' and 'Bad' weather types "Custom": Set values for min and max overcast Set values for min and max fog Slightly more fog during dawn Slightly less fog during night No fog during heavy rain / storm _customMinOvercast: _customMaxOvercast: Additional parameters for "Custom" weather. Sets the minimum and maximum overcast values (0 = clear sky, 1 = storm) _customMinFog: _customMaxFog: Additional parameters for "Custom" weather. Sets the minimum and maximum fog values (0 = no fog, 1 = thick fog) Examples: No parameters - default settings will be used: 0 = [] execVM "randomWeather.sqf"; Only parameter for initial setting: 0 = [false] execVM "randomWeather.sqf"; Parameters for preset weather types: 0 = [true, 4.5, 6.5, 19.5, "Average"] execVM "randomWeather.sqf"; Parameters for custom weather settings: 0 = [false, 6, 8, 18, "Custom", [0.4, 0.6], [0.2, 0.5]] execVM "randomWeather.sqf"; To end the script, set global variable 'CLAY_Weather' to false *********************************************************************************/ private ["_initial", "_startDawn", "_endDawn", "_nightTime", "_weatherType", "_minOvercast", "_maxOvercast", "_overcastAdd", "_minFog", "_maxFog", "_fogAdd"]; If (count _this > 0) Then { _initial = _this select 0; If (count _this > 1) Then { _startDawn = _this select 1; _endDawn = _this select 2; _nightTime = _this select 3; _weatherType = _this select 4; If (_weatherType == "Custom") Then { _minOvercast = (_this select 5) select 0; _maxOvercast = (_this select 5) select 1; _overcastAdd = _maxOvercast - _minOvercast; _minFog = (_this select 6) select 0; _maxFog = (_this select 6) select 1; _fogAdd = _maxFog - _minFog; }; }; } Else { _initial = true; _startDawn = 5; _endDawn = 7; _nightTime = 20; _weatherType = "Mixed"; }; CLAY_Weather = true; private ["_f", "_fog"]; switch (_weatherType) do { case "Good": { If (_initial) Then { _o = random 0.35; If (dayTime > _startDawn && dayTime < _endDawn) Then { _f = (0.3 + random 0.5); } Else { _f = random 0.3; }; 0 setOvercast _o; 0 setFog _f; }; while {CLAY_Weather} do { _overcast = random 0.4; _change = (180 + random 120); _delay = (300 + random 300); If (dayTime > _startDawn && dayTime < _endDawn) Then { _fog = (0.2 + random 0.6); } Else { _fog = random 0.3; }; _oChange = _overcast - overcast; _oStep = _oChange / 300; _fChange = _fog - fog; _fStep = _fChange / 300; _cStep = _change / 300; for "_i" from 0 to _change step _cStep do { _cStep setOvercast (overcast + _oStep); sleep _cStep; _cStep setFog (fog + _fStep); sleep _cStep; }; sleep _delay; }; }; case "MediumGood": { If (_initial) Then { _o = random 0.6; If (dayTime > _startDawn && dayTime < _endDawn) Then { If (_o < 0.4) Then { _f = (0.3 + random 0.5); } Else { _f = (0.2 + random 0.4); }; } Else { _f = random 0.4; }; 0 setOvercast _o; 0 setFog _f; }; while {CLAY_Weather} do { _overcast = random 0.6; _change = (180 + random 120); _delay = (300 + random 300); If (dayTime > _startDawn && dayTime < _endDawn) Then { If (_o < 0.4) Then { _f = (0.3 + random 0.5); } Else { _f = (0.2 + random 0.4); }; } Else { _fog = random 0.5; }; _oChange = _overcast - overcast; _oStep = _oChange / 300; _fChange = _fog - fog; _fStep = _fChange / 300; _cStep = _change / 300; for "_i" from 0 to _change step _cStep do { _cStep setOvercast (overcast + _oStep); sleep _cStep; _cStep setFog (fog + _fStep); sleep _cStep; }; sleep _delay; }; }; case "Average": { If (_initial) Then { _o = (0.3 + random 0.3); If (dayTime > _startDawn && dayTime < _endDawn) Then { _f = (0.2 + random 0.4); } Else { _f = random 0.4; }; 0 setOvercast _o; 0 setFog _f; }; while {CLAY_Weather} do { _overcast = (0.3 + random 0.3); _change = (180 + random 120); _delay = (300 + random 300); If (dayTime > _startDawn && dayTime < _endDawn) Then { _fog = (0.2 + random 0.5); } Else { If (dayTime < _nightTime) Then { _fog = random 0.4; If (_overcast > 0.5) Then {_fog = (0.2 + random 0.4)}; } Else { _fog = random 0.3; }; }; _oChange = _overcast - overcast; _oStep = _oChange / 300; _fChange = _fog - fog; _fStep = _fChange / 300; _cStep = _change / 300; for "_i" from 0 to _change step _cStep do { _cStep setOvercast (overcast + _oStep); sleep _cStep; _cStep setFog (fog + _fStep); sleep _cStep; }; sleep _delay; }; }; case "MediumBad": { If (_initial) Then { _o = (0.4 + random 0.6); _f = (0.2 + random 0.4); If (_o > 0.9) Then {_f = random 0.3}; 0 setOvercast _o; 0 setFog _f; }; while {CLAY_Weather} do { _overcast = (0.4 + random 0.6); _change = (180 + random 120); _delay = (300 + random 300); If (dayTime > _endDawn && dayTime < _nightTime) Then { _fog = (0.35 + random 0.35); If (_overcast > 0.8) Then {_fog = (0.3 + random 0.25)}; If (_overcast > 0.9) Then {_fog = random 0.35}; } Else { _fog = (0.3 + random 0.5); If (_overcast > 0.9) Then {_fog = random 0.2}; }; _oChange = _overcast - overcast; _oStep = _oChange / 300; _fChange = _fog - fog; _fStep = _fChange / 300; _cStep = _change / 300; for "_i" from 0 to _change step _cStep do { _cStep setOvercast (overcast + _oStep); sleep _cStep; _cStep setFog (fog + _fStep); sleep _cStep; }; sleep _delay; }; }; case "Bad": { If (_initial) Then { _o = (0.65 + random 0.35); _f = (0.3 + random 0.4); If (_o > 0.9) Then {_f = random 0.3}; 0 setOvercast _o; 0 setFog _f; }; while {CLAY_Weather} do { _overcast = (0.6 + random 0.4); _change = (180 + random 120); _delay = (300 + random 300); If (dayTime > _endDawn && dayTime < _nightTime) Then { _fog = (0.4 + random 0.4); If (_overcast > 0.8) Then {_fog = (0.3 + random 0.2)}; If (_overcast > 0.9) Then {_fog = random 0.3}; } Else { _fog = (0.2 + random 0.3); If (_overcast > 0.9) Then {_fog = random 0.2}; }; _oChange = _overcast - overcast; _oStep = _oChange / 300; _fChange = _fog - fog; _fStep = _fChange / 300; _cStep = _change / 300; for "_i" from 0 to _change step _cStep do { _cStep setOvercast (overcast + _oStep); sleep _cStep; _cStep setFog (fog + _fStep); sleep _cStep; }; sleep _delay; }; }; case "Mixed": { If (_initial) Then { _o = random 1; If (dayTime > _startDawn && dayTime < _endDawn) Then { _f = (0.2 + random 0.3); If (_o > 0.4) Then {_f = (0.2 + random 0.4)}; If (_o > 0.6) Then {_f = (0.3 + random 0.3)}; If (_o > 0.8) Then {_f = (0.4 + random 0.3)}; If (_o > 0.9) Then {_f = random 0.3}; } Else { If (dayTime < _nightTime) Then { _f = random 0.2; If (_o > 0.5) Then {_f = (0.2 + random 0.2)}; If (_o > 0.7) Then {_f = (0.3 + random 0.3)}; If (_o > 0.9) Then {_f = random 0.3}; } Else { _f = random 0.2; If (_o > 0.5) Then {_f = random 0.3}; If (_o > 0.7) Then {_f = random 0.4}; }; }; 0 setOvercast _o; 0 setFog _f; }; while {CLAY_Weather} do { _overcast = random 1; _change = (180 + random 120); _delay = (300 + random 300); If (dayTime > _startDawn && dayTime < _endDawn) Then { _fog = (0.2 + random 0.4); If (_overcast > 0.4) Then {_fog = (0.2 + random 0.4)}; If (_overcast > 0.6) Then {_fog = (0.3 + random 0.3)}; If (_overcast > 0.8) Then {_fog = (0.4 + random 0.3)}; If (_overcast > 0.9) Then {_fog = random 0.3}; } Else { If (dayTime < _nightTime) Then { _fog = random 0.2; If (_overcast > 0.5) Then {_fog = (0.2 + random 0.2)}; If (_overcast > 0.7) Then {_fog = (0.3 + random 0.3)}; If (_overcast > 0.9) Then {_fog = random 0.3}; } Else { _fog = random 0.2; If (_overcast > 0.5) Then {_fog = random 0.3}; If (_overcast > 0.7) Then {_fog = random 0.4}; }; }; _oChange = _overcast - overcast; _oStep = _oChange / 300; _fChange = _fog - fog; _fStep = _fChange / 300; _cStep = _change / 300; for "_i" from 0 to _change step _cStep do { _cStep setOvercast (overcast + _oStep); sleep _cStep; _cStep setFog (fog + _fStep); sleep _cStep; }; sleep _delay; }; }; case "Custom": { If (_initial) Then { _o = (_minOvercast + random _overcastAdd); If (dayTime > _startDawn && dayTime < _endDawn) Then { _f = (_minFog + random _fogAdd); If (_o > 0.6) Then {_f = _f + random 0.1}; If (_o > 0.8) Then {_f = _f + random 0.2}; If (_o > 0.9) Then {_f = _minFog}; } Else { If (dayTime < _nightTime) Then { _f = (_minFog + random _fogAdd); If (_o > 0.9) Then {_f = _minFog}; } Else { _f = (_minFog + random _fogAdd); If (_o < 0.4) Then {_f = _f - random 0.2}; If (_o > 0.9) Then {_f = _minFog}; }; }; 0 setOvercast _o; 0 setFog _f; }; while {CLAY_Weather} do { _overcast = (_minOvercast + random _overcastAdd); _change = (180 + random 120); _delay = (300 + random 300); If (dayTime > _startDawn && dayTime < _endDawn) Then { _fog = (_minFog + random _fogAdd); If (_overcast > 0.6) Then {_fog = _fog + random 0.1}; If (_overcast > 0.8) Then {_fog = _fog + random 0.2}; If (_overcast > 0.9) Then {_fog = _minFog}; } Else { If (dayTime < _nightTime) Then { _fog = (_minFog + random _fogAdd); } Else { _fog = (_minFog + random _fogAdd); If (_overcast < 0.4) Then {_fog = _fog - random 0.2}; If (_overcast > 0.9) Then {_fog = _minFog}; }; }; _oChange = _overcast - overcast; _oStep = _oChange / 300; _fChange = _fog - fog; _fStep = _fChange / 300; _cStep = _change / 300; for "_i" from 0 to _change step _cStep do { _cStep setOvercast (overcast + _oStep); sleep _cStep; _cStep setFog (fog + _fStep); sleep _cStep; }; sleep _delay; }; }; };
×