Ledger Nano X - The secure hardware wallet
SHARE
TWEET

nb_menuperso

a guest Mar 4th, 2019 363 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local Keys = {
  2.     ["ESC"] = 322, ["F1"] = 288, ["F2"] = 289, ["F3"] = 170, ["F5"] = 166, ["F6"] = 167, ["F7"] = 168, ["F8"] = 169, ["F9"] = 56, ["F10"] = 57,
  3.     ["~"] = 243, ["1"] = 157, ["2"] = 158, ["3"] = 160, ["4"] = 164, ["5"] = 165, ["6"] = 159, ["7"] = 161, ["8"] = 162, ["9"] = 163, ["-"] = 84, ["="] = 83, ["BACKSPACE"] = 177,
  4.     ["TAB"] = 37, ["Q"] = 44, ["W"] = 32, ["E"] = 38, ["R"] = 45, ["T"] = 245, ["Y"] = 246, ["U"] = 303, ["P"] = 199, ["["] = 39, ["]"] = 40, ["ENTER"] = 18,
  5.     ["CAPS"] = 137, ["A"] = 34, ["S"] = 8, ["D"] = 9, ["F"] = 23, ["G"] = 47, ["H"] = 74, ["K"] = 311, ["L"] = 182,
  6.     ["LEFTSHIFT"] = 21, ["Z"] = 20, ["X"] = 73, ["C"] = 26, ["V"] = 0, ["B"] = 29, ["N"] = 249, ["M"] = 244, [","] = 82, ["."] = 81,
  7.     ["LEFTCTRL"] = 36, ["LEFTALT"] = 19, ["SPACE"] = 22, ["RIGHTCTRL"] = 70,
  8.     ["HOME"] = 213, ["PAGEUP"] = 10, ["PAGEDOWN"] = 11, ["DELETE"] = 178,
  9.     ["LEFT"] = 174, ["RIGHT"] = 175, ["TOP"] = 27, ["DOWN"] = 173,
  10.     ["NENTER"] = 201, ["N4"] = 108, ["N5"] = 60, ["N6"] = 107, ["N+"] = 96, ["N-"] = 97, ["N7"] = 117, ["N8"] = 61, ["N9"] = 118
  11. }
  12.  
  13. ESX = nil
  14. local GUI                       = {}
  15. GUI.Time                        = 0
  16. local PlayerData              = {}
  17.  
  18. RegisterNetEvent('esx:playerLoaded')
  19. AddEventHandler('esx:playerLoaded', function(xPlayer)
  20.     PlayerData = xPlayer
  21. end)
  22.  
  23. RegisterNetEvent('esx:setJob')
  24. AddEventHandler('esx:setJob', function(job)
  25.   PlayerData.job = job
  26. end)
  27.  
  28. Citizen.CreateThread(function()
  29.     while ESX == nil do
  30.         TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
  31.         Citizen.Wait(0)
  32.     end
  33. end)
  34.  
  35. --Notification joueur
  36. function Notify(text)
  37.     SetNotificationTextEntry('STRING')
  38.     AddTextComponentString(text)
  39.     DrawNotification(false, true)
  40. end
  41.  
  42. --Message text joueur
  43. function Text(text)
  44.         SetTextColour(186, 186, 186, 255)
  45.         SetTextFont(0)
  46.         SetTextScale(0.378, 0.378)
  47.         SetTextWrap(0.0, 1.0)
  48.         SetTextCentre(false)
  49.         SetTextDropshadow(0, 0, 0, 0, 255)
  50.         SetTextEdge(1, 0, 0, 0, 205)
  51.         SetTextEntry("STRING")
  52.         AddTextComponentString(text)
  53.         DrawText(0.017, 0.977)
  54. end
  55.  
  56. function OpenPersonnelMenu()
  57.    
  58.     ESX.UI.Menu.CloseAll()
  59.    
  60.     ESX.TriggerServerCallback('NB:getUsergroup', function(group)
  61.         playergroup = group
  62.        
  63.         local elements = {}
  64.        
  65.         table.insert(elements, {label = 'Me concernant',        value = 'menuperso_moi'})
  66.         table.insert(elements, {label = 'Actions',                  value = 'menuperso_actions'})
  67.         if (IsInVehicle()) then
  68.             local vehicle = GetVehiclePedIsIn( GetPlayerPed(-1), false )
  69.             if ( GetPedInVehicleSeat( vehicle, -1 ) == GetPlayerPed(-1) ) then
  70.                 table.insert(elements, {label = 'Véhicule',                    value = 'menuperso_vehicule'})
  71.             end
  72.         end
  73.         table.insert(elements, {label = 'GPS Rapide',           value = 'menuperso_gpsrapide'})
  74.         if PlayerData.job.grade_name == 'boss' then
  75.             table.insert(elements, {label = 'Gestion d\'entreprise',            value = 'menuperso_grade'})
  76.         end
  77.                
  78.         if playergroup == 'mod' or playergroup == 'admin' or playergroup == 'superadmin' or playergroup == 'owner' then
  79.             table.insert(elements, {label = 'Modération',              value = 'menuperso_modo'})
  80.         end
  81.        
  82.         ESX.UI.Menu.Open(
  83.             'default', GetCurrentResourceName(), 'menu_perso',
  84.             {
  85.                 title    = 'Menu Personnel',
  86.                 align    = 'top-left',
  87.                 elements = elements
  88.             },
  89.             function(data, menu)
  90.    
  91.                 local elements = {}
  92.                
  93.                 if playergroup == 'mod' then
  94.                     table.insert(elements, {label = 'TP sur joueur',                                value = 'menuperso_modo_tp_toplayer'})
  95.                     table.insert(elements, {label = 'TP joueur sur moi',                        value = 'menuperso_modo_tp_playertome'})
  96.                     --table.insert(elements, {label = 'TP sur coordonées [WIP]',                       value = 'menuperso_modo_tp_pos'})
  97.                     --table.insert(elements, {label = 'NoClip',                                     value = 'menuperso_modo_no_clip'})
  98.                     --table.insert(elements, {label = 'Mode invincible',                                    value = 'menuperso_modo_godmode'})
  99.                     --table.insert(elements, {label = 'Mode fantôme',                              value = 'menuperso_modo_mode_fantome'})
  100.                     --table.insert(elements, {label = 'Réparer véhicule',                         value = 'menuperso_modo_vehicle_repair'})
  101.                     --table.insert(elements, {label = 'Faire apparaître un véhicule',                         value = 'menuperso_modo_vehicle_spawn'})
  102.                     --table.insert(elements, {label = 'Retourner le véhicule',                             value = 'menuperso_modo_vehicle_flip'})
  103.                     --table.insert(elements, {label = 'S\'octroyer de l\'argent',                       value = 'menuperso_modo_give_money'})
  104.                     --table.insert(elements, {label = 'S\'octroyer de l\'argent (banque)',                      value = 'menuperso_modo_give_moneybank'})
  105.                     --table.insert(elements, {label = 'S\'octroyer de l\'argent sale',                      value = 'menuperso_modo_give_moneydirty'})
  106.                     table.insert(elements, {label = 'Afficher/Cacher coordonnées',     value = 'menuperso_modo_showcoord'})
  107.                     table.insert(elements, {label = 'Afficher/Cacher noms des joueurs', value = 'menuperso_modo_showname'})
  108.                     --table.insert(elements, {label = 'TP sur le marqueur',                         value = 'menuperso_modo_tp_marcker'})
  109.                     --table.insert(elements, {label = 'Soigner la personne',                    value = 'menuperso_modo_heal_player'})
  110.                     --table.insert(elements, {label = 'Mode spectateur [WIP]',                      value = 'menuperso_modo_spec_player'})
  111.                     --table.insert(elements, {label = 'Changer l\'apparence',                                   value = 'menuperso_modo_changer_skin'})
  112.                     --table.insert(elements, {label = 'Sauvegarder l\'apparence',                                   value = 'menuperso_modo_save_skin'})
  113.                 end
  114.            
  115.                 if playergroup == 'admin' then
  116.                     table.insert(elements, {label = 'TP sur joueur',                                value = 'menuperso_modo_tp_toplayer'})
  117.                     table.insert(elements, {label = 'TP joueur sur moi',                        value = 'menuperso_modo_tp_playertome'})
  118.                     --table.insert(elements, {label = 'TP sur coordonées [WIP]',                       value = 'menuperso_modo_tp_pos'})
  119.                     table.insert(elements, {label = 'NoClip',                                       value = 'menuperso_modo_no_clip'})
  120.                     table.insert(elements, {label = 'Mode invincible',                                  value = 'menuperso_modo_godmode'})
  121.                     table.insert(elements, {label = 'Mode fantôme',                                value = 'menuperso_modo_mode_fantome'})
  122.                     table.insert(elements, {label = 'Réparer véhicule',                           value = 'menuperso_modo_vehicle_repair'})
  123.                     table.insert(elements, {label = 'Faire apparaître un véhicule',                           value = 'menuperso_modo_vehicle_spawn'})
  124.                     table.insert(elements, {label = 'Retourner le véhicule',                               value = 'menuperso_modo_vehicle_flip'})
  125.                     table.insert(elements, {label = 'S\'octroyer de l\'argent',                     value = 'menuperso_modo_give_money'})
  126.                     table.insert(elements, {label = 'S\'octroyer de l\'argent (banque)',                        value = 'menuperso_modo_give_moneybank'})
  127.                     table.insert(elements, {label = 'S\'octroyer de l\'argent sale',                        value = 'menuperso_modo_give_moneydirty'})
  128.                     table.insert(elements, {label = 'Afficher/Cacher coordonnées',     value = 'menuperso_modo_showcoord'})
  129.                     table.insert(elements, {label = 'Afficher/Cacher noms des joueurs', value = 'menuperso_modo_showname'})
  130.                     table.insert(elements, {label = 'TP sur le marqueur',                           value = 'menuperso_modo_tp_marcker'})
  131.                     table.insert(elements, {label = 'Soigner la personne',                  value = 'menuperso_modo_heal_player'})
  132.                     --table.insert(elements, {label = 'Mode spectateur [WIP]',                      value = 'menuperso_modo_spec_player'})
  133.                     table.insert(elements, {label = 'Changer l\'apparence',                                 value = 'menuperso_modo_changer_skin'})
  134.                     table.insert(elements, {label = 'Sauvegarder l\'apparence',                                 value = 'menuperso_modo_save_skin'})
  135.                 end
  136.            
  137.                 if playergroup == 'superadmin' or playergroup == 'owner' then
  138.                     table.insert(elements, {label = 'TP sur joueur',                                value = 'menuperso_modo_tp_toplayer'})
  139.                     table.insert(elements, {label = 'TP joueur sur moi',                        value = 'menuperso_modo_tp_playertome'})
  140.                     table.insert(elements, {label = 'TP sur coordonées [WIP]',                     value = 'menuperso_modo_tp_pos'})
  141.                     table.insert(elements, {label = 'NoClip',                                       value = 'menuperso_modo_no_clip'})
  142.                     table.insert(elements, {label = 'Mode invincible',                                  value = 'menuperso_modo_godmode'})
  143.                     table.insert(elements, {label = 'Mode fantôme',                                value = 'menuperso_modo_mode_fantome'})
  144.                     table.insert(elements, {label = 'Réparer véhicule',                           value = 'menuperso_modo_vehicle_repair'})
  145.                     table.insert(elements, {label = 'Faire apparaître un véhicule',                           value = 'menuperso_modo_vehicle_spawn'})
  146.                     table.insert(elements, {label = 'Retourner le véhicule',                               value = 'menuperso_modo_vehicle_flip'})
  147.                     table.insert(elements, {label = 'S\'octroyer de l\'argent',                     value = 'menuperso_modo_give_money'})
  148.                     table.insert(elements, {label = 'S\'octroyer de l\'argent (banque)',                        value = 'menuperso_modo_give_moneybank'})
  149.                     table.insert(elements, {label = 'S\'octroyer de l\'argent sale',                        value = 'menuperso_modo_give_moneydirty'})
  150.                     table.insert(elements, {label = 'Afficher/Cacher coordonnées',     value = 'menuperso_modo_showcoord'})
  151.                     table.insert(elements, {label = 'Afficher/Cacher noms des joueurs', value = 'menuperso_modo_showname'})
  152.                     table.insert(elements, {label = 'TP sur le marqueur',                           value = 'menuperso_modo_tp_marcker'})
  153.                     table.insert(elements, {label = 'Soigner la personne',                  value = 'menuperso_modo_heal_player'})
  154.                     table.insert(elements, {label = 'Mode spectateur [WIP]',                        value = 'menuperso_modo_spec_player'})
  155.                     table.insert(elements, {label = 'Changer l\'apparence',                                 value = 'menuperso_modo_changer_skin'})
  156.                     table.insert(elements, {label = 'Sauvegarder l\'apparence',                                 value = 'menuperso_modo_save_skin'})
  157.                 end
  158.  
  159.                 if data.current.value == 'menuperso_modo' then
  160.                     ESX.UI.Menu.Open(
  161.                         'default', GetCurrentResourceName(), 'menuperso_modo',
  162.                         {
  163.                             title    = 'Modération',
  164.                             align    = 'top-left',
  165.                             elements = elements
  166.                         },
  167.                         function(data2, menu2)
  168.  
  169.                             if data2.current.value == 'menuperso_modo_tp_toplayer' then
  170.                                 admin_tp_toplayer()
  171.                             end
  172.  
  173.                             if data2.current.value == 'menuperso_modo_tp_playertome' then
  174.                                 admin_tp_playertome()
  175.                             end
  176.  
  177.                             if data2.current.value == 'menuperso_modo_tp_pos' then
  178.                                 admin_tp_pos()
  179.                             end
  180.  
  181.                             if data2.current.value == 'menuperso_modo_no_clip' then
  182.                                 admin_no_clip()
  183.                             end
  184.  
  185.                             if data2.current.value == 'menuperso_modo_godmode' then
  186.                                 admin_godmode()
  187.                             end
  188.  
  189.                             if data2.current.value == 'menuperso_modo_mode_fantome' then
  190.                                 admin_mode_fantome()
  191.                             end
  192.  
  193.                             if data2.current.value == 'menuperso_modo_vehicle_repair' then
  194.                                 admin_vehicle_repair()
  195.                             end
  196.  
  197.                             if data2.current.value == 'menuperso_modo_vehicle_spawn' then
  198.                                 admin_vehicle_spawn()
  199.                             end
  200.  
  201.                             if data2.current.value == 'menuperso_modo_vehicle_flip' then
  202.                                 admin_vehicle_flip()
  203.                             end
  204.  
  205.                             if data2.current.value == 'menuperso_modo_give_money' then
  206.                                 admin_give_money()
  207.                             end
  208.  
  209.                             if data2.current.value == 'menuperso_modo_give_moneybank' then
  210.                                 admin_give_bank()
  211.                             end
  212.  
  213.                             if data2.current.value == 'menuperso_modo_give_moneydirty' then
  214.                                 admin_give_dirty()
  215.                             end
  216.  
  217.                             if data2.current.value == 'menuperso_modo_showcoord' then
  218.                                 modo_showcoord()
  219.                             end
  220.  
  221.                             if data2.current.value == 'menuperso_modo_showname' then
  222.                                 modo_showname()
  223.                             end
  224.  
  225.                             if data2.current.value == 'menuperso_modo_tp_marcker' then
  226.                                 admin_tp_marcker()
  227.                             end
  228.  
  229.                             if data2.current.value == 'menuperso_modo_heal_player' then
  230.                                 admin_heal_player()
  231.                             end
  232.  
  233.                             if data2.current.value == 'menuperso_modo_spec_player' then
  234.                                 admin_spec_player()
  235.                             end
  236.  
  237.                             if data2.current.value == 'menuperso_modo_changer_skin' then
  238.                                 changer_skin()
  239.                             end
  240.                            
  241.                         end,
  242.                         function(data2, menu2)
  243.                             menu2.close()
  244.                         end
  245.                     )
  246.                 end
  247.                
  248.                 if data.current.value == 'menuperso_vehicule' then
  249.                     OpenVehiculeMenu()
  250.                 end
  251.  
  252.                 if data.current.value == 'menuperso_moi' then
  253.    
  254.                     local elements = {}
  255.                    
  256.                     table.insert(elements, {label = 'Téléphone',                              value = 'menuperso_moi_telephone'})
  257.                     table.insert(elements, {label = 'Inventaire',                               value = 'menuperso_moi_inventaire'})
  258.                     table.insert(elements, {label = 'Mes factures',                         value = 'menuperso_moi_factures'})
  259.                        
  260.                     ESX.UI.Menu.Open(
  261.                        
  262.                         'default', GetCurrentResourceName(), 'menuperso_moi',
  263.                         {
  264.                             title    = 'Me concernant',
  265.                             align    = 'top-left',
  266.                             elements = elements
  267.                         },
  268.                         function(data2, menu2)
  269.  
  270.                             if data2.current.value == 'menuperso_moi_telephone' then
  271.                                 openTelephone()
  272.                             end
  273.  
  274.                             if data2.current.value == 'menuperso_moi_inventaire' then
  275.                                 openInventaire()
  276.                             end
  277.  
  278.                             if data2.current.value == 'menuperso_moi_factures' then
  279.                                 openFacture()
  280.                             end
  281.  
  282.                            
  283.                         end,
  284.                         function(data2, menu2)
  285.                             menu2.close()
  286.                         end
  287.                     )
  288.                 end
  289.  
  290.                 if data.current.value == 'menuperso_actions' then
  291.  
  292.                     ESX.UI.Menu.Open(
  293.                         'default', GetCurrentResourceName(), 'menuperso_actions',
  294.                         {
  295.                             title    = 'Actions',
  296.                             align    = 'top-left',
  297.                             elements = {
  298.                                 {label = 'Annuler l\'animation',  value = 'menuperso_actions__annuler'},
  299.                                 --{label = 'Faire ses besoins [WIP]',     value = 'menuperso_actions_pipi'},
  300.                                 {label = 'Animations de salutations',  value = 'menuperso_actions_Salute'},
  301.                                 {label = 'Animations  d\'humeurs',  value = 'menuperso_actions_Humor'},
  302.                                 {label = 'Animations de travail',  value = 'menuperso_actions_Travail'},
  303.                                 {label = 'Animations festives',  value = 'menuperso_actions_Festives'},
  304.                                 {label = 'Animations diverses',  value = 'menuperso_actions_Others'},
  305.                             },
  306.                         },
  307.                         function(data2, menu2)
  308.  
  309.                             if data2.current.value == 'menuperso_actions__annuler' then
  310.                                 local ped = GetPlayerPed(-1);
  311.                                 if ped then
  312.                                     ClearPedTasks(ped);
  313.                                 end
  314.                             end
  315.  
  316.                             if data2.current.value == 'menuperso_actions_pipi' then
  317.                                 ESX.UI.Menu.CloseAll()
  318.                             end
  319.  
  320.                             if data2.current.value == 'menuperso_actions_Salute' then
  321.                                 ESX.UI.Menu.Open(
  322.                                     'default', GetCurrentResourceName(), 'menuperso_actions_Salute',
  323.                                     {
  324.                                         title    = 'Animations de salutations',
  325.                                         align    = 'top-left',
  326.                                         elements = {
  327.                                             {label = 'Saluer',  value = 'menuperso_actions_Salute_saluer'},
  328.                                             {label = 'Serrer la main',     value = 'menuperso_actions_Salute_serrerlamain'},
  329.                                             {label = 'Tape m\'en 5',     value = 'menuperso_actions_Salute_tapeen5'},
  330.                                             {label = 'Salut militaire',  value = 'menuperso_actions_Salute_salutmilitaire'},
  331.                                         },
  332.                                     },
  333.                                     function(data3, menu3)
  334.  
  335.                                         if data3.current.value == 'menuperso_actions_Salute_saluer' then
  336.                                             animsAction({ lib = "gestures@m@standing@casual", anim = "gesture_hello" })
  337.                                         end
  338.  
  339.                                         if data3.current.value == 'menuperso_actions_Salute_serrerlamain' then
  340.                                             animsAction({ lib = "mp_common", anim = "givetake1_a" })
  341.                                         end
  342.  
  343.                                         if data3.current.value == 'menuperso_actions_Salute_tapeen5' then
  344.                                             animsAction({ lib = "mp_ped_interaction", anim = "highfive_guy_a" })
  345.                                         end
  346.  
  347.                                         if data3.current.value == 'menuperso_actions_Salute_salutmilitaire' then
  348.                                             animsAction({ lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute" })
  349.                                         end
  350.  
  351.                                     end,
  352.                                     function(data3, menu3)
  353.                                         menu3.close()
  354.                                     end
  355.                                 )
  356.                             end
  357.  
  358.                             if data2.current.value == 'menuperso_actions_Humor' then
  359.                                 ESX.UI.Menu.Open(
  360.                                     'default', GetCurrentResourceName(), 'menuperso_actions_Humor',
  361.                                     {
  362.                                         title    = 'Animations d\'humeurs',
  363.                                         align    = 'top-left',
  364.                                         elements = {
  365.                                             {label = 'Féliciter',  value = 'menuperso_actions_Humor_feliciter'},
  366.                                             {label = 'Super',     value = 'menuperso_actions_Humor_super'},
  367.                                             {label = 'Calme-toi',     value = 'menuperso_actions_Humor_calmetoi'},
  368.                                             {label = 'Avoir peur',  value = 'menuperso_actions_Humor_avoirpeur'},
  369.                                             {label = 'C\'est pas possible !',  value = 'menuperso_actions_Humor_cestpaspossible'},
  370.                                             {label = 'Enlacer',  value = 'menuperso_actions_Humor_enlacer'},
  371.                                             {label = 'Doigt d\'honneur',  value = 'menuperso_actions_Humor_doightdhonneur'},
  372.                                             {label = 'Branleur',  value = 'menuperso_actions_Humor_branleur'},
  373.                                             {label = 'Balle dans la tête',  value = 'menuperso_actions_Humor_balledanslatete'},
  374.                                         },
  375.                                     },
  376.                                     function(data3, menu3)
  377.  
  378.                                         if data3.current.value == 'menuperso_actions_Humor_feliciter' then
  379.                                             animsActionScenario({anim = "WORLD_HUMAN_CHEERING" })
  380.                                         end
  381.  
  382.                                         if data3.current.value == 'menuperso_actions_Humor_super' then
  383.                                             animsAction({ lib = "anim@mp_player_intcelebrationmale@thumbs_up", anim = "thumbs_up" })
  384.                                         end
  385.  
  386.                                         if data3.current.value == 'menuperso_actions_Humor_calmetoi' then
  387.                                             animsAction({ lib = "gestures@m@standing@casual", anim = "gesture_easy_now" })
  388.                                         end
  389.  
  390.                                         if data3.current.value == 'menuperso_actions_Humor_avoirpeur' then
  391.                                             animsAction({ lib = "amb@code_human_cower_stand@female@idle_a", anim = "idle_c" })
  392.                                         end
  393.  
  394.                                         if data3.current.value == 'menuperso_actions_Humor_cestpaspossible' then
  395.                                             animsAction({ lib = "gestures@m@standing@casual", anim = "gesture_damn" })
  396.                                         end
  397.  
  398.                                         if data3.current.value == 'menuperso_actions_Humor_enlacer' then
  399.                                             animsAction({ lib = "mp_ped_interaction", anim = "kisses_guy_a" })
  400.                                         end
  401.  
  402.                                         if data3.current.value == 'menuperso_actions_Humor_doightdhonneur' then
  403.                                             animsAction({ lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter" })
  404.                                         end
  405.  
  406.                                         if data3.current.value == 'menuperso_actions_Humor_branleur' then
  407.                                             animsAction({ lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01" })
  408.                                         end
  409.  
  410.                                         if data3.current.value == 'menuperso_actions_Humor_balledanslatete' then
  411.                                             animsAction({ lib = "mp_suicide", anim = "pistol" })
  412.                                         end
  413.  
  414.                                     end,
  415.                                     function(data3, menu3)
  416.                                         menu3.close()
  417.                                     end
  418.                                 )
  419.                             end
  420.  
  421.                             if data2.current.value == 'menuperso_actions_Travail' then
  422.                                 ESX.UI.Menu.Open(
  423.                                     'default', GetCurrentResourceName(), 'menuperso_actions_Travail',
  424.                                     {
  425.                                         title    = 'Animations de travail',
  426.                                         align    = 'top-left',
  427.                                         elements = {
  428.                                             {label = 'Pêcheur',  value = 'menuperso_actions_Travail_pecheur'},
  429.                                             {label = 'Agriculteur',     value = 'menuperso_actions_Travail_agriculteur'},
  430.                                             {label = 'Dépanneur',     value = 'menuperso_actions_Travail_depanneur'},
  431.                                             {label = 'Prendre des notes',  value = 'menuperso_actions_Travail_prendredesnotes'},
  432.                                             {label = 'Inspecter',  value = 'menuperso_actions_Travail_inspecter'},
  433.                                         },
  434.                                     },
  435.                                     function(data3, menu3)
  436.  
  437.                                         if data3.current.value == 'menuperso_actions_Travail_pecheur' then
  438.                                             animsActionScenario({anim = "world_human_stand_fishing" })
  439.                                         end
  440.  
  441.                                         if data3.current.value == 'menuperso_actions_Travail_agriculteur' then
  442.                                             animsActionScenario({anim = "world_human_gardener_plant" })
  443.                                         end
  444.  
  445.                                         if data3.current.value == 'menuperso_actions_Travail_depanneur' then
  446.                                             animsActionScenario({anim = "world_human_vehicle_mechanic" })
  447.                                         end
  448.  
  449.                                         if data3.current.value == 'menuperso_actions_Travail_prendredesnotes' then
  450.                                             animsActionScenario({anim = "WORLD_HUMAN_CLIPBOARD" })
  451.                                         end
  452.  
  453.                                         if data3.current.value == 'menuperso_actions_Travail_inspecter' then
  454.                                             animsActionScenario({anim = "CODE_HUMAN_MEDIC_KNEEL" })
  455.                                         end
  456.  
  457.                                     end,
  458.                                     function(data3, menu3)
  459.                                         menu3.close()
  460.                                     end
  461.                                 )
  462.                             end
  463.  
  464.                             if data2.current.value == 'menuperso_actions_Festives' then
  465.                                 ESX.UI.Menu.Open(
  466.                                     'default', GetCurrentResourceName(), 'menuperso_actions_Festives',
  467.                                     {
  468.                                         title    = 'Animations festives',
  469.                                         align    = 'top-left',
  470.                                         elements = {
  471.                                             {label = 'Danser',  value = 'menuperso_actions_Festives_danser'},
  472.                                             {label = 'Jouer de la musique',     value = 'menuperso_actions_Festives_jouerdelamusique'},
  473.                                             {label = 'Boire une bière',     value = 'menuperso_actions_Festives_boireunebiere'},
  474.                                             {label = 'Air Guitar',  value = 'menuperso_actions_Festives_airguitar'},
  475.                                         },
  476.                                     },
  477.                                     function(data3, menu3)
  478.  
  479.                                         if data3.current.value == 'menuperso_actions_Festives_danser' then
  480.                                             animsAction({ lib = "amb@world_human_partying@female@partying_beer@base", anim = "base" })
  481.                                         end
  482.  
  483.                                         if data3.current.value == 'menuperso_actions_Festives_jouerdelamusique' then
  484.                                             animsActionScenario({anim = "WORLD_HUMAN_MUSICIAN" })
  485.                                         end
  486.  
  487.                                         if data3.current.value == 'menuperso_actions_Festives_boireunebiere' then
  488.                                             animsActionScenario({anim = "WORLD_HUMAN_DRINKING" })
  489.                                         end
  490.  
  491.                                         if data3.current.value == 'menuperso_actions_Festives_airguitar' then
  492.                                             animsAction({ lib = "anim@mp_player_intcelebrationfemale@air_guitar", anim = "air_guitar" })
  493.                                         end
  494.  
  495.                                     end,
  496.                                     function(data3, menu3)
  497.                                         menu3.close()
  498.                                     end
  499.                                 )
  500.                             end
  501.  
  502.                             if data2.current.value == 'menuperso_actions_Others' then
  503.                                 ESX.UI.Menu.Open(
  504.                                     'default', GetCurrentResourceName(), 'menuperso_actions_Others',
  505.                                     {
  506.                                         title    = 'Animations diverses',
  507.                                         align    = 'top-left',
  508.                                         elements = {
  509.                                             {label = 'Fumer une clope',     value = 'menuperso_actions_Others_fumeruneclope'},
  510.                                             {label = 'Faire des pompes',     value = 'menuperso_actions_Others_fairedespompes'},
  511.                                             {label = 'Regarder aux jumelles',     value = 'menuperso_actions_Others_regarderauxjumelles'},
  512.                                             {label = 'Faire du yoga',     value = 'menuperso_actions_Others_faireduyoga'},
  513.                                             {label = 'Faire la statue',     value = 'menuperso_actions_Others_fairelastatut'},
  514.                                             {label = 'Faire du jogging',     value = 'menuperso_actions_Others_fairedujogging'},
  515.                                             {label = 'Montrer ses muscles',     value = 'menuperso_actions_Others_fairedesetirements'},
  516.                                             {label = 'Racoller',     value = 'menuperso_actions_Others_racoller'},
  517.                                             {label = 'Racoller 2',     value = 'menuperso_actions_Others_racoller2'},
  518.                                             {label = 'S\'asseoir',     value = 'menuperso_actions_Others_sasseoir'},
  519.                                             {label = 'S\'asseoir (par terre)',     value = 'menuperso_actions_Others_sasseoirparterre'},
  520.                                             {label = 'Attendre',     value = 'menuperso_actions_Others_attendre'},
  521.                                             {label = 'Nettoyer quelque chose',     value = 'menuperso_actions_Others_nettoyerquelquechose'},
  522.                                             {label = 'Lever les mains',     value = 'menuperso_actions_Others_leverlesmains'},
  523.                                             {label = 'Position de fouille',     value = 'menuperso_actions_Others_positiondefouille'},
  524.                                             {label = 'Se gratter les couilles',     value = 'menuperso_actions_Others_segratterlesc'},
  525.                                             {label = 'Prendre un selfie',     value = 'menuperso_actions_Others_prendreunselfie'},
  526.                                         },
  527.                                     },
  528.                                     function(data3, menu3)
  529.  
  530.                                         if data3.current.value == 'menuperso_actions_Others_fumeruneclope' then
  531.                                             animsActionScenario({ anim = "WORLD_HUMAN_SMOKING" })
  532.                                         end
  533.  
  534.                                         if data3.current.value == 'menuperso_actions_Others_fairedespompes' then
  535.                                             animsActionScenario({ anim = "WORLD_HUMAN_PUSH_UPS" })
  536.                                         end
  537.  
  538.                                         if data3.current.value == 'menuperso_actions_Others_regarderauxjumelles' then
  539.                                             animsActionScenario({ anim = "WORLD_HUMAN_BINOCULARS" })
  540.                                         end
  541.  
  542.                                         if data3.current.value == 'menuperso_actions_Others_faireduyoga' then
  543.                                             animsActionScenario({ anim = "WORLD_HUMAN_YOGA" })
  544.                                         end
  545.  
  546.                                         if data3.current.value == 'menuperso_actions_Others_fairelastatut' then
  547.                                             animsActionScenario({ anim = "WORLD_HUMAN_HUMAN_STATUE" })
  548.                                         end
  549.  
  550.                                         if data3.current.value == 'menuperso_actions_Others_fairedujogging' then
  551.                                             animsActionScenario({ anim = "WORLD_HUMAN_JOG_STANDING" })
  552.                                         end
  553.  
  554.                                         if data3.current.value == 'menuperso_actions_Others_fairedesetirements' then
  555.                                             animsActionScenario({ anim = "WORLD_HUMAN_MUSCLE_FLEX" })
  556.                                         end
  557.  
  558.                                         if data3.current.value == 'menuperso_actions_Others_racoller' then
  559.                                             animsActionScenario({ anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS" })
  560.                                         end
  561.  
  562.                                         if data3.current.value == 'menuperso_actions_Others_racoller2' then
  563.                                             animsActionScenario({ anim = "WORLD_HUMAN_PROSTITUTE_LOW_CLASS" })
  564.                                         end
  565.  
  566.                                         if data3.current.value == 'menuperso_actions_Others_sasseoir' then
  567.                                             animsAction({ lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle" })
  568.                                         end
  569.  
  570.                                         if data3.current.value == 'menuperso_actions_Others_sasseoirparterre' then
  571.                                             animsActionScenario({ anim = "WORLD_HUMAN_PICNIC" })
  572.                                         end
  573.  
  574.                                         if data3.current.value == 'menuperso_actions_Others_attendre' then
  575.                                             animsActionScenario({ anim = "world_human_leaning" })
  576.                                         end
  577.  
  578.                                         if data3.current.value == 'menuperso_actions_Others_nettoyerquelquechose' then
  579.                                             animsActionScenario({ anim = "world_human_maid_clean" })
  580.                                         end
  581.  
  582.                                         if data3.current.value == 'menuperso_actions_Others_leverlesmains' then
  583.                                             animsAction({ lib = "random@mugging3", anim = "handsup_standing_base" })
  584.                                         end
  585.  
  586.                                         if data3.current.value == 'menuperso_actions_Others_positiondefouille' then
  587.                                             animsAction({ lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female" })
  588.                                         end
  589.  
  590.                                         if data3.current.value == 'menuperso_actions_Others_segratterlesc' then
  591.                                             animsAction({ lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch" })
  592.                                         end
  593.  
  594.                                         if data3.current.value == 'menuperso_actions_Others_prendreunselfie' then
  595.                                             animsActionScenario({ anim = "world_human_tourist_mobile" })
  596.                                         end
  597.  
  598.                                     end,
  599.                                     function(data3, menu3)
  600.                                         menu3.close()
  601.                                     end
  602.                                 )
  603.                             end
  604.                            
  605.                            
  606.                         end,
  607.                         function(data2, menu2)
  608.                             menu2.close()
  609.                         end
  610.                     )
  611.  
  612.                 end
  613.  
  614.                 if data.current.value == 'menuperso_gpsrapide' then
  615.                     ESX.UI.Menu.Open(
  616.                         'default', GetCurrentResourceName(), 'menuperso_gpsrapide',
  617.                         {
  618.                             title    = 'GPS Rapide',
  619.                             align    = 'top-left',
  620.                             elements = {
  621.                                 {label = 'Pôle emploi',     value = 'menuperso_gpsrapide_poleemploi'},
  622.                                 {label = 'Comissariat principal',              value = 'menuperso_gpsrapide_comico'},
  623.                                 {label = 'Hôpital principal', value = 'menuperso_gpsrapide_hopital'},
  624.                                 {label = 'Concessionnaire',  value = 'menuperso_gpsrapide_concessionnaire'}
  625.                             },
  626.                         },
  627.                         function(data2, menu2)
  628.  
  629.                             if data2.current.value == 'menuperso_gpsrapide_poleemploi' then
  630.                                 x, y, z = Config.poleemploi.x, Config.poleemploi.y, Config.poleemploi.z
  631.                                 SetNewWaypoint(x, y, z)
  632.                                 local source = GetPlayerServerId();
  633.                                 ESX.ShowNotification("Destination ajouté au GPS !")
  634.                             end
  635.  
  636.                             if data2.current.value == 'menuperso_gpsrapide_comico' then
  637.                                 x, y, z = Config.comico.x, Config.comico.y, Config.comico.z
  638.                                 SetNewWaypoint(x, y, z)
  639.                                 local source = GetPlayerServerId();
  640.                                 ESX.ShowNotification("Destination ajouté au GPS !")
  641.                             end
  642.  
  643.                             if data2.current.value == 'menuperso_gpsrapide_hopital' then
  644.                                 x, y, z = Config.hopital.x, Config.hopital.y, Config.hopital.z
  645.                                 SetNewWaypoint(x, y, z)
  646.                                 local source = GetPlayerServerId();
  647.                                 ESX.ShowNotification("Destination ajouté au GPS !")
  648.                             end
  649.  
  650.                             if data2.current.value == 'menuperso_gpsrapide_concessionnaire' then
  651.                                 x, y, z = Config.concessionnaire.x, Config.concessionnaire.y, Config.concessionnaire.z
  652.                                 SetNewWaypoint(x, y, z)
  653.                                 local source = GetPlayerServerId();
  654.                                 ESX.ShowNotification("Destination ajouté au GPS !")
  655.                             end
  656.  
  657.                            
  658.                         end,
  659.                         function(data2, menu2)
  660.                             menu2.close()
  661.                         end
  662.                     )
  663.  
  664.                 end
  665.                
  666.                 if data.current.value == 'menuperso_grade' then
  667.                     ESX.UI.Menu.Open(
  668.                         'default', GetCurrentResourceName(), 'menuperso_grade',
  669.                         {
  670.                             title    = 'Gestion d\'entreprise',
  671.                             align    = 'top-left',
  672.                             elements = {
  673.                                 {label = 'Recruter',     value = 'menuperso_grade_recruter'},
  674.                                 {label = 'Virer',              value = 'menuperso_grade_virer'},
  675.                                 {label = 'Promouvoir', value = 'menuperso_grade_promouvoir'},
  676.                                 {label = 'Destituer',  value = 'menuperso_grade_destituer'}
  677.                             },
  678.                         },
  679.                         function(data2, menu2)
  680.  
  681.                             if data2.current.value == 'menuperso_grade_recruter' then
  682.                                 if PlayerData.job.grade_name == 'boss' then
  683.                                         local job =  PlayerData.job.name
  684.                                         local grade = 0
  685.                                         local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
  686.                                     if closestPlayer == -1 or closestDistance > 3.0 then
  687.                                         ESX.ShowNotification("Aucun joueur à proximité")
  688.                                     else
  689.                                         TriggerServerEvent('NB:recruterplayer', GetPlayerServerId(closestPlayer), job,grade)
  690.                                     end
  691.  
  692.                                 else
  693.                                     Notify("Vous n'avez pas les ~r~droits~w~.")
  694.  
  695.                                 end
  696.                                
  697.                             end
  698.  
  699.                             if data2.current.value == 'menuperso_grade_virer' then
  700.                                 if PlayerData.job.grade_name == 'boss' then
  701.                                         local job =  PlayerData.job.name
  702.                                         local grade = 0
  703.                                         local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
  704.                                     if closestPlayer == -1 or closestDistance > 3.0 then
  705.                                         ESX.ShowNotification("Aucun joueur à proximité")
  706.                                     else
  707.                                         TriggerServerEvent('NB:virerplayer', GetPlayerServerId(closestPlayer))
  708.                                     end
  709.  
  710.                                 else
  711.                                     Notify("Vous n'avez pas les ~r~droits~w~.")
  712.  
  713.                                 end
  714.                                
  715.                             end
  716.  
  717.                             if data2.current.value == 'menuperso_grade_promouvoir' then
  718.  
  719.                                 if PlayerData.job.grade_name == 'boss' then
  720.                                         local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
  721.                                     if closestPlayer == -1 or closestDistance > 3.0 then
  722.                                         ESX.ShowNotification("Aucun joueur à proximité")
  723.                                     else
  724.                                         TriggerServerEvent('NB:promouvoirplayer', GetPlayerServerId(closestPlayer))
  725.                                     end
  726.  
  727.                                 else
  728.                                     Notify("Vous n'avez pas les ~r~droits~w~.")
  729.  
  730.                                 end
  731.                                
  732.                                
  733.                             end
  734.  
  735.                             if data2.current.value == 'menuperso_grade_destituer' then
  736.  
  737.                                 if PlayerData.job.grade_name == 'boss' then
  738.                                         local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
  739.                                     if closestPlayer == -1 or closestDistance > 3.0 then
  740.                                         ESX.ShowNotification("Aucun joueur à proximité")
  741.                                     else
  742.                                         TriggerServerEvent('NB:destituerplayer', GetPlayerServerId(closestPlayer))
  743.                                     end
  744.  
  745.                                 else
  746.                                     Notify("Vous n'avez pas les ~r~droits~w~.")
  747.  
  748.                                 end
  749.                                
  750.                                
  751.                             end
  752.  
  753.                            
  754.                         end,
  755.                         function(data2, menu2)
  756.                             menu2.close()
  757.                         end
  758.                     )
  759.                 end
  760.                
  761.                
  762.             end,
  763.             function(data, menu)
  764.                 menu.close()
  765.             end
  766.         )
  767.        
  768.     end)
  769. end
  770.  
  771. ---------------------------------------------------------------------------Vehicule Menu
  772.  
  773. function OpenVehiculeMenu()
  774.    
  775.     ESX.UI.Menu.CloseAll()
  776.        
  777.     local elements = {}
  778.    
  779.     if vehiculeON then
  780.         table.insert(elements, {label = 'Couper le moteur',         value = 'menuperso_vehicule_MoteurOff'})
  781.     else
  782.         table.insert(elements, {label = 'Démarrer le moteur',      value = 'menuperso_vehicule_MoteurOn'})
  783.     end
  784.    
  785.     if porteAvantGaucheOuverte then
  786.         table.insert(elements, {label = 'Fermer la porte gauche',   value = 'menuperso_vehicule_fermerportes_fermerportegauche'})
  787.     else
  788.         table.insert(elements, {label = 'Ouvrir la porte gauche',       value = 'menuperso_vehicule_ouvrirportes_ouvrirportegauche'})
  789.     end
  790.    
  791.     if porteAvantDroiteOuverte then
  792.         table.insert(elements, {label = 'Fermer la porte droite',   value = 'menuperso_vehicule_fermerportes_fermerportedroite'})
  793.     else
  794.         table.insert(elements, {label = 'Ouvrir la porte droite',       value = 'menuperso_vehicule_ouvrirportes_ouvrirportedroite'})
  795.     end
  796.    
  797.     if porteArriereGaucheOuverte then
  798.         table.insert(elements, {label = 'Fermer la porte arrière gauche',  value = 'menuperso_vehicule_fermerportes_fermerportearrieregauche'})
  799.     else
  800.         table.insert(elements, {label = 'Ouvrir la porte arrière gauche',      value = 'menuperso_vehicule_ouvrirportes_ouvrirportearrieregauche'})
  801.     end
  802.    
  803.     if porteArriereDroiteOuverte then
  804.         table.insert(elements, {label = 'Fermer la porte arrière droite',  value = 'menuperso_vehicule_fermerportes_fermerportearrieredroite'})
  805.     else
  806.         table.insert(elements, {label = 'Ouvrir la porte arrière droite',      value = 'menuperso_vehicule_ouvrirportes_ouvrirportearrieredroite'})
  807.     end
  808.    
  809.     if porteCapotOuvert then
  810.         table.insert(elements, {label = 'Fermer le capot',  value = 'menuperso_vehicule_fermerportes_fermercapot'})
  811.     else
  812.         table.insert(elements, {label = 'Ouvrir le capot',      value = 'menuperso_vehicule_ouvrirportes_ouvrircapot'})
  813.     end
  814.    
  815.     if porteCoffreOuvert then
  816.         table.insert(elements, {label = 'Fermer le coffre', value = 'menuperso_vehicule_fermerportes_fermercoffre'})
  817.     else
  818.         table.insert(elements, {label = 'Ouvrir le coffre',     value = 'menuperso_vehicule_ouvrirportes_ouvrircoffre'})
  819.     end
  820.    
  821.     if porteAutre1Ouvert then
  822.         table.insert(elements, {label = 'Fermer autre 1',   value = 'menuperso_vehicule_fermerportes_fermerAutre1'})
  823.     else
  824.         table.insert(elements, {label = 'Ouvrir autre 1',       value = 'menuperso_vehicule_ouvrirportes_ouvrirAutre1'})
  825.     end
  826.    
  827.     if porteAutre2Ouvert then
  828.         table.insert(elements, {label = 'Fermer autre 2',   value = 'menuperso_vehicule_fermerportes_fermerAutre2'})
  829.     else
  830.         table.insert(elements, {label = 'Ouvrir autre 2',       value = 'menuperso_vehicule_ouvrirportes_ouvrirAutre2'})
  831.     end
  832.    
  833.     if porteToutOuvert then
  834.         table.insert(elements, {label = 'Tout fermer',  value = 'menuperso_vehicule_fermerportes_fermerTout'})
  835.     else
  836.         table.insert(elements, {label = 'Tout ouvrir',      value = 'menuperso_vehicule_ouvrirportes_ouvrirTout'})
  837.     end
  838.  
  839.     ESX.UI.Menu.Open(
  840.         'default', GetCurrentResourceName(), 'menuperso_vehicule',
  841.         {
  842.             img    = 'menu_vehicule',
  843.             -- title    = 'Véhicule',
  844.             align    = 'top-left',
  845.             elements = elements
  846.         },
  847.         function(data, menu)
  848. --------------------- GESTION MOTEUR
  849.             if data.current.value == 'menuperso_vehicule_MoteurOn' then
  850.                 vehiculeON = true
  851.                 SetVehicleEngineOn(GetVehiclePedIsIn( GetPlayerPed(-1), false ), true, false, true)
  852.                 SetVehicleUndriveable(GetVehiclePedIsIn( GetPlayerPed(-1), false ), false)
  853.                 OpenVehiculeMenu()
  854.             end
  855.  
  856.             if data.current.value == 'menuperso_vehicule_MoteurOff' then
  857.                 vehiculeON = false
  858.                 SetVehicleEngineOn(GetVehiclePedIsIn( GetPlayerPed(-1), false ), false, false, true)
  859.                 SetVehicleUndriveable(GetVehiclePedIsIn( GetPlayerPed(-1), false ), true)
  860.                 OpenVehiculeMenu()
  861.             end
  862. --------------------- OUVRIR LES PORTES
  863.             if data.current.value == 'menuperso_vehicule_ouvrirportes_ouvrirportegauche' then
  864.                 porteAvantGaucheOuverte = true
  865.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 0, false, false)
  866.                 OpenVehiculeMenu()
  867.             end
  868.  
  869.             if data.current.value == 'menuperso_vehicule_ouvrirportes_ouvrirportedroite' then
  870.                 porteAvantDroiteOuverte = true
  871.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 1, false, false)
  872.                 OpenVehiculeMenu()
  873.             end
  874.  
  875.             if data.current.value == 'menuperso_vehicule_ouvrirportes_ouvrirportearrieregauche' then
  876.                 porteArriereGaucheOuverte = true
  877.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 2, false, false)
  878.                 OpenVehiculeMenu()
  879.             end
  880.  
  881.             if data.current.value == 'menuperso_vehicule_ouvrirportes_ouvrirportearrieredroite' then
  882.                 porteArriereDroiteOuverte = true
  883.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 3, false, false)
  884.                 OpenVehiculeMenu()
  885.             end
  886.  
  887.             if data.current.value == 'menuperso_vehicule_ouvrirportes_ouvrircapot' then
  888.                 porteCapotOuvert = true
  889.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 4, false, false)
  890.                 OpenVehiculeMenu()
  891.             end
  892.  
  893.             if data.current.value == 'menuperso_vehicule_ouvrirportes_ouvrircoffre' then
  894.                 porteCoffreOuvert = true
  895.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 5, false, false)
  896.                 OpenVehiculeMenu()
  897.             end
  898.  
  899.             if data.current.value == 'menuperso_vehicule_ouvrirportes_ouvrirAutre1' then
  900.                 porteAutre1Ouvert = true
  901.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 6, false, false)
  902.                 OpenVehiculeMenu()
  903.             end
  904.  
  905.             if data.current.value == 'menuperso_vehicule_ouvrirportes_ouvrirAutre2' then
  906.                 porteAutre2Ouvert = true
  907.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 7, false, false)
  908.                 OpenVehiculeMenu()
  909.             end
  910.  
  911.             if data.current.value == 'menuperso_vehicule_ouvrirportes_ouvrirTout' then
  912.                 porteAvantGaucheOuverte = true
  913.                 porteAvantDroiteOuverte = true
  914.                 porteArriereGaucheOuverte = true
  915.                 porteArriereDroiteOuverte = true
  916.                 porteCapotOuvert = true
  917.                 porteCoffreOuvert = true
  918.                 porteAutre1Ouvert = true
  919.                 porteAutre2Ouvert = true
  920.                 porteToutOuvert = true
  921.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 0, false, false)
  922.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 1, false, false)
  923.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 2, false, false)
  924.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 3, false, false)
  925.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 4, false, false)
  926.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 5, false, false)
  927.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 6, false, false)
  928.                 SetVehicleDoorOpen(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 7, false, false)
  929.                 OpenVehiculeMenu()
  930.             end
  931. --------------------- FERMER LES PORTES
  932.             if data.current.value == 'menuperso_vehicule_fermerportes_fermerportegauche' then
  933.                 porteAvantGaucheOuverte = false
  934.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 0, false, false)
  935.                 OpenVehiculeMenu()
  936.             end
  937.  
  938.             if data.current.value == 'menuperso_vehicule_fermerportes_fermerportedroite' then
  939.                 porteAvantDroiteOuverte = false
  940.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 1, false, false)
  941.                 OpenVehiculeMenu()
  942.             end
  943.  
  944.             if data.current.value == 'menuperso_vehicule_fermerportes_fermerportearrieregauche' then
  945.                 porteArriereGaucheOuverte = false
  946.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 2, false, false)
  947.                 OpenVehiculeMenu()
  948.             end
  949.  
  950.             if data.current.value == 'menuperso_vehicule_fermerportes_fermerportearrieredroite' then
  951.                 porteArriereDroiteOuverte = false
  952.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 3, false, false)
  953.                 OpenVehiculeMenu()
  954.             end
  955.  
  956.             if data.current.value == 'menuperso_vehicule_fermerportes_fermercapot' then
  957.                 porteCapotOuvert = false
  958.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 4, false, false)
  959.                 OpenVehiculeMenu()
  960.             end
  961.  
  962.             if data.current.value == 'menuperso_vehicule_fermerportes_fermercoffre' then
  963.                 porteCoffreOuvert = false
  964.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 5, false, false)
  965.                 OpenVehiculeMenu()
  966.             end
  967.  
  968.             if data.current.value == 'menuperso_vehicule_fermerportes_fermerAutre1' then
  969.                 porteAutre1Ouvert = false
  970.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 6, false, false)
  971.                 OpenVehiculeMenu()
  972.             end
  973.  
  974.             if data.current.value == 'menuperso_vehicule_fermerportes_fermerAutre2' then
  975.                 porteAutre2Ouvert = false
  976.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 7, false, false)
  977.                 OpenVehiculeMenu()
  978.             end
  979.  
  980.             if data.current.value == 'menuperso_vehicule_fermerportes_fermerTout' then
  981.                 porteAvantGaucheOuverte = false
  982.                 porteAvantDroiteOuverte = false
  983.                 porteArriereGaucheOuverte = false
  984.                 porteArriereDroiteOuverte = false
  985.                 porteCapotOuvert = false
  986.                 porteCoffreOuvert = false
  987.                 porteAutre1Ouvert = false
  988.                 porteAutre2Ouvert = false
  989.                 porteToutOuvert = false
  990.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 0, false, false)
  991.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 1, false, false)
  992.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 2, false, false)
  993.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 3, false, false)
  994.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 4, false, false)
  995.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 5, false, false)
  996.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 6, false, false)
  997.                 SetVehicleDoorShut(GetVehiclePedIsIn( GetPlayerPed(-1), false ), 7, false, false)
  998.                 OpenVehiculeMenu()
  999.             end
  1000.            
  1001.         end,
  1002.         function(data, menu)
  1003.             menu.close()
  1004.         end
  1005.     )
  1006. end
  1007.  
  1008. ---------------------------------------------------------------------------Modération
  1009.  
  1010. -- GOTO JOUEUR
  1011. function admin_tp_toplayer()
  1012.     DisplayOnscreenKeyboard(true, "FMMC_KEY_TIP8", "", "", "", "", "", 120)
  1013.     Notify("~b~Entrez l'ID du joueur...")
  1014.     inputgoto = 1
  1015. end
  1016.  
  1017. Citizen.CreateThread(function()
  1018.     while true do
  1019.         Wait(0)
  1020.         if inputgoto == 1 then
  1021.             if UpdateOnscreenKeyboard() == 3 then
  1022.                 inputgoto = 0
  1023.             elseif UpdateOnscreenKeyboard() == 1 then
  1024.                     inputgoto = 2
  1025.             elseif UpdateOnscreenKeyboard() == 2 then
  1026.                 inputgoto = 0
  1027.             end
  1028.         end
  1029.         if inputgoto == 2 then
  1030.             local gotoply = GetOnscreenKeyboardResult()
  1031.             local playerPed = GetPlayerPed(-1)
  1032.             local teleportPed = GetEntityCoords(GetPlayerPed(GetPlayerFromServerId(tonumber(gotoply))))
  1033.             SetEntityCoords(playerPed, teleportPed)
  1034.            
  1035.             inputgoto = 0
  1036.         end
  1037.     end
  1038. end)
  1039. -- FIN GOTO JOUEUR
  1040.  
  1041. -- TP UN JOUEUR A MOI
  1042. function admin_tp_playertome()
  1043.     DisplayOnscreenKeyboard(true, "FMMC_KEY_TIP8", "", "", "", "", "", 120)
  1044.     Notify("~b~Entrez l'ID du joueur...")
  1045.     inputteleport = 1
  1046. end
  1047.  
  1048. Citizen.CreateThread(function()
  1049.     while true do
  1050.         Wait(0)
  1051.         if inputteleport == 1 then
  1052.             if UpdateOnscreenKeyboard() == 3 then
  1053.                 inputteleport = 0
  1054.             elseif UpdateOnscreenKeyboard() == 1 then
  1055.                 inputteleport = 2
  1056.             elseif UpdateOnscreenKeyboard() == 2 then
  1057.                 inputteleport = 0
  1058.             end
  1059.         end
  1060.         if inputteleport == 2 then
  1061.             local teleportply = GetOnscreenKeyboardResult()
  1062.             local playerPed = GetPlayerFromServerId(tonumber(teleportply))
  1063.             local teleportPed = GetEntityCoords(GetPlayerPed(-1))
  1064.             SetEntityCoords(playerPed, teleportPed)
  1065.            
  1066.             inputteleport = 0
  1067.         end
  1068.     end
  1069. end)
  1070. -- FIN TP UN JOUEUR A MOI
  1071.  
  1072. -- TP A POSITION
  1073. function admin_tp_pos()
  1074.     DisplayOnscreenKeyboard(true, "FMMC_KEY_TIP8", "", "", "", "", "", 120)
  1075.     Notify("~b~Entrez la position...")
  1076.     inputpos = 1
  1077. end
  1078.  
  1079. Citizen.CreateThread(function()
  1080.     while true do
  1081.         Wait(0)
  1082.         if inputpos == 1 then
  1083.             if UpdateOnscreenKeyboard() == 3 then
  1084.                 inputpos = 0
  1085.             elseif UpdateOnscreenKeyboard() == 1 then
  1086.                     inputpos = 2
  1087.             elseif UpdateOnscreenKeyboard() == 2 then
  1088.                 inputpos = 0
  1089.             end
  1090.         end
  1091.         if inputpos == 2 then
  1092.             local pos = GetOnscreenKeyboardResult() -- GetOnscreenKeyboardResult RECUPERE LA POSITION RENTRER PAR LE JOUEUR
  1093.             local _,_,x,y,z = string.find( pos or "0,0,0", "([%d%.]+),([%d%.]+),([%d%.]+)" )
  1094.            
  1095.             --SetEntityCoords(GetPlayerPed(-1), x, y, z)
  1096.             SetEntityCoords(GetPlayerPed(-1), x+0.0001, y+0.0001, z+0.0001) -- TP LE JOUEUR A LA POSITION
  1097.             inputpos = 0
  1098.         end
  1099.     end
  1100. end)
  1101. -- FIN TP A POSITION
  1102.  
  1103. -- FONCTION NOCLIP
  1104. local noclip = false
  1105. local noclip_speed = 1.0
  1106.  
  1107. function admin_no_clip()
  1108.   noclip = not noclip
  1109.   local ped = GetPlayerPed(-1)
  1110.   if noclip then -- activé
  1111.     SetEntityInvincible(ped, true)
  1112.     SetEntityVisible(ped, false, false)
  1113.     Notify("Noclip ~g~activé")
  1114.   else -- désactivé
  1115.     SetEntityInvincible(ped, false)
  1116.     SetEntityVisible(ped, true, false)
  1117.     Notify("Noclip ~r~désactivé")
  1118.   end
  1119. end
  1120.  
  1121. function getPosition()
  1122.   local x,y,z = table.unpack(GetEntityCoords(GetPlayerPed(-1),true))
  1123.   return x,y,z
  1124. end
  1125.  
  1126. function getCamDirection()
  1127.   local heading = GetGameplayCamRelativeHeading()+GetEntityHeading(GetPlayerPed(-1))
  1128.   local pitch = GetGameplayCamRelativePitch()
  1129.  
  1130.   local x = -math.sin(heading*math.pi/180.0)
  1131.   local y = math.cos(heading*math.pi/180.0)
  1132.   local z = math.sin(pitch*math.pi/180.0)
  1133.  
  1134.   local len = math.sqrt(x*x+y*y+z*z)
  1135.   if len ~= 0 then
  1136.     x = x/len
  1137.     y = y/len
  1138.     z = z/len
  1139.   end
  1140.  
  1141.   return x,y,z
  1142. end
  1143.  
  1144. function isNoclip()
  1145.   return noclip
  1146. end
  1147.  
  1148. -- noclip/invisible
  1149. Citizen.CreateThread(function()
  1150.   while true do
  1151.     Citizen.Wait(0)
  1152.     if noclip then
  1153.       local ped = GetPlayerPed(-1)
  1154.       local x,y,z = getPosition()
  1155.       local dx,dy,dz = getCamDirection()
  1156.       local speed = noclip_speed
  1157.  
  1158.       -- reset du velocity
  1159.       SetEntityVelocity(ped, 0.0001, 0.0001, 0.0001)
  1160.  
  1161.       -- aller vers le haut
  1162.       if IsControlPressed(0,32) then -- MOVE UP
  1163.         x = x+speed*dx
  1164.         y = y+speed*dy
  1165.         z = z+speed*dz
  1166.       end
  1167.  
  1168.       -- aller vers le bas
  1169.       if IsControlPressed(0,269) then -- MOVE DOWN
  1170.         x = x-speed*dx
  1171.         y = y-speed*dy
  1172.         z = z-speed*dz
  1173.       end
  1174.  
  1175.       SetEntityCoordsNoOffset(ped,x,y,z,true,true,true)
  1176.     end
  1177.   end
  1178. end)
  1179. -- FIN NOCLIP
  1180.  
  1181. -- GOD MODE
  1182. function admin_godmode()
  1183.   godmode = not godmode
  1184.   local ped = GetPlayerPed(-1)
  1185.  
  1186.   if godmode then -- activé
  1187.         SetEntityInvincible(ped, true)
  1188.         Notify("Mode invincible ~g~activé")
  1189.     else
  1190.         SetEntityInvincible(ped, false)
  1191.         Notify("Mode invincible ~r~désactivé")
  1192.   end
  1193. end
  1194. -- FIN GOD MODE
  1195.  
  1196. -- INVISIBLE
  1197. function admin_mode_fantome()
  1198.   invisible = not invisible
  1199.   local ped = GetPlayerPed(-1)
  1200.  
  1201.   if invisible then -- activé
  1202.         SetEntityVisible(ped, false, false)
  1203.         Notify("Mode fantôme : activé")
  1204.     else
  1205.         SetEntityVisible(ped, true, false)
  1206.         Notify("Mode fantôme : désactivé")
  1207.   end
  1208. end
  1209. -- FIN INVISIBLE
  1210.  
  1211. -- Réparer vehicule
  1212. function admin_vehicle_repair()
  1213.  
  1214.     local ped = GetPlayerPed(-1)
  1215.     local car = GetVehiclePedIsUsing(ped)
  1216.    
  1217.         SetVehicleFixed(car)
  1218.         SetVehicleDirtLevel(car, 0.0)
  1219.  
  1220. end
  1221. -- FIN Réparer vehicule
  1222.  
  1223. -- Spawn vehicule
  1224. function admin_vehicle_spawn()
  1225.     DisplayOnscreenKeyboard(true, "FMMC_KEY_TIP8", "", "", "", "", "", 120)
  1226.     Notify("~b~Entrez le nom du véhicule...")
  1227.     inputvehicle = 1
  1228. end
  1229.  
  1230. Citizen.CreateThread(function()
  1231.     while true do
  1232.         Wait(0)
  1233.         if inputvehicle == 1 then
  1234.             if UpdateOnscreenKeyboard() == 3 then
  1235.                 inputvehicle = 0
  1236.             elseif UpdateOnscreenKeyboard() == 1 then
  1237.                     inputvehicle = 2
  1238.             elseif UpdateOnscreenKeyboard() == 2 then
  1239.                 inputvehicle = 0
  1240.             end
  1241.         end
  1242.         if inputvehicle == 2 then
  1243.         local vehicleidd = GetOnscreenKeyboardResult()
  1244.  
  1245.                 local car = GetHashKey(vehicleidd)
  1246.                
  1247.                 Citizen.CreateThread(function()
  1248.                     Citizen.Wait(10)
  1249.                     RequestModel(car)
  1250.                     while not HasModelLoaded(car) do
  1251.                         Citizen.Wait(0)
  1252.                     end
  1253.                     local x,y,z = table.unpack(GetEntityCoords(GetPlayerPed(-1),true))
  1254.                     veh = CreateVehicle(car, x,y,z, 0.0, true, false)
  1255.                     SetEntityVelocity(veh, 2000)
  1256.                     SetVehicleOnGroundProperly(veh)
  1257.                     SetVehicleHasBeenOwnedByPlayer(veh,true)
  1258.                     local id = NetworkGetNetworkIdFromEntity(veh)
  1259.                     SetNetworkIdCanMigrate(id, true)
  1260.                     SetVehRadioStation(veh, "OFF")
  1261.                     SetPedIntoVehicle(GetPlayerPed(-1),  veh,  -1)
  1262.                     Notify("Véhicule livré, bonne route")
  1263.                 end)
  1264.        
  1265.         inputvehicle = 0
  1266.         end
  1267.     end
  1268. end)
  1269. -- FIN Spawn vehicule
  1270.  
  1271. -- flipVehicle
  1272. function admin_vehicle_flip()
  1273.  
  1274.     local player = GetPlayerPed(-1)
  1275.     posdepmenu = GetEntityCoords(player)
  1276.     carTargetDep = GetClosestVehicle(posdepmenu['x'], posdepmenu['y'], posdepmenu['z'], 10.0,0,70)
  1277.     if carTargetDep ~= nil then
  1278.             platecarTargetDep = GetVehicleNumberPlateText(carTargetDep)
  1279.     end
  1280.     local playerCoords = GetEntityCoords(GetPlayerPed(-1))
  1281.     playerCoords = playerCoords + vector3(0, 2, 0)
  1282.    
  1283.     SetEntityCoords(carTargetDep, playerCoords)
  1284.    
  1285.     Notify("Voiture retourné")
  1286.  
  1287. end
  1288. -- FIN flipVehicle
  1289.  
  1290. -- GIVE DE L'ARGENT
  1291. function admin_give_money()
  1292.     DisplayOnscreenKeyboard(true, "FMMC_KEY_TIP8", "", "", "", "", "", 120)
  1293.     Notify("~b~Entrez le montant à vous octroyer...")
  1294.     inputmoney = 1
  1295. end
  1296.  
  1297. Citizen.CreateThread(function()
  1298.     while true do
  1299.         Wait(0)
  1300.         if inputmoney == 1 then
  1301.             if UpdateOnscreenKeyboard() == 3 then
  1302.                 inputmoney = 0
  1303.             elseif UpdateOnscreenKeyboard() == 1 then
  1304.                     inputmoney = 2
  1305.             elseif UpdateOnscreenKeyboard() == 2 then
  1306.                 inputmoney = 0
  1307.             end
  1308.         end
  1309.         if inputmoney == 2 then
  1310.             local repMoney = GetOnscreenKeyboardResult()
  1311.             local money = tonumber(repMoney)
  1312.            
  1313.             TriggerServerEvent('AdminMenu:giveCash', money)
  1314.             inputmoney = 0
  1315.         end
  1316.     end
  1317. end)
  1318. -- FIN GIVE DE L'ARGENT
  1319.  
  1320. -- GIVE DE L'ARGENT EN BANQUE
  1321. function admin_give_bank()
  1322.     DisplayOnscreenKeyboard(true, "FMMC_KEY_TIP8", "", "", "", "", "", 120)
  1323.     Notify("~b~Entrez le montant à vous octroyer...")
  1324.     inputmoneybank = 1
  1325. end
  1326.  
  1327. Citizen.CreateThread(function()
  1328.     while true do
  1329.         Wait(0)
  1330.         if inputmoneybank == 1 then
  1331.             if UpdateOnscreenKeyboard() == 3 then
  1332.                 inputmoneybank = 0
  1333.             elseif UpdateOnscreenKeyboard() == 1 then
  1334.                     inputmoneybank = 2
  1335.             elseif UpdateOnscreenKeyboard() == 2 then
  1336.                 inputmoneybank = 0
  1337.             end
  1338.         end
  1339.         if inputmoneybank == 2 then
  1340.             local repMoney = GetOnscreenKeyboardResult()
  1341.             local money = tonumber(repMoney)
  1342.            
  1343.             TriggerServerEvent('AdminMenu:giveBank', money)
  1344.             inputmoneybank = 0
  1345.         end
  1346.     end
  1347. end)
  1348. -- FIN GIVE DE L'ARGENT EN BANQUE
  1349.  
  1350. -- GIVE DE L'ARGENT SALE
  1351. function admin_give_dirty()
  1352.     DisplayOnscreenKeyboard(true, "FMMC_KEY_TIP8", "", "", "", "", "", 120)
  1353.     Notify("~b~Entrez le montant à vous octroyer...")
  1354.     inputmoneydirty = 1
  1355. end
  1356.  
  1357. Citizen.CreateThread(function()
  1358.     while true do
  1359.         Wait(0)
  1360.         if inputmoneydirty == 1 then
  1361.             if UpdateOnscreenKeyboard() == 3 then
  1362.                 inputmoneydirty = 0
  1363.             elseif UpdateOnscreenKeyboard() == 1 then
  1364.                     inputmoneydirty = 2
  1365.             elseif UpdateOnscreenKeyboard() == 2 then
  1366.                 inputmoneydirty = 0
  1367.             end
  1368.         end
  1369.         if inputmoneydirty == 2 then
  1370.             local repMoney = GetOnscreenKeyboardResult()
  1371.             local money = tonumber(repMoney)
  1372.            
  1373.             TriggerServerEvent('AdminMenu:giveDirtyMoney', money)
  1374.             inputmoneydirty = 0
  1375.         end
  1376.     end
  1377. end)
  1378. -- FIN GIVE DE L'ARGENT SALE
  1379.  
  1380. -- Afficher Coord
  1381. function modo_showcoord()
  1382.     if showcoord then
  1383.         showcoord = false
  1384.     else
  1385.         showcoord = true
  1386.     end
  1387. end
  1388.  
  1389. Citizen.CreateThread(function()
  1390.     while true do
  1391.         Citizen.Wait(0)
  1392.        
  1393.         if showcoord then
  1394.             local playerPos = GetEntityCoords(GetPlayerPed(-1))
  1395.             local playerHeading = GetEntityHeading(GetPlayerPed(-1))
  1396.             Text("~r~X~s~: " ..playerPos.x.." ~b~Y~s~: " ..playerPos.y.." ~g~Z~s~: " ..playerPos.z.." ~y~Angle~s~: " ..playerHeading.."")
  1397.         end
  1398.        
  1399.     end
  1400. end)
  1401. -- FIN Afficher Coord
  1402.  
  1403. -- Afficher Nom
  1404. function modo_showname()
  1405.     if showname then
  1406.         showname = false
  1407.     else
  1408.         Notify("Ouvrir/Fermer le menu pause pour afficher les noms")
  1409.         showname = true
  1410.     end
  1411. end
  1412.  
  1413. Citizen.CreateThread(function()
  1414.     while true do
  1415.         Wait( 1 )
  1416.         if showname then
  1417.             for id = 0, 200 do
  1418.                 if NetworkIsPlayerActive( id ) and GetPlayerPed( id ) ~= GetPlayerPed( -1 ) then
  1419.                     ped = GetPlayerPed( id )
  1420.                     blip = GetBlipFromEntity( ped )
  1421.                     headId = Citizen.InvokeNative( 0xBFEFE3321A3F5015, ped, (GetPlayerServerId( id )..' - '..GetPlayerName( id )), false, false, "", false )
  1422.                 end
  1423.             end
  1424.         else
  1425.             for id = 0, 200 do
  1426.                 if NetworkIsPlayerActive( id ) and GetPlayerPed( id ) ~= GetPlayerPed( -1 ) then
  1427.                     ped = GetPlayerPed( id )
  1428.                     blip = GetBlipFromEntity( ped )
  1429.                     headId = Citizen.InvokeNative( 0xBFEFE3321A3F5015, ped, (' '), false, false, "", false )
  1430.                 end
  1431.             end
  1432.         end
  1433.     end
  1434. end)
  1435. -- FIN Afficher Nom
  1436.  
  1437. -- TP MARCKER
  1438. function admin_tp_marcker()
  1439.    
  1440.     ESX.TriggerServerCallback('NB:getUsergroup', function(group)
  1441.         playergroup = group
  1442.        
  1443.         if playergroup == 'admin' or playergroup == 'superadmin' or playergroup == 'owner' then
  1444.             local playerPed = GetPlayerPed(-1)
  1445.             local WaypointHandle = GetFirstBlipInfoId(8)
  1446.             if DoesBlipExist(WaypointHandle) then
  1447.                 local coord = Citizen.InvokeNative(0xFA7C7F0AADF25D09, WaypointHandle, Citizen.ResultAsVector())
  1448.                 --SetEntityCoordsNoOffset(playerPed, coord.x, coord.y, coord.z, false, false, false, true)
  1449.                 SetEntityCoordsNoOffset(playerPed, coord.x, coord.y, -199.5, false, false, false, true)
  1450.                 Notify("Téléporté sur le marqueur !")
  1451.             else
  1452.                 Notify("Pas de marqueur sur la carte !")
  1453.             end
  1454.         end
  1455.        
  1456.     end)
  1457. end
  1458. -- FIN TP MARCKER
  1459.  
  1460. -- HEAL JOUEUR
  1461. function admin_heal_player()
  1462.     DisplayOnscreenKeyboard(true, "FMMC_KEY_TIP8", "", "", "", "", "", 120)
  1463.     Notify("~b~Entrez l'ID du joueur...")
  1464.     inputheal = 1
  1465. end
  1466.  
  1467. Citizen.CreateThread(function()
  1468.     while true do
  1469.         Wait(0)
  1470.         if inputheal == 1 then
  1471.             if UpdateOnscreenKeyboard() == 3 then
  1472.                 inputheal = 0
  1473.             elseif UpdateOnscreenKeyboard() == 1 then
  1474.                 inputheal = 2
  1475.             elseif UpdateOnscreenKeyboard() == 2 then
  1476.                 inputheal = 0
  1477.             end
  1478.         end
  1479.         if inputheal == 2 then
  1480.         local healply = GetOnscreenKeyboardResult()
  1481.         TriggerServerEvent('esx_ambulancejob:revive', healply)
  1482.        
  1483.         inputheal = 0
  1484.         end
  1485.     end
  1486. end)
  1487. -- FIN HEAL JOUEUR
  1488.  
  1489. -- SPEC JOUEUR
  1490. function admin_spec_player()
  1491.     DisplayOnscreenKeyboard(true, "FMMC_KEY_TIP8", "", "", "", "", "", 120)
  1492.     Notify("~b~Entrez l'ID du joueur...")
  1493.     inputspec = 1
  1494. end
  1495.  
  1496. Citizen.CreateThread(function()
  1497.     while true do
  1498.         Wait(0)
  1499.         if inputspec == 1 then
  1500.             if UpdateOnscreenKeyboard() == 3 then
  1501.                 inputspec = 0
  1502.             elseif UpdateOnscreenKeyboard() == 1 then
  1503.                     inputspec = 2
  1504.             elseif UpdateOnscreenKeyboard() == 2 then
  1505.                 inputspec = 0
  1506.             end
  1507.         end
  1508.         if inputspec == 2 then
  1509.         local target = GetOnscreenKeyboardResult()
  1510.        
  1511.         TriggerEvent('es_camera:spectate', source, target)
  1512.        
  1513.         inputspec = 0
  1514.         end
  1515.     end
  1516. end)
  1517. -- FIN SPEC JOUEUR
  1518.  
  1519. ---------------------------------------------------------------------------Me concernant
  1520.  
  1521. function openTelephone()
  1522.     TriggerEvent('NB:closeAllSubMenu')
  1523.     TriggerEvent('NB:closeAllMenu')
  1524.     TriggerEvent('NB:closeMenuKey')
  1525.    
  1526.     TriggerEvent('NB:openMenuTelephone')
  1527. end
  1528.  
  1529. function openInventaire()
  1530.     TriggerEvent('NB:closeAllSubMenu')
  1531.     TriggerEvent('NB:closeAllMenu')
  1532.     TriggerEvent('NB:closeMenuKey')
  1533.    
  1534.     TriggerEvent('NB:openMenuInventaire')
  1535. end
  1536.  
  1537. function openFacture()
  1538.     TriggerEvent('NB:closeAllSubMenu')
  1539.     TriggerEvent('NB:closeAllMenu')
  1540.     TriggerEvent('NB:closeMenuKey')
  1541.    
  1542.     TriggerEvent('NB:openMenuFactures')
  1543. end
  1544.  
  1545. ---------------------------------------------------------------------------Actions
  1546.  
  1547. local playAnim = false
  1548. local dataAnim = {}
  1549.  
  1550. function animsAction(animObj)
  1551.     if (IsInVehicle()) then
  1552.         local source = GetPlayerServerId();
  1553.         ESX.ShowNotification("Sortez de votre véhicule pour faire cela !")
  1554.     else
  1555.         Citizen.CreateThread(function()
  1556.             if not playAnim then
  1557.                 local playerPed = GetPlayerPed(-1);
  1558.                 if DoesEntityExist(playerPed) then -- Ckeck if ped exist
  1559.                     dataAnim = animObj
  1560.  
  1561.                     -- Play Animation
  1562.                     RequestAnimDict(dataAnim.lib)
  1563.                     while not HasAnimDictLoaded(dataAnim.lib) do
  1564.                         Citizen.Wait(0)
  1565.                     end
  1566.                     if HasAnimDictLoaded(dataAnim.lib) then
  1567.                         local flag = 0
  1568.                         if dataAnim.loop ~= nil and dataAnim.loop then
  1569.                             flag = 1
  1570.                         elseif dataAnim.move ~= nil and dataAnim.move then
  1571.                             flag = 49
  1572.                         end
  1573.  
  1574.                         TaskPlayAnim(playerPed, dataAnim.lib, dataAnim.anim, 8.0, -8.0, -1, flag, 0, 0, 0, 0)
  1575.                         playAnimation = true
  1576.                     end
  1577.  
  1578.                     -- Wait end annimation
  1579.                     while true do
  1580.                         Citizen.Wait(0)
  1581.                         if not IsEntityPlayingAnim(playerPed, dataAnim.lib, dataAnim.anim, 3) then
  1582.                             playAnim = false
  1583.                             TriggerEvent('ft_animation:ClFinish')
  1584.                             break
  1585.                         end
  1586.                     end
  1587.                 end -- end ped exist
  1588.             end
  1589.         end)
  1590.     end
  1591. end
  1592.    
  1593.  
  1594. function animsActionScenario(animObj)
  1595.     if (IsInVehicle()) then
  1596.         local source = GetPlayerServerId();
  1597.         ESX.ShowNotification("Sortez de votre véhicule pour faire cela !")
  1598.     else
  1599.         Citizen.CreateThread(function()
  1600.             if not playAnim then
  1601.                 local playerPed = GetPlayerPed(-1);
  1602.                 if DoesEntityExist(playerPed) then
  1603.                     dataAnim = animObj
  1604.                     TaskStartScenarioInPlace(playerPed, dataAnim.anim, 0, false)
  1605.                     playAnimation = true
  1606.                 end
  1607.             end
  1608.         end)
  1609.     end
  1610. end
  1611.  
  1612. -- Verifie si le joueurs est dans un vehicule ou pas
  1613. function IsInVehicle()
  1614.     local ply = GetPlayerPed(-1)
  1615.     if IsPedSittingInAnyVehicle(ply) then
  1616.         return true
  1617.     else
  1618.         return false
  1619.     end
  1620. end
  1621.  
  1622. function changer_skin()
  1623.     TriggerEvent('esx_skin:openSaveableMenu', source)
  1624. end
  1625.  
  1626. function save_skin()
  1627.     TriggerEvent('esx_skin:requestSaveSkin', source)
  1628. end
  1629.  
  1630. ---------------------------------------------------------------------------------------------------------
  1631. --NB : gestion des menu
  1632. ---------------------------------------------------------------------------------------------------------
  1633.  
  1634. RegisterNetEvent('NB:goTpMarcker')
  1635. AddEventHandler('NB:goTpMarcker', function()
  1636.     admin_tp_marcker()
  1637. end)
  1638.  
  1639. RegisterNetEvent('NB:openMenuPersonnel')
  1640. AddEventHandler('NB:openMenuPersonnel', function()
  1641.     OpenPersonnelMenu()
  1642. end)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top