Français [Duty System] Sauvegarde des positions West et Independent

  • Auteur de la discussion Auteur de la discussion Abdel
  • Date de début Date de début

Abdel

User
29/12/19
57
2
300
Ce tutoriel permet de sauvegarder la positions des joueurs en service police et médecin après une déconnexion ou un reboot.

Dans votre @life_server\addons\life_server\Functions\Systems\fn_clientDisconnect.sqf, trouvez cette ligne :

Code:
if (life_save_civilian_position && _side isEqualTo civilian) then {

remplacez-là par :

Code:
if (life_save_civilian_position) then {

Dans votre mission\core\fn_initCop.sqf, ajoutez à la fin :

Code:
if (life_is_alive) then {
    player setVehiclePosition [life_civ_position, [], 0, "CAN_COLLIDE"];
};

Modifier comme suivant ou effacer cette ligne pour éviter d'avoir le spawn à votre connexion !
Code:
//[] call life_fnc_spawnMenu;

Dans votre mission\core\fn_initMedic.sqf, ajoutez à la fin :
Code:
 if (life_is_alive) then {
    player setVehiclePosition [life_civ_position, [], 0, "CAN_COLLIDE"];
};

Modifier comme suivant ou effacer cette ligne pour éviter d'avoir le spawn à votre connexion !
Code:
//[] call life_fnc_spawnMenu;
 
Dernière édition par un modérateur:
  • Like
  • Love
Les réactions: Teravince et IceEagle132
oui voici les 3 modifier

Code:
#include "\life_server\script_macros.hpp"
/*
    File: fn_clientDisconnect.sqf
    Author: Bryan "Tonic" Boardwine

    Description:
    When a client disconnects this will remove their corpse and
    clean up their storage boxes in their house. Also, saves player infos & position.
*/
params [
    ["_unit",objNull,[objNull]],
    "",
    ["_uid","",[""]]
];
if (isNull _unit) exitWith {};

//Save civilian position
if (life_save_civilian_position) then {
    if (isNil "HC_UID" || {!(_uid isEqualTo HC_UID)}) then {
        private _position = getPosATL _unit;
        if ((getMarkerPos "respawn_civilian" distance _position) > 300) then {
            private _alive = alive _unit;
            if (life_HC_isActive) then {[_uid,civilian,_alive,4,_position] remoteExec ["HC_fnc_updatePartial",HC_Life]} else {[_uid,civilian,_alive,4,_position] spawn DB_fnc_updatePartial};
        };
    };
};

if !(alive _unit) then {
    diag_log format["%1 disconnected while dead.",_uid];
} else {
    {
        _x params [
            ["_corpseUID","",[""]],
            ["_corpse",objNull,[objNull]]
        ];
        if (_corpseUID isEqualTo _uid) exitWith {
            if (isNull _corpse) exitWith {server_corpses deleteAt _forEachIndex};
            [_corpse] remoteExecCall ["life_fnc_corpse",0];
            diag_log format["%1 disconnected while dead.",_corpseUID];
            server_corpses deleteAt _forEachIndex;
        };
    } forEach server_corpses;
};

private _containers = nearestObjects[_unit,["WeaponHolderSimulated"],5];
{deleteVehicle _x} forEach _containers;
deleteVehicle _unit;

[_uid] spawn max_keytransfer_fnc_houseCleanContainers;


Code:
#include "..\script_macros.hpp"
/*
    File: fn_initCop.sqf
    Author: Bryan "Tonic" Boardwine

    Description:
    Cop Initialization file.
*/
waitUntil {!(isNull (findDisplay 46))};

if (life_blacklisted) exitWith {
    ["Blacklisted",false,true] call BIS_fnc_endMission;
    sleep 30;
};

if (!(str(player) in ["cop_1","cop_2","cop_3","cop_4"])) then {
    if ((FETCH_CONST(life_coplevel) isEqualTo 0) && (FETCH_CONST(life_adminlevel) isEqualTo 0)) then {
        ["NotWhitelisted",false,true] call BIS_fnc_endMission;
        sleep 35;
    };
};


player setVariable ["rank",(FETCH_CONST(life_coplevel)),true];
_spCfg = [playerSide] call life_fnc_spawnPointCfg;

if ((count _spCfg) isEqualTo 1) then {
    life_spawn_point = (_spCfg select 0);
    [] call life_fnc_spawnConfirm;
} else {
    
};
[] call life_fnc_initPayChecks;
if (life_is_alive) then {
    player setVehiclePosition [life_civ_position, [], 0, "CAN_COLLIDE"];
};


Code:
#include "..\script_macros.hpp"
/*
    File: fn_initMedic.sqf
    Author: Bryan "Tonic" Boardwine

    Description:
    Initializes the medic..
*/
waitUntil {!(isNull (findDisplay 46))};

if ((FETCH_CONST(life_medicLevel)) < 1 && (FETCH_CONST(life_adminlevel) isEqualTo 0)) exitWith {
    ["Notwhitelisted",false,true] call BIS_fnc_endMission;
    sleep 35;
};

_spCfg = [playerSide] call life_fnc_spawnPointCfg;

if ((count _spCfg) isEqualTo 1) then {
    life_spawn_point = (_spCfg select 0);
    [] call life_fnc_spawnConfirm;
} else {
  
};
[] call life_fnc_initPayChecks;
 if (life_is_alive) then {
    player setVehiclePosition [life_civ_position, [], 0, "CAN_COLLIDE"];
};
 
Tu peux tester de mettre directement :
Code:
player setVehiclePosition [life_civ_position, [], 0, "CAN_COLLIDE"];
au lieu de :
Code:
if (life_is_alive) then {
    player setVehiclePosition [life_civ_position, [], 0, "CAN_COLLIDE"];
};
Dans les 2 fichiers init
 
je viens d'essayé mais non quand je reboot je reviens j'ai le message si je veut reprendre mon service je fait oui et respawn a la borne de prise de service