Jump to content
  • 0

Uniforms and Vests get Bugged


arc7r7

Question

For awhile I have players telling me sometimes when logging in their Uniforms and vests are bugged out. They do not display and have lost the contents. I understand this to be a bug with arma 3, but has been happening for a long time now with no fix from bohemia. I have found this script on the exile forum but have no idea how to get it woking on an epoch server. I have also heard infistar has a fix for this in the exile version but not the epoch version. Does anyone know how to fix this?  or do we just keep waiting on BI to fix this. Below is the script I found on the exile forum, maybe someone knows how to adapt it to epoch or write something similar.

Spoiler

//From the fn_preinit.sqf

JR_containerBug_check =
{
    if (isNil "ExileClientLoadedIn" || {!ExileClientLoadedIn}) exitWith {};

    params ["_uniform", "_vest"];

    if !(uniform player isEqualTo _uniform) then
    {
        _uniform = uniform player;
        _uniformGear = uniformContainer player call ExileClient_util_containerCargo_serialize;
        removeUniform player;
        player forceAddUniform _uniform;
        [uniformContainer player, _uniformGear] call ExileClient_util_containerCargo_deserialize;
    };

    if !(vest player isEqualTo _vest) then
    {
        _vest = vest player;
        _vestGear = vestContainer player call ExileClient_util_containerCargo_serialize;
        removeVest player;
        player addVest _vest;
        [vestContainer player, _vestGear] call ExileClient_util_containerCargo_deserialize;
    };
};

publicVariable "JR_containerBug_check";

JR_containerBug_thread =
{
    {
        if !(_x getVariable ["ExileDatabaseID", 0] isEqualTo 0) then
        {
            if (alive _x) then
            {
                if !(getPlayerUID _x isEqualTo "") then
                {
                    [uniform _x, vest _x] remoteExecCall ["JR_containerBug_check", owner _x];
                };
            };
        };
    }
    forEach allPlayers;
};

[] spawn
{
    waitUntil {!isNil "ExileServer_system_thread_addTask"};
    {
        [30, JR_containerBug_thread, [], true] call ExileServer_system_thread_addTask;
    }
    remoteExecCall ["call", 2];
};

Spoiler

//From the config.cpp

class CfgPatches
{
    class ContainerBug
    {
        units[] = {};
        weapons[] = {};
        requiredVersion = 0;
        requiredAddons[] = {};
    };
};

class CfgFunctions
{
    class ContainerBug
    {
        class Main
        {
            file = "container_bug";
            class preInit
            {
                preInit = 1;
            };
        };
    };
};

 

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

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