So you want to make a gate for your base that you can open and close from inside, that is inaccessible from outside and that also looks realistic. What can do a better job than a good old Icarus bus from ArmA 2? Because the bus has user actions popping up only when you are on the right side of it, making left side the “out” side makes a lot of sense. Only if we could put some armour on the outside of the bus…

Looks like corrugated fence would do. It also moves with the bus and stays on even if the bus is destroyed. It won’t stop bullets though. Here is the link which explains attachTo and setVectorDirAndUp commands I used a bit more. Another thing that should be considered is what happens if someone rams into the bus. The bus of course would move just like in real life. So what one would do in this case? Perhaps place something to block bus from moving sideways, like a couple of flag poles?

bus2gate

The good thing about flag poles is that they would make sense being on the entrance to the base and you can even set own texture for the flag if you wish. On the picture above I used Bohemia flag. If you pass blank texture, you get bare flag poles. Anyway, here is the script I wrote that would attach fences to the bus and place 2 flag poles behind the bus:

fnc_bus2gate = { private ["_bus","_flag","_fence"]; _bus = _this select 0; _flag = _this select 1; { _fence = createVehicle [ "Fence_corrugated_plate", getPos _bus, [], 0, "NONE" ]; _fence attachTo [_bus, _x select 0]; _fence setVectorDirAndUp (_x select 1); } forEach [ [[-1.55,3,-0.3],[[1,0,0],[0,0.02,-0.98]]], [[-1.4,-0.5,-0.3],[[1,0,0],[0,0.03,-0.97]]], [[-1.45,-3.8,-0.4],[[1,0,0],[0,-0.04,-0.96]]], [[-1.45,2.9,0.3],[[1,0,0],[0,0.1,0.9]]], [[-1.5,-0.5,0.3],[[1,0,0],[0,0,1]]], [[-1.4,-3.8,0.3],[[1,0,0],[0,-0.06,0.94]]] ]; { (createVehicle [ "FlagPole_EP1", _bus modelToWorld _x, [], 0, "CAN_COLLIDE" ]) setFlagTexture _flag; } forEach [[1.35,-4,-2],[1.35,3,-2]]; };

And this is how you call the function:

//create a bus if you dont have one already _bus = "Ikarus" createVehicle (position player); //bare flag poles [_bus, ""] call fnc_bus2gate; //Bohemia flags [_bus, "\ca\ca_e\data\flag_bis_co.paa"] call fnc_bus2gate;

Of course this is just a prototype. If you wish to make this persistent you need to consider few more angles. Have fun figuring those out :) .

Enjoy,
KK