Morox AI - Sycosis Simple AI mod

I tried the script as well, and also had the following issues:
  • Vehicles duplicated on server start
  • Losing connection and reconnecting would place the player back at their previous login position, and duplicate any vehicles moved
My server was a wasteland of smoldering vehicle explosions upon restart due to the duplication. I had to remove the script, as I needed my server back up and running, and followed your instructions exactly. I run Epoch with R3F Logistics, and Care Packages.

EDIT
There is an additional ServerMonitor call in your post of the front page, either I shouldn't have copied that over in its entirety, or that shouldn't be there. Either way, now that I see the problem, I should be able to sort it later when the server empties out.
 
Ho. Lee. Shit. That was fun. A buddy and I just went hunting for the AI groups. Had a good 10min firefight with one of my skill 8-10 wandering sniper groups. Amazing. Beautiful mod.
 
Yeah, the _aispawn code should go in your existing isServer section under your existing serverMonitor line, I added a note to the OP to clear this up hopefully, glad the mod is working out for you.
 
My next question: what is the "spawncnt" variable for? There doesn't appear to be a clear explanation of its usage.
 
MadMartyr,

The issue I was having with Sycosis's original files is that each _aispawn line in the init.sqf would overright the previous one, so if you had 3 lines (the first a sniper bandit, then a civilian soilder, and last a civilian mitilitia) and then the sniper bandit died he would return as a civilian militia in that AI's location, so I created the global variable to keep track of each AI group spawned, it also handles if one member of a group dies and respawns they join thier same group instead of a new one. It also tracks a few other things, if you are more interested in the logic and handling I use we can discuss it over PM.

Onur,

NPC's using vehicles is on my to do list, I already have an alpha version of this but I have to iron out some bugs I have run in to.
 
First of all want to say thanks for this simple but effective script, the AI on my server spawned and you could loot the bodies ok but over the past few days i have noticed the AI sometimes do not spawn in and also people are saying they get kicked when they loot the bodies. corrupted data #3,

Also i have had people say the AI will chase them and so they use this technique to take them away from there spawn point. Is there anyway to stop the AI chasing players after a certain distance?

This is my current AI spawn:

_aispawn = [[6442.7104,14240.404,0.001],50,75,4,1,0,8,10,0,1200] execVM "scripts\add_unit_server.sqf";//Chernaurs
_aispawn = [[6432.7104,14150.404,0.001],100,75,6,2,0,8,10,0,1200] execVM "scripts\add_unit_server.sqf";//Chernaurs
_aispawn = [[6452.7104,14100.404,0.001],150,75,8,3,0,8,10,0,1200] execVM "scripts\add_unit_server.sqf";//Chernaurs
_aispawn = [[7272.82,6945.17,0.002],5000,150,1,4,0,2,4,1,1200] execVM "scripts\add_unit_server.sqf";//Chernaurs
_aispawn = [[9442.7104,9180.404,0.001],5000,150,1,4,0,2,4,1,1200] execVM "scripts\add_unit_server.sqf";//Chernaurs
_aispawn = [[3442.7104,5180.404,0.001],5000,150,1,4,0,2,4,1,1200] execVM "scripts\add_unit_server.sqf";//Chernaurs
_aispawn = [[11442.7104,10180.404,0.001],5000,150,1,4,0,2,4,1,1200] execVM "scripts\add_unit_server.sqf";//Chernaurs

This is what my RPT says:

17:53:42 Warning: looped for animation: ca\anims\characters\data\anim\sdr\mov\erc\wlk\non\non\amovpercmwlksnonwnondf.rtm differs (looped now 0)! MoveName: amovpercmstpsnonwnondnon_amovpercmstpsraswpstdnon
17:53:42 Warning: looped for animation: ca\anims\characters\data\anim\sdr\mov\erc\wlk\non\non\amovpercmwlksnonwnondf.rtm differs (looped now 1)! MoveName: amovpercmrunsnonwbindf_rfl
17:53:46 Error in expression <this setpos [6286.9902, 7850.1001, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6286.9902, 7850.1001, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6298.125, 7848.0938, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6298.125, 7848.0938, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6343.1367, 7762.6851, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6343.1367, 7762.6851, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6336.5518, 7767.4824, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6336.5518, 7767.4824, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6276.7808, 7828.333, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6276.7808, 7828.333, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6347.0229, 7772.9775, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6347.0229, 7772.9775, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6377.0425, 7801.4238, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6377.0425, 7801.4238, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6384.0674, 7778.5249, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6384.0674, 7778.5249, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6388.459, 14172.297, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [6388.459, 14172.297, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [11466.579, 11349.36, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [11466.579, 11349.36, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [11457.248, 11385.559, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [11457.248, 11385.559, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [11456.256, 11388.004, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [
17:53:46 Error in expression <this setpos [11456.256, 11388.004, ];private _pos; _pos = getPos _this; _th>
17:53:46 Error position: <];private _pos; _pos = getPos _this; _th>
17:53:46 Error Missing [

Please help me :)
 
Are you using the updated files from my OP?

I ask because those errors don't look like my code. As far as the error when looting this usually happens when you have a weapon or magazine in the wrong section of the gearset, can you paste your two cases so I can take a look.
 
here you go:

// to add more gear sets, just add another case, and copy and paste the variables from one of the other cases into it, and then reference it in the init.
if (_checkset == 0) then {
switch (_gearSet) do {
case 0 : {
_sniperSkin = "BAF_Soldier_Sniper_MTP";
_sniperRifle = "DMR";
_sniperAmmo = "20Rnd_762x51_DMR";
_sniperAmmoCount = 5;
_sniperGear = ["ItemBandage"];
_sniperWeapons = ["ItemMatchbox"];
_gunnerSkin = "BAF_Soldier_MTP";
_gunnerRifle = "Mk_48_DZ";
_gunnerAmmo = "100Rnd_762x51_M240";
_gunnerAmmoCount = 4;
_gunnerGear = ["ItemBandage"];
_gunnerWeapons = ["ItemMatchbox"];
_militiaSkin = "BAF_Soldier_L_MTP";
_militiaRifle = "FN_FAL";
_militiaAmmo = "20Rnd_762x51_FNFAL";
_militiaAmmoCount = 4;
_militiaGear = ["ItemBandage"]; // Additional gear (does not include tools or guns)
_militiaWeapons = ["ItemMatchbox"]; //Additional Guns and Tools
};
case 1 : {
_sniperSkin = "Citizen3";
_sniperRifle = "LeeEnfield";
_sniperAmmo = "10x_303";
_sniperAmmoCount = 3;
_sniperGear = ["ItemBandage""ItemBandage"];
_sniperWeapons = ["ItemMatchbox"];
_gunnerSkin = "Worker1";
_gunnerRifle = "Winchester1866";
_gunnerAmmo = "15Rnd_W1866_Slug";
_gunnerAmmoCount = 3;
_gunnerGear = ["ItemBandage"];
_gunnerWeapons = ["ItemMatchbox"];
_militiaSkin = "Villager1";
_militiaRifle = "revolver_EP1";
_militiaAmmo = "6Rnd_45ACP";
_militiaAmmoCount = 3;
_militiaGear = ["ItemBandage"]; // Additional gear (does not include tools or guns)
_militiaWeapons = ["ItemMatchbox"]; //Additional Guns and Tools
 
Case 1 Sniper gear section

_sniperGear = ["ItemBandage""ItemBandage"];

Needs a comma

_sniperGear = ["ItemBandage","ItemBandage"];
 
Might want to add this to OP:
// Balotta Airstrip [4829.9868, 2450.1104, 0]
// Berenzino [12954.624, 9783.1533, 0]
// Bereznio 2 [12043.963, 9091.3477, 0]
// Black Mountain [10276.416, 12049.664, 0]
// Bor [3320.1643, 3938.3496, 0]
// Cherno [6743.8853, 2581.1865]
// Devils Castle [6891.9189, 11438.73, 0]
// Don's Camp [7788.2856, 12613.048, 0]
// Drozhino [3442.2849, 4955.7129, 0]
// Dubrovka [10445.011, 9868.9912, 0]
// Electro [10480.69, 2217.8027, 0]
// Factory [13060.078, 7094.0596, 0]
// Gorka [9659.084, 8795.334, 0]
// Grishno [5979.6953, 10343.341, 0]
// Guglovo [8517.8682, 6676.3276, 0]
// Gvozdno [8614.4316, 11868.967, 0]
// Kabanino [5318.8369, 8602.6328, 0]
// Kamyshovo [12127.406, 3496.2185, 0]
// Khelm [12290.833, 10904.328, 0]
// Komarovo [3654.0908, 2475.9468, 0]
// Kozlovka [4483.6777, 4616.1675, 0]
// Krastonav [11212.624, 12256.609, 0]
// Lopatino [2780.3135, 10018.82, 0]
// Moglievka [7544.5845, 5148.7822, 0]
// Msta [11275.323, 5495.4053, 0]
// Myshkino [2019.2487, 7327.7178, 0]
// Nadezhdino [5846.4434, 4706.708, 0]
// NEAF [12073.906, 12724.305, 0]
// Nizhnoye [13002.393, 8285.8574, 0]
// Novy Sobor [7074.4854, 7683.4883, 0]
// NWAF [4480.0781, 10375.544, 0]
// Orlovets [12146.174, 7266.5801, 0]
// Pavlovo [1693.9392, 3845.0657, 0]
// Petrovka [5014.1143, 12493.039, 0]
// Pogorevka [4473.5957, 6411.3198, 0]
// Polana [10753.393, 8132.6606, 0]
// Prigorodki [7976.5557, 3299.5386, 0]
// Pulkovo [4915.0903, 5605.6401, 0]
// Pusta [9156.2549, 3897.7598, 0]
// Pustoshka [3072.9629, 7945.4404, 0]
// Rogovo [4808.0024, 6805.0518, 0]
// Shakhovka [9654.5244, 6555.2583, 0]
// Solnichny [13454.279, 6233.647, 0]
// Soosnovka [2528.7561, 6354.9839, 0]
// Staroye [10140.659, 5434.4302, 0]
// Stary Sobor [6143.6167, 7721.5176, 0]
// Tulga [12803.296, 4450.7466, 0]
// Vybor [3815.0635, 8865.0938, 0]
// Vyshnoye [6590.3159, 6029.1128, 0]
// Zelenogorsk [2758.7144, 5304.3457, 0]
Credit to orcthrasher.
 
having people notice ai in berizino and flying around. dont know if anyone else has this reported. the ai spawn at altar mountain, with 100m radius with 2 waypoints.
 
Alkinda,

Not exactly sure what issue you are trying to report can you be more clear?

MadMartyr,

The unit_killed sqf has a humanity system in it where you gain or lose based on the killing of AI, while I don't think this should effect anything you can try commenting it out and see if you still have the issue. I know there are issues with different sides sharing vehicles, nothing in my code should change a players side. Are all your AI set to EAST? or are they Resistance?
 
I've commented out the humanity changes, and I'll report back here after we play as a group again tonight. I believe all of my AI are set to RESISTANCE.
 
Back
Top