Jump to content

[Release] - A Plot for life v2.5. Keep your buildables on death. Take plot ownership


Recommended Posts

Hi RimBlock, have you had a chance to look into my post?

 

We're stuck on this and can't move forward....

 

As ReDBaroN,

I have the same Problem. 

Installed (to my best knowledge) everything to the dime with a few changes as I am running a few other Scripts.

And have the same Issue with the GUI.

 

Everything works just the GUI is frozen after you shoot or are attacked and fall into the combat mode.

 

I have no RPT errors or such.

When it comes to Scripting I am an absolute noob so even if i wanted to help search for a fix I would most probably just be a lead weight.

Funny Enough as I was comparing a PP4L Compiles versus the None PP4L CompilesI found that you have changed the following

 

None PP4L Version (Standard Compiles)

	player_guiControlFlash = 	{
		private["_control"];
		_control = _this;
		if (ctrlShown _control) then {
			_control ctrlShow false;
		} else {
			_control ctrlShow true;
		};
	};

PP4L Version

    player_guiControlFlash =     {
        private["_control"];
        _control = _this;
        if (ctrlShown (_control select 0)) then {
            {_x ctrlShow false} foreach _control;
        } else {
            {_x ctrlShow true} foreach _control;
        };
    };

Is this maybe causing the Issue?

 

Best Regards.

Huppabubba 

(HungEmmaoLP is letting me use his Account as I have not been added. Been waiting 2 Months now  ;) )

Link to comment
Share on other sites

Thanks, looks like a likely suspect.  Seems it was a change for Epoch 1.0.5.2 (1.0.6).

 

GitHub (v2.34 branch) and dropbox download updated (compiles.sqf is all that needs to be updated for the player_guicontrolflash function only).

Link to comment
Share on other sites

Alright it's working now

I switched your code () with the old code from the original compiles (Regarding the player_guiControlFlash)

And Icons Flash again :)

 

Best Regards and do eat a Chicken Rice for me at Newton ;)

Huppabubba 

(HungEmmaoLP is letting me use his Account as I have not been added. Been waiting 2 Months now   ;) )

Link to comment
Share on other sites

 

Alright it's working now

I switched your code () with the old code from the original compiles (Regarding the player_guiControlFlash)

And Icons Flash again :)

 

Best Regards and do eat a Chicken Rice for me at Newton ;)

Huppabubba 

(HungEmmaoLP is letting me use his Account as I have not been added. Been waiting 2 Months now   ;) )

 

 

Great, thanks for the confirmation and thanks again for the spot.

 

Haha, I am out to the East away from the more traditional expat areas but my wife is a Singaporean ;) .  Chicken rice is pretty good but I am a sucker for prata (especially from Old Town)... much to my waistlines dismay.  Just found a local Harrys bar as well... after 8 years living here (to be fair it has only been there for 3 or 4 years and is quite well hidden) :D .

 

2 months for an account seems pretty bad.  Is it not just auto email verification to get a forum posting account here any more ?.

Link to comment
Share on other sites

Great.

 

So now v2.34 seems to be fairly stable I will continue with the new version.

 

Current changes in the new version (currently in development).

 

1. Leverages the new functions for positioning over land and sea.

2. Option to walk around the whole plot when building rather than being limited to 5 mtrs from build origin.

3. Walk around option can be turned off or on with a variable.

4. If no plot pole required then the 5mtr build range is retained (stops people running around with preview walls as bullet blockers).

5. 5mtr high limit from origin still in effect.

6. Allows an optional check for height above ground / sea max (prevent sky bases).

7. Can set max height to build plot poles (if 6. active).

8. Can set max height to build items that do not need plot poles (if 6. set).

9. Uses my new fn_check_owner.sqf to check ownership and friendly status (as take plot ownership does) - reduces code size in player_build.

 

I am also going to take a look at improving the server object load at startup.  The current process is to load and object and process it then load another and process it.  I am going to look at loading an object and tagging it (typeof) and then once all the objects are loaded I will process them depending on what type they are (cars do not need ownerUIDs which they currently get with this mod).  There may also be some advantage is spawning code to deal with creating vehicles / buildables / others in parallel (yeah, yeah, not really in parallel as they will be scheduled).  If it works and provides some advantages then it may also make it easier for other mods to target only buildables (for vectors / precise building etc) rather than potentially everything loaded.

Link to comment
Share on other sites

Great, thanks for the confirmation and thanks again for the spot....

 

Haha, I am out to the East away from the more traditional expat areas but my wife is a Singaporean ;) .  Chicken rice is pretty good but I am a sucker for prata (especially from Old Town)... much to my waistlines dismay.  Just found a local Harrys bar as well... after 8 years living here (to be fair it has only been there for 3 or 4 years and is quite well hidden) :D .

 

2 months for an account seems pretty bad.  Is it not just auto email verification to get a forum posting account here any more ?.

 

:) I didn't know I am talking to,......

a semi local AngMoh here ;).

Used to live there, managed 14 years but well growing up was part of that number!

My fav is def Laksa!!!. Eventough I would kill for some simple good plain old ChickOn Rice in Germany!

Anyway yes I thought its automated but sadly even after a email to support and a small donation I am still seeing access denied.

Sadly giving up hope!

 

Regarding the Spot, well I would love to take credit but as I had NO IDEA of what I was doing it would not be right hahaha.

Best regards and sorry to out topic your thread!

Huppabubba

(Thanks again to HungEmmaoLP for letting me use his account)

Link to comment
Share on other sites

Haha, saved me trawling through all the code so it is appreciated regardless of whether you knew or not :) .  The bug may have gone unresolved if not for you and RedBaron (and many others through the 49 odd pages of this thread) helping to report and providing info on your searching around or testing.

 

General chit chat spoiler

Well 14 years is a fair amount of time.  Kinda hard justifying moving back to the UK in the near future.  It is very safe here (walking the streets at 3am with no worries), people are generally nice (i.e. rarely abusive) and the financial situation is pretty good (decent wages with only approx 5% income tax.  Sales tax is only 7%).

 

I do miss the changing seasons and not having a garden for summer and the humidity here is a real pain for me and my electronic toys...

 

Stay out of politics and you are pretty set although that seems like it could also be changing.

 

anyway ;) .

Link to comment
Share on other sites

Great.

 

So now v2.34 seems to be fairly stable I will continue with the new version.

 

Current changes in the new version (currently in development).

 

1. Leverages the new functions for positioning over land and sea.

2. Option to walk around the whole plot when building rather than being limited to 5 mtrs from build origin.

3. Walk around option can be turned off or on with a variable.

4. If no plot pole required then the 5mtr build range is retained (stops people running around with preview walls as bullet blockers).

5. 5mtr high limit from origin still in effect.

6. Allows an optional check for height above ground / sea max (prevent sky bases).

7. Can set max height to build plot poles (if 6. active).

8. Can set max height to build items that do not need plot poles (if 6. set).

9. Uses my new fn_check_owner.sqf to check ownership and friendly status (as take plot ownership does) - reduces code size in player_build.

 

I am also going to take a look at improving the server object load at startup.  The current process is to load and object and process it then load another and process it.  I am going to look at loading an object and tagging it (typeof) and then once all the objects are loaded I will process them depending on what type they are (cars do not need ownerUIDs which they currently get with this mod).  There may also be some advantage is spawning code to deal with creating vehicles / buildables / others in parallel (yeah, yeah, not really in parallel as they will be scheduled).  If it works and provides some advantages then it may also make it easier for other mods to target only buildables (for vectors / precise building etc) rather than potentially everything loaded.

 

Hey Rimblock,

 

Love the fact that you keep working on this! Cheers.

 

I actually like that everything gets an ownerUID, in some respect it gives you a bit more insight onto what is happening on the server without having to scroll through loads of logs. Plus i made some PHP monitoring stuff that is already dependent on it :P

About number 9.) does that mean you are looking into the possibility of enhancing the "who can build on this plot" thingie? I would love some kind of native plot management for this mod, don't need a fancy menu for it though, i feel that is just excessive KBs for the mission file.

Link to comment
Share on other sites

When I build wall or other buildables or when vehicles spawn in, Should they be saving in the database as follows: 

 

 

 '[78.547,[8941.18,4378.48,0.004],"xxxxxxxxxxxxxxxxxx"]'

 

 

Or Should it be like this:

 

 

["345.156677","[14268.381836,13655.265625,3.707115]","xxxxxxxxxxxxxxxxxxxx"]

 

 

I had an issue where the server wouldn't start anymore and had this error in rpt.

 

 

22:43:27 Error in expression < = _countr + 1;

diag_log str(_idKey);
} count _objWpnTypes; 
 
_objWpnTypes = (_i>
22:43:27   Error position: <count _objWpnTypes; 
 
_objWpnTypes = (_i>
22:43:27   Error count: Type String, expected Array
22:43:27 File z\addons\dayz_server\system\server_monitor.sqf, line 236

 

 

Once I deleted all the objects with the first worldspace I could log into the server with no problems.

 

Currently the server is still writing it to the database as stated in the first quote and I am looking for advice to which is correct and how can i fix it. (I am pretty sure the second way is correct as the server runs.)

Link to comment
Share on other sites

Hey Rimblock,

 

Love the fact that you keep working on this! Cheers.

 

I actually like that everything gets an ownerUID, in some respect it gives you a bit more insight onto what is happening on the server without having to scroll through loads of logs. Plus i made some PHP monitoring stuff that is already dependent on it :P

About number 9.) does that mean you are looking into the possibility of enhancing the "who can build on this plot" thingie? I would love some kind of native plot management for this mod, don't need a fancy menu for it though, i feel that is just excessive KBs for the mission file.

 

Well the ownerUIDs for anything that does not have an ownerUID set in the worldspace field just drops in a '0' and so serves no real purpose at this time.  It could be leveraged to assign ownership to vehicles independant of the locking codes and could then be used to allow the owner to auto unlock their vehicles without a key (others would need a key).  I am very open to any other uses / ideas people may have and am happy to build with those in mind (although I may not put the code in to implement them if too far from the concept of this mod).

 

Number 9 is just using a seperate function that is called when the ownership check is required and returns an array of [bool,bool] where the first relates to owner (true / false) and the second relates to friendly (true / false).  This is a pretty common check for the build system so cuts out a lot of duplicated code if fully integrated.

 

Now, saying that, I could probably put together an action menu form of plot owner / builder management.  I got a two level menu system working quite well for selecting which vehicle to refule from a fuel truck in the 'better refueling' mod.  I could probably leverage that one.

 

What functionality would we want to have from the plot pole ?.

 

Plot Menu - Only available to plot owner.

-------------

1. Add builder

2. Remove builder

3. View builders

 -          Builders name (green or red to show whether they have build rights).

3.1 Enable / Disable builders build rights

 

Add builder will list characters within 10mtrs(??) of the plot pole.

 

Will need to see if there is a way to update builders names with the last used name that SteamID used from the DB.  Just listing out SteamIDs seems pretty unfriendly but if there is no DB call then may have to do that or leverage another DBextention like extDB which I am working with for the A3 mod I am doing with Raymix.  I did want to keep this more independant of any 3rd party extras so it will be a last resort and only driven by popular demand.

Link to comment
Share on other sites

When I build wall or other buildables or when vehicles spawn in, Should they be saving in the database as follows: 

 

 

Or Should it be like this:

 

 

 

I had an issue where the server wouldn't start anymore and had this error in rpt.

 

 

 

Once I deleted all the objects with the first worldspace I could log into the server with no problems.

 

Currently the server is still writing it to the database as stated in the first quote and I am looking for advice to which is correct and how can i fix it. (I am pretty sure the second way is correct as the server runs.)

 

First way is Epoch vanilla with A Plot for Lfe installed.

 

Second way is Epoch Vanilla with A Plot for Life and Precise building installed.

 

What mods do you have installed ?.

Link to comment
Share on other sites

What functionality would we want to have from the plot pole ?.

 

Plot Menu - Only available to plot owner.

-------------

1. Add builder

2. Remove builder

3. View builders

 -          Builders name (green or red to show whether they have build rights).

3.1 Enable / Disable builders build rights

 

Add builder will list characters within 10mtrs(??) of the plot pole.

 

Will need to see if there is a way to update builders names with the last used name that SteamID used from the DB.  Just listing out SteamIDs seems pretty unfriendly but if there is no DB call then may have to do that or leverage another DBextention like extDB which I am working with for the A3 mod I am doing with Raymix.  I did want to keep this more independant of any 3rd party extras so it will be a last resort and only driven by popular demand.

 

My 2 cents:

 

The biggest change would be that the plotpole indicates all building rights on the plotpole. Doesn't matter who placed an object, the settings on the plotpole dictate. The playerUID just shows who put down the object.

 

Plot Menu (OWNER VIEW)

-------------

1. View plot information (shows the owner and builders and you could even add gimmics like the date it has been placed, who originally placed it and if you really want to go all out add something like main builder is player XX with X% of objects placed")

2. Add builder (can only build or possibly remove objects that have been placed by self) <<< Guess you could just show a list of everyone that is online

3. Add owner (can build and remove objects / add or remove builders / add or remove owners) <<< Would also make it able for one to sell a base

4. Maintain

   - Confirm | Costs X gold - average damage X %

   - Cancel

5. Remove builder

6. Remove owner

7. Remove plotpole

 

Plot Menu (BUILDER VIEW)

-------------

1. View plot information

2. Maintain

   - Confirm | Costs X gold - average damage X %

   - Cancel

3. Remove yourself

 

Plot Menu (OTHERS)

-------------

1. View plot information

2. Maintain

   - Confirm | Costs X gold - average damage X %

   - Cancel

Link to comment
Share on other sites

Firstly, love the mod - an excellent add-on for epoch.

 

I've modified this slightly, so that the owner of the object built within the plot is assigned the ownerID of the plot owner unless it is a safe, in which case it uses the player who built it.  This allows me to monitor player build numbers by plot pole to keep an eye on the object count of the server, as we know arma2 can't handle a large number of objects.  And the plot owner is ultimately responsible for the number of objects built within their plot.  I also use plot management so the plot owner can decide who can do what on the plot without having to tag as friendly all the time.

 

To assist with build times I've also built in functionality to convert player built objects that don't require any interaction to player content - players can tag an item to remain in the database or be converted to player content - this is to help reduce the load times of the server whilst still being able to have the objects on the map.  In doing that, I provide object counts for the player showing:

 - count of database objects against plot build limit

 - count of player content objects

 - count of objects to delete

 - count of total objects

 

I guess what I'm saying there, is the UI for plot management is handy, and if you are looking to build this in, then it provide greater flexibility.

Link to comment
Share on other sites

I still like the ability to enable / disable building rights (i.e. can disable builders while offline to stop people building while away without having to remove all the builders).

 

Maybe

 

Plot Menu

1. Plot Info (like what ?)

 

2. Maintain (cost)

2.1 Confirm

2.2 Cancel

 

3. Owners

3.1 Add 

3.2 Remove

3.3 View

3.4 Cancel

 

4. Builders

4.1 Add 

4.2 Remove

4.3 View (Enable / Disable on the list via toggle when selected)

4.4 Cancel

 

5. Remove Plot Pole

 

I also prefer limiting the players to the plot radius at most.  No point scanning the whole game world and creating a large list for the action menu.  Would need lots of scrolling which is not so user friendly.

Link to comment
Share on other sites

Firstly, love the mod - an excellent add-on for epoch.

 

I've modified this slightly, so that the owner of the object built within the plot is assigned the ownerID of the plot owner unless it is a safe, in which case it uses the player who built it.  This allows me to monitor player build numbers by plot pole to keep an eye on the object count of the server, as we know arma2 can't handle a large number of objects.  And the plot owner is ultimately responsible for the number of objects built within their plot.  I also use plot management so the plot owner can decide who can do what on the plot without having to tag as friendly all the time.

 

To assist with build times I've also built in functionality to convert player built objects that don't require any interaction to player content - players can tag an item to remain in the database or be converted to player content - this is to help reduce the load times of the server whilst still being able to have the objects on the map.  In doing that, I provide object counts for the player showing:

 - count of database objects against plot build limit

 - count of player content objects

 - count of objects to delete

 - count of total objects

 

I guess what I'm saying there, is the UI for plot management is handy, and if you are looking to build this in, then it provide greater flexibility.

 

Thanks.

 

Yep agree.  I think the objects built on the plot should be owned by the initial or only plot owner (if different from original).

 

By player content do you mean the players can tag items to add to the mission files and then you manually do so ?.  If that is the case then that would mean you would have to manually remove them as well if they get removed / destroyed ?.

 

I am looking to use the action menu rather than a GUI.  There are some GUIs around already and this will be lighter weight. 

Link to comment
Share on other sites

1. Plot Info (like what ?)

 

cutText format["This plot was established on %1, it has a total of %2 objects and is currently ~%3 percent damaged",cursorTarget getVariable["datestamp","unknown"],count _objects, round(_damage*10)];

 

To be honest i can live with anything you decide to do. Just wanted to help you figure out a decent blueprint. Think the one you got now is awesome :)

Link to comment
Share on other sites

Cool,

 

So for info.

 

Owner

Founded

Object Count: XX of XX max

 

Maybe Maintain can have the damage and Confirm has the cost.

 

This will be a pretty big change so will take some time to complete.

 

I will be updating the build for items 1-9 first which should be fairly quick, then will be debugging error reports whilst working on the menu system.

 

I will put the server object load as a low priority behind the menu system.

 

I alos wanted to add bobby trapped doors but will have to see how this goes first.

Link to comment
Share on other sites

I am running plot 4 life with snap building, door management, plot management, single currency, Logistic towing, EVD, WAI, dzgm, service points.

 

Those are most of them, I think.

 

The server at one point had precise on I think, plus it used to have vector building. 

 

Any suggestions on what to do?

 

Having some worldspace stored in "" and some not, is that ok, or should we install precise? Or is there something else going on.

 

Like I said when I deleted all the objects with world space no in "" it let me in fine and could get the server back up.

 

Once server was back up I built some objects and it stored them in database with the location not in quotes and the puid in quotes

Link to comment
Share on other sites

Sounds like you have removed the client side (mission file side) code for precise base building but have left the code in the server_monitor.sqf so new objects are created without the "" but the code that loads the objects at startup is looking for objects with "".

Link to comment
Share on other sites

Nice, sounds like a plan. Let me know if you need testing done, happy to try it out. (already got the latest apfl running on our server so shouldn't be too hard)

 

Would appreciate if you have some time to look at testing the current changes in the master branch on the Git for Player_Build (need modular_build to be set to false to use it) so I can confirm it is working, migrate the changes to modular build files and release and then I can concentrate on the menus.

 

Have just noticed an issue (with Vanilla) with the max items limit check.  It is hard coded for 30 mtrs (known which is why modular build puts this value in a variable - DZE_checkNearbyRadius) but also it counts all items not just buildables. 

 

Should really only check buildables so will probabl have to put in a {if in buildables array then inc buildable counter}count x; check.

 

Variables for the new player_build.sqf.  Defaults in ().

DZE_BuildInPlotRadius (false)         //Allow to build in plot radius without preview vanishing.

DZE_BuildOnGround (false)             //Force max build height (see two options below)

DZE_MaxNoPlotNeededHeight (15) //Max high items not requiring a plot pole can be built

DZE_MaxPlotHeight = (0.5)               //Max hight a plot pole can be built

 

Update: The missing fnc_setpos has been added back in to the compiles.sqf

Link to comment
Share on other sites

Hi there,

 

I seem to have stumpled appon something that I have not yet seen in the last 49 pages. (sorry again if I missed it)

Following Scripts are running on this server (stable)

 

-infistar

-plotpole4life (pp4l)

-snapbuild

-vectors

-precisebuild

-doormanagment

 

The problem is the following:

 

I have a base that was build prior to pp4l Life times.

So my Player 1 goes up and builds his PlotPole and takes ownership of all items within,

so far so good all works and it is registered in the Database. The Doors with Eyscan work as the should.

 

 

Now Player 2 comes up and removes the newly set PlotPole of Player 1 and reuses it and builds it up again to take ownership.

So far so good all worked well. Everything is written to the database and the doors work as they did with Player 1.

 

Now there is a Server Restart,

 

After Server Restart all Items have doubled, once for Player 1 and once for Player 2.

 

(ALL THIS HAPPENED WITHIN 5-10MINUTES)

 

 

Is this a known Issue? Have I overseen something? Do you need any files to varify my potential wrong doing?

Or is it that ownership taken items are not deleted out of the database? Or was the Time were this all happened, to FAST, for the Database to sync?

 

 

Best Regards,

Huppabubba

 

Link to comment
Share on other sites

Hi, that problem was sorted out a couple of pages back here: http://epochmod.com/forum/index.php?app=core&module=global&section=reputation&do=add_rating&app_rate=forums&type=pid&type_id=169618&rating=1&secure_key=3e60410c06a67a91913820acac032bae&post_return=169618

Not sure when you first installed but you may want to diffmerge the latest files to make sure you have this important edit that fixes the doubling up issue.

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...