Jump to content

Roaming AI in Towns Release


MisterT

Recommended Posts

That is a common issue. Make sure all your files are up to date. My AI shoot and cause damage.  Use google to find how to fix this common issue (A3 AI bullets cause no damage to players). If you cant figure it out within 24 hours. I will post you a fix. Happy searching.

 

SideNote: I use stock epoch files and the A.I. spawn and kill fine. Are you using a different antihack than stock?

Link to comment
Share on other sites

That is a common issue. Make sure all your files are up to date. My AI shoot and cause damage.  Use google to find how to fix this common issue (A3 AI bullets cause no damage to players). If you cant figure it out within 24 hours. I will post you a fix. Happy searching.

 

SideNote: I use stock epoch files and the A.I. spawn and kill fine. Are you using a different antihack than stock?

 

The standard epoch AI cause damage and the AI fom works fine too. Seems like was the same problem, i tried to fix it with infos from that thread but i am a script noob :(

And YES, i use a different AntiHack than stock! (...i know nobody wan´t to hear this here!)

 

Does i have to update some stock files? I use Epoch 0.2.5.2 and A3 1.36.128579

Link to comment
Share on other sites

I get this Error. Anyone point me to where to put the missing characters?

 

 

13:05:34 Error in expression <["moveretry", 0, false];
};
sleep 5;
};
};>
13:05:34   Error position: <};>
13:05:34   Error Missing {
13:05:34 Error in expression <["moveretry", 0, false];
};
sleep 5;
};
};>
13:05:34   Error position: <};>
13:05:34   Error Missing {

Link to comment
Share on other sites

Joker here is a hint (couldnt wait 24 hours :P)

 

epoch_server_loadplayer.sqf

 

_av allowDamage false;

change to

_av allowDamage true;

 

 

If your still not sure private msg me.

 

If i change the value _av allowDamage from false to true the server crashes when first player join :huh:

Link to comment
Share on other sites

Here is random percentage @ 39% AI will Spawn

Here you go 

BetterDeadThanZed
	if(!(isserver) and !(DCLusehclient)) exitwith {};
	if(!(!hasInterface && !isServer && name player == DCLhclientname) and DCLusehclient) exitwith {};

	private [
			"_allunits",
			"_back",
			"_buildings",
			"_civil",
			"_civiltype",
			"_civilrole",
			"_index",
			"_group",
			"_number",
			"_position",
			"_positions",
			"_start",
			"_trigger"
	];

	_position = _this select 0;

	if (isnil "_position") exitwith { hint "DCL: empty position";};
	if (count _position < 1) exitwith { hint "DCL: required a position ARRAY";};
	if (surfaceiswater _position) exitwith { hint "DCL: position is in the water";};

	_allunits = [];
	_back = [];
	_positions = [];
	_start = true;

	DCLcountplayer = {
		private ["_array", "_count"];
		_array = _this select 0;
		_count = 0;
		if (isnil "_array") exitwith {_count = 0; _count;};
		{
			if(isplayer _x) then {
				_count = _count + 1;
			};
			sleep 0.0001;
		}foreach _array;
		_count;
	};

	// List all units in Zone
	_trigger = createTrigger["EmptyDetector", _position];
	_trigger setTriggerArea[DCLdistancepop, DCLdistancepop, 0, false];
	_trigger setTriggerActivation["ANY", "PRESENT", TRUE];
	_trigger setTriggerStatements["", "", ""];
	
	while { ([(list _trigger)] call DCLcountplayer == 0) } do { sleep (random 5); };

	_buildings = nearestObjects[_position,["House_F"], 150];
	sleep 1;
	{
		_index = 0;
		while { format ["%1", _x buildingPos _index] != "[0,0,0]" } do {
			_positions = _positions + [(_x buildingPos _index)];
			_index = _index + 1;
		};
	}foreach _buildings;

	_number = 1 + round (random DCLgroupsize);
	_group = creategroup DCLcivilianside;
	for "_x" from 0 to _number do {
		_civiltype = civilclass call BIS_fnc_selectRandom;
		_position = _positions call BIS_fnc_selectRandom;
		_civilrole = "civil";
		_back = _back + [[_civiltype, _position, _civilrole]];

	};

	while { true } do {
		// restore civils
		if ((([(list _trigger)] call DCLcountplayer == 0) or _start) and random (1) > 0.39) then {
			_start = false;
			{
				if(alive _x) then {
					_civilrole = _x getvariable "civilrole";
					_back = _back + [[typeof _x, position _x, _civilrole]];
					_x removeAllEventHandlers "Killed";
					_x setdammage 1;
					deletevehicle _x;
				};
				sleep 0.1;
			}foreach (units _group);
			deletegroup _group;
			while { ([(list _trigger)] call DCLcountplayer == 0) } do { sleep (random 5); };
			_group = creategroup DCLcivilianside;
			{
				_civiltype = _x select 0;
				_civil = _group createUnit [_civiltype, (_x select 1), [], 0, "FORM"];
				_position = _positions call BIS_fnc_selectRandom;
				_civil setvariable ["civilrole", (_x select 2), true];
				_civil setvariable ["destination", _position, false];
				_civil setvariable ["wcprotected", true, false];
				sleep 0.1;
			}foreach _back;
			wcgarbage = [_group] spawn walk;
			_back = [];
		};
		sleep 5;
	};

Use this generate_zone.sqf if you want percentage 

 

Change the random (1) > 0.39) to what you want

Link to comment
Share on other sites

Ok, what i do...

  • Unpack @epochhive/addons/a3_epoch_server.pbo
  • Open compile/epoch_player/EPOCH_server_loadPlayer.sqf
  • Search for "_av allowDamage false;" and change it to "_av allowDamage true;"
  • Copy/Paste the a3_epoch_server Folder back to the .PBO
  • Start Server

Server is starting up, when 1st player join the mission is loading and then the server crashes/shut down.

23:52:49 c:\w\stable\futura\lib\network\networkserver.cpp NetworkServer::OnClientStateChanged:NOT IMPLEMENTED - briefing!
23:52:49 Attempt to override final function - bis_fnc_mp
23:52:49 Attempt to override final function - bis_fnc_spawn
23:52:49 Attempt to override final function - bis_fnc_mpexec
23:52:49 Attempt to override final function - bis_fnc_getcfgdata
23:52:50 Error: Object(3 : 0) not found
23:52:50 "<infiSTAR.de> 118.261 - AntiHack loaded!"
23:52:50 "infiSTAR.de 0.136 - run.sqf - AntiHack included!"
23:52:50 "infiSTAR.de 0.136 - run.sqf - including AdminTools"
23:52:50 "infiSTAR.de 0.136 - run.sqf - AdminTools included!"
23:52:50 "#SEM: Start Simple Epoch Missions"
23:52:50 Attempt to override final function - bis_fnc_init
23:52:50 "Epoch: Starting ArmA3 Epoch Server, Version 0.2.5.2"

...and then the server log ends.

Link to comment
Share on other sites

Ok, what i do...

  • Unpack @epochhive/addons/a3_epoch_server.pbo
  • Open compile/epoch_player/EPOCH_server_loadPlayer.sqf
  • Search for "_av allowDamage false;" and change it to "_av allowDamage true;"
  • Copy/Paste the a3_epoch_server Folder back to the .PBO
  • Start Server

Server is starting up, when 1st player join the mission is loading and then the server crashes/shut down.

23:52:49 c:\w\stable\futura\lib\network\networkserver.cpp NetworkServer::OnClientStateChanged:NOT IMPLEMENTED - briefing!
23:52:49 Attempt to override final function - bis_fnc_mp
23:52:49 Attempt to override final function - bis_fnc_spawn
23:52:49 Attempt to override final function - bis_fnc_mpexec
23:52:49 Attempt to override final function - bis_fnc_getcfgdata
23:52:50 Error: Object(3 : 0) not found
23:52:50 "<infiSTAR.de> 118.261 - AntiHack loaded!"
23:52:50 "infiSTAR.de 0.136 - run.sqf - AntiHack included!"
23:52:50 "infiSTAR.de 0.136 - run.sqf - including AdminTools"
23:52:50 "infiSTAR.de 0.136 - run.sqf - AdminTools included!"
23:52:50 "#SEM: Start Simple Epoch Missions"
23:52:50 Attempt to override final function - bis_fnc_init
23:52:50 "Epoch: Starting ArmA3 Epoch Server, Version 0.2.5.2"

...and then the server log ends.

 

 

Also did you create another @Myupdatedfile.   Remember Epoch uses a DLL crc check. So you have to add another @yourmod with the new pbo in it. Than add @yourmod to your server startup.

 

in other words.

 

compile pbo file. Create folder called @deeznuts, open that folder create another folder called addons

drag the pbo you just made into @deeznuts\addons\ new.pbo

 

On your STARTUP addd @Epoch;@EpochHive;@Deeznuts

 

Get what Im saying?

 

There is 10 ways to do this.

Link to comment
Share on other sites

Also did you create another @Myupdatedfile.   Remember Epoch uses a DLL crc check. So you have to add another @yourmod with the new pbo in it. Than add @yourmod to your server startup.

 

in other words.

 

compile pbo file. Create folder called @deeznuts, open that folder create another folder called addons

drag the pbo you just made into @deeznuts\addons\ new.pbo

 

On your STARTUP addd @Epoch;@EpochHive;@Deeznuts

 

Get what Im saying?

 

There is 10 ways to do this.

 

OK, what you want to say is the game does not allow any changes on the .pbo´s in @epochhive because of verifying that files are original!?

If i create a new folder i.e. @mychanges/addons and put in there a copy of the a3_epoch_server.pbo where i do my changes is there no conflict with the .pbo in the @epochhive folder? So i have one EPOCH_server_loadPlayer.sqf with the value of "false" and one with "true" :huh:

Link to comment
Share on other sites

Could you tell me how I could add something that puts information in the log for debugging purposes? For example, "AI spawned at (coords)" just so I can be sure this is working? Also, can you tell me the location of one of the coordinates so I can go to that location to see if I can find the AI? Right now I have no way to know for sure which towns have spawns.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×
×
  • Create New...