TroyT

Red Zones? Unsafe - safezone

13 posts in this topic

I'd like to find a way to make a trader zone "unsafe" but still have vehicles unlocked if parked there.  Is there a way to accomplish this?   I'd make these into RedZones. Or even have them deleted maybe.

Share this post


Link to post
Share on other sites
Advertisement

I don't want safezones.  I want no parking zones.  I'd like to define an area where any vehicles parked in it will be unlocked at a restart.  I just don't want that area being "safe".

Share this post


Link to post
Share on other sites

Or find the part of the script that put players in god mode and disable it.  Time to start digging I guess. 

 

Share this post


Link to post
Share on other sites

Shit, that was easier than I expected.

Use an override for ExileClient_object_player_event_onEnterSafezone.sqf, changing lines 16 & 24 to true:

Spoiler

/**
 * 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["_vehicle","_attachedObjects","_position", "_vehicles"];

if (ExilePlayerInSafezone) exitWith { false };
ExilePlayerInSafezone = true;
if (alive player) then
{
    player allowDamage true; //default - false
    player removeAllEventHandlers "HandleDamage";
};
_vehicle = vehicle player;
if !(_vehicle isEqualTo player) then 
{
    if (local _vehicle) then 
    {
        _vehicle allowDamage true; //default - false
    };
    _attachedObjects = attachedObjects _vehicle;
    if !(_attachedObjects isEqualTo []) then 
    {
        _position = getPosATL _vehicle;
        {
            if ((_x isKindOf "PipeBombBase")) then
            {
                detach _x;
                _x setPosATL [(_position select 0) + random 2, (_position select 1) + random 2, 0.05];
                _x setDir (random 260);
            };
        }
        forEach _attachedObjects;
    };
    ExileClientSafeZoneVehicle = _vehicle;
    ExileClientSafeZoneVehicleFiredEventHandler = _vehicle addEventHandler ["Fired", {_this call ExileClient_object_player_event_onFiredSafeZoneVehicle}];
}
else
{
    _attachedObjects = attachedObjects _vehicle;
    if !(_attachedObjects isEqualTo []) then 
    {
        _position = getPosATL _vehicle;
        {
            if ((_x isKindOf "PipeBombBase")) then
            {
                detach _x;
                _x setPosATL [(_position select 0) + random 2, (_position select 1) + random 2, 0.05];
                _x setDir (random 260);
            };
        }
        forEach _attachedObjects;
    };
};
ExileClientSafeZoneESPEventHandler = addMissionEventHandler ["Draw3D", {20 call ExileClient_gui_safezone_safeESP}];
["SafezoneEnter"] call ExileClient_gui_notification_event_addNotification;
ExileClientSafeZoneUpdateThreadHandle = [1, ExileClient_object_player_thread_safeZone, [], true] call ExileClient_system_thread_addtask;
true
 

 

All other properties remain.

1 person likes this

Share this post


Link to post
Share on other sites

Don't forget, this will allow players to take damage but not deal it out as bullets are deleted in the safezone.

Share this post


Link to post
Share on other sites

Damn, I knew that was too easy. Do you know if there's a way of overriding that? 

Share this post


Link to post
Share on other sites
30 minutes ago, TroyT said:

Damn, I knew that was too easy. Do you know if there's a way of overriding that? 

You'd have to remove/comment out the other safezone related features in any related files.

Also, as a side note, is that the file you're using ^^^ ? It's so out of date it still has the OLD OLD OLD Exile Notifications being called in it.

Share this post


Link to post
Share on other sites

It's an override from igiLoad.  It didn't occur to me to merge them after the update(s).  

This is the new unmodified one:

Spoiler

/**
 * ExileClient_object_player_event_onEnterSafezone
 *
 * 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["_vehicle", "_attachedObjects", "_position"]
if (ExilePlayerInSafezone) exitWith { false };
if !(alive player) exitWith { false };
ExilePlayerInSafezone = true
player allowDamage false;
player removeAllEventHandlers "HandleDamage"
_vehicle = vehicle player;
if !(_vehicle isEqualTo player) then 
{
    if (local _vehicle) then 
    {
        _vehicle allowDamage false;
    };
    _attachedObjects = attachedObjects _vehicle;
    if !(_attachedObjects isEqualTo []) then 
    {
        _position = getPosATL _vehicle;
        
            if ((typeOf _x) in ["DemoCharge_Remote_Mag", "SatchelCharge_Remote_Mag"]) then 
            {
                detach _x;
                _x setPosATL [(_position select 0) + random 2, (_position select 1) + random 2, 0.05];
                _x setDir (random 360);
            };
        }
        forEach _attachedObjects;
    };
    ExileClientSafeZoneVehicle = _vehicle;
    ExileClientSafeZoneVehicleFiredEventHandler = _vehicle addEventHandler ["Fired", {_this call ExileClient_object_player_event_onFiredSafeZoneVehicle}]
};
ExileClientSafeZoneESPEventHandler = addMissionEventHandler ["Draw3D", {20 call ExileClient_gui_safezone_safeESP}]
["Welcome! God mode enabled."] spawn ExileClient_gui_baguette_show;
ExileClientSafeZoneUpdateThreadHandle = [1, ExileClient_object_player_thread_safeZone, [], true] call ExileClient_system_thread_addtask;
true

 

 

And this is what I have:

Spoiler

/**
 * 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["_vehicle","_attachedObjects","_position", "_vehicles"];

if (ExilePlayerInSafezone) exitWith { false };
ExilePlayerInSafezone = true;
if (alive player) then
{
    player allowDamage false;
    player removeAllEventHandlers "HandleDamage";
};
_vehicle = vehicle player;
if !(_vehicle isEqualTo player) then 
{
    if (local _vehicle) then 
    {
        _vehicle allowDamage false;
    };
    _attachedObjects = attachedObjects _vehicle;
    if !(_attachedObjects isEqualTo []) then 
    {
        _position = getPosATL _vehicle;
        {
            if ((_x isKindOf "PipeBombBase")) then
            {
                detach _x;
                _x setPosATL [(_position select 0) + random 2, (_position select 1) + random 2, 0.05];
                _x setDir (random 260);
            };
        }
        forEach _attachedObjects;
    };
    ExileClientSafeZoneVehicle = _vehicle;
    ExileClientSafeZoneVehicleFiredEventHandler = _vehicle addEventHandler ["Fired", {_this call ExileClient_object_player_event_onFiredSafeZoneVehicle}];
}
else
{
    _attachedObjects = attachedObjects _vehicle;
    if !(_attachedObjects isEqualTo []) then 
    {
        _position = getPosATL _vehicle;
        {
            if ((_x isKindOf "PipeBombBase")) then
            {
                detach _x;
                _x setPosATL [(_position select 0) + random 2, (_position select 1) + random 2, 0.05];
                _x setDir (random 260);
            };
        }
        forEach _attachedObjects;
    };
};
ExileClientSafeZoneESPEventHandler = addMissionEventHandler ["Draw3D", {20 call ExileClient_gui_safezone_safeESP}];
["SafezoneEnter"] call ExileClient_gui_notification_event_addNotification;
ExileClientSafeZoneUpdateThreadHandle = [1, ExileClient_object_player_thread_safeZone, [], true] call ExileClient_system_thread_addtask;
true
 

 

I'm trying to merge them but keep getting errors. What I don't get is that if I place the original, unmodified file in my overrides folder in my mission file I still get errors:

Spoiler

11:38:57 Error in expression <icle", "_attachedObjects", "_position"]

if (ExilePlayerInSafezone) exitWith { fa>

11:38:57   Error position: <if (ExilePlayerInSafezone) exitWith { fa>

11:38:57   Error Missing ;

11:38:57 File mpmissions\__cur_mp.Malden\ExileClient\ExileClient_object_player_event_onEnterSafezone.sqf, line 13

11:38:57 Error in expression <icle", "_attachedObjects", "_position"]

if (ExilePlayerInSafezone) exitWith { fa>

11:38:57   Error position: <if (ExilePlayerInSafezone) exitWith { fa>

11:38:57   Error Missing ;

11:38:57 File mpmissions\__cur_mp.Malden\ExileClient\ExileClient_object_player_event_onEnterSafezone.sqf, line 13

11:38:58 "TCAGame/BIS_fnc_log: [preInit] ExileClient_fnc_preInit (228.996 ms)"

11:38:58 Wrong init state
 

 

Share this post


Link to post
Share on other sites
Advertisement

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

  • Recently Browsing   0 members

    No registered users viewing this page.