Jump to content

Simple SAFE zone, notification style and markers for Altis


tarvin

Recommended Posts

Hi my simple SAFE ZONE 

3 STEP

1. mission.sqf sensors and markers:

	class Sensors {
		class Item0 {
			name = "bazar1_m";
			position[] = {13321.2,-0.127439,14504.7};
			a = 150;
			b = 150;
			angle = -130.966;
			activationBy = "ANY";
			repeating = 1;
			interruptable = 1;
			age = "UNKNOWN";
			expCond = "(vehicle player) in thislist;";
			expActiv = "[""MidSpawn"",[""WEAPON DISABLED""]] call bis_fnc_showNotification; player allowDamage false; player addEventHandler [""HandleDamage"",{false}];";
			expDesactiv = "[""EMidSpawn"",[""WEAPON ENABLED""]] call bis_fnc_showNotification; player allowDamage true; player addEventHandler [""HandleDamage"",{true}];";
			class Effects{};
	};
		class Item1 {
			name = "bazar2_m";
			position[] = {18454.9,0.148972,14272.8};
			a = 150;
			b = 150;
			angle = -130.966;
			activationBy = "ANY";
			repeating = 1;
			interruptable = 1;
			age = "UNKNOWN";
			expCond = "(vehicle player) in thislist;";
			expActiv = "[""MidSpawn"",[""WEAPON DISABLED""]] call bis_fnc_showNotification; player allowDamage false; player addEventHandler [""HandleDamage"",{false}];";
			expDesactiv = "[""EMidSpawn"",[""WEAPON ENABLED""]] call bis_fnc_showNotification; player allowDamage true; player addEventHandler [""HandleDamage"",{true}];";
			class Effects{};
	};
		class Item2 {
			name = "bazar3_m";
			position[] = {6193.35,-0.210175,16834};
			a = 150;
			b = 150;
			angle = -130.966;
			activationBy = "ANY";
			repeating = 1;
			interruptable = 1;
			age = "UNKNOWN";
			expCond = "(vehicle player) in thislist;";
			expActiv = "[""MidSpawn"",[""WEAPON DISABLED""]] call bis_fnc_showNotification; player allowDamage false; player addEventHandler [""HandleDamage"",{false}];";
			expDesactiv = "[""EMidSpawn"",[""WEAPON ENABLED""]] call bis_fnc_showNotification; player allowDamage true; player addEventHandler [""HandleDamage"",{true}];";
			class Effects{};
	};
};

Markers:

	class Markers {
		items = 9;
		
		class Item0 {
			position[] = {14939.9, 0.0534991, 15083.3};
			name = "center";
			type = "Empty";
		};
		
		class Item1 {
			position[] = {23600.6, 3.19, 18000.7};
			name = "respawn_east";
			type = "Empty";
		};
		
		class Item2 {
			position[] = {23600.6, 3.19, 18000.8};
			name = "respawn_west";
			type = "Empty";
		};
		class Item3
		{
			position[]={13321.2,-0.127439,14504.7};
			name="GREEN ZONE1";
			markerType="ELLIPSE";
			type="respawn_unknown";
			colorName="ColorGUER";
			a=150;
			b=150;
		};
		class Item4
		{
			position[]={6193.35,-0.210175,16834};
			name="GREEN ZONE2";
			markerType="ELLIPSE";
			type="respawn_unknown";
			colorName="ColorGUER";
			a=150;
			b=150;
		};
		class Item5
		{
			position[]={18454.9,0.148972,14272.8};
			name="GREEN ZONE3";
			markerType="ELLIPSE";
			type="respawn_unknown";
			colorName="ColorGUER";
			a=150;
			b=150;
		};
		class Item6
		{
			position[]={13332.2,0,14510.9};
			name="centermarketmarker";
			text="SAFE TRADE ZONE";
			type="mil_circle";
			colorName="ColorGreen";
		};
		class Item7
		{
			position[]={6189.70,0,16840.2};
			name="leftmarketmarker";
			text="SAFE TRADE ZONE";
			type="mil_circle";
			colorName="ColorGreen";
		};         
		class Item8
		{
			position[]={18454.2,0,14272.2};
			name="rightmarketmarker";
			text="SAFE TRADE ZONE";
			type="mil_circle";
			colorName="ColorGreen";
		};		
	};
};

STEP 2 ADD FOLDER : config and file notification.hpp and 

class CfgNotifications
{
	class WestSpawn
	{
	title = "SAFE ZONE WEST";
	iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa";
	color[] = {0,0.8,0,1}; 
	description = "%1";
	duration = 10;
	priority = 0;
       	};
	class MidSpawn
	{
	title = "SAFE ZONE CENTER";
	iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa";
	color[] = {0,0.8,0,1};
	description = "%1";
	duration = 10;
	priority = 0;
	};
	class EastSpawn
	{
	title = "SAFE ZONE EAST";
	iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa";
	color[] = {0,0.8,0,1};
	description = "%1";
	duration = 10;
	priority = 0;
	};

	class EWestSpawn
	{
	title = "EXIT SAFE ZONE";
	iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa";
	color[] = {1,0.4,0,1};  // ч/б цвет
	description = "%1";
	duration = 10;
	priority = 0;
	};
	class EMidSpawn
	{
	title = "EXIT SAFE ZONE";
	iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa";
	color[] = {1,0.4,0,1};  // ч/б цвет
	description = "%1";
	duration = 10;
	priority = 0;
	};
	class EEastSpawn
	{
	title = "EXIT SAFE ZONE";
	iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa";
	color[] = {1,0.4,0,1};  // ч/б цвет
	description = "%1";
	duration = 10;
	priority = 0;
	};
};

STEP 3: add link to notification.hpp in you description.ext 

#include "Config\notifications.hpp"

It's all 
after restart you have SAFE (NO ALL DAMAG ZONE), notification message on entering and exit, and green solid markers on you map.

Link to comment
Share on other sites

  • 1 month later...

BE is BS, all I have in my BE folder is:

 

 

BEserver.dll

Bans.txt

 

Everything else is deleted, I just use it for BEC messages & basics, all my anti-hack is controlled by Infi, my server has multiple mods, scripts including new weps & vehicles & works flawlessly.

 

I get maybe 20 hack attempts a day, they all get banned ;)

Link to comment
Share on other sites

BE is BS, all I have in my BE folder is:

 

 

BEserver.dll

Bans.txt

 

Everything else is deleted, I just use it for BEC messages & basics, all my anti-hack is controlled by Infi, my server has multiple mods, scripts including new weps & vehicles & works flawlessly.

 

I get maybe 20 hack attempts a day, they all get banned ;)

I did the same thing on my server, it makes life much easier for me. Hackers are going to hack, so what's the use of putting work into something that really isn't needed?

Link to comment
Share on other sites

Variant №2 without notification. message sent in hint. Safe zone in epoch protection zone invisible:

 

Step №1.... goto to epoch_settings.pbo unpbo it goto config.cpp and search Altis object and paste

//protection zone by olke/tarvin central 3x3 25m radius circle
				{ "ProtectionZone_Invisible_F", { 13351.1, 14540.1, 0.0110912 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 13351.1, 14515.1, 0.0110912 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 13351.1, 14490.1, 0.0110912 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 13326.1, 14540.1, 0.0110912 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 13326.1, 14515.1, 0.0110912 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 13326.1, 14490.1, 0.0110912 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 13301.1, 14540.1, 0.0110912 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 13301.1, 14515.1, 0.0110912 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 13301.1, 14490.1, 0.0110912 }, 359.768 },
//protection zone by olke east 3x3 25m radius circle
				{ "ProtectionZone_Invisible_F", { 18492.5, 14288.8, 0.0297527 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 18492.5, 14263.8, 0.0297527 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 18492.5, 14238.8, 0.0297527 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 18467.5, 14288.8, 0.0297527 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 18467.5, 14263.8, 0.0297527 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 18467.5, 14238.8, 0.0297527 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 18442.5, 14288.8, 0.0297527 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 18442.5, 14263.8, 0.0297527 }, 359.768 },
				{ "ProtectionZone_Invisible_F", { 18442.5, 14238.8, 0.0297527 }, 359.768 },
//protection zone by olke west 3x3 25m radius circle
				{ "ProtectionZone_Invisible_F", { 6221.38, 16874.9, 0.00205231 }, 63.7064  },
				{ "ProtectionZone_Invisible_F", { 6221.38, 16849.9, 0.00205231 }, 63.7064  },
				{ "ProtectionZone_Invisible_F", { 6221.38, 16824.9, 0.00205231 }, 63.7064  },
				{ "ProtectionZone_Invisible_F", { 6196.38, 16874.9, 0.00205231 }, 63.7064  },
				{ "ProtectionZone_Invisible_F", { 6196.38, 16849.9, 0.00205231 }, 63.7064  },
				{ "ProtectionZone_Invisible_F", { 6196.38, 16824.9, 0.00205231 }, 63.7064  },
				{ "ProtectionZone_Invisible_F", { 6171.38, 16874.9, 0.00205231 }, 63.7064  },
				{ "ProtectionZone_Invisible_F", { 6171.38, 16849.9, 0.00205231 }, 63.7064  },
				{ "ProtectionZone_Invisible_F", { 6171.38, 16824.9, 0.00205231 }, 63.7064  },

this added 3 safe zone 75m radius.... (3x3 25m circle) /// save and compile you a3_epoch_server_settings.pbo

 

Step №2. create file ../mpmission/greenzone/greenzone.sqf

// SETTINGS:
// SAFE ZONE USE_GREENZONE = true / false
USE_GREENZONE = true;
// SET_MARKER = true / false
SET_MARKER = true;

// _zonecoord = [[_center],_radius,_name,_string,_lSign],[[_center],_radius,_name,_string,_lSign]];
_zonecoord =
[
	[[13325,14515,0],75, 'Center', true],// Center GreenZone
	[[6192.46,16834,0],75, 'West', true],// West GreenZone
	[[18451.9,14278.1,0],75, 'East', true]// East GreenZone
];

_signs = 'Sign_Sphere200cm_F';

// Sign_Sphere200cm_F - orange sphere 
// Sign_Arrow_Green_F - big green down arrow
// Sign_Arrow_Direction_Green_F - big green center arrow

if (isServer) exitWith 
{
	if (USE_GREENZONE) then // check point using green zone
	{
		{
			_center = _x select 0;
			_radius = _x select 1;
			_name = _x select 2;	
			_lsign = _x select 3;

			if (_lSign) then // check point SAFEZONE (true/false)
			{
				for '_i' from 0 to 360 step (270 / _radius)*2 do
				{
					_location = [(_center select 0) + ((cos _i) * _radius), (_center select 1) + ((sin _i) * _radius),0];
					_dir = ((_center select 0) - (_location select 0)) atan2 ((_center select 1) - (_location select 1));
					_object = createVehicle [ _signs , _location, [], 0, 'CAN_COLLIDE'];  // signs model 
					_object setDir _dir;
				};

			if (SET_MARKER) then { // check poing markers

				_marker = createMarker [format["GreenZone:%1", _name], _center];
				_marker setMarkerType "selector_selectedMission";
				_marker setMarkerText " safe trade zone";
				_marker setMarkerColor "ColorBlack";
				_marker = createMarker [format["GreenZone1:%1", _name], _center];
				_marker setMarkerShapeLocal "ELLIPSE";
				_marker setMarkerTypeLocal  "Empty";
				_marker setMarkerColorLocal "ColorGUER";
				_marker setMarkerBrushLocal "Solid";
				_marker setMarkerSize [_radius, _radius];
			};
		};
	 } forEach _zonecoord ; 
    };                                                                                       
};

STEP №3: Adding sensors in you mission.sqm

	class Sensors
	{
		items=3;
		class Item0
		{
			position[]={13330.902,2.2880001,14528.784};
			a=75;
			b=75;
			angle=-88.355904;
			activationBy="ANY";
			repeating=1;
			interruptable=1;
			type="SWITCH";
			age="UNKNOWN";
			expCond="this && (local player) && (vehicle player in thisList)";
			expActiv="hint parseText format[""<t align='center' color='#d8bc00' size='2.0'>TRADE::</t><br/><t color='#ffffff'>¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯<br/><br/>string # 1. <br/> string # 2 <br/> string # 3 <br/> string # 4 <br/><br/string # 5 ""];player allowDamage false;";
			expDesactiv="hint parseText format[""<t align='center' color='#ff0000' size='2.0'> WARNIGN !</t><br/><t color='#ffffff'>¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯<br/><br/> string # 1 <br/> string # 2 <br/><br/> string # 3<br/>""]; player allowDamage true;";
			class Effects
			{
				soundDet="BattlefieldFirefight"; // play ambient sound
			};
		};
		class Item1
		{
			position[]={6195.0264,88.872307,16855.523};
			a=75;
			b=75;
			angle=-88.355904;
			activationBy="ANY";
			repeating=1;
			interruptable=1;
			type="SWITCH";
			age="UNKNOWN";
			expCond="this && (local player) && (vehicle player in thisList)";
            expActiv="hint parseText format[""<t align='center' color='#d8bc00' size='2.0'>TRADE::</t><br/><t color='#ffffff'>¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯<br/><br/>string # 1. <br/> string # 2 <br/> string # 3 <br/> string # 4 <br/><br/string # 5 ""];player allowDamage false;";
            expDesactiv="hint parseText format[""<t align='center' color='#ff0000' size='2.0'> WARNIGN !</t><br/><t color='#ffffff'>¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯<br/><br/> string # 1 <br/> string # 2 <br/><br/> string # 3<br/>""]; player allowDamage true;";
            class Effects
            {
                soundDet="BattlefieldFirefight"; // play ambient sound
            };
        };
class Item2 { position[]={18474.422,24.701738,14291.331};
a=75;
b=75;
angle=-88.355904;
activationBy="ANY";
repeating=1;
interruptable=1;
type="SWITCH";
age="UNKNOWN";
expCond="this && (local player) && (vehicle player in thisList)";
            expActiv="hint parseText format[""<t align=center' color='#d8bc00' size='2.0'>TRADE::</t><br/><t color='#ffffff'>¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯<br/><br/>string # 1. <br/> string # 2 <br/> string # 3 <br/> string # 4 <br/><br/string # 5 "];player allowDamage false;";
            expDesactiv="hint parseText format[""<t align=center' color='#ff0000' size='2.0'> WARNIGN !</t><br/><t color='#ffffff'>¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯<br/><br/> string # 1 <br/> string # 2 <br/><br/> string # 3<br/>"]; player allowDamage true;";
class Effects
{
soundDet="BattlefieldFirefight";
};
};
};
 
 

 

STEP #4: 

call scripts in you init.sqf 

[] execVM "greenzone\greenzone.sqf";
Link to comment
Share on other sites

Then all you need to do is disable markers in anti hack or add it.

Yes all markers restriction mast set false;

/*  Check Global Markers */ _CGM = false;	/* true or false */	/* you may need to disable this check for A.I. Missions - or whitelist the used Markers in the _aLocalM Array beneath */
/*  Check Local Markers  */ _CLM = false;	/* true or false */
/*  Use _aLocalM array   */ _UMW = false;	/* true or false */	/* use allowed marker array from below (for example AltisLife uses house_ and others in there) or A.I. Missions */

Link to comment
Share on other sites

  • 1 month later...

Where exactly is the epoch_settings.pbo I am looking in the @epochhive/addons folder and there is an a3_epoch_server_settings.pbo with a config.cpp file in it but there is no Altis object in this file... Please point me in the right direction...

Link to comment
Share on other sites

Where exactly is the epoch_settings.pbo I am looking in the @epochhive/addons folder and there is an a3_epoch_server_settings.pbo with a config.cpp file in it but there is no Altis object in this file... Please point me in the right direction...

 

Epoch 0303

Look at a3_epoch_server_settings\configs\maps\Altis.h

Link to comment
Share on other sites

  • 2 weeks later...

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
  • Discord

×
×
  • Create New...