Jump to content

[Release] 2.1 Plot Management - UPDATED Object Counter


Zupa

Recommended Posts

Did not actually, didn't even realize you said client, read rpt and that was it

 

call PlotGetFriends;
["preview"] call MaintainPlot;
call PlotObjects;
>
  Error position: <MaintainPlot;
call PlotObjects;
>
  Error Undefined variable in expression: maintainplot
File mpmissions\__CUR_MP.Chernarus\plotManagement\initPlotManagement.sqf, line 4
"fn_actons: [PlayerUID: 76561197991587059] [_ownerID: 76561197991587059] [_isModular: false] [typeOfCursorTarget: Plastic_Pole_EP1_DZ]"
"fn_actons: [PlayerUID: 76561197991587059] [_ownerID: 76561197991587059] [_isModularDoor: false] [typeOfCursorTarget: Plastic_Pole_EP1_DZ]"

Link to comment
Share on other sites

Did not actually, didn't even realize you said client, read rpt and that was it

 

call PlotGetFriends;

["preview"] call MaintainPlot;

call PlotObjects;

>

  Error position: <MaintainPlot;

call PlotObjects;

>

  Error Undefined variable in expression: maintainplot

File mpmissions\__CUR_MP.Chernarus\plotManagement\initPlotManagement.sqf, line 4

"fn_actons: [PlayerUID: 76561197991587059] [_ownerID: 76561197991587059] [_isModular: false] [typeOfCursorTarget: Plastic_Pole_EP1_DZ]"

"fn_actons: [PlayerUID: 76561197991587059] [_ownerID: 76561197991587059] [_isModularDoor: false] [typeOfCursorTarget: Plastic_Pole_EP1_DZ]"

 

u frogot to add the maintain in compiles.sqf , check the topic 1st post ( not github)

Link to comment
Share on other sites

This is the top part of my compiles.sqf, made sure to include some of the other compile calls to show where they are located, I am using the single currency maintain_area as I also have your Zupa Coin script in as well

 

if (!isDedicated) then {



    "filmic" setToneMappingParams [0.07, 0.31, 0.23, 0.37, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";

/*Plot*/
    PlotGetFriends      = compile preprocessFileLineNumbers "plotManagement\plotGetFriends.sqf";
    PlotNearbyHumans    = compile preprocessFileLineNumbers "plotManagement\plotNearbyHumans.sqf";
    PlotAddFriend       = compile preprocessFileLineNumbers "plotManagement\plotAddFriend.sqf";
    PlotRemoveFriend    = compile preprocessFileLineNumbers "plotManagement\plotRemoveFriend.sqf";
    MaintainPlot                    = compile preprocessFileLineNumbers "plotManagement\maintain_area.sqf";
    PlotPreview                        = compile preprocessFileLineNumbers "plotManagement\plotToggleMarkers.sqf";
    PlotObjects                     = compile preprocessFileLineNumbers "plotManagement\plotObjects.sqf"; // NEW
/*Plot End*/
    BIS_Effects_Burn =                 compile preprocessFile "\ca\Data\ParticleEffects\SCRIPTS\destruction\burn.sqf";
    player_zombieCheck =             compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieCheck.sqf";    //Run on a players computer, checks if the player is near a zombie
    player_zombieAttack =             compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieAttack.sqf";    //Run on a players computer, causes a nearby zombie to attack them
    fnc_usec_damageActions =        compile preprocessFileLineNumbers "custom\PlotForLifev2\fn_damageActions.sqf";        //Checks which actions for nearby casualty
    fnc_inAngleSector =                compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inAngleSector.sqf";        //Checks which actions for nearby casualty

Link to comment
Share on other sites

hey Zupa,

great job on the updates, I totally squee'd when I saw how much you had added. I have the full whammy of building mods and other scripts (vectors, P4l, Snap pro, precise builds, plot manager and door manager).

Everything is working to a point, but there are few minor issues:

1) when the "dome" is on, the little spheres it creates to make the outline count against the build limit and stop players from being able to build anything, but this is easily fixed by turning off the "dome"

2) the object count limit is currently only counting the plot pole, but it is at least getting the maxObjects count correct.

You're a beast and I love your scripts, keep up the good work!

I am using the non - coin setup.

 

Ok I finally found the client RPT error that I think this is related to, maybe you can tell me for sure.

 

Error in expression < _x; } count PP_Marks;    PP_Marks = nil;        sleep 1;
};

if ((isNil "PP_Marks") && (>
  Error position: <sleep 1;
};

if ((isNil "PP_Marks") && (>
  Error Generic error in expression
File mpmissions\__CUR_MP.Napf\Custom\plotManagement\plotToggleMarkers.sqf, line 17

Link to comment
Share on other sites

Found a bit of a problem. Got the maintain version working perfectly except a few problems. First, when i add someone to the list of people that can build, they are still not allowed to build. I checked the database and i can see on the plot pole that no one is being added in the gear section so i guess its not writing to the database. Also, it seems that after a restart you can not add someone to a plot pole if you put it down before the restart. 

I am using:

PlotforLife

Walking Zombies

SnapPro

Infistar. 

 

EDIT: just installed your door management add-on and it is also not loading players into the DoorFriends after a restart but it is set in the database in the gear location. 

 

EDIT2: seems to have fixed its self but now door management is acting up. When someone adds someone to the door, it adds on the database but on restarts it resets.

Link to comment
Share on other sites

I don't know if this has anything to do with it or not

 

Error in expression <e getVariable ['UIDA',[]];


        if !(_puid in _getvarID) then
        {
            if (count _get>
  Error position: <in _getvarID) then
        {
            if (count _get>
  Error in: Type String, expected Array,Object,Location
Error in expression <e getVariable ['UIDA',[]];
        if !(_puid in _getvarID) then
        {
            if (count _get>
  Error position: <in _getvarID) then
        {
            if (count _get>
  Error in: Type String, expected Array,Object,Location
Error in expression <e getVariable ['UIDA',[]];
        if !(_puid in _getvarID) then
        {
            if (count _get>
  Error position: <in _getvarID) then
        {
            if (count _get>
  Error in: Type String, expected Array,Object,Location
Error in expression <e getVariable ['UIDA',[]];
        if !(_puid in _getvarID) then
        {
            if (count _get>
  Error position: <in _getvarID) then
        {
            if (count _get>
  Error in: Type String, expected Array,Object,Location
Error in expression <e getVariable ['UIDA',[]];
        if !(_puid in _getvarID) then
        {
            if (count _get>
  Error position: <in _getvarID) then
        {
            if (count _get>
  Error in: Type String, expected Array,Object,Location
Error in expression <e getVariable ['UIDA',[]];
        if !(_puid in _getvarID) then
        {
            if (count _get>
  Error position: <in _getvarID) then
        {
            if (count _get>
  Error in: Type String, expected Array,Object,Location
Error in expression <e getVariable ['UIDA',[]];
        if !(_puid in _getvarID) then
        {
            if (count _get>
  Error position: <in _getvarID) then
        {
            if (count _get>
  Error in: Type String, expected Array,Object,Location

Link to comment
Share on other sites

        _wealth = player getVariable["headShots",0];
        _missing = "";
        _missingQty = 0;
        _proceed = true;
        {
            _itemIn = _x select 0;
            _countIn = _x select 1;
            if (_wealth < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _wealth); _proceed = false; };
        } count _requirements;

        if (_proceed) then {
            _newWealth = (_wealth - _countIn);
            player playActionNow "Medic";
            [player,_range,true,(getPosATL player)] spawn player_alertZombies;

            player setVariable["headShots",_newWealth,true];

            PVDZE_plr_Save = [player,(magazines player),true,true];
            publicVariableServer "PVDZE_plr_Save";
            
            PVDZE_maintainArea = [player,1,_target];
            publicVariableServer "PVDZE_maintainArea";

 

Found the issue, the above two "headShots" were "cashmoney" but the variable for the coin system goes by the name headShots instead so the script was picking up the wrong currency, changing those to this fixed it

Link to comment
Share on other sites

Found a bit of a problem. Got the maintain version working perfectly except a few problems. First, when i add someone to the list of people that can build, they are still not allowed to build. I checked the database and i can see on the plot pole that no one is being added in the gear section so i guess its not writing to the database. Also, it seems that after a restart you can not add someone to a plot pole if you put it down before the restart. 

I am using:

PlotforLife

Walking Zombies

SnapPro

Infistar. 

 

EDIT: just installed your door management add-on and it is also not loading players into the DoorFriends after a restart but it is set in the database in the gear location. 

 

EDIT2: seems to have fixed its self but now door management is acting up. When someone adds someone to the door, it adds on the database but on restarts it resets.

 

Edit 2 : server monitor then ^^ && check if DZE_lockeddoors is set

Link to comment
Share on other sites

I don't know if this has anything to do with it or not

 

Error in expression <e getVariable ['UIDA',[]];

        if !(_puid in _getvarID) then

        {

            if (count _get>

  Error position: <in _getvarID) then

        {

            if (count _get>

  Error in: Type String, expected Array,Object,Location

Error in expression <e getVariable ['UIDA',[]];

        if !(_puid in _getvarID) then

        {

            if (count _get>

  Error position: <in _getvarID) then

        {

            if (count _get>

  Error in: Type String, expected Array,Object,Location

Error in expression <e getVariable ['UIDA',[]];

        if !(_puid in _getvarID) then

        {

            if (count _get>

  Error position: <in _getvarID) then

        {

            if (count _get>

  Error in: Type String, expected Array,Object,Location

Error in expression <e getVariable ['UIDA',[]];

        if !(_puid in _getvarID) then

        {

            if (count _get>

  Error position: <in _getvarID) then

        {

            if (count _get>

  Error in: Type String, expected Array,Object,Location

Error in expression <e getVariable ['UIDA',[]];

        if !(_puid in _getvarID) then

        {

            if (count _get>

  Error position: <in _getvarID) then

        {

            if (count _get>

  Error in: Type String, expected Array,Object,Location

Error in expression <e getVariable ['UIDA',[]];

        if !(_puid in _getvarID) then

        {

            if (count _get>

  Error position: <in _getvarID) then

        {

            if (count _get>

  Error in: Type String, expected Array,Object,Location

Error in expression <e getVariable ['UIDA',[]];

        if !(_puid in _getvarID) then

        {

            if (count _get>

  Error position: <in _getvarID) then

        {

            if (count _get>

  Error in: Type String, expected Array,Object,Location

 

_getvarID should be an array, it probablty is a strng

Link to comment
Share on other sites

Ok, I have re-installed the whole mod, and made the modifications for door management as well.

 

The issue with the dome marker spheres being counted into the build limit when the dome is enabled is still persisting, so I don't think it's an error on my end. If you would permit me to hazard a guess I think its because you search for "all" within "plot pole build radius"; perhaps it should instead search for "DZE_MaintainClasses"? Or maybe do all objects that ARE NOT the "sphere10/25/100cm"?

The other issue Isn't so much a bug as a minor error. The area maintain function seems to be picking up built items that have damage without a problem, but the counter at the top for total/limit of built objects is not tracking all types of built items. For example a wooden workbench will not increase the item counter displayed on the management window, but if you shoot said workbench a few times it will register that it is an item within the maintain radius that needs maintaining.

Link to comment
Share on other sites

Edit 2 : server monitor then ^^ && check if DZE_lockeddoors is set

Just searched in server_monitor for DZE_lockeddoors and i have done the part stated here: 

 

5 -  server_monitor.sqf ( Mostly found in dayz_server/system/ if you are not using any modded one).

 

a) place

if (typeOf (_object) in DZE_DoorsLocked) then {

_object setVariable ["doorfriends", _intentory, true];

};

under

_object = createVehicle [_type, _pos, [], 0, "CAN_COLLIDE"];

 

 

 

( i did look bellow and do the one that said if you have plotmanager)

 

 

So idk whats up with it. 

Link to comment
Share on other sites

To get the object count working properly use the following for your plotObjects.sqf

private ["_newWealth","_missing","_missingQty","_proceed","_itemIn","_countIn","_target","_range","_objectClasses","_requirements","_count","_cost","_option"];
disableSerialization;

_range = DZE_PlotPole select 0;
_count = count ((getPosATL player) nearObjects ["All",_range]);
		
_colour = "#ffffff";

if(_count / DZE_BuildingLimit * 100 < 40)then{
	_colour = "#00ff00";
};
if(_count / DZE_BuildingLimit * 100 > 75)then{
	_colour = "#ff0000";
};

_ctrl = ((uiNamespace getVariable "PlotManagement") displayCtrl 7014);
_result =  format["<t color='%3'>%1 / %2</t>" , _count, DZE_BuildingLimit,_colour];
_ctrl ctrlSetStructuredText parseText _result;

It counts all objects within the plot radius which is how Epoch also works out the build limit.

 

It will count all the green dots from the plot dome but I suspect the same is true when the the actual check is run to see if you can build.

Link to comment
Share on other sites

To get the object count working properly use the following for your plotObjects.sqf

private ["_newWealth","_missing","_missingQty","_proceed","_itemIn","_countIn","_target","_range","_objectClasses","_requirements","_count","_cost","_option"];
disableSerialization;

_range = DZE_PlotPole select 0;
_count = count ((getPosATL player) nearObjects ["All",_range]);
		
_colour = "#ffffff";

if(_count / DZE_BuildingLimit * 100 < 40)then{
	_colour = "#00ff00";
};
if(_count / DZE_BuildingLimit * 100 > 75)then{
	_colour = "#ff0000";
};

_ctrl = ((uiNamespace getVariable "PlotManagement") displayCtrl 7014);
_result =  format["<t color='%3'>%1 / %2</t>" , _count, DZE_BuildingLimit,_colour];
_ctrl ctrlSetStructuredText parseText _result;

It counts all objects within the plot radius which is how Epoch also works out the build limit.

 

It will count all the green dots from the plot dome but I suspect the same is true when the the actual check is run to see if you can build.

Thanks, works like a charm :)

Link to comment
Share on other sites

To get the object count working properly use the following for your plotObjects.sqf

private ["_newWealth","_missing","_missingQty","_proceed","_itemIn","_countIn","_target","_range","_objectClasses","_requirements","_count","_cost","_option"];
disableSerialization;

_range = DZE_PlotPole select 0;
_count = count ((getPosATL player) nearObjects ["All",_range]);
		
_colour = "#ffffff";

if(_count / DZE_BuildingLimit * 100 < 40)then{
	_colour = "#00ff00";
};
if(_count / DZE_BuildingLimit * 100 > 75)then{
	_colour = "#ff0000";
};

_ctrl = ((uiNamespace getVariable "PlotManagement") displayCtrl 7014);
_result =  format["<t color='%3'>%1 / %2</t>" , _count, DZE_BuildingLimit,_colour];
_ctrl ctrlSetStructuredText parseText _result;

It counts all objects within the plot radius which is how Epoch also works out the build limit.

 

It will count all the green dots from the plot dome but I suspect the same is true when the the actual check is run to see if you can build.

 

changed in github! Thank you ^^

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
×
×
  • Create New...