Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

  • Medals

Community Reputation

14 Good

1 Follower

About scajolly

  • Rank
    Gunnery Sergeant

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  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. Thanks for the input. I've zero experience with FSM though. :) So I doubt I'll venture there.
  7. 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/
  8. 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!
  9. 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. } };
  10. edit: completely replaced the code so no longer interested in help. Trying to find the delete button vOv
  11. 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?
  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";]