DayZWasteLandZ

Audio Rejectz

Well-Known Member
EDIT typo in title lol..
Hey everyone, just a little vid of something im working on. It's still very buggy, and the video is poor as i was running the game, a server and recording all on the same pc.

Basically i am trying to combine DayZ & Wasteland together, in the way im doing it, no additional files would need to be downloaded as it's completely server side. the vid is on my test server, so you can see they work online

A few of the features you can see in the video are:
Gunshop - Buy & Sell weapons ammo and otherbits.
Random missions: At present these work, but not correctly as they spawn in banned classes.
Being able to move objects on the fly...

Also got working the ability to tow vehicles and buy goods from NPC's


Still have LOADS to do and a lot of bugs to fix, but it's getting there.
If anyone is interested in offering a hand to work on it, by all means let me know.
 
Hey i would gladly help you with testing it, I wont be much of assistance to coding/scripting if thats what you meant by offering a hand. But if you need some testers, just let me know!
 
Hey ill offer my server for testing and stuff i can even help with some of the code but im a bit of a noob :(
let me know. BTW nice work i was thinking about this lastnight after playing wastland all night lol :)
 
Hi audio!
I would be more than happy to help you develop this now and into the future. I am willing to host a server for test and then in the end for public access if you wish because I personally believe this could become quite big within the community.
If you want to talk about anything feel free to add me on skype: quacker_x

Thanks,
Geoff
 
@Audio Rejectz
I was thinking more about this and it would be cool if we can make it not "red team" blue team" etc but have it so u can pick to be on the "bandit team" or "hreo team" etc that would be cool also i would make it so cars and stuff dont spwan with weapions. I have more ideas to give ya if you like we cant talk more about it latter :)
 
@Audio Rejectz
I was thinking more about this and it would be cool if we can make it not "red team" blue team" etc but have it so u can pick to be on the "bandit team" or "hreo team" etc that would be cool also i would make it so cars and stuff dont spwan with weapions. I have more ideas to give ya if you like we cant talk more about it latter :)
I'm not too sure if teams within Dayz would be a good idea because that means that you are confined to being nice to everyone even though their might be someone being a dick.
 
I like the idea audio, biggest improvements that get suggested on our wasteland server:

Persistant building
Weapon prices

Solve those two in a balanced way and your onto something
 
you could do the weapons bass on ur hornior no money ?? Geoff i know what ur says but some players out only play DayZ for PVP side of stuff you could have 3 diffrent teams so you would have hero/bandit/normal etc that would work out well i think :)
 
Im already tearing apart like 3 versions of wasteland that i have found from playing around, there are all sorts of modifications people are doing on just missions that dont even begin to touch the dayz mod.

for the persistance of buildings there is the base building mod on the tunngle site i cant post a link but just search for it you should find it.

My biggest problem right now is getting a working function that adds normal vehicles to the database from in game after the mission already started on a bliss server.

I need a unique id and a way to put that on the server tracker so it saves to the hive. i been looking at the hacker websites since they seem to have some code that does that.
 
I need a unique id and a way to put that on the server tracker so it saves to the hive. i been looking at the hacker websites since they seem to have some code that does that.

I too am looking for this, please post if you have any success
 
Im thinking this is the function to start with:
object_spawnDamVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_spawnDamVehicle.sqf";

Which calls this on line 26: [0,_car,[_dir,_pos],_type] call local_publishObj;

and local_publishObj generates the ObjectUID and sets the ownerid to 0, it also adds it to the server object monitor which is the thing that saves the updates.

It should work in theory, if we modify that so that it doesn't damage the vehicle parts entirely say put the damage at 0.0X then it should make broken vehicles that still work..


im setting up a bliss server on my pc right now so i have somethig i can test against.
 
I like the idea audio, biggest improvements that get suggested on our wasteland server:

Persistant building
Weapon prices

Solve those two in a balanced way and your onto something

Persistent building ive done already :D and i have changed the weapon prices...Ive been trying to get the money to save to the database, i have it kind of working but sometimes it bugs out so i need to clean that up

@ Xyberviri Funny you say that about hacker scripts, it's how ive learnt a few bits lol. Ive been having a play to with the vehicles, but mine kept vanishing after a short amount of time, even though they temporarily appeared in the database.
Look forward to seeing what you come up with...

Main thing at present im working on is bounty hunting..I have it at present so when you get to a certain level of bandit, you show on the map, thats working. Now im trying to replace the side missions with, side missions that aim at a specific bandit. Manage to kill him and you get everything he has, as well as a little reward.
Think it will add a whole new aspect to the game, and will challenge people who want to be bandits

@Limit dont really want the teams mate, still want to keep the majority of the dayz experience in there
 
I was busy setting up a dayz bliss server on my pc last night so i have a dev server to test all this one before i finally passed out.

I plan on working on getting teams working again and setting bandits to be opfor and implementing autokick for bandits not on the bandit team on joining, similar to how wasteland locks you into the side after 5 minutes.

I want to get teams working because im working on adding AI back into DayZ I used AI Recruitment script by Bon to add a basic recruit AI function on my server but they dont do anything other than stand there.

I belive i have to change the zombies to spawn on resistance so they will be hosile to npcs with out npc's freaking out because of the wasteland npcs.


Here is some of the code i was working on last, really this is about patching wasteland to work with dayz.

This is just a modifyed version of object_spawnDamVehicle.sqf, all i did was change the _dam lines to 0.05 so that whatever spawns is at 95% health. Im thinking this whole thing has to be called in order make it legit. the other part of that formula is making sure that vehicles spawned with this are actually in the vehicle table. im not worried about the uid because its made up of the pos of the vehicle and the pos is created with this function "_newPos = [_pos, 0, 500, 30, 0, 20, 0] call BIS_fnc_findSafePos;" which basically means we have a circle 500m^2 of possible x/z cords


this should work with _newVehicle = [_cartype,_newPos,_dir] call object_spawnDamVehicle;

I put the below in a folder called fixes and then put the following in init.sqf:

object_spawnGoodVehicle = compile preprocessFileLineNumbers "fixes\object_spawnGoodVehicle.sqf";

Code:
private["_car","_hitpoints","_dam","_selection","_type","_pos","_dir"];
_type = _this select 0;
_pos = _this select 1;
_dir = _this select 2;
_car = _type createVehicle _pos;
_car setpos _pos;
_car setdir _dir;
_hitpoints = _car call vehicle_getHitpoints;
_dam = 1;
_car setFuel 0;
{
    _selection = getText(configFile >> "cfgVehicles" >> typeOf _car >> "HitPoints" >> _x >> "name");
    if (_x != "HitEngine" and _x != "HitFuel") then {
        _dam = 0.05;
    } else {
        _dam = 0.05;
    };
    [_car,_selection,_dam] call object_setFixServer;
} forEach _hitpoints; 
_car setvelocity [1,0,0];
player reveal _car;
dayzVehicleInit = _car;
publicVariable "dayzVehicleInit";
if (isServer) then {
    _car call fnc_vehicleEventHandler;
    [0,_car,[_dir,_pos],_type] call local_publishObj;
};
 
//Wait for HIVE to be free
waitUntil{!hiveInUse};
hiveInUse = true;
 
//Send request
_hitpoints = _car call vehicle_getHitpoints;
_array = [];
_dam = 1;
{
    _hit = [_car,_x] call object_getHit;
    _selection = getText (configFile >> "CfgVehicles" >> (typeOf _car) >> "HitPoints" >> _x >> "name");
    if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
} forEach _hitpoints;
 
copyToClipboard str(_array);
 
_car
changed:
Code:
vehicleCreation = compile preprocessFileLineNumbers "server\spawning\dzvehicleCreation.sqf";
staticHeliCreation = compile preprocessFileLineNumbers "server\spawning\dzstaticHeliCreation.sqf";

dzvehicleCreation.sqf:
Code:
//    @file Version: 1.0
//    @file Name: vehicleCreation.sqf
//    @file Author: [404] Deadbeat
//    @file Created: 20/11/2012 05:19
//    @file Args:
 
private ["_marker","_cartype","_car","_num","_tipped","_carpos","_type","_townpos"];
_type = _this select 1;
_pos = _this select 0;
_pos setDir (random 360);
_newPos = [_pos, 0, 500, 30, 0, 20, 0] call BIS_fnc_findSafePos;
_dir = getDir _newPos;
 
//Create Civilian Vehicle
if (_type == 0) then {
    //Car Initilization, Pick Car Type.
    _cartype = civilianVehicles select (random (count civilianVehicles - 1));
};
 
//Create Military Vehicle
if (_type == 1) then {
    //Car Initilization, Pick Car Type.
    _cartype = militaryVehicles select (random (count militaryVehicles - 1));
};
 
//Create Armed Military Vehicle
if (_type == 2) then {
    //Car Initilization, Pick Car Type.
    _cartype = armedMilitaryVehicles select (random (count armedMilitaryVehicles - 1));
};
 
_newVehicle = [_cartype,_newPos,_dir] call object_spawnDamVehicle;
[_newVehicle] call randomWeapons;

dzstaticHeliCreation.sqf
Code:
//    @file Version: 1.0
//    @file Name: staticHeliCreation.sqf
//    @file Author: [404] Costlyy
//    @file Created: 20/12/2012 21:00
//    @file Description: Random static helis
//    @file Args: [int (0 = not wreck | 1 = wreck), array (position)]
 
private["_spawnPos", "_spawnType", "_currHeli"];
 
_isWreck = _this select 0;
_spawnPos = _this select 1;
_spawnType = staticHeliList select (random (count staticHeliList - 1));
_dir = (random 360);
_newVehicle = [_spawnType,_spawnPos,_dir] call object_spawnDamVehicle;
[_newVehicle] call randomWeapons;

Allot of this is still psudo code because i couldn't get my character created on the private hive i setup on my pc, probably because that was 5 hours ago.
 
For the missions i changed the airwrech into a crashed UH using the same code as the heli spawns use:

Code:
//    @file Version: 1.0
//    @file Name: mission_AirWreck.sqf
//    @file Author: [404] Deadbeat
//    @file Created: 08/12/2012 15:19
//    @file Args:

//Side Mission Colour = #4BC9B0 - Turquoise 
//Main Mission Colour = #52bf90 - Light blue
//Fail Mission Colour = #FF1717 - Light red
//Fail Mission Colour = #17FF41 - Light green
//Sub Colour = #FFF - White

if(!isServer) exitwith {};
diag_log format["WASTELAND SERVER - Mission Started"];
private ["_unitsAlive","_playerPresent","_missionType","_successTextColour","_mainTextColour","_failTextColour","_subTextColour","_picture","_vehicleName","_rad","_centerPos","_missionTimeOut","_missionDelayTime","_missionTriggerRadius","_missionPlayerRadius","_flatAreas","_randomArea","_hint","_startTime","_currTime","_result","_c130wreck","_box","_box2"];

//Mission Initialization.
_rad=20000;
_result = 0;
_missionType = "Aircraft Wreck";
_mainTextColour = "#4BC9B0";
_successTextColour = "#17FF41";
_failTextColour = "#FF1717";
_subTextColour = "#FFFFFF";
_missionTimeOut = 1800;
_missionDelayTime = 600;
_missionPlayerRadius = 50;
_centerPos = getArray (configFile >> "CfgWorlds" >> worldName >> "centerPosition");
_flatAreas = nearestLocations [_centerPos, ["FlatArea"], _rad];
_randomPos = getpos (_flatAreas select random (count _flatAreas -1));

if(str(mainMissionPos) == str(_randomPos)) then
{
    _flatAreas = _flatAreas - _randomPos;    
};
_randomPos = getpos (_flatAreas select random (count _flatAreas -1));
sideMissionPos = str(_randomPos);

//Tell everyone their will be a mission soon.
_hint = parseText format ["<t align='center' color='%2' shadow='2' size='1.75'>Side Objective</t><br/><t align='center' color='%2'>------------------------------</t><br/><t color='%3' size='1.0'>Starting in %1 Minutes</t>", _missionDelayTime / 60, _mainTextColour, _subTextColour];
[nil,nil,rHINT,_hint] call RE;

//Wait till the mission is ready to be ran.
diag_log format["WASTELAND SERVER - Mission Waiting to run"];
_startTime = floor(time);
waitUntil
{ 
    _currTime = floor(time);
    if(_currTime - _startTime >= _missionDelayTime) then {_result = 1;};
    (_result == 1)
};
diag_log format["WASTELAND SERVER - Mission Resumed"];
_result = 0;

//Add marker to client marker array.
clientMissionMarkers set [count clientMissionMarkers,["AirWreck_Marker",_randomPos,"Aircraft Wreck"]];
publicVariable "clientMissionMarkers";

///////////////////////////dayz code/////////////////////////////////////////

    private["_num","_config","_itemType","_itemChance","_weights","_index","_iArray"];    
    
    if (isDedicated) then {
    _c130wreck = createVehicle ["UH1Wreck_DZ",_randomPos, [], 0, "CAN_COLLIDE"];
    dayz_serverObjectMonitor set [count dayz_serverObjectMonitor,_c130wreck];
    _c130wreck setVariable ["ObjectID",1,true];
    dayzFire = [_c130wreck,2,time,false,false];
    publicVariable "dayzFire";
    if (isServer) then {
        nul=dayzFire spawn BIS_Effects_Burn;
    };
    _num = round(random 4) + 3;
    _config =         configFile >> "CfgBuildingLoot" >> "HeliCrash";
    _itemType =        [] + getArray (_config >> "itemType");
    //diag_log ("DW_DEBUG: _itemType: " + str(_itemType));    
    _itemChance =    [] + getArray (_config >> "itemChance");
    //diag_log ("DW_DEBUG: _itemChance: " + str(_itemChance));    
    //diag_log ("DW_DEBUG: (isnil fnc_buildWeightedArray): " + str(isnil "fnc_buildWeightedArray"));    
    
    waituntil {!isnil "fnc_buildWeightedArray"};
    
    _weights = [];
    _weights =         [_itemType,_itemChance] call fnc_buildWeightedArray;
    //diag_log ("DW_DEBUG: _weights: " + str(_weights));    
    for "_x" from 1 to _num do {
        //create loot
        _index = _weights call BIS_fnc_selectRandom;
        sleep 1;
        if (count _itemType > _index) then {
            //diag_log ("DW_DEBUG: " + str(count (_itemType)) + " select " + str(_index));
            _iArray = _itemType select _index;
            _iArray set [2,_randomPos];
            _iArray set [3,5];
            _iArray call spawn_loot;
            _nearby = _randomPos nearObjects ["WeaponHolder",20];
            {
                _x setVariable ["permaLoot",true];
            } forEach _nearBy;
        };
    };
    };

//////////////////////////end dayz code///////////////////////////////////

_box = createVehicle ["USLaunchersBox",[(_randomPos select 0), (_randomPos select 1),0],[], 0, "NONE"];
[_box] execVM "server\missions\customWeaponCrates\makeBasicLaunchers.sqf";

_box2 = createVehicle ["USSpecialWeaponsBox",[(_randomPos select 0), (_randomPos select 1) - 10,0],[], 0, "NONE"];
[_box2] execVM "server\missions\customWeaponCrates\makeBasicWeapons.sqf";

_picture = getText (configFile >> "cfgVehicles" >> typeOf _c130wreck >> "picture");
_vehicleName = getText (configFile >> "cfgVehicles" >> typeOf _c130wreck >> "displayName");
_hint = parseText format ["<t align='center' color='%4' shadow='2' size='1.75'>Side Objective</t><br/><t align='center' color='%4'>------------------------------</t><br/><t align='center' color='%5' size='1.25'>%1</t><br/><t align='center'><img size='5' image='%2'/></t><br/><t align='center' color='%5'>A<t color='%4'> %3</t>, has come down under enemy fire!</t>", _missionType, _picture, _vehicleName, _mainTextColour, _subTextColour];
[nil,nil,rHINT,_hint] call RE;

CivGrpS = createGroup civilian;
[CivGrpS,_randomPos]execVM "server\missions\createUnits\smallGroup.sqf";

diag_log format["WASTELAND SERVER - Mission Waiting to be Finished"];
_startTime = floor(time);
waitUntil
{
    sleep 1; 
    _playerPresent = false;
    _currTime = floor(time);
    if(_currTime - _startTime >= _missionTimeOut) then {_result = 1;};
    {if((isPlayer _x) AND (_x distance _box <= _missionPlayerRadius)) then {_playerPresent = true};}forEach playableUnits;
    _unitsAlive = ({alive _x} count units CivGrpS);
    (_result == 1) OR ((_playerPresent) AND (_unitsAlive < 1)) OR ((damage _box) == 1)
};

if(_result == 1) then
{
    //Mission Failed.
    deleteVehicle _box;
    deleteVehicle _box2;
    deleteVehicle _c130wreck;
    deleteGroup CivGrpS;
    _hint = parseText format ["<t align='center' color='%4' shadow='2' size='1.75'>Objective Failed</t><br/><t align='center' color='%4'>------------------------------</t><br/><t align='center' color='%5' size='1.25'>%1</t><br/><t align='center'><img size='5' image='%2'/></t><br/><t align='center' color='%5'>Objective failed, better luck next time</t>", _missionType, _picture, _vehicleName, _failTextColour, _subTextColour];
    [nil,nil,rHINT,_hint] call RE;
    diag_log format["WASTELAND SERVER - Mission Failed"];
} else {
    //Mission Complete.
    deleteVehicle _c130wreck;
    deleteGroup CivGrpS;
    _hint = parseText format ["<t align='center' color='%4' shadow='2' size='1.75'>Objective Complete</t><br/><t align='center' color='%4'>------------------------------</t><br/><t align='center' color='%5' size='1.25'>%1</t><br/><t align='center'><img size='5' image='%2'/></t><br/><t align='center' color='%5'>The ammo caches have been collected well done team</t>", _missionType, _picture, _vehicleName, _successTextColour, _subTextColour];
    [nil,nil,rHINT,_hint] call RE;
    diag_log format["WASTELAND SERVER - Mission Finished"];
};

//Remove marker from client marker array.
{
    if(_x select 0 == "AirWreck_Marker") then
    {
        clientMissionMarkers set [_forEachIndex, "REMOVETHISCRAP"];
        clientMissionMarkers = clientMissionMarkers - ["REMOVETHISCRAP"];
        publicVariable "clientMissionMarkers";    
    };
}forEach clientMissionMarkers;
sideMissionRunning = false;

For the other missions i changed the code to use the goodspawn function i posted above.

I need to go back and fix the list of vehicles that spawn with each mission type to use the vehicles on my sever, again i have rmod installed so this isn't a major issue.
 
It's looking good at the moment, have you had a play with the gunshop yet?

Dont think having teams is going to be a good idea, you will have issues with unfair numbers on teams and also force team swap if a bandit increases his humanity enough.
 
Wow thats some nice work man i wish i could understand all the code so i can help ya but im not a code freak :(
who ever i have 2 online server so if u need a server to test the online part im happy to help out. Also i think it might be a good iead to get a bug report page set up online for when u reless it to the public that way u can get a list of things that might be needed to fix it up :) this is where i can help i know how to make website etc :)

Im realy keen to help man so just PM me if u like we can talk about it more :)
 
I might end up having to make a mod like rMod for teams because i might have to patch dayz code in the mod.

I was thinking more like using the code in Wasteland if you look at where they join it checks to see if they were on X team and kicks them if they don't join that team, that is basically all im thinking about using to do the thing for dayz, if your humanity is <= 0 and you login as a survivor(bluefor) then it will just kick you back to the lobby and tell say you need to pick bandit(opfor)

As far as teams are concerned it can just kick you again after your humanity goes above a certain level, for the purpose of a rp server with a smaller community and non public thats pretty much a good option and pretty good choice.

Heck im really thinking of just moding dayz with my own mod so i dont have to deal with hacking and over riding stuff in nativeZ

I also want to move zombies to the resistance because they could be set to hostile to every side, the problem is that the zombie despawner creates a trigger that only looks for bluefor so it has to be modifyed to also look for redfor. then i need to find out where i can change what faction zombies are on and then im in buisness.

Im a big fallout player and i dig the whole post apoc scene, i just dont like how much stuff is missing from arma with dayz.

Btw audio if i ever get anything that is release worthy i'm going with "Wasteland Dayz" as the name of the mission, just a heads up if you want to avoid confusion.
 
I was thinking more like using the code in Wasteland if you look at where they join it checks to see if they were on X team and kicks them if they don't join that team, that is basically all im thinking about using to do the thing for dayz, if your humanity is <= 0 and you login as a survivor(bluefor) then it will just kick you back to the lobby and tell say you need to pick bandit(opfor)

Im not to sure if this will work un less u make diffrent humanity system for each team like on for hreos and one for bandits so if i was a hero and i come in to a fire fight and kill like 4 guys then i would change to bandit and get kicked ? if thats how it will work i dont think anyone will like it. I think making this its own mod would be a good thing as for ban cars and guns can be unlocked in game. Wastland is cool for the wait it runs so well eg. Dont have to go in to the loby when u die and also the guns and cars are all over the place that helps. Gun shops is cool to as for the money system i think that can be changed a bit for dayz. You get money for doing ur task not for killing players so when a task pops up and you have to go fine a crash plain and get there 1st u would get some money as a reward for doing the task. you even add some Banks in to the game that u can loot for money. Well thats all i have for now i hope im help with ideas for the mod. If you want to talk more just let me know :)
 
well becoming a bandit only happens when you join the server, plus you loose your inventory thats not something i put in there its just a bug in dayz or bliss or whatever.

Also dont forget that Audio is really the one that is currently working on a working wasteland mission compatible with DayZ im not a member of a team or anything i just happen to also be working on something to. im mainly tring to go more wasteland than dayz i think audio is going more the other way.
 
why not just team up and work together wouldnt that be the smart thing and then u get lots of stuff done ? Any i was just given you guys some info on what i think would make it a good mix on the map/mod system like i sed befor im not a big time coder but i would like to think im a good gamer and i have played alot of games :) anyways im willing to help both ya out with what ya need :)
 
Back
Top