Jump to content

scajolly

Member
  • Content Count

    455
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by scajolly

  1. That's great to hear! Out of curiousity, will camo nets be retexturable? All the easier to add winter camo etc.
  2. Will you be adding any camo netting to it, you think?
  3. scajolly

    Global Mobilization

    I wish to ask - will you have camo nets on most vehicles, or at least the Leos? Especially if they can be retextured, that opens up a lot of opportunities to portray non-German equipment. :)
  4. scajolly

    Redd'n'Tank Vehicles

    Oh crap I didn't know that! Thanks so much :)
  5. scajolly

    Redd'n'Tank Vehicles

    Smashing work, Steffen! Super glad to see coop-oriented German equipment here. I don't suppose you're interested in making Leo 1 or Leo 1A5s? I'd be happy to chip in if there's a commission pool... ;)
  6. Hi. I am making a coop mission where 30+ players are acting as civpop that have decided to become rebels. I am looking for simple ways to make the occupation AI act as if it's never sure of whether a player is legit civilian or whether it's something one should engage. So I'm thinking a lot of different conditions that cycle the BLUFOR player through setCaptive true and false. Does anyone have good ideas, or know of others who've tried? I tried a fair bit of searching, but my wording didn't return any good results. Here are some ways I'm going to try to go about it. Help is much appreciated. 1) Crowds can be treated as hostile. In real life some occupation forces disband the freedom of assembly and impose crowd limitations during curfew etc. I'm thinking of each player running a script that checks how close they are to others. If the script finds 3+ players (or AI civs) within a radius of X meters, they get flipped to setCaptive false. If there's civpop AI, those could conceivably be grouped silently with Resistance. For even more complexity, the script could avoid counting players/AI inside buildings. >>> How would I check whether players are inside buildings? 2) Anyone armed is hostile. The script checks for whether they are openly carrying a rifle/pistol, or are carrying a launcher of any kind. >>> How would I script the difference between a pistol in a backpack not being seen, as opposed to a holstered/backslung rifle being seen? 3) Anyone who ends up setCaptive false must then be un-detected by OPFOR before they can be flipped back to civilian. Not sure how to go about this. >>> Should I maybe check whether any units belonging to side==east have a knowsabout higher than 1 or 2? 4) Anyone running or sprinting while AI is within a certain radius. >>> Are there any isRunning commands that I could check?
  7. Thanks for the input. I've zero experience with FSM though. :) So I doubt I'll venture there.
  8. Awesome work. Nothing short of splendid. As of version SVN REVISION: 13982 - not sure which version number that is, sorry - the BV206 getting hit by a bullet seems to throw a config bin error, but not always. Maybe some element inside it getting penetrated, idk idk. I'm a big fan of all the vehicles, as any Norwegian would be. Strv 103 and BV206 look especially good. But they also seem to have a more saturated colour palette than the rest; the Leo and Ikv look almost sunbleached standing next to them. Btw, can I get permissions to retexture the BV206 in order to add some Norwegian effects? Maybe even by getting access to a PSD of yours? Tall order, I know, but a man can dream. \o/
  9. Had not seen that! That's a formidable script there. Probably very suitable to my needs, too. But I'll continue making this since it's got far fewer parameters, making it less opaque for me and my friends, and is oriented towards martial law/curfew-type rules. Thanks a lot!
  10. Thanks for the help and support, guys! I'll try to keep this script clean and small. I plan on just a few hostility conditions. There are a few 'stretch goals', such as violence escalation by AI (warnings, warning shots), but that's not super likely to happen. I'm already operating at the very limits of what little coding I know. So if anyone knows how to put this SQS-style syntax into something sleeker, you just go right ahead and let me know. OR change the script yourselves -- my parts are all open source. @Mr H., your solution would have meant that the entirety of side A becomes hostile against side B, and with a coop server running ~40-80 people I wanted to make people individually responsible instead. @AZCoder that script, with some changes, works wonders for what I want to achieve. :) A small picture of what the testing stage looks like. That's where I check for crowds, for whether player is armed, whether is sprinting, whether enemy has LOS, and whether player is inside (house or vehicle). It's not yet working quite right. The private declarations are currently thrown haphazardly around (I have no idea whether the while-loops should have them private or not). I've not yet tested for MP, and am not sure if player setCaptive false has to be sent to the server. Somehow? Maybe? The big issue right now is that I don't really know how to make the hostile while-loop re-start the captive while-loop when it has terminated. But that should be easy, surely? If anyone can lend a hand with this script I'd be real chuffed. Other hostility conditions I'm keen on implementing might be whether player is breaking curfew at night and whether cloaked (balaclava or similar). /* * SCA's curfew script -- WIP * Initialise through init.sqf for players or individually in init line. * * This script changes the player from captive to not captive. It tries to take suspicious behaviour in hostility conditions and checks whether any AI belonging to the enemy side has seen that behaviour. If so, it subjects the player to setCaptive false for a certain amount of time. This script will in principle never change AI behaviour. * * The script is meant to work clientside in cooperative MP scenarios. * * If using ACRE, remember to configure babel so it won't treat different sides (setCaptive true and false) as different languages. */ // You're not you when you're not loaded. Grab a snickers. waitUntil {player == player}; sleep 2; // Run script on respawn. player addEventHandler["Respawn",{execVM "scripts\curfew.sqf";}]; // Function to determine whether there is a roof or similar over player's head. Freedom of assembly is only checked outdoors. Based on AZCoder and Killzone Kid // input: object // output: bool AZC_fnc_InsideBuilding = { params ["_object"]; private ["_inside","_worldPos","_skyPos","_line"]; _inside = false; _worldPos = getPosWorld _object; _skyPos = getPosWorld _object vectorAdd [0, 0, 50]; _line = lineIntersectsSurfaces [_worldPos,_skyPos,_object,objNull,true,1,"GEOM","NONE"]; if (count _line > 0) then { _result = _line select 0; _house = _result select 3; if (!(isNil "_house")) then { _inside = true }; }; _inside }; // Function to check whether there is a clear line of sight between the player and anyone who could observe him. // Input: object and object // Output: bool SCA_fnc_LineOfSight = { params ["_target","_observer"]; // this nomenclature is a bit misleading. The line originates with the target. private ["_intersects","_targetPos","_observerPos","_line"]; _intersects = false; _targetPos = getposWorld _target; _observerPos = getposWorld _observer; _line = lineIntersects [_targetPos,_observerPos,_target,_observer]; //should it be other way around? if (_line) then { _intersects = true; }; _intersects }; private ["_isArmed","_isCrowded","_isRunning","_pSide","_enSideAr","_runSpeed","_runRadius","_crowdSize","_crowdRadius"]; _isArmed = false; _isCrowded = false; _isRunning = false; _pSide = side player; _enSideAr = [_pSide] call BIS_fnc_enemySides; _runSpeed = 15; // Jogging happens at about 14.5kmh, sprinting is a bit faster. _runRadius = 15; // To taste. _crowdSize = 5; _crowdRadius = 20; _detectRadius = 250; // day-time, clear weather. No other options for now. player setCaptive true; // This while-loop runs when the player meets the captive conditions. while {alive player && captive player} do { private ["_nearSoldierAr","_nearFriendsAr","_isInside"]; hint "check"; // Debug. sleep 1.5; // Creates array of enemy units within a certain distance. _nearSoldierAr = allUnits select {_x distance player < _runRadius && side _x in _enSideAr}; // Creates an array of friendly units within a certain distance. Change to allPlayers if you don't want same-side AI to trip any hostility condition. _nearFriendsAr = allUnits select {_x distance player < _crowdRadius && side _x == _pSide}; // Calls a function that checks whether the player has a roof over its head, output bool. _isInside = [player] call AZC_fnc_InsideBuilding; // Sets an eventhandler that checks for firing a gun. if ( //(primaryWeapon player != "" || currentWeapon player == primaryWeapon player) // Detects rifles. Ideally checks an isKindOf instead. Also detects binoculars now and then. Not consistent. Good or bad? Takes care of dickers tbh. Sometimes detects something when there's nothing. TODO. //|| (handgunWeapon player != "" && currentWeapon player == handgunWeapon player) // This detects handguns. Since they can easily be hidden, the condition checks the player both HAS and WIELDS a handgun. || secondaryWeapon player != "" // This detects launchers, whether carried on back or being used. || (speed player > _runSpeed && count _nearSoldierAr >= 1 && vehicle player == player) // Checks player is running (sprinting => 15), and whether has soldier nearby, and whether his vehicle is himself and not a car etc. || (count _nearFriendsAr >= _crowdSize && vehicle player == player && !(_isInside)) // Checks whether player is in a crowd. He is allowed to be if he is inside a vehicle or a house. ) then { player setCaptive false; hint "now dangerous!"; // Debug. sleep 1; } else { player setCaptive true; hint "Player still captive"; // Debug. sleep 1; }; }; // This while-loop runs when the player has met a hostility condition. while {alive player && !(captive player)} do { hint "In the danger scope"; // Debug hint sleep 1.5; // Find enemy soldiers within a certain radius of the player, then test them for LOS or knowsAbout. // TODO find out whether knowsAbout decreases too slowly and we should rely purely on LOS. _farSoldierAr = allUnits select {_x distance player < _detectRadius && side _x in _enSideAr}; if ( ((_farSoldierAr findIf {[player, _x] call SCA_fnc_LineOfSight}) == -1) || ((_farSoldierAr findIf {_x knowsAbout player > 1.5}) == -1) ) then { // The enemy may have LOS to or knowledge about the player's hostility. sleep 10; // Debug sleep. Up to 60 or 120 later. hint "checking again"; // Debug hint. sleep 1; // Debug sleep. } else { // The enemy has neither LOS to nor knowledge about the player. player setCaptive true; hint "player now captive again"; // Debug hint. sleep 2; // Debug sleep. } };
  11. edit: completely replaced the code so no longer interested in help. Trying to find the delete button vOv
  12. scajolly

    RHS Escalation (AFRF and USAF)

    Will you make your own thread for that, so we won't get warnings for talking about it in the wrong thread? :) Ideally I'd like an RPD, but vOv you can only ask for so many things.
  13. In the wiki entry about uniforms, a bit further down, there is mention of "FIA headgear and facewear randomization". Among the solutions to remove the function from units that are configed to call for randomization, it mentions "For units placed from the editor, disableRandomization should be used (mission config file)." Is that of any help?
  14. I second the request/question about combat jacket. I'd also like to ask, will we be seeing tropical gear so we can recreate eg. Aden and Malaysia scenarios?
  15. Hi there. Would love some help with this issue I'm having. Specifically, a new soldier class inheriting from I_Soldier_base_F refuses to wear my desired uniform. Instead it uses some default AAF stuff. The issue concerns all soldiers inheriting from I_G_soldier_amethyst I am a complete newb to configs so I'm not sure I've done everything quite right. Upon loading the game and testing, my RPT shows this weird report: 22:17:05 Deinitialized shape [Class: "C_Soldier_VR_F"; Shape: "a3\characters_f_bootcamp\common\vr_soldier_f.p3d";] 22:17:05 Deinitialized shape [Class: "CUP_B_CDF_Soldier_01_FST"; Shape: "cup\creatures\people\military\cup_creatures_people_military_russia\cup_rus_soldier1.p3d";] 22:17:05 Deinitialized shape [Class: "16aa_Army_Captain"; Shape: "a3\characters_f_beta\indep\ia_soldier_01.p3d";] 22:17:05 Deinitialized shape [Class: "16aa_Army_Pte1"; Shape: "a3\characters_f_beta\indep\ia_soldier_01.p3d";] 22:17:05 Deinitialized shape [Class: "B_Soldier_F"; Shape: "a3\characters_f\blufor\b_soldier_01.p3d";]
  16. I've now encountered a new problem Each loop now relocates the same vehicle. But I wanted to create a -new- vehicle _tg1 with each loop. How do I create new iterations of _tg1?
  17. Hello, good people. Was hoping I could have your help today for something frustratingly trivial. I'll outline my separate intentions first, and then I'll describe the precise problem. I want to have a trigger (bounceTrigger2) detect different units repeatedly (but never running for more than 4 instances), then call a script which spawns an object, an object which is then relocated every few seconds, meanwhile the script is also counting down to create another object, relocating that as well, and so on, for i ierations. However, I'm running into some pretty basic problems before I can finish all of my structure. Init sqf: BounceVal = 0; Trigger condition: this Trigger activation: bounceVal = bounceVal+1;bounceHandle= [thislist select 0,bounceTrigger2] execVM "bounceJ.sqf";hint "go" Trigger deactivation: bounceVal = bounceVal - 1; BounceTrigger2.sqf _vic = _this select 0; _list = _this select 1; _dist = 5; _dist2 = _dist*2; _time = random 3; _tgArray = []; _i = 0; while {_vic in list _list} do { private["_tg1"]; _tg1 = "16AA_veh_vt5_bmp2" createVehicle position _vic; _tgArray = + [_tg1]; _dist = _dist+5; //debug pause and hint _i = _i+1; sleep 1; hint format ["iteration %1, dist = %2, array = %3",_i,_dist,_tgArray]; while {(true)} do { _x setposasl [(getposasl _vic select 0)+(random _dist2 - _dist)*sin(random 359),(getposasl _vic select 1)+(random _dist2 - _dist)*sin(random 359),(getposasl _vic select 2)+(1.4+(random 2))]; sleep _time+(random 5); } forEach _tgArray; // x seconds for testing sleep 10; hint "a new target is made"; sleep 5; } then { {deleteVehicle _x} forEach _tgArray; } Main problem: |#|_x setposasl .... Error Undefined variable in expression: _x I tried to get the array to return its contents, and that reads "array = [9c5d6b00# 378656: bmp2_2.p3d]" What am I getting wrong here? Shouldn't _x naturally point to every entry in _tgArray? Secondary problem For my intentions, should the trigger be repeatable? The trigger will ideally detect several BLUFOR detected by OPFOR, so in my head it should be repeatable. A BLUFOR entity might exit the trigger area and come back in, in which case the script should run (assuming bounceVal <= 4). A BLUFOR entity already in the list must NOT, however, call the script more than once. So then it seems like it shouldn't be repeatable.
  18. Thank you so much, Tryteyker, that was absolutely the issue. I can't believe I didn't spot that.
  19. Well, if they're not meant for this mod, maybe just release them, say, now? :) I joke, but only halfway: Much rather we had it to play around with than that it sat all cold and lonely on a HD somewhere. For those of us that love an 1985 setting (was there ever a better year for war) the 105mm would be smashing. :) Right, now you know the desire/demand is out there, hopefully you see fit to release sooner or later! :)
  20. scajolly

    RDS A2 Civilian Pack

    This may have been mentioned. rds_a2port_civ.pbo does not have the pbo with the factions as requiredAddons, so you can run it it alone, but that causes Arma to ask for the factions. You could potentially just duplicate the faction entry in this pbo's config. :)
  21. scajolly

    NORAF WIP Thread

    Aww, another missed chance at "Royal Norwegian" in the name. :)
  22. HAHAHAH! That is glorious. Like Spongebob Squarepants.
  23. I enjoy this information (instead of just pictures) very, very much - thank you. :) I also look forward to your quality work! I have only skimmed half of this thread, but perhaps someone can tell me whether they intend at all to release an M1 - ie, 105mm Abrams?
  24. Think I may have found a problem with the 5-tonner. On Stratis, posX 1898, posY 5554, on the airfield, I tried to drive into the grey garage building (speed around 10kmh or so). The computer said no.
  25. scajolly

    Real Armor Mod

    And holy jesus is it powerful. I blew up a small truck and daisychained it bigger and bigger, from truck to APC to tank. /o\
×