Base Building DayZ 1.2 Released

For any that are interested I put a master code in for my self and a separate one for my admin to allow them to remove any deplorable or access any gate. In your codeComapre.sqf add the following code.

Code:
// compare arrays to see if code matches
    if (typeOf(_panel) == "Infostand_2_EP1") then {
    _validMatch = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    } else {
    _validObjectCode = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    };
 
// ------------------------------------------------------------------------Piggd Panel Override Start---------------------------------------------------------------------
// Server Owner Overide Code
if ( (toString _convertInput) == "12345678901234" ) then {
        if (typeOf(_panel) == "Infostand_2_EP1") then {
            _validMatch = true;
        } else {
            _validObjectCode = true;
        };
    };
// Admin Overide Code
if ( (toString _convertInput) == "123456789012345678" ) then {
        if (typeOf(_panel) == "Infostand_2_EP1") then {
            _validMatch = true;
        } else {
            _validObjectCode = true;
        };
};
// ------------------------------------------------------------------------Piggd Panel Overide End------------------------------------------------------------------------

When I look at this code it seems it only allows you to access any infostand aka gates to enter bases, you mention about an override to remove any object that is out of the order and can be removed by the server owner, yet I do not see such code for buildable objects.

Any clearance on that?
 
Hi can anyone supply me with thier working dayz.st taviana or chernarus pbo's please.

Ive spent ages trying to get this working but im just not clever enough!

cheers

Robbie
 
Thanks for the Great Work!!!!

I followed the instruction but in Game when i klick "build recipes" in the ScrollMenu
the Window what pops up isimmediately disapperd. How to fix that?!
Hope someone can Help.

Running on Chernarus Map with rMod.
Using DayzCC with Pwnoz0r Server Files.
Thanks alot!

Greetz Ace

Hi Guys,

now the Build Menu works but the "Build" Button is white and
i cant click it :( Some one happens the same? How i can fix that?
And a question about the database, is that right i must replace my old "deployables"
with this "BaseBulding_deployables.sql"??
I save my old, delete it and replace it with the new one, right?

EDIT :
Here what on Server run
-|Edited things on Server|-
.Custom Map (more Buldings) | WORKING
.Auto Refuel script for Cars and Helis | WORKING
.Strip/Remove Car Parts | WORKING
.Dogs are activated (Citys to find: Bor,Polana,Grishyno) | WORKING
.Cargo Lift ( U can Transport Vehicles with Heli) | WORKING
.Street and House Lights | WORKING
.Full Moon Nights | WORKING
.Use BloodBag on urself | WORKING
.New DebugMonitor | WORKING
.New Animated Helicrash, here a small Clip | WORKING
.200+ Cars | 20+ Helis&Planes | WORKING
.NPC`s on Map (Groups of Bandits, Soldiers, Survivors patroling arround the Map) | WORKING
The admin Tool works too, THANKS ALOT itsyuka!!!!

Greez Ace
 
Hi Guys,

now the Build Menu works but the "Build" Button is white and
i cant click it :( Some one happens the same? How i can fix that?
And a question about the database, is that right i must replace my old "deployables"
with this "BaseBulding_deployables.sql"??
I save my old, delete it and replace it with the new one, right?

Greez Ace

Make sure you install tthat table using your own schema on the DB, also make sure you do not overwrite the ID's with other deployables on your server, so first make note of the ID's you allready have and change those accordingly in the new deployables table.

Button being white issue, since you have so many mods allready on the server, make sure none of those allready have some sort of fn_SelfActions.sqf running as you can only have one of those files. If yes, you will have to blend in the one from "dayz_code/compile/fn_SelfActions.sqf" yourself.

Another option could also be that you do not have THE EXACT items in your inventory to build the item. if this is what you do have then look above.
 
When I look at this code it seems it only allows you to access any infostand aka gates to enter bases, you mention about an override to remove any object that is out of the order and can be removed by the server owner, yet I do not see such code for buildable objects.

Any clearance on that?

Try it and it will work.

That in the code it stands if infostand is just because the keypad function is used like that.

If you want ro remove any buildable and type in that code it will work cause the sqf will be executed ;)

The only thing I currently see is that the mastercode is not able to remove infostands via this code. I will have a look to fix this.
 
Make sure you install tthat table using your own schema on the DB, also make sure you do not overwrite the ID's with other deployables on your server, so first make note of the ID's you allready have and change those accordingly in the new deployables table.

Button being white issue, since you have so many mods allready on the server, make sure none of those allready have some sort of fn_SelfActions.sqf running as you can only have one of those files. If yes, you will have to blend in the one from "dayz_code/compile/fn_SelfActions.sqf" yourself.

Another option could also be that you do not have THE EXACT items in your inventory to build the item. if this is what you do have then look above.

Ya i use only one fn_SelfActions.sqf.
I Edited them to get this to work, okay i will try that with the Database.
Give feedback soon as i can.

Thnaks XoloX
 
Try it and it will work.

That in the code it stands if infostand is just because the keypad function is used like that.

If you want ro remove any buildable and type in that code it will work cause the sqf will be executed ;)

The only thing I currently see is that the mastercode is not able to remove infostands via this code. I will have a look to fix this.

Allright adding code as when theres alot of build on the server it might come in handy to remove just one from the DBase instead of guessing numbers and looking at positions. Does this also remove any duplicate in the DBase tables as well?

Infostand removal itself sound like a cool plan :)

Thanks for the answer and keep up the good work!
 
Hi guys :) please can someone help me? if i give my mission and server.pbo can any help me with this mod? its telling me "waiting for host" :/

Sorry for my english
Thanks
 
Hi. Sorry for my english. But i am few questions about this awesome modification.
1) How it's possible to know code of already installed part? Maybe some patch can change this?
2) How i can remove ZavoraAnim (Togglable gate)? I can't found any button like remove.
3) How i can do for admins, can remove anything? Same UID's can look at code, and remove builds like owner?

This mod are really awesome. But some fixes make it better, yeah? =) TY
 
And i am think we need some tutorial's how we can integrate this mod to Antihack (Like Handgender)... cause users can't do nothing... That's not good :(
 
Hi. Sorry for my english. But i am few questions about this awesome modification.
1) How it's possible to know code of already installed part? Maybe some patch can change this?
2) How i can remove ZavoraAnim (Togglable gate)? I can't found any button like remove.
3) How i can do for admins, can remove anything? Same UID's can look at code, and remove builds like owner?

This mod are really awesome. But some fixes make it better, yeah? =) TY

1. Because it is a modification and does not use the allready existing code.
2. You can't, when building it, it stated you can not remove it. (go to your database and delete the corresponding number (ObjectID) from the database you got this number when the building has finished)
3. here: http://opendayz.net/threads/base-building-dayz-1-2-released.8579/page-20#post-39306

And i am think we need some tutorial's how we can integrate this mod to Antihack (Like Handgender)... cause users can't do nothing... That's not good :(

To integrade into Antihack you must set the program to not kick people on the basebuild features just like you would do for Battle Eye
 
1. Because it is a modification and does not use the allready existing code.
2. You can't, when building it, it stated you can not remove it. (go to your database and delete the corresponding number (ObjectID) from the database you got this number when the building has finished)
3. here: http://opendayz.net/threads/base-building-dayz-1-2-released.8579/page-20#post-39306



To integrade into Antihack you must set the program to not kick people on the basebuild features just like you would do for Battle Eye

1. Why? This code must be saved somewhere... When you use keypad, this code is saved somewhere. How we can get this code?
2. It's not possible to fix, i am think. yeah?
3. Already founded it, thx =)

With antihax... Not battleye collisions. I am use Handgender antihax. I am added all s_player* actions, but when someone try open build reciepes, or open keypad this windows was closed immediately. Then we need wrote some function to permit this script. but what?
 
For any that are interested I put a master code in for my self and a separate one for my admin to allow them to remove any deplorable or access any gate. In your codeComapre.sqf add the following code.

Code:
// compare arrays to see if code matches
    if (typeOf(_panel) == "Infostand_2_EP1") then {
    _validMatch = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    } else {
    _validObjectCode = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    };
 
// ------------------------------------------------------------------------Piggd Panel Override Start---------------------------------------------------------------------
// Server Owner Overide Code
if ( (toString _convertInput) == "12345678901234" ) then {
        if (typeOf(_panel) == "Infostand_2_EP1") then {
            _validMatch = true;
        } else {
            _validObjectCode = true;
        };
    };
// Admin Overide Code
if ( (toString _convertInput) == "123456789012345678" ) then {
        if (typeOf(_panel) == "Infostand_2_EP1") then {
            _validMatch = true;
        } else {
            _validObjectCode = true;
        };
};
// ------------------------------------------------------------------------Piggd Panel Overide End------------------------------------------------------------------------
This does not work properly, i removed a building that went away yes, but after server restart the building is there again :(
 
With antihax... Not battleye collisions. I am use Handgender antihax. I am added all s_player* actions, but when someone try open build reciepes, or open keypad this windows was closed immediately. Then we need wrote some function to permit this script. but what?


This has nothing to do with antihax, you made a typo somewhere in the code.
 
Hey guys remove function doesn't seem to work well for me.. When I hit remove the object gets removed from the game but it's still in the database, so after a server restart it's there again.
Any ideas?

HiveEXT log: 17:13:57 HiveExt(0): [Information] Method: 304 Params: 1:
Basically nothing lol

I already changed the 2
dayzDeleteObj call local_deleteObj;
lines

to dayzDeleteObj call server_deleteObj;
didn't work

Same thing for me, exact same lines but no go :( please help
 
Allright, seems this needs to be revamped totally after all, as of now if you build your base and someone else gets there they just build an infostand next to yours, then they push in their key, then they have 1 minute to open all your keypanels as well, every infostand works the same, does not matter what infostand you use you can access ANY infostand after submitting the right code for the one you just build.

Now to make this harder I would like to cut down from one minute to 5 seconds, where do I change that ?
 
Just wondering, this line:

_nearestGates = nearestObjects [_lever, ["Hhedgehog_concrete","Concrete_Wall_EP1"], 100];

in operate_gates.sqf in folder dayz_code/external/keypad/fnc_keyPad

the 100 at the end of the line is the distance also determined there?

Further down that same file i see:

Code:
if (_z <= -2) then {
       
            _text = getText (configFile >> "CfgVehicles" >> (typeOf _x) >> "displayName");
            cutText [format["Raising the %1",_text], "PLAIN DOWN"];
            _pos set [2,0];
            _x setPos _pos;
            [nil,_x,rSAY,["trap_bear_0",60]] call RE;
            sleep .5;
            [nil,_x,rSAY,["trap_bear_0",60]] call RE;

the 60 is the timer to access the keypad?
 
For any that are interested I put a master code in for my self and a separate one for my admin to allow them to remove any deplorable or access any gate. In your codeComapre.sqf add the following code.

Code:
// compare arrays to see if code matches
    if (typeOf(_panel) == "Infostand_2_EP1") then {
    _validMatch = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    } else {
    _validObjectCode = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    };
 
// ------------------------------------------------------------------------Piggd Panel Override Start---------------------------------------------------------------------
// Server Owner Overide Code
if ( (toString _convertInput) == "12345678901234" ) then {
        if (typeOf(_panel) == "Infostand_2_EP1") then {
            _validMatch = true;
        } else {
            _validObjectCode = true;
        };
    };
// Admin Overide Code
if ( (toString _convertInput) == "123456789012345678" ) then {
        if (typeOf(_panel) == "Infostand_2_EP1") then {
            _validMatch = true;
        } else {
            _validObjectCode = true;
        };
};
// ------------------------------------------------------------------------Piggd Panel Overide End------------------------------------------------------------------------

I have this code inserted as instructed, but the master code will not remove buildables. Please check my code below and let me know what may be wrong, I keep getting "Access Denied".

Code:
private ["_isPanel","_validObject","_validObjectCode","_panelPos","_playerPos","_cnt","_gateAccess","_inVehicle","_soundSource","_panel","_convertInput","_code", "_inputCode", "_validMatch"];
_panel = cursortarget;
_gateAccess = false;
_playerPos = getpos player;
_panelPos = getpos _panel;
_cnt = 600;
_validMatch = false;
_validObjectCode = false;
keyCode = _this select 0;
//hint format["keycode after enter: %1", keyCode];
sleep 3;
_code = keyCode;
_inputCode = _this select 1;
//hint format["Keycode: %1 | CodeInput: %2", _code, _inputCode];
_convertInput =+ _inputCode;
for "_i" from 0 to (count _convertInput - 1) do {_convertInput set [_i, (_convertInput select _i) + 48]};
//hint format["Keycode: %1 | CodeInput: %2", _code, (toString _convertInput)];
 
// compare arrays to see if code matches
    if (typeOf(_panel) == "Infostand_2_EP1") then {
    _validMatch = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    } else {
    _validObjectCode = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    };
 
 
if (_validMatch) then {
    cutText ["### ACCESS GRANTED ###", "PLAIN DOWN"];
 
    playsound "beep";
    sleep 0.5;
    playsound "beep";
    sleep 0.5;
    playsound "beep";
    keyValid = true;
    _gateAccess = true;
    sleep 2;
    cutText ["You can now operate the bases gate panel(s) for 60 seconds", "PLAIN DOWN"];
    while {_gateAccess} do
    {
    _playerPos = getpos player;
    _panelPos = getpos _panel;
    //_inVehicle = (vehicle player != player);
        if (_playerPos distance _panelPos > 150) then {
        _gateAccess = false;
        keyValid = false;
        cutText ["Lost connection to panel > 150 meters away", "PLAIN DOWN"];
        };
    _cnt = _cnt - 1;
    if (_cnt <= 600 && _cnt % 10 == 0) then {
        cutText [format["Access to panel expires in %1 seconds",(_cnt / 10)], "PLAIN DOWN",1];
    };   
        if (_cnt <= 0) then {
        _gateAccess = false;
        keyValid = false;
        cutText ["You no longer have gate access, type code in again to have access", "PLAIN DOWN"];
        };
    sleep .1;
    };
    keyValid = false;
} else {
 
if (!_validObjectCode) then {
    removeObject = false;
    cutText ["!!! ACCESS DENIED !!!", "PLAIN DOWN"];
 
    playsound "beep";
 
    sleep 2;
    cutText ["Wrong code was entered", "PLAIN DOWN"];
    } else {
    removeObject = true;
    //_validObject setVariable ["validObject",true];
    _panel setVariable ["validObject", true];
    cutText ["### ACCESS GRANTED ###\n You can now delete object", "PLAIN DOWN"];
    playsound "beep";
    sleep 0.5;
    playsound "beep";
    sleep 0.5;
    playsound "beep";
    _gateAccess = true;
        while {_gateAccess} do
        {
            _playerPos = getpos player;
            _panelPos = getpos _panel;
            //_inVehicle = (vehicle player != player);
            if (_playerPos distance _panelPos > 5) then {
                _gateAccess = false;
                cutText ["Object access lost, player > 5 meters away", "PLAIN DOWN"];
            };
            _cnt = _cnt - 1;
            if (_cnt <= 600 && _cnt % 10 == 0) then {
                cutText [format["Access to object expires in %1 seconds",(_cnt / 10)], "PLAIN DOWN",1];
            };   
            if (_cnt <= 0) then {
                _gateAccess = false;
            cutText ["You no longer have object access, type code in again to have access", "PLAIN DOWN"];
            };
        sleep .1;
        };
        removeObject = false;
    };
};
 
CODEINPUT = [];
// compare arrays to see if code matches
    if (typeOf(_panel) == "Infostand_2_EP1") then {
    _validMatch = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    } else {
    _validObjectCode = [_code, (toString _convertInput)] call BIS_fnc_areEqual;
    };
// ------------------------------------------------------------------------Piggd Panel Override Start---------------------------------------------------------------------
// Server Owner Overide Code
if ( (toString _convertInput) == "14763027147631" ) then {
        if (typeOf(_panel) == "Infostand_2_EP1") then {
            _validMatch = true;
        } else {
            _validObjectCode = true;
        };
    };
// Admin Overide Code
if ( (toString _convertInput) == "14763027147630" ) then {
        if (typeOf(_panel) == "Infostand_2_EP1") then {
            _validMatch = true;
        } else {
            _validObjectCode = true;
        };
};
// ------------------------------------------------------------------------Piggd Panel Overide End------------------------------------------------------------------------
 
Back
Top