terox
Member-
Content Count
2417 -
Joined
-
Last visited
-
Medals
Everything posted by terox
-
How do loop foreach allUnits+vehicles thoughout the game?
terox replied to BEAKSBY's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Maybe, but I wouldnt expect the _newvehicles array to have any more than 2 or 3 elements, so that shouldnt be an issue, but I updated the code with your suggestion -
How do loop foreach allUnits+vehicles thoughout the game?
terox replied to BEAKSBY's topic in ARMA 3 - MISSION EDITING & SCRIPTING
vehicles will return a lot more than just ground\sea\air vehicles, it will also include ammo boxes and lots of other objects which you will need to filter out 1) So to optimise this you would initially filter out actual vehicles and add the KilledEH to them 2) At this point, you have now attached a Killed EH to all known vehicles in the vehicle array 3) Save the vehicles array as something else, you will later use this to compare to any later call on the vehicles array and this will allow you to quickly reduce the number of elements in the array to scan through NB>> 1) As per previously stated, the better way to do this is to add it to the init fields of the vehicles/units when they are getting created 2) Always call a function in an eventhandler, eg Precompiled and saved to memory ExecVM means that each time the script is called for, it will compile then run, you want Eventhandler code to run as efficiently as possible so use a precompiled function because that is already compiled and stored in memory and will instantly run. (If there are sleeps or waituntil's in the vehicle scripts, then still precompile the function but spawn it rather than call it so something like // Use an MP Eventhandler and only run this loop on the server if!(IsServer)exitwith{}; // filter out actual vehicles, in this example, if it has a driver slot // You could filter using alternative methods, eg IsKindof "AIR" etc // You could also filter for anything that is locked, e.g non enterable { if (getNumber (configfile >> "CfgVehicles" >> typeof _x >> "hasDriver")==1)then { _x addMPeventhandler ["MPkilled",{_this call MyTag_VehKilled;}]; _x setvariable ["KilledEH",TRUE]; }; }foreach Vehicles; // Now save this array for later use _CheckedVehicles = Vehicles; // the following variable will contain any new vehicles that you were not aware of on a previous loop _newVehicles = []; // We now have all vehicles that started on the map with their Eventhandlers // We can now set up a slow loop and monitor for anything new being created // in this case every 30 seconds while{TRUE}do { sleep 30; _NewVehicles = []; // Remove checked vehicles from the updated vehicle array to create a list of new vehicles _NewVehicles = Vehicles - _CheckedVehicles; // Now if there are new vehicles add an eventhandler to those that have a driver position if(Count _NewVehicles >0)then { { if (getNumber (configfile >> "CfgVehicles" >> typeof _x >> "hasDriver")==1)then { _x addMPeventhandler ["MPkilled",{_this call MyTag_VehKilled;}]; _x setvariable ["KilledEH",TRUE]; }; // Update the checkedvehicles array to include the new found vehicles; // so they wont exist in the NewVehicles array on the next loop _CheckedVehicles = _CheckedVehicles + [_x]; sleep 0.2; }foreach _NewVehicles; }; }; I havent given you all the code, you can learn from this. I also added a setvariable, you can check for this before adding a KilledEH if you so wished Run 2 looping scripts, one for vehicles and then do something similar for AllUnits -
Trouble with groups on a dedicated server
terox replied to euly's topic in ARMA 3 - MISSION EDITING & SCRIPTING
In an mp environment it can take up to 2 seconds for the group variable to properly synchronise across the network and be recognised fully. You can see this by seeing the effect of setgroupID in the init field of the units and then having that unit do a sidechat message at the start of the init.sqf and then after a delay of 2 seconds. To work around this issue in scripting, waypoints etc add a time condition to your waypoint condition (And best run it on the server only if the helo pilot is in it's own AI group meaning its local to the server)) ((IsServer) &&(Time > 4)&&({alive _x && _x in Helo1} count units team1 == {alive _x} count units team1)) You could also just count Isplayer and playableunits if all the players are in the same group If you have disableai = 1 then you could just check for alive and count of playable units -
Tutorial: Installation & Configuration of ArmA3 Dedicated Server
terox replied to terox's topic in ARMA 3 - SERVERS & ADMINISTRATION
Big Thanks to PAL 18 for finding this link. Firedeamon ArmA3 tutorial http://forums.firedaemon.com/howtos/arma-3.115/ -
start by clearing out all your missions and launching a vanilla server version via a desktop shortcut. Make sure the mission cycle section of your config is commented out Having proven a vanilla server via a desktop shortcut, then start adding the missions back in small batches Once you have proven the missions then try with TADST, This is a process of elimination.
-
Tutorial: Installation & Configuration of ArmA3 Dedicated Server
terox replied to terox's topic in ARMA 3 - SERVERS & ADMINISTRATION
AFAIK, only the steamqueryport is hardcoded. The steamport still needs to be defined in the config. The Biki may be in error -
Tutorial: Installation & Configuration of ArmA3 Dedicated Server
terox replied to terox's topic in ARMA 3 - SERVERS & ADMINISTRATION
Been meaning to do just that and ya pushed me into it :) Version 1.16 Date 5th July 2014 Updated port information to reflect changes in steam query port detailed in A3 patch 1.22 hotfix sections changed are PORT FORWARDING (ArmA3) (Firewalls) CONFIG_Vanilla.cfg -
I would add to this and have a root admin login and then a normal game admin login Root admin can then overide and take over from any logged in admins Did you raise a ticket for this?
-
what happens if a community server has many server admins and they are on the server at the same time
-
arma3server.exe problem after update
terox replied to stanerzz's topic in ARMA 3 - SERVERS & ADMINISTRATION
1) remove all the missions from each install 2) launch each server as pure vanilla, eg no addons with a desktop shortcut, once proven goto 3 3) start adding missions back a batch at a time until you find the ones causing the issue 4) Make sure you comment out the mission cycle section of your config, otherwise it may look for a mission that isn't there. -
Standard advice for all issues with a server No.1 The first thing you should do is try running a standard non addon missions and prove that the server runs ok, starting it via a desktop shortcut No.2 if No.1 is okay, Then modify the desktop shortcut to run the -mod line you need to test the addons and the mission No.3. If No.2 runs okay you need to take this up in the TcAdmin thread or administer your TC admin correctly if you fail on No.2 then you are not running the addons required by the mission, recheck the -mod line and check what addons theAK's require and add them. Pastebin any files, RPT, Mission.sqm (Just the first bit with the addons and addons auto arrays)nobody with any sense is going to download a file to look at its contents.
-
error: c:\w\futura_stable\lib\network\networkserver.cpp ClearNetServer:NOT IMPLEMENTED - briefing! thats a BI thing, dont worry about it
-
(group UNITNAME) enableattack false;
-
check RPT file for errors remove all missions and then try (There will be standard BIS missions to select) Always prove a vanilla install when trying to debug a server issue
-
1) your or the server is not loading the addon that the following require.... ak47 gun, then ak74, svd 2 reasons for this a) You have edited a mission while running JSRS, this will add addon dependancy to the mission or You or the server is not running the modm line you think you are Open up the mission.sqm and look at the addons and addons auto section for the list of addons required. If you see any entries for JSRS in there delete them, other than that your -mod line is incorrect and you arent loading the required mod on your client or server. Check both the server rpt file and the client rpt file and you will see at the top, the actual config (command line) it is running
-
Yes m8, we've been around for a long time and still going strong
-
Steam Cheatersale 500% more Cheaters
terox replied to da-ben's topic in ARMA 3 - SERVERS & ADMINISTRATION
refer them to Life servers :) -
Need some help with a map marker here.
terox replied to CrazyChrisX's topic in ARMA 3 - MISSION EDITING & SCRIPTING
They are groupIcons, they can be interfaced with. You can have them display either as 2d (Map view) 3D ingame or both using the groupIconsvisible command Check the comref for more details -
Passing multitype array to a script does not work?
terox replied to tortuosit's topic in ARMA 3 - MISSION EDITING & SCRIPTING
AFAIK, config environment arrays (Description.ext) cannot be nested Only arrays in a .sqf environment can be. Mixed variable type arrays are fine -
Attach script to bomb on plane
terox replied to fodnow's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Research Fired Eventhandler https://community.bistudio.com/wiki/Arma_3:_Event_Handlers#Fired Run a fired eventhandler on the plane and have the fired EH script check for the type of munitions fired. You can return magazine, ammo and even the projectile If its a JDAM then run code something like _ammo = _this select 4; _mag = _this select 5; _bomb = _this select 6; // (Projectile returned from the fired EH if !((ToUPPER _mag)==("YOUR_JDAM_MAGAZINE_CLASSNAME_IN_UPPERCASE"))exitwith{}; waituntil {! alive _bomb}; // it just blew up // Run your Nuke code [_bomb] execVM "NukeEffect.sqf"; ------------------- // position for bomb nuke effect = getpos _this select 0 _NukePos = getpos (_this select 0); // following for air burst if you wanted that // waituntil {(getposATL _bomb) select 3 < 70}; // deletevehicle _bomb; When the aircraft fires , it will check if it is a jdam magazine and if not exit, if it is, it will continue to run the script, waiting for the bomb to explode then it will run whatever your nuke script is. -
Trigger that checks for all human players in trigger area (respawn mission)
terox replied to wiggum2's topic in ARMA 3 - MISSION EDITING & SCRIPTING
perhaps (Untested) {Isplayer _x in thislist} count playableUnits == {IsPlayer _x} count playableUnits; {(alive _x && Isplayer _x) in thislist} count playableUnits == {(alive _x && IsPlayer _x)} count playableUnits; -
Tutorial: Installation & Configuration of ArmA3 Dedicated Server
terox replied to terox's topic in ARMA 3 - SERVERS & ADMINISTRATION
Right at some point you got yourself mixed up between "C:\Arma3ServerOne and C:\ArmaServerOne Your config_vanilla for the following shortcut == "C:\Arma3ServerOne\arma3server.exe" "-profiles=c:\Arma3ServerOne" -port2302 -config=CONFIG_Vanilla.cfg -world=empty needs to live in the C:\Arma3ServerOne folder I imagine the mix up was with the -profile address -
Activate trigger when the player is on the ground
terox replied to Yolo Joe's topic in ARMA 3 - MISSION EDITING & SCRIPTING
condition: (getposATL Helo select 2) < 1.1 when its 1 metres off the ground the condition will become true then remove the fuel so it cant fly off then run your repair sequence then add the fuel call the script from the trigger -
Tutorial: Installation & Configuration of ArmA3 Dedicated Server
terox replied to terox's topic in ARMA 3 - SERVERS & ADMINISTRATION
That seems all perfectly okay I would paste the rpt file to pastebin having deleted any ones that are there now and restarting the server. This will create as clean an rpt as we can get. All of the rpt especially the top bit. You mentioned LAN, this makes me feel that this isn't at a datacentre but run from your house. This then pushes me to ask if this is a dedicated server you are running or a client/server combo How are you trying to start the server (Hopefully at this stage by desktop shortcut) It sounds like the actual config you are running is the one that is created by default when you dont run a profile, this will be found in c\users somewhere your config_vanilla should be located in C:\ArmaServerOne\CONFIG_Vanilla.cfg eg the root of the arma3 install Other questions Which branch of install are you running, dedicated server package or the full install package Also how many other instances of A3 do you have installed on that 1 machine