Jump to content
kibot

[SP]Dynamic Universal War System (DUWS alpha0.1)

Recommended Posts

ospksV.jpg

Nu1C08s.jpg iPIM0ts.jpg R4eIhYs.jpg tqDG84s.jpg qmqcPrs.jpg

Dynamic Universal War System (DUWS)

Download:

Latest:

DUWS 0.8b

Armaholic mirror (0.8b)

You can also access the mission with the Steam Workshop.

Older versions:

OVERVIEW:

The DUWS generate randomly a mini campaign, with all the enemy zones to capture being randomly generated.

Or you can also choose to manually place your HQ and the enemy and easily make your own unique "campaign".

The key here is to have maximum replayability, where the player can setup his own campaign or let the DUWS create everything randomly for him.

You can play with the DUWS on any island you want, you just have to rename the .pbo file.

Example: DWS.stratis.pbo >> DWS.chernarus.pbo

QUICKSTART:

Put the .pbo inside your "Steam\SteamApps\common\Arma 3\Missions" folder.

When you are asked to choose the campaign settings, just use the default parameters and click "start".

FEATURES:

*Play the way you want:

-Play as a lone wolf or as a SF team, using support assets and gadgets and perform side missions

-Control your personnal squad of troopers and fight against the OPFOR

-Control several squads, vehicles and supports and try to retake the island from the enemy

-...or a mix of all of them

*Persistent player stats througout the campaigns/missions, allowing the player to play a multi island driven campaign

*Unlock abilities throughout the campaigns as you gain experience (persistent)

*Pretty much every location is randomly generated on the map, from the HQ to the enemy zones and side mission locations.

*Side mission selection screen. Missions are generated randomly.

*Play the DUWS on any island you want to.

*VAS by Tonic (Armory)

*Several support options to unlock (UAV, Arty, Personnal FLIR, VAS, ...)

*You can define by yourself the HQ, the enemy zones, or just the HQ and let the DUWS generate the zones automatically. You can also let the DUWS create everything by itself. Basicly you decide the level of randomization there is.

*WARCOM(War Commander) system. BLUFOR forces will try to capture the island, war escalates as the campaign progress.

*Dynamic weather. At the start of the campaign, you may choose the type of weather (mediterranean, temperate, tropical, arid...). The weather will then be randomly generated according to these parameters.

*Fully support the High Command module

VIDEO

REQUIRED ADDONS:

None, you can play ArmA III vanilla or use all the addons you want: islands, weapons, gear.

Note that the DUWS will not show addons that adds BLUFOR units/vehicle, since they are added by hand.

However, addons that add OPFOR vehicles will be used, since OPFOR vehicles are taken directly from the cfgVehicles classes.

MP NOTES:

This mission can be played in coop. Regarding the nature of the DUWS, it must be run on a listen server. Does not work on a dedicated server. I suggest adding a password to your game, so only friends can join and no random guy will be able to trash your game.

See the ingame manual for gameplay changes.

Changelog:

0101a:
Changed player stat menu
Introduced persistent stats:
-amount of zones captured
-the islands you have captured
-number of side mission accomplished
Added reset stat button. You can reset your persistent stats
Added new support "vehicle refit"
Cost of personnal flir upped to 20

0.2
introduced a failsafe for the zone creation
added a loading screen while searching for the HQ
added a dynamic weather system, you can also chose your weather type at the beginning at the campaign
added to possibility to establish FOBs after you have captured your first zone
updated the DUWS ingame manual
added ATV in the vehicle menu
removed accidental parachute spawn
removed the error that sometimes occurs when fetching into cfgVehicles
Thanks to Das Attorney for the help
fixed an issue where the player might die during the init of the missions (very rare)
Added the WARCOM
ai skills was broken in ancient DUWS version, now it's functionning properly and you can set the ai skill in the start menu
player can chose starting army power
lots of minor bug fixes

0.2a
fixed variables names where a few players dindt got the AP bonus

0.2b
fixed a bug where the FOB option would not reappear after being denied

0.3
updated name/adjectives pool for the name randomization
introduced the xp system, based on persistent stats. That means XP is also persistent, if you have unlocked abilities during a campaign, you will keep them if you restart the mission.
introduced the abilities, based on the xp and thus, abilities are persistents.
added quick reflexes to abilities
added advanced conditionning to abilities
added field surgery to abilities
added veteran instinct to abilities
WARCOM: now the task forces will have a marker on their position
player stats menu accomodated so the player can see his XP now.
updated army power entry in the manual
added experience section in the manual
added a check to the script for the script fetching valid zones to make sure nothing is spawning inside a rock or something weird. Due to these changes, fetching a hq location should take a bit more longer. I also increased the authorized max Z(elevation) difference to make the side missions being generated more quickly.
when the player was manually placing the HQ, the DUWS was broken. Added another step in the init.sqf
zones manual placement was also broken, hopefuly fixed now. Check the init.sqf if you are placing the zones by hand.

0.3a
fixed a bug where --blank-- would appear on some mission names
achieving side missions would not give you CP anymore, just fixed that

0.4
switched to dev build of arma
player can select the blufor ai skill range
added high command module support with squads, meaning that the player can request squad at the hq now, basicly you can own and order a whole army now if you want to.
added tooltips at the startup dialog
divided by 3 the amount of CP you receive when a zone is captured
player can request supply drops at fobs
updated to vas 1.6 (meaning you can now change binoculars at armory. Also included localization in german for the VAS)
added AT specialist and diver to unit list
using BIS_fnc_findSafePos to generate the position for HQ and side mission. Now, HQ and side mission generation is instantaneous and much more efficient. Generated stuff should now not spawn anymore in odd places.
tweaked mapsize.sqf to make BIS_fnc_findSafePos usable
tweaked all the mission files to accomodate BIS_fnc_findSafePos
tweaked locatorHQ.sqf to accomodate BIS_fnc_findSafePos
added a check, generated side missions will never be on the same spot
OPFOR AT and AA specialist are now patrolling the enemy zones.
increased list of random names
added helicopter taxi in supports
changed the spawn location of BLU attack waves, hopefellu commander will not randomly die anymore

0.4a
typo correction by FrankHH
added new support Mk.20 Rockeye II cluster bomb
using taxi would not cost you any CP
being denied the LZ would prevent the taxi option to reappear

0.4b
QUICKFIX: vehicles would not be created anymore, just fixed that.

0.5
Implemented OPFOR AP management
changed the zone capture system, now the opfor can, and will try to recapture the zones under blufor control
fixed bugs at the startup screen
randomized the delay between assault waves
Startup help hints are appearing only if it's your first time playing the mission (or this version)
HQ spawn is now inside a bunker
minor tweaks and fixes
revamped the whole side mission generation system, now the player can chose through the strategic map wich mission to play. Missions are generated randomly.
updated VAS to 1.7

0.5a (quickfix)
player could not give SITREP anymore, fixed now

0.5b(quickfix)
requesting a vehicle will not blow up the HQ anymore.

0.6
made the instructions inside the init.sqf more clear for when the player is placing manually stuff (hq & zones)
balancing: when a zone is captured by blufor, both armies are getting equally stronger, thus giving a challenge for the player who wants to play only as capturing the zones
the HQ will broadcast a message to all BLUFOR units if enemy units are within 300meters of the main base.
added a new side mission: sabotage
modified briefings entries
bought infantry is spawning just outside the HQ.
sometimes, a random music track is playing when being transported by taxi helo
modified the request menu GUI
helo taxi should not stop hovering when being called
sometimes the player would spawn into the air at mission startup
When requesting a FOB, the script put it automatically in a valid pos. If no pos are found, request is denied
added marksman, sniper & spotter in the unit list
switched to BIS_fnc_findSafePos for finding a zone.
WARCOM will init even when zones are manually placed.
added prefabs buildings when zones are created. No more "zone 1", "zone 2", "zone 3", ...
added the squad manager interface, where you can disband/add units to HC/your own squad
the game will autosave when a FOB is deployed
increased the price of motorized scouts and mec. squad
added new support: specialized infantry training
HQ and FOBs now have guards
added radio chatter to HQ 
BLUFOR skill affects single units now.

0.7
COOP SUPPORT (listen server only)
typo corrections
added a random delay before the first wave of OPFOR attack
player is no longer able to use actions at the HQ and FOBs through AI squad members
resting will now remove dead bodies
OPFOR zones spawn further from base now
player will now be notified when he enters a FOB location
player will be notified when enemies are close to a FOB.
player will have to wait more before the DUWS report an impossible zone generation error at startup

0.7a
quickfix: HC would not init in SP

0.73
HC squads now have names (fireateam, rifle squad, etc..) instead of Alpha 1-1, etc...
You can now rename your HC squads
opfor assault waves spawn outside prefabs
OPFOR and BLUFOR are now patrolling between the zones
OPFOR leader will sometimes call for QRF on their position when attacked
Added TAW viewdistance script (by Tonic) for MP
added explosive specialist to the list of units
FOB and HQ guards are equipped with AT and AA
Added a little loop that should delete de empty groups, hopefully fixing the bug of AI not shooting each others

0.73a
quickfix: removed "TF derp" markers on opfor qrf...

0.73b
holding control zones gives you CP

0.73c
potentially fixed the issue where the AI would stop working properly

0.73d
hopefuly fixed the freezes issues

0.73e
Changed the weather script. Using "Arid" settings should not cause the crashes anymore.

0.74
added new ability: field repair
added new support: boat taxi
added safeties regarding setFog to weather script
player can now convert CP into AP
added static defenses to HQ
added sound effects when unlocking stuff
player can now purchase static defenses at FOBs
player can decide if he wants to fast travel with the helo taxi support or not
tweaked the helo taxi script to avoid bugs
added new vehicles (MBT and AA afv)
tweaked the weather.sqf and added debug lines into the .rpt to hopefully fix the AI bug
removed the OPFOR arty from the random vehicle spawn
added smoke and chemlight to mark the helicopter lz for the helo taxi script

0.74a (steam workshop version only)
added new names to the random names pool
disabled the dynamic weather to avoid AI bugs

0.74b
MP: when a player is killed, only 2 cp are removed
BLUFOR patrols are now friendly

0.75
added the fob manager
the player can manually reinforce each fobs
the player can choose to fast travel between fobs and the main base (can be deactivated at startup)
the HQ is telling you the AP and the CP when giving a SITREP
Re-arranged playable units to allow squad-play and more variety. ([b]timsk[/b])
Players can now respawn at any FoB or main base. ([b]timsk[/b])
the blufor tracked apc really costs 35 now
added the CRV-6e Bobcat to purchase
added a new prefab: camp site ([b]DemolitionsTech[/b])
added a 3d icon for the officer at the main base
updated to VAS 2.0

0.75a
player is not locked anymore inside the taxi chopper
modified the spawn position of the requested empty vehicles to avoid the rotor of a chopper bumping into the HQ
destroyed vehicles, ragdolls, dropped weapons, smokes and chemlights will be deleted 1 hour after being far from the player (v1.7 "repetitive_cleanup.sqf" script by aeroson)
fixed a bug where there was playable units in the water
fixed the manual setting of HQ and zones (bugs, player being invincible,...)

0.75b
at startup, player can now choose the maxium distance from the HQ when the zones are spawned
dynamic weather is now enabled again, with the possibility to not enable it at startup
added names and adjectives to the random name pool
the player can now choose to place manually the HQ at the startup

0.75c
the dialog not showing at startup *should* be fixed

0.76
the menu where the player select random on manual HQ placement should not reopen
manual placement of HQ is less restrictive
BLUFOR and OPFOR patrols between zones should be more common
side mission placement radius is limited to the "zone maximum distance from the hq" set at the startup
the player can now recruit special operative. They have their own skills, they have special equipment and they stay all the duration of the campaign, they get better as the campaign progresses
upgraded to VAS 2.2

v0.76a
quickfix: recruited special operatives should not get stuck inside the HQ

v0.77
BIS_fnc_addStackedEventHandler is used instead of onEachFrame
personnal FLIR display is synchronized with player stance
radio towers need only 1 satchel charge to be destroyed now
in mp, the host can now save even when he has not chosen the squad leader spot in the lobby
in mp, the host can choose the CP penalty when a player dies in the game lobby
player cannot save manually anymore (by pressing escape and then "save" in the menu). He must rest, create a FOB or spend 1 CP on a SITREP
incorporated a revive script for MP (can be disabled in the lobby). (thanks to aeroson for get/set loadout script)
increased the delay between OPFOR assaults
reduced the flying altitude for the helo taxi
the zone generation process has been modified, it takes a bit more time but it MAY prevent the "AI not engaging each other" bug

v0.77a
added a bottom right message when resting and when the campaign is generated
made the weather sync in mp more efficent for fog values
dynamic weather should act more according to chosen startup parameters
if the player has a GPS in his gps slot in his inventory, his position will be shown on the map
savegames should now be able to be resumed after closing ArmA3

v0.8
added a transparent black background to the dialog interfaces
english operatives now have english voices
special ability "field surgery" has an animation now
removed debug console
added a new ability: "logistic support"
each time operators receive a skill bonus, deployed operators will get 10 skill points wich can be spent on any skill the player wants
for the support "helo taxi", when the pilot leaves the chopper (meaning it's problably disabled), support will be available again
removed 1 radio chatter file, to make the mission lighter
added new ability: field commander
tweaks to the gps marker system
added dynamic ambient music
minor fixes to "guards.sqf"

v0.8a
fixed a bug where the player would suffer lag after 30 minutes (temporary disabled music_loop.sqf)
removed hq icon (temporary disabled)

v0.8b
removed the dynamic music (temporary)

License:

fFCi6q.png

You can remix, tweak, and build upon my work non-commercially, as long as you credit me and license your creations under these same identical terms.

Click here if you want to help me develop the DUWS by creating little prefabs wich are randomly picked when a zone is created.

CREDITS:

Mission made by kibot.

VAS script by Tonic.

Thanks to Kempco for the mapsize script.

Armaholic for the mirrors

Everyone who's giving feedbacks, thank you.

Everyone who's supportive, thank you :).

How to place manually the HQ and the enemy zones ?

1)Read the init.sqf more info.

2)Check this to see wich values you have to modify inside the init.sqf

I just realized the name of the DUWS is a bit similar to the Dynamic War Sandbox. This mission has nothing to do with it, it's just a coincidence.

Edited by kibot
update to 0.8b
  • Like 2

Share this post


Link to post
Share on other sites
Sounds great, is it for both sides or just Blufor.

It's just for BLUFOR.

The level of work to make it independant/OPFOR compatible would just be crazy. Right now I'm focusing on adding more content (missions, bells & whistles) to the mission.

I'll also have to start working on persistent stats that will affect the player's experience, like having bonuses if you already have captured an island.

Edited by kibot
typo

Share this post


Link to post
Share on other sites

No problem, will download next opportunity and take her for a spin.

Share this post


Link to post
Share on other sites

Just a quick check so far: the things that are ready look fun and polished!

Idea #1: Why don't you use startLoadingScreen with heavy calculations? Would make the wait a lot shorter and you need to wait anyways....

Idea #2: You should include some sort of cheapish taxi. I got my first side mission 2.3 kms away, which I won't walk. :(

Maybe I should start with zones and build up an own helo, shouldn't I.

Edited by zapat

Share this post


Link to post
Share on other sites
Just a quick check so far: the things that are ready look fun and polished!

Idea #1: Why don't you use startLoadingScreen with heavy calculations? Would make the wait a lot shorter and you need to wait anyways....

Idea #2: You should include some sort of cheapish taxi. I got my first side mission 2.3 kms away, which I won't walk. :(

Maybe I should start with zones and build up an own helo, shouldn't I.

Idea #1: using startLoadingScreen is indeed a good idea, at least at the beginning where a position for the HQ is being fetched.

Idea #2: I think I'll add ATV for something like 1 CP, or just 0 CP but you can request an ATV every X minutes.

Thanks for the input :).

I just updated the DUWS (check the 1st page), introducing the persistent player stats, right now it has no effects, just for show :). But in the future it will give bonuses, depending on number of mission accomplished and islands/zones captured.

Also, I need help:

I'm kind of new with fetching things from the config files. I've made a function checking randomly the entries of cfgVehicles until a vehicle type from a specific faction has been found. Problem is I'm getting this error sometimes:

coMDgSs.jpg

random_veh.sqf

//faction = "OPF_F"; faction = "BLU_F"; faction = "IND_F"; faction = "CIV_F";
//vehicleClass = "Armored" "Car" "Ship" "Static" "Air"
//hasDriver = 1;
//canFloat = 0;

_faction = _this select 0;
_vehClass = _this select 1;
_position = _this select 2;
_radius = _this select 3;

_cfgVehicles = configFile >> "CfgVehicles";
_totalentries = count _cfgVehicles;  // GO INTO CFGVEHICLES AND CHECK NUMBER OF ENTRIES
_realentries = _totalentries - 1;
_found = false;

_foundVeh = "";
while {!_found} do {
_checked_veh = _cfgVehicles select round (random _realentries);  // RANDOMLY SELECT AN ENTRY
_classname = configName _checked_veh;
//Silent format["%1",_classname];
sleep 0.005;
_actual_vehclass = getText (_checked_veh >> "vehicleClass");
_actual_faction = getText (_checked_veh >> "faction");
_scope = getNumber (_checked_veh >> "scope");

  if (_actual_vehclass == _vehClass && _actual_faction == _faction && _scope != 0) exitWith {
//   hint format["%1",_classname];
//   _veh = createVehicle [_classname, position player, [], 0, "FLY"];
  _foundVeh = _classname; 
  };   
};   // --- VEHICLE FOUND --> _foundVeh

// DETERMINE LA FACTION
_side = EAST; 
if(_faction=="BLU_F") then {_side=WEST};
if(_faction=="OPF_F") then {_side=EAST};
if(_faction=="IND_F") then {_side=RESISTANCE};
if(_faction=="CIV_F") then {_side=CIVILIAN};

_createdVehFnc = [_position,0,_foundVeh,_side] call bis_fnc_spawnvehicle;

_vehGroup = _createdVehFnc select 2;
_patrolRadius = round(_radius/2);
//hint format["%1",_patrolRadius];
[_vehGroup, _position, _patrolradius] call bis_fnc_taskPatrol;

//_crews = _createdVehFnc select 1;   //
//_driver = _crews select 0;          //DEBUG
//addSwitchableUnit _driver;          //

As I said, I'm pretty new at fetching classes from the config files, if you want to have some randomization element, that's the way to go :).

Share this post


Link to post
Share on other sites

always loved this kind of mission. but then somehow I always ending up writing my own script for it, cause no one knows my taste better. Thanks for the mission, will check it out after work! :cool:

Share this post


Link to post
Share on other sites

A great proof of concept Kibot. I look forward to seeing it progress.

Share this post


Link to post
Share on other sites
Any plans to have an MP version?

It's in my (very) late to do list, reasons:

-I'm very novice with multiplayer scripting and debugging (thoses JIP problems and dedicated/listen differences, annoying...)

-I don't own any dedicated server for testing & debugging, meaning that if I develop something for dedicated servers, I'll be doing it blind since I can't test if things work

-I don't have any testers right now. But hey, since I'm not developing for MP yet it's not a big deal, I need to get the 2 things above right before asking for testers

A great proof of concept Kibot. I look forward to seeing it progress.

Thanks for you kind words, any feedback or suggestions are welcome if you have any :).

Share this post


Link to post
Share on other sites

A few ideas, prepare for a wall of text:

Starting base:
Grows in size automatically with area captures/missions completed
	UAV provided automatically after 10 missions complete, etc
More padded out, make it feel more base-like with tents/H-blocks etc

Enemy Bases:
Random bases stay the same, perhaps add some prefab base objects to them
Bases could have a 'theme':
	motorpool, barracks, airfield
An objective to perform instead of just kill everyone, (See EOS below)
Fixed bases:
	Could be chosen from landmarks (town/base etc)
Large bases could be split into multiple ‘zones’ that need to be captured individually to take whole base.

AI operations:
Friendly AI will attempt to take areas:
	The attack could still occur without player, perhaps as an abstract computation to lower CPU load.
AI strength improves with time and/or bases taken
Enemy AI could perform counter attacks on friendly bases (side mission?), bonus points
Player could join AI attack on a base (side mission perhaps?), bonus points

Multiplayer:
Might be easier to implement this when the mission is still relatively basic/small

FOB:
Some sort of item to allow fast-travel the the location the item was placed

Etc:
Implementation of BangaBobs EOS system.

Edited by Furret

Share this post


Link to post
Share on other sites

Is there spawn enemies ?, some appear on my back (100m), i hate, not realistic after cleaning the zone.

Share this post


Link to post
Share on other sites

Does skill setting in game options do anything in mission? I don't think so. Any chance of implementing that?

Share this post


Link to post
Share on other sites
Is there spawn enemies ?, some appear on my back (100m), i hate, not realistic after cleaning the zone.

I'm also not a fan of making the enemies dynamicaly spawn/despawn near the player.

The only time ennemies are spawned is when the zones are created and when side missions are given.

I'm sorry, but it seems you got flanked ;).

@Furret:

-Adding stuff to the base when the player achieve something or advance in the campaign is a great idea, maybe now I have an idea to what to do with the Army power :yay:

-Providing stuff to the player after X missions achieved is a great way to keep player on. Maybe even make these stuff persistent, will look on more support to unlock.

-I've already thought about adding prefabs sets of building to BLUFOR base/OPFOR zones, terrains like zargabad or chernarus may be good for that, but the problem is that 99.9% of the terrain in Stratis is sloped, thus making it nearly impossible for my scripts to find a flat place (if you look the map of Altis you'll find it's just some kind of big mountain). And if I put a set of building on a sloped terrain, It will look weird :/. Maybe when ArmA 3 will be released Altis will have more viable terrains.

-The idea of taking multiple zones to capture a major opfor point and get bonuses is a good idea

-AI operations: I have some kind of basic AI director planned for that ;). It will indeed involve the BLUFOR launching attacks against enemy zones. Attacks strenght of the BLUFOR will depend on the missions the player has accomplished, so if the player wants it, he can capture the island without attacking a single zone but indirectly supporting the troops on the field by achieving side missions.

-Give the player to establish a safe fast-travel zone is a good idea, I'll think about that

-About the EOS, I'd prefer to use my own scripts for AI management since I know how they work and I want to keep control on how I spawn things. As I said, I'm not a fan of making enemies spawn/despawn.

Thanks for the suggestions !

---------- Post added at 20:43 ---------- Previous post was at 20:35 ----------

Does skill setting in game options do anything in mission? I don't think so. Any chance of implementing that?

I'll be honest with you, I have not much idea on how AI skills work, if someone could point me to some clear documentation it would be nice.

You can set a lot of skills settings, but in the end you don't know what overwrites what:

-Skills settings in the options menu

-Setskill command

Right now, I'm spawning enemies with a skill of 0.3 (skill ranging from 0 to 1) using the function, wich I assume, use the setSkill command: BIS_fnc_spawnGroup

I don't know how the setSkill command affects the skill settings in the game options nor IF it actually does.

Edited by kibot

Share this post


Link to post
Share on other sites
Also, I need help:

I'm kind of new with fetching things from the config files. I've made a function checking randomly the entries of cfgVehicles until a vehicle type from a specific faction has been found. Problem is I'm getting this error sometimes:

Hi mate, cool little mission. Look forward to get to playing it in a bit. :)

Been looking at your script and think I've fixed it for you.

All you need to do is:

  • Make the variables private (not critical in this case I think, but just for good scripting practice)
  • Add a filter in to check that the class isn't equal to "vehicleClass".

if (_actual_vehclass == _vehClass && _actual_faction == _faction && _scope != 0) exitWith {

becomes:

if (_actual_vehclass == _vehClass && _actual_faction == _faction && _scope != 0 and _classname != "vehicleClass") exitWith {

:)

_____________________________________________________________________________________________________________

Working copy of script:

//faction = "OPF_F"; faction = "BLU_F"; faction = "IND_F"; faction = "CIV_F";
//vehicleClass = "Armored" "Car" "Ship" "Static" "Air"
//hasDriver = 1;
//canFloat = 0;

private ["_foundVeh","_checked_veh","_classname","_actual_vehclass","_actual_faction","_scope","_side","_faction","_vehClass","_position","_radius","_cfgVehicles","_totalentries","_realentries","_found","_createdVehFnc","_vehGroup","_patrolRadius"];

_faction = _this select 0;
_vehClass = _this select 1;
_position = _this select 2;
_radius = _this select 3;

_cfgVehicles = configFile >> "CfgVehicles"; // "CfgVehicles";

// hint format["%1",_cfgVehicles];
_totalentries = count _cfgVehicles;  // GO INTO CFGVEHICLES AND CHECK NUMBER OF ENTRIES
_realentries = _totalentries - 1;
_found = false;

_foundVeh = "";
while {!_found} do {
_checked_veh = _cfgVehicles select round (random _realentries);  // RANDOMLY SELECT AN ENTRY
_classname = configName _checked_veh;
//Silent format["%1",_classname];
sleep 0.005;
_actual_vehclass = getText (_checked_veh >> "vehicleClass");
_actual_faction = getText (_checked_veh >> "faction");
_scope = getNumber (_checked_veh >> "scope");

  if (_actual_vehclass == _vehClass && _actual_faction == _faction && _scope != 0 and _classname != "vehicleClass") exitWith {
//   hint format["%1",_classname];
//   _veh = createVehicle [_classname, position player, [], 0, "FLY"];
  _foundVeh = _classname; 
  };   
};   // --- VEHICLE FOUND --> _foundVeh

// DETERMINE LA FACTION
_side = EAST; 
if(_faction=="BLU_F") then {_side=WEST};
if(_faction=="OPF_F") then {_side=EAST};
if(_faction=="IND_F") then {_side=RESISTANCE};
if(_faction=="CIV_F") then {_side=CIVILIAN};

hint format["%1",_foundVeh];

_createdVehFnc = [_position,0,_foundVeh,_side] call bis_fnc_spawnvehicle;

_vehGroup = _createdVehFnc select 2;
_patrolRadius = round(_radius/2);
//hint format["%1",_patrolRadius];
[_vehGroup, _position, _patrolradius] call bis_fnc_taskPatrol;

//_crews = _createdVehFnc select 1;   //
//_driver = _crews select 0;          //DEBUG
//addSwitchableUnit _driver;          // 

Nice little script by the way. Something I found is that when the class is "Air", it might spawn a parachute. You may need to put in an additional check to filter out the parachutes (if you don't want them obv).

If you're into this config searching kind of thing, there's a really good thread here where the author wrote an amazing script that checks cfgWeapons.

Share this post


Link to post
Share on other sites

Das Attorney:

Thank you so much !!

Now I can have this script bug free :D.

Also, thanks for pointing the parachute thing, just fixed that. :)

Edit: Just had the error message with the fixed script, seems fix is not working yet

Disregard that, it's just me being derpy. The script is actually working bug free.

---------- Post added at 00:04 ---------- Previous post was at 22:11 ----------

Just had the error message again, damn, I can't fix this. I'll keep looking into it.

---------- Post added at 00:49 ---------- Previous post was at 00:04 ----------

Just found the issue, it was really easy in fact. Just had to add the isClass command to it :)

if (isClass _checked_veh) then {

//faction = "OPF_F"; faction = "BLU_F"; faction = "IND_F"; faction = "CIV_F";
//vehicleClass = "Armored" "Car" "Ship" "Static" "Air"
//hasDriver = 1;
//canFloat = 0;

_faction = _this select 0;
_vehClass = _this select 1;
_position = _this select 2;
_radius = _this select 3;

_cfgVehicles = configFile >> "CfgVehicles";
_totalentries = count _cfgVehicles;  // GO INTO CFGVEHICLES AND CHECK NUMBER OF ENTRIES
_realentries = _totalentries - 1;
_found = false;

_foundVeh = "";
while {!_found} do {
_checked_veh = _cfgVehicles select round (random _realentries);  // RANDOMLY SELECT AN ENTRY
_classname = configName _checked_veh;
if (isClass _checked_veh) then { // CHECK IF THE SELECTED ENTRY IS A CLASS
//hintSilent format["%1",_classname];
sleep 0.005;
_actual_vehclass = getText (_checked_veh >> "vehicleClass");
_actual_faction = getText (_checked_veh >> "faction");
_scope = getNumber (_checked_veh >> "scope"); // check if actually present in editor
_simulation_paracheck = getText (_checked_veh >> "simulation"); // check if not a parachute


  if (_actual_vehclass == _vehClass && _actual_faction == _faction && _scope != 0 && _simulation_paracheck != "parachute") exitWith {  
//   hintSilent format["%1",_classname];
//   _veh = createVehicle [_classname, position player, [], 0, "FLY"];
  _foundVeh = _classname; 
  };
 };  
};   // --- VEHICLE FOUND --> _foundVeh

// DETERMINE LA FACTION
_side = EAST; 
if(_faction=="BLU_F") then {_side=WEST};
if(_faction=="OPF_F") then {_side=EAST};
if(_faction=="IND_F") then {_side=RESISTANCE};
if(_faction=="CIV_F") then {_side=CIVILIAN};

_createdVehFnc = [_position,0,_foundVeh,_side] call bis_fnc_spawnvehicle;

_vehGroup = _createdVehFnc select 2;
_patrolRadius = round(_radius/2);
//hint format["%1",_patrolRadius];
[_vehGroup, _position, _patrolradius] call bis_fnc_taskPatrol;

//_crews = _createdVehFnc select 1;   //
//_driver = _crews select 0;          //DEBUG
//addSwitchableUnit _driver;          //

This is the code with the parachute check and the isClass fix. Now it should be bug free.

Edited by kibot

Share this post


Link to post
Share on other sites

Nice mission so far.

Enjoying it.

I hope SaOK can do something similar with his "Whole Lot Of Stratis":

-Straight to the point.

-Take over areas without enemies spawning to take it back

-Enough enemies to make it interesting but not overbearing.

GOOD JOB!

Share this post


Link to post
Share on other sites

Thanks for you mission, I like that kind of Missions and will happily play it...

I'll be honest with you, I have not much idea on how AI skills work, if someone could point me to some clear documentation it would be nice.

You can set a lot of skills settings, but in the end you don't know what overwrites what:

-Skills settings in the options menu

-Setskill command

As I understand it: Clientside/Missions scripts OVERWRITE MPServerSettings OVERWRITE GameOptions

(first postings in) http://forums.bistudio.com/showthread.php?150704-AI-Skill-Setting

So you can dictate skill and that's what I expect. And yes, please make use of SetSkill, and use some randomization.

Share this post


Link to post
Share on other sites

Wow, initial impressions of the mission are great!

Keep up the good work!

for [{_t=1}, {_t<=count _zones_array}, {_t=_t+1}] do // I HAVE NO IDEA OF WHAT I'VE DONE
for [{_t=1}, {_t<=count _distance}, {_t=_t+1}] do // OH GAWD

Bahaha

Edited by zorrobyte

Share this post


Link to post
Share on other sites

@kiberkiller & Kommiekat: Thanks. Keep in mind I'll keep improving the mission, this is only the beginning ;).

@tortuosit: Thanks for the tip ! I'll add a menu for the player being able to choose the level of AI skill at the start.

@zorrobyte: Damn, I hoped no one would ever look into that ! :p

Right now, I've added the possibility to create FOBs for 10 cp (with FOB name generated randomly like the side missions). Also a dynamic weather system, where the player can choose during the startup screen the type of weather (temperate, arid, tropical,...) for the island. Did a lot of bug fixing too.

I'm also working on the WARCOM (War Commander). Sort of a simple AI director I've made, it simulate an escalating war with BLUFOR HQ sending waves of troops in order to capture the zones, with more and more troops as the player is helping by achieving side mission or assisting the assault waves trying to capture the island.

No implemented yet, but it will simulate OPFOR responses from the player action (basicly as the war escalates).

More info on the WARCOM with changelog, I'll try to post the new version of the mission tonight once I'm done with setting the basics of the WARCOM.

I'll also try to look into making it "coopable", since a lot of people are asking for it, but it may take some time before having something bug free.

Share this post


Link to post
Share on other sites

I just updated the DUWS (version 0.2 now).

Main new features:

-Introduction of the WARCOM (War Commander). The WARCOM simulates an escalating war where BLUFOR try to take control of the island by capturing it.

-WARCOM use the Army Power (only blufor right now).

-Dynamic weather system. The player can select the type of weather on the island (Tropical, temperate, arid, mediterranean,...). The weather is also generated randomly, according to the settings the player has chosen.

-The player can deploy FOBs.(he needs to unlock the ability first). FOBs name are generated randomly.

-The player can choose the skill range of the AI at the startup menu.

If you are still playing on a old version of the DUWS, I strongly recommend that you use the new version, the AI skill was broken.

@zorrobyte: Thanks, I'll take a look into that.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×