Français Suppression des véhicules en cop

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

Enzo2991

User
2/2/20
120
19
25
1 150
Bienvenue dans ce tutoriel qui vous permettra de supprimer les véhicules en cop
Ce tutoriel fait suite à la demande de R Remox


Pour commence, aller dans le dossier core\vehicle et trouver le fichier fn_vInteractionMenu.sqf
Ajouter un bouton comme ceci(Vous pouvez changer le _btn2 ceci est un exemple) :
Code:
_Btn2 ctrlSetText "Supprimer le véhicule";
_Btn2 buttonSetAction "_dbInfo = life_vInact_curTarget getVariable [""dbInfo"",[]]; if ((count _dbInfo) > 0) then {_dbInfo remoteExec [""Life_fnc_copDeleteVehicle"",2];}; deleteVehicle life_vInact_curTarget; closeDialog 0;";
Ensuite, a la racine de votre mission , trouver le fichier CfgRemoteExec.hpp
et ajouter dans la class Functions cette ligne
Code:
F(life_fnc_copDeleteVehicle,SERVER)
Apres, a la racine de votre mission , trouver le fichier Function.hpp
trouver cette ligne
Code:
class wantedGrab {};
rajouter en dessous
Code:
class copDeleteVehicle {};
Enfin , aller dans votre dossier core\cop et creer un fichier nommé fn_copDeleteVehicle.sqf
et ajouter dedans
Code:
/*
    Author: Maxence for The-Programmer Forum

    Description:
    Put alive='0' to delete vehicle in database
*/
_dbInfo = _this;
if ((count _dbInfo) == 0) exitWith {};

_uid = (_dbInfo select 0);
_plate = (_dbInfo select 1);

_query = format ["UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'",_uid,_plate];
[_query,1] call DB_fnc_asyncCall;
Si vous souhaitez enlever l'assurance du véhicule en plus utilisé celui-ci

Code:
/*
    Author: Maxence for The-Programmer Forum

    Description:
    Put alive='0' to delete vehicle in database
*/
_dbInfo = _this;
if ((count _dbInfo) == 0) exitWith {};

_uid = (_dbInfo select 0);
_plate = (_dbInfo select 1);

_query = format ["UPDATE vehicles SET alive='0', insure='0' WHERE pid='%1' AND plate='%2'",_uid,_plate];
[_query,1] call DB_fnc_asyncCall;


Cordialement,
Forum Moderator Enzo, avec la collaboration de R Remox
 
Dernière édition par un modérateur:
Non il ne permet pas de supprimer le véhicule de la bdd mais il permet de l'enlever pour les joueurs
 
Bonjour j'ai enté de mettre la focntion avec radial men u et le véhicule ne disparait pas
Code:
        class button_16 {
            displayName = "Détruire véhicule";
            buttonAction = "_dbInfo = life_vInact_curTarget getVariable [""dbInfo"",[]]; if ((count _dbInfo) > 0) then {_dbInfo remoteExec [""life_fnc_copDeleteVehicle"",2];}; deleteVehicle life_vInact_curTarget; closeDialog 0;";
            buttonToolTip = "";
            side[] = {west};
            disable = false;
            condition = "";
        };
 
Salut Teravince Teravince ,

Essaye comme ceci :
C++:
buttonAction = "_dbInfo = cursorObject getVariable [""dbInfo"",[]]; if ((count _dbInfo) > 0) then {_dbInfo remoteExec [""Life_fnc_copDeleteVehicle"",2];}; deleteVehicle cursorObject; closeDialog 0;";
 
  • Like
Les réactions: Teravince
bonjour j'utilise Ace interaction et cela ne marche pas, je pense que buttonAction est pas bon pour ace vous avez une idée de quoi mètre?
 
Oui, au lieu de mettre ça :
Code:
_Btn2 ctrlSetText "Supprimer le véhicule";
_Btn2 buttonSetAction "_dbInfo = life_vInact_curTarget getVariable [""dbInfo"",[]]; if ((count _dbInfo) > 0) then {_dbInfo remoteExec [""Life_fnc_copDeleteVehicle"",2];}; deleteVehicle life_vInact_curTarget; closeDialog 0;";
Tu peux mettre la même chose, mais avec une condition :
Code:
if ((call life_adminlevel) >= 1) then {
    _Btn2 ctrlSetText "Supprimer le véhicule";
    _Btn2 buttonSetAction "_dbInfo = life_vInact_curTarget getVariable [""dbInfo"",[]]; if ((count _dbInfo) > 0) then {_dbInfo remoteExec [""Life_fnc_copDeleteVehicle"",2];}; deleteVehicle life_vInact_curTarget; closeDialog 0;";
};
 
Pour ajouter une progress bar lors de la suppression du véhicule, une solution a été donnée ici :