Jump to content

Sgt_HARTMAN

Donator
  • Posts

    22
  • Joined

  • Last visited

  • Donations

    10.00 GBP 

Everything posted by Sgt_HARTMAN

  1. I almost found, at first the exclamation mark which was present on the respawn location disappeared after removing the units and replacing their variable names initially noted "S1" by "s1". I realized that the loadout equipped before respawn is reset after death. I checked the script "OnPlayerRespawn.sqf" and there is obviously no faction setting to change. Since this script works with the "Player" variable, wouldn't these two errors be linked? I continue my research. PS: All faction changes work perfectly beyond this.
  2. I will continue to see this message appear, thanks again for your help!
  3. it works, thank you very much! However, this error remains :
  4. I'm using the 3.3.50 and I forgot this line indeed. However when I change "west" to "guerrila" or "indep", I have a variable error that appears so I imagine that "guerrila" and "indep" are not good ...
  5. Good morning all, I modified the mission in order to play on the side of the AAF against NATO. The whole mission scenario works without errors. I am embarrassed because I can't find why I can't appear in the AAF unit. I replaced all NATO units with AAFs by carefully repeating every detail on each unit. I changed the settings "West" by "Indep" or "guerrila" of fn_BaseManager & Main_Machine.sqf and despite that, I cannot manage spwan other than as a pilot. I've this message on bottom left. [ZONE RESTRICTION] no synchronized units found thank you in advance
  6. It's so much simpler ... Thank you very much again Stanhope...
  7. what I would like it is that the number of current unit is distributed in several buildings by covering a maximul the AO. The size of the groups has no importance, I just want to avoid a group of 12 men occupying a single house This is for working CQB techniques
  8. Hello Stanhope, thank you for your reply. I am fully aware of the obligations that the integration of script from elsewhere gives me. In Attachement there is a capture that directly shows the distribution problem I am having. Thank you
  9. Hello World, I don't know if it's the same with you, but with me, the units appear in groups, grouped into the same building. So I found a script in @Achilles Mods which allows to fill and distribute the units in the buildings. I tried several times to integrate it into "fn_mainAOSpawnHandler.sqf" but nothing works. According to you, is this script adaptable in "fn_mainAOSpawnHandler.sqf" (in this //=================Garrison inf===========================) ? or is it in another file? Or is it just not adaptable? I will try to create a new .SQF file calling this function. If anyone has an idea to adapt it, I would be grateful //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // AUTHOR: Kex // DATE: 12/26/17 // VERSION: AMAE.0.1.0 // DESCRIPTION: Teleports units to random positions in nearby buildings. // Preferably orients them in such that they look out of windows. // They won't be able to move away till forceSpeed is set to -1. // // ARGUMENTS: 0: ARRAY - 3D position from where the building search starts. // 1: ARRAY - Array of units which are used for the occupation. // 2: SCALAR - Building search radius in meter (default: 150). // 3: BOOLEAN - Only use positions inside buildings (default: false). // 4: BOOLEAN - Distribute units evenly over closest buildings (default: false). // // RETURNS: nothing // // Example: [position leader _group, units _group] call Achilles_fnc_instantBuildingGarrison; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #define GOOD_LOS 10 #define MEDIOCRE_LOS 3 #define EYE_HEIGHT 1.53 #define REL_REF_POS_LIST_HORIZONTAL [[25,0,0],[0,25,0],[-25,0,0],[0,-25,0]] #define REL_REF_POS_VERTICAL [0,0,25] // get arguments params ["_AOpos", "_units", ["_searchRadius",150,[0]], ["_insideOnly",false,[false]], ["_fillEvenly",false,[false]]]; private _errorOccured = false; // local function for checking whether positions are inside a building private _fnc_isInsideBuilding = { params ["_pos","_building"]; _pos = ATLToASL _pos; _pos set [2, EYE_HEIGHT + (_pos select 2)]; // if we have at least 3 walls and a roof, we are inside if (_building in (lineIntersectsObjs [_pos, _pos vectorAdd REL_REF_POS_VERTICAL])) then { {_building in (lineIntersectsObjs [_pos, _pos vectorAdd _x])} count REL_REF_POS_LIST_HORIZONTAL >= 3; } else { false; }; }; // get all near buildings and their positions inside private _nearestBuildings = nearestObjects [_AOpos, ["building"], _searchRadius, true]; private _buildings = if (_searchRadius < 0) then {[_nearestBuildings select 0]} else {_nearestBuildings}; private _pos_nestedList = []; { private _building = _x; private _pos_list = [_building] call BIS_fnc_buildingPositions; // filter positions that are already occupied or not inside if "inside only" is true. for "_i_pos" from (count _pos_list - 1) to 0 step -1 do { private _pos = _pos_list select _i_pos; if (count (_pos nearEntities [["Man"], 0.5]) > 0 or {_insideOnly and {not ([_pos, _building] call _fnc_isInsideBuilding)}}) then { _pos_list deleteAt _i_pos; }; }; // filter buildings that do not offer valid positions if (not (_pos_list isEqualTo [])) then { _pos_nestedList pushBack _pos_list; }; } forEach _buildings; for "AO-GarrisonInf-%1" from 0 to (count _units - 1) do { private _unit = _units select AO-GarrisonInf-%1; private "_pos"; private _n_building = count _pos_nestedList; if (_n_building > 0) then { if (_fillEvenly) then { // fill closest buildings by distributing the units randomly private _i_building = floor random _n_building; private _pos_list = _pos_nestedList select _i_building; private _i_pos = floor random count _pos_list; _pos = +(_pos_list select _i_pos); _pos_list deleteAt _i_pos; if (count _pos_list == 0) then {_pos_nestedList deleteAt _i_building}; } else { // fill closest buildings one by one private _i_building = 0; private _pos_list = _pos_nestedList select _i_building; private _i_pos = floor random count _pos_list; _pos = +(_pos_list select _i_pos); _pos_list deleteAt _i_pos; if (count _pos_list == 0) then {_pos_nestedList deleteAt _i_building}; }; _unit setPosATL _pos; // rotate unit for a good line of sight private _eyePosASL = (ATLToASL _pos) vectorAdd [0,0,EYE_HEIGHT]; private _startAngle = (round random 360); for "_angle" from _startAngle to (_startAngle + 360) step 10 do { // use angle finally if the line of sight is good private _relRefPos = [GOOD_LOS*sin(_angle), GOOD_LOS*cos(_angle), 0]; if (not lineIntersects [_eyePosASL, _eyePosASL vectorAdd _relRefPos]) exitWith { _unit doWatch (_pos vectorAdd _relRefPos); }; // use angle provisionally if the line of sight is mediocre private _relRefPos = [MEDIOCRE_LOS*sin(_angle), MEDIOCRE_LOS*cos(_angle), 0]; if (not lineIntersects [_eyePosASL, _eyePosASL vectorAdd _relRefPos]) then { _unit doWatch (_pos vectorAdd _relRefPos); }; }; } else { // if we don't have sufficient building positions _errorOccured = true; }; _unit forceSpeed 0; }; if (_errorOccured) then { [localize "STR_AMAE_DID_NOT_FIND_SUFFICIENT_FREE_POSITIONS"] call Achilles_fnc_showZeusErrorMessage; }; fn_mainAOSpawnHandler.sqf //=================Garrison inf=========================== [_AOpos, _radiusSize] spawn { params ["_AOpos", "_radiusSize"]; private _grpList = []; private _milBuildingsarray = nearestObjects [_AOpos, ["house","building"], _radiusSize*0.5]; sleep 0.5; private _milBuildingCount = count _milBuildingsarray; private _garrisongroupamount = 0; waitUntil {sleep 0.1; !isNil "MainFaction"}; if (_milBuildingCount > 0) then{ if (_milBuildingCount > 15) then{_milBuildingCount = 15;}; for "_i" from 1 to _milBuildingCount do { private _infBuilding = selectRandom _milBuildingsarray; _milBuildingsarray = _milBuildingsarray - [_infBuilding]; private _infbuildingpos = _infBuilding buildingPos -1; private _buildingposcount = count _infbuildingpos; if (_buildingposcount > 12 ) then {_buildingposcount = 12}; _garrisongroupamount = _garrisongroupamount + 1; private _garrisongroup = createGroup east; _grpList pushBack _garrisongroup; _garrisongroup setGroupIdGlobal [format ['AO-GarrisonInf-%1', _garrisongroupamount]]; if (_buildingposcount > 0) then{ for "_i" from 1 to _buildingposcount do { private _unitpos = selectRandom _infbuildingpos; _infbuildingpos = _infbuildingpos - [_unitpos]; private _unitArray = (missionConfigFile >> "unitList" >> MainFaction >> "units") call BIS_fnc_getCfgData; private _unittype = selectRandom _unitArray; private _unit = _garrisongroup createUnit [_unittype, _unitpos, [], 0, "CAN_COLLIDE"]; _unit disableAI "PATH"; }; }; [units _garrisongroup] remoteExec ["AW_fnc_addToAllCurators", 2]; { mainAOUnits pushBack _x; } forEach (units _garrisongroup); [units _garrisongroup] spawn derp_fnc_AISkill; { _x setCombatMode "YELLOW"; _x setBehaviour "AWARE"; } forEach _grpList; sleep 0.5; }; }; publicVariableServer "mainAOUnits"; }; [_AISkillUnitsArray] spawn { params ["_AISkillUnitsArray"]; [_AISkillUnitsArray] call derp_fnc_AISkill; }; [mainAOUnits] remoteExec ["AW_fnc_addToAllCurators", 2]; publicVariableServer "mainAOUnits"; { _x setCombatMode "YELLOW"; _x setBehaviour "AWARE"; } forEach _grpList; mainAOUnitsSpawnCompleted = true; publicVariableServer "mainAOUnitsSpawnCompleted"; Thanks
  10. Thank you very much, this works perfectly, without any modification. I am very grateful for the help you have given me.
  11. Hello world, I allow myself to UP this subject because because I did not find the solution. I understood why the sides did not appear and have fixed it. thank you in advance
  12. Thank you, I just found how to move the spawn point of the first AO and following. I keep looking how spawn the AOs as in the 2.82 version of the invade & annex Do I wish you a good holiday ? lol Thank's
  13. That's what I do, I learn by integrating pre-edited scripts and create some basic ones. I & A is quite complex and it allows me to learn. I thank you for the advice you give me because you help me to learn even if I know you have more important things to do. I tried the last script you gave me but unfortunately nothing happens. the main and secondaries missions don't spawn but no error messages appears. Would this be a problem with "(_nextAO in controlledZones)" or because the "manualAO" should be called by another scipt ? or quite simply manually called by an admin command in game ? I will continue my tests by modifying the script in "MainMachine.sqf" thanks for your help.
  14. I tried to declare the variable or replace _x with _AO_Entry by declaring _AO_Entry = _this select 0; but it does not work, I will try other things while waiting for some help. Thank you
  15. I am not an expert in scripting, I made several attempts but unsuccessful. Would there be another way to only change the order of appearance? In my tests I changed the order of "Class" in "MainAos.hpp" but the first AO spawn always to "Atkinarki". Would there be another script determining the order of appearance of "Aos"? Thanks
  16. Thank you for your answer. Under which script did you integrate it and by which is it called? I am version I & A 3.35. thank you in advance
  17. Hello everyone. Would anyone know how to randomize the appearance of the main missions? Indeed, I would like to do as on the old I & A at least two years old. That is, start the first mission anywhere on Altis and at the end of it, select another random location and no longer work with the "controlled zones". After several attempts to modify scripts in "fn_getAo.sqf" and "MainAos.hpp, I can not find a solution to what I want to achieve. I thank you in advance for your help. Sorry for any mistakes in my sentences, I am French and my English is not great ... Sgt_HARTMAN
  18. I find the solution, it's because when i try in editor an error appaers with the #include "\arma3_readme.txt"; and i put it in comment "//". So i have replace that //#include "\arma3_readme.txt"; By that #include "\arma3server_readme.txt"; And now all works perfectly Thank you !
  19. One laste question, i put two UIDs in "zeusAdminUIDs" but with my friend, we can't connect us at the same time as Admin and use Zeus. Is it normal ?
  20. Thank you for answer, it's working ! Don't forget to connect as Admin in-game Thanks a lot Stanhope !
  21. Hello every one, I try to creat a little server for the French Community with French military mods. everythings works great with all scripts but i encounter just one problem. I have created my server.cfg and put on it : zeusAdminUIDs = [MyOwnUIDxxxxxxxxxxxxxxxxxxxxx] But when my server start i can't use zeus when i press Y key (there are no more ping but after about 5 minuts there are back and i have the message "Zeus is not online, blah blah blah...) . I try too log as Admin with #login cmde and that works but not zeus Is somebody can help me to resolve my issue ? I post my server.cfg too if u see somthing wrong Thank you (sorry for my orthograph and grammar mistakes, my english is far to be perfect) // // server.cfg // // comments are written with "//" in front of them. // NOTE: More parameters and details are available at http://community.bistudio.com/wiki/server.cfg // STEAM PORTS (not needed anymore, it's +1 +2 to gameport) // steamPort = 8766; // default 8766, needs to be unique if multiple serves on same box // steamQueryPort = 27016; // default 27016, needs to be unique if multiple servers on same box // GENERAL SETTINGS hostname = "[FR] FrenchBadCompany Invade & Annexe Semi-RP"; // Name of the server displayed in the public server list password = "xxxxxx"; // Password required to join the server (remove // at start of line to enable) passwordAdmin = "xxxxxx"; // Password to login as admin. Open the chat and type: #login password maxPlayers = 60; // Maximum amount of players, including headless clients. Anybody who joins the server is considered a player, regardless of their role or team. persistent = 1; // If set to 1, missions will continue to run after all players have disconnected; required if you want to use the -autoInit startup parameter zeusAdminUIDs = ["xxxxxxxxx","xxxxxxxxx"] rcon_password ="xxxxxxxx"; // VOICE CHAT disableVoN = 1; // If set to 1, voice chat will be disabled vonCodecQuality = 10; // Supports range 1-30; 1-10 is 8kHz (narrowband), 11-20 is 16kHz (wideband), 21-30 is 32kHz (ultrawideband); higher = better sound quality, more bandwidth consumption // VOTING voteMissionPlayers = 1; // Minimum number of players required before displaying the mission selection screen, if you have not already selected a mission in this config voteThreshold = 0.75; // Percentage (0.00 to 1.00) of players needed to vote something into effect, for example an admin or a new mission. Set to 9999 to disable voting. allowedVoteCmds[] = // Voting commands allowed to players { // {command, preinit, postinit, threshold} - specifying a threshold value will override "voteThreshold" for that command {"admin", false, false}, // vote admin {"kick", false, true, 0.51}, // vote kick {"missions", false, false}, // mission change {"mission", false, false}, // mission selection {"restart", false, false}, // mission restart {"reassign", false, false} // mission restart with roles unassigned }; // WELCOME MESSAGE ("message of the day") // It can be several lines, separated by comma // Empty messages "" will not be displayed, but can be used to increase the delay before other messages motd[] = { }; motdInterval = 5; // Number of seconds between each message // MISSIONS CYCLE class Missions { class Mission1 { template = "Invade_&_Annex_3_3_28.Altis"; // Filename of pbo in MPMissions folder difficulty = "Recruit"; // "Recruit", "Regular", "Veteran", "Custom" }; }; // LOGGING timeStampFormat = "short"; // Timestamp format used in the server RPT logs. Possible values are "none" (default), "short", "full" logFile = "server_console.log"; // Server console output filename // SECURITY BattlEye = 1; // If set to 1, BattlEye Anti-Cheat will be enabled on the server (default: 1, recommended: 1) verifySignatures = 0; // If set to 2, players with unknown or unsigned mods won't be allowed join (default: 0, recommended: 2) kickDuplicate = 1; // If set to 1, players with an ID that is identical to another player will be kicked (recommended: 1) allowedFilePatching = 1; // Prevents clients with filePatching enabled from joining the server (0 = block filePatching, 1 = allow headless clients, 2 = allow all) (default: 0, recommended: 1) // FILE EXTENSIONS allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; // only allow files with those extensions to be loaded via loadFile command (since Arma 3 v1.19.124216) allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; // only allow files with those extensions to be loaded via preprocessFile / preprocessFileLineNumbers commands (since Arma 3 v1.19.124323) allowedHTMLLoadExtensions[] = {"htm","html","php","xml","txt"}; // only allow files and URLs with those extensions to be loaded via htmlLoad command (since Arma 3 v1.27.126715) // EVENT SCRIPTS - see http://community.bistudio.com/wiki/ArmA:_Server_Side_Scripting onUserConnected = ""; // command to run when a player connects onUserDisconnected = ""; // command to run when a player disconnects doubleIdDetected = ""; // command to run if a player has the same ID as another player in the server onUnsignedData = "kick (_this select 0)"; // command to run if a player has unsigned files onHackedData = "kick (_this select 0)"; // command to run if a player has tampered files // HEADLESS CLIENT //headlessClients[] = {"127.0.0.1"}; // list of IP addresses allowed to connect using headless clients; example: {"127.0.0.1", "192.168.1.100"}; //localClient[] = {"127.0.0.1"}; // list of IP addresses to which are granted unlimited bandwidth; example: {"127.0.0.1", "192.168.1.100"}; Edit: Mark T - removed signature, some inappropriate words.
  22. hello to all. I allow myself to relaunch this topic because I encounter the same problem with the "DERP REVIVE". In fact, when I delete the lines of scripts inits.sqf, InitPlayerLocal.sqf and Descritpion.ext and after removing the folder "AIS", MAIN AOs no longer works. I only have the "Take Any" notification and nothing happens. Would I have forgotten something? If anyone could help me I'll be grateful! I want to apologize for my grammar, my English is not good ...
×
×
  • Create New...