second_coming

[CLOSED] Restrict the number of Constructions per flag

12 posts in this topic

THIS IS INCLUDED IN THE MOD NOW, NO NEED FOR ADDITIONAL SCRIPT. THANK YOU @second_coming

 

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

This change limits the amount of construction items per flag level:

Level 1: radius 15m 30 items
Level 2: radius 30m 60 items
Level 3: radius 45m 90 items
Level 4: radius 60m 120 items
Level 5: radius 75m 150 items
Level 6: radius 90m 180 items
Level 7: radius 105m 210 items
Level 8: radius 120m 240 items
Level 9: radius 135m 270 items
Level 10: radius 150m 300 items

ExileServer_object_construction_network_buildConstructionRequest.sqf

*updated for 0.9.32

/**
 * Exile Mod
 * www.exilemod.com
 * © 2015 Exile Mod Team
 *
 * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. 
 * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
 */
 
private["_sessionID","_paramaters","_objectClassName","_objectPosition","_playerObject","_constructionConfig","_canBuildHereResult","_object"];
_sessionID = _this select 0;
_paramaters = _this select 1;
_objectClassName = _paramaters select 0;
_objectPosition = _paramaters select 1;
try
{
	_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
	if (isNull _playerObject) then
	{
		throw "Player object is null!";
	};
	_constructionConfig = ("getText(_x >> 'previewObject') == _objectClassName" configClasses(configFile >> "CfgConstruction")) select 0;
	_canBuildHereResult = [configName _constructionConfig, _objectPosition, getPlayerUID _playerObject] call ExileClient_util_world_canBuildHere;
	switch (_canBuildHereResult) do
	{
		case 1:
		{
			throw "You are not in your territory!";
		};
		case 2:
		{
			throw "You are inside enemy territory!";
		};
		case 3:
		{
			throw "This cannot be placed on roads!";
		};
		case 5:
		{
			throw "You are too close to a spawn zone!";
		};
		case 4:
		{
			throw "You are too close to traders!";
		};
	};
	
	/* START - Check if the maximum allowed constructions has been reached */
	_maxRange = 150;
	_flags = nearestObjects [_playerObject,["Exile_Construction_Flag_Static"],_maxRange*2];
	_flags = _flags select 0;
	_range = _flags getVariable ["ExileTerritorySize",0];
	_maxConstructions = _range * 2;	
	_constructionAmount = count ( nearestObjects [_playerObject,["Exile_Construction_Abstract_Static"],_maxRange*2] );
	if(_constructionAmount >= _maxConstructions)then
	{
		if(_range < _maxRange)then
		{
			throw "Upgrade your flag to continue building!"
		}
		else
		{
			throw "Maximum construction items reached!"		
		};	
	};
	/* END - Check if the maximum allowed constructions has been reached */	

	
	_object = createVehicle[_objectClassName, _objectPosition, [], 0, "CAN_COLLIDE"];
	_object setPosATL _objectPosition;
	_object setVariable ["BIS_enableRandomization", false];
	_object enableSimulationGlobal false;
	_object setVariable ["ExileOwnerUID", getPlayerUID _playerObject];
	[_object, _playerObject] call ExileServer_system_swapOwnershipQueue_add;
	[_sessionID, "constructionResponse", [netid _object]] call ExileServer_system_network_send_to;
}
catch
{
	[_sessionID,"notificationRequest", ["Whoops", [_exception]]] call ExileServer_system_network_send_to;
};
true

 

7 people like this

Share this post


Link to post
Share on other sites
Advertisement

No, completely disagree. I think we should be free to create whatever we want. Personally I like to recreate real life defensive structures like Starforts and 300 pieces is far too restrictive. To some of us this game is like Minecraft with armoured cars, guns and bombs. Why have it that a clan have to be hemmed in to cramped quarters that'd be palatial for a lone wolf? I think something like that should be left to each server owner to decide for themselves.

Share this post


Link to post
Share on other sites

No, completely disagree. I think we should be free to create whatever we want. Personally I like to recreate real life defensive structures like Starforts and 300 pieces is far too restrictive. To some of us this game is like Minecraft with armoured cars, guns and bombs. Why have it that a clan have to be hemmed in to cramped quarters that'd be palatial for a lone wolf? I think something like that should be left to each server owner to decide for themselves.

Minecraft is always an option. I heard that might not be an 8-bit game someday.

The fact of the matter is, you can't have your cake and eat it too. If you want good performance on a populated server, you have to restrict the number of base parts. If you want to play "minecraft", then you won't get good performance on a populated server. I personally don't care if they implement this into the official mod because it was pretty simple for us to implement the restriction on our own... but I could certainly understand them doing it.

Edited by Bushwookie.net

Share this post


Link to post
Share on other sites

All I can say is police your servers! The last 2 days I've deleted 11 decomposing bases totalling hundreds of build items and I've currently a list of 27 others that I'm watching. Going around the server I've noticed several clans having multiple bases so what you might gain by restricting the build items you may lose by having extra bases to make up for it. It's swings and roundabouts really but this should certainly be experimented with to see if it actually improves gameplay or if the players will just find a work-around.

The thing about cake is, just coz someone doesn't want to eat it, they shouldn't expect others to go without it too.

 

Share this post


Link to post
Share on other sites

All I can say is police your servers! The last 2 days I've deleted 11 decomposing bases totalling hundreds of build items and I've currently a list of 27 others that I'm watching. Going around the server I've noticed several clans having multiple bases so what you might gain by restricting the build items you may lose by having extra bases to make up for it. It's swings and roundabouts really but this should certainly be experimented with to see if it actually improves gameplay or if the players will just find a work-around.

The thing about cake is, just coz someone doesn't want to eat it, they shouldn't expect others to go without it too.

 

I have better things to do than go round every base on the map checking to see if someone is using it or not, which is why I did this edit to make it so I didn't have to.

Most server owners I have spoken to have either implemented this or have come up with their own solutions to solve the problem of there being too many base parts on their servers. This is the only option if your server regularly has more than 30-40 players on if you want to keep it stable, responsive and still give players decent FPS.

2 people like this

Share this post


Link to post
Share on other sites

We have done it with a global Limit of 550 objects per base..So yeah..limitations are the only way ATM to keep it stable

Share this post


Link to post
Share on other sites

This is no longer needed as it's included in 094.

Check your config.cpp in mission.pbo for the range and parts per range.

Share this post


Link to post
Share on other sites
Advertisement
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.