[STANDALONE] ZM Realistic Antilag System

[STANDALONE] ZM Antilag System


EXAMPLE Preview Video (You should watch )

CONFIG

config = {}
config.usingFramework = "qb"  -- "esx", "qb", "custom"

config.locale = "en_US"

    -- 21 (Left Shift by default)
config.twoStepControl = 21


config.carjack_carrybtn = 38 --E
config.carjack_getbackbtn = 23 --F
config.carjack_useincartire = 74 --H


config.carjackbuildtime = 2500  -- 2.5s
config.carjackgetbacktime = 2500  -- 2.5s
config.usecarjackincartire = 5000  -- 2.5s

config.TwoStepCars = { -- Add Vehicles to this list to allow the 2step/Anti-lag engagement -- Put more cars into one line to save vertical space
-208911803, -- jugular
}


config.Locale =
{
    ["tr_TR"] =
    {
        ["not_authorized"] = "Bunu kullanma yetkiniz yok!",
        ["antilag_enabled"] = "Anti-Lag Takıldı!",
        ["antilag_disabled"] = "Anti-Lag Çıkartıldı!",
        ["use_carjack"] = "Kriko Kullan",
        ["getback_carjack"] = "Kriko Topla",
        ["using_carjack"] = "Kriko Kullanılıyor...",
        ["process_canceled"] = "İşlem iptal edildi!",
        ["carjack_getback"] = "Kriko Geri Toplanıyor...",
        ["carry_carjack"] = "Krikoyu Tası",
        ["getback_usecarjack"] = "Krikoyu Kullan",
        ["carjack_carrybtn"] = "[E]",
        ["carjack_getbackbtn"] = "[F]",
        ["carjack_usecaritre"] = "[H]",
        ["ofyourhand_carjack"] = "Krikoyu Elinden Bırak",
        ["carislower"] = "Araç Indiriliyor",
        ["carislowerr"] = "Aracı Indir",
        ["setantilag"] = "Antilag Yerlestiriliyor",
        ["setantilagg"] = "Antilag Yerlestir",
        ["carisallready_carjack"] = "Bu araç zaten kaldırıldı",
        ["lowercar"] = "Aracı Indir",
        ["SetAntilag"] = "Antilag Tak",
    },
    ["en_US"] =
    {
        ["not_authorized"] = "You are not allowed to use this!",
        ["antilag_enabled"] = "Anti-Lag has been Enabled!",
        ["antilag_disabled"] = "Anti-Lag has been Disabled!",
        ["use_carjack"] = "Use Jack",
        ["getback_carjack"] = "Collect Jack",
        ["using_carjack"] = "Using a Jack...",
        ["process_canceled"] = "The transaction is canceled!",
        ["carjack_getback"] = "The Jack Recovers...",
        ["carry_carjack"] = "Move the Jack",
        ["getback_usecarjack"] = "Use the Jack",
        ["carjack_carrybtn"] = "[E]",
        ["carjack_getbackbtn"] = "[F]",
        ["carjack_usecaritre"] = "[H]",
        ["ofyourhand_carjack"] = "Drop the Jack",
        ["carislower"] = "Vehicle Lowering",
        ["carislowerr"] = "Lower Car",
        ["setantilag"] = "Placing Antilag",
        ["setantilagg"] = "Place Antilag",
        ["carisallready_carjack"] = "This tool has already been removed",
        ["lowercar"] = "Lower Car",
        ["SetAntilag"] = "Place antilag",
    }
}






--------------------------- FRAMEWORK AREA

config.frameworkObject = nil

if config.usingFramework == "esx" then
    TriggerEvent('esx:getSharedObject', function(obj) config.frameworkObject = obj end)
elseif config.usingFramework == "qb" then
    if GetResourceState('qb-core') == 'started' then
        config.frameworkObject = exports['qb-core']:GetCoreObject()
    end
else
    --if GetResourceState('qb-core') == 'started' then
    --    QBCore = exports['qb-core']:GetCoreObject()
    --end
end




RegisterNetEvent("zm:antilag:config:SetNotify")
AddEventHandler("zm:antilag:config:SetNotify", function(source,txt,type,time)
    if config.usingFramework == "esx" then
        TriggerEvent('esx:showNotification', source, txt)
    elseif config.usingFramework == "qb" then
        TriggerEvent('QBCore:Notify', source, txt, type,time)
    else
        --TriggerEvent('QBCore:Notify', source, txt, type,time)
    end
end)



------------------------- ProgressBar 



RegisterNetEvent("zm:antilag:config:BuildCarJackProgressBar")
AddEventHandler("zm:antilag:config:BuildCarJackProgressBar", function(source,type_txt,desc_txt,time,disableMovement,disableCarMovement,disableMouse,disableCombat,animdic,animname)
    local ped = PlayerPedId()
    Prop_Create("hei_prop_drug_statue_box_big")

    if config.usingFramework == "esx" then

    elseif config.usingFramework == "qb" then
        config.frameworkObject.Functions.Progressbar(type_txt, desc_txt, time, false, true, {
            disableMovement = disableMovement,
            disableCarMovement = disableCarMovement,
            disableMouse = disableMouse,
            disableCombat = disableCombat,
        }, {
            animDict = animdic,
            anim = animname,
            flags = 1,
        }, {}, {}, function() -- Done
            Prop_Delete("hei_prop_drug_statue_box_big")
            StopAnimTask(ped, animdic, animname, 1.0)
            TriggerServerEvent('zm_antilag:server:removecarjackfromplayer')
            TriggerEvent("zm_antilag:client:SetCarjackLocation")
        end, function() -- Cancel
            Prop_Delete("hei_prop_drug_statue_box_big")
            StopAnimTask(ped, animdic, animname, 1.0)
            TriggerEvent("zm:antilag:config:SetNotify",source,config.Locale[config.locale]["process_canceled"],"error",2500)
        end)
    else
    
    end
end)


RegisterNetEvent("zm:antilag:config:GetBackCarJackProgressBar")
AddEventHandler("zm:antilag:config:GetBackCarJackProgressBar", function(source,type_txt,desc_txt,time,disableMovement,disableCarMovement,disableMouse,disableCombat,animdic,animname)
    local ped = PlayerPedId()
    Prop_Delete("prop_carjack")
    Prop_Create("hei_prop_drug_statue_box_big")

    if config.usingFramework == "esx" then

    elseif config.usingFramework == "qb" then
        config.frameworkObject.Functions.Progressbar(type_txt, desc_txt, time, false, true, {
            disableMovement = disableMovement,
            disableCarMovement = disableCarMovement,
            disableMouse = disableMouse,
            disableCombat = disableCombat,
        }, {
            animDict = animdic,
            anim = animname,
            flags = 1,
        }, {}, {}, function() -- Done
            Prop_Delete("hei_prop_drug_statue_box_big")
            StopAnimTask(ped, animdic, animname, 1.0)
            TriggerServerEvent('zm_antilag:server:addcarjackfromplayer')
        end, function() -- Cancel
            Prop_Delete("hei_prop_drug_statue_box_big")
            StopAnimTask(ped, animdic, animname, 1.0)
            TriggerEvent("zm:antilag:config:SetNotify",source,config.Locale[config.locale]["process_canceled"],"error",2500)
        end)
    else
    
    end
end)


RegisterNetEvent("zm:antilag:config:UseCarjackInCarTire")
AddEventHandler("zm:antilag:config:UseCarjackInCarTire", function(source,type_txt,desc_txt,time,disableMovement,disableCarMovement,disableMouse,disableCombat,animdic,animname,vehicle,heldProp)
    local ped = PlayerPedId()

    if config.usingFramework == "esx" then

    elseif config.usingFramework == "qb" then
        config.frameworkObject.Functions.Progressbar(type_txt, desc_txt, time, false, true, {
            disableMovement = disableMovement,
            disableCarMovement = disableCarMovement,
            disableMouse = disableMouse,
            disableCombat = disableCombat,
        }, {
            animDict = animdic,
            anim = animname,
            flags = 1,
        }, {}, {}, function() -- Done
            local netId = NetworkGetNetworkIdFromEntity(vehicle)
            TriggerEvent("zm_antilag:raiseCar", netId, source)
            TriggerServerEvent("arac_kaydet",vehicle)
            RemoveHoldingProFromPlayerHand()
            Prop_Delete("prop_carjack")
            StopAnimTask(ped, animdic, animname, 1.0)
        end, function() -- Cancel
            StopAnimTask(ped, animdic, animname, 1.0)
            TriggerEvent("zm:antilag:config:SetNotify",source,config.Locale[config.locale]["process_canceled"],"error",2500)
        end)
    else

    end
end)


RegisterNetEvent("zm:antilag:config:LowerCar")
AddEventHandler("zm:antilag:config:LowerCar", function(source,type_txt,desc_txt,time,disableMovement,disableCarMovement,disableMouse,disableCombat,animdic,animname,vehicle)
    local ped = PlayerPedId()

    if config.usingFramework == "esx" then

    elseif config.usingFramework == "qb" then
        config.frameworkObject.Functions.Progressbar(type_txt, desc_txt, time, false, true, {
            disableMovement = disableMovement,
            disableCarMovement = disableCarMovement,
            disableMouse = disableMouse,
            disableCombat = disableCombat,
        }, {
            animDict = animdic,
            anim = animname,
            flags = 1,
        }, {}, {}, function() -- Done
            local netId = NetworkGetNetworkIdFromEntity(vehicle)
            TriggerEvent("zm_antilag:LowerCar", netId, source)  -- Event'i tetikleyin ve aracı event'e gönderin
            TriggerServerEvent("arac_kayit_sil",vehicle)
            Prop_Create_From_LowerCar("prop_carjack")
            StopAnimTask(ped, animdic, animname, 1.0)
        end, function() -- Cancel
            StopAnimTask(ped, animdic, animname, 1.0)
            TriggerEvent("zm:antilag:config:SetNotify",source,config.Locale[config.locale]["process_canceled"],"error",2500)
        end)
    else

    end
end)


RegisterNetEvent("zm:antilag:config:AntilagYerlestir")
AddEventHandler("zm:antilag:config:AntilagYerlestir", function(source,type_txt,desc_txt,time,disableMovement,disableCarMovement,disableMouse,disableCombat,animdic,animname,vehicle)
    local ped = PlayerPedId()

    if config.usingFramework == "esx" then

    elseif config.usingFramework == "qb" then
        config.frameworkObject.Functions.Progressbar(type_txt, desc_txt, time, false, true, {
            disableMovement = disableMovement,
            disableCarMovement = disableCarMovement,
            disableMouse = disableMouse,
            disableCombat = disableCombat,
        }, {
            animDict = animdic,
            anim = animname,
            flags = 1,
        }, {}, {}, function() -- Done
            TriggerServerEvent("arac_kaydet_antilagli",vehicle)
            TriggerServerEvent('zm_antilag:server:removeantilagsetfromplayer')
            StopAnimTask(ped, animdic, animname, 1.0)
        end, function() -- Cancel
            StopAnimTask(ped, animdic, animname, 1.0)
            TriggerEvent("zm:antilag:config:SetNotify",source,config.Locale[config.locale]["process_canceled"],"error",2500)
        end)
    else

    end
end)




Client Resmon

Server Resmon


[FEATURES]

  • Easy adjustable config.
  • Fully optimized.
  • Suitable for every car.
  • Provides easy handling.
  • Low resmon values.

You can buy this script from TEBEX : https://zmstore.tebex.io/package/6445813


For ZM Development Other Scripts
ZM Realistic Field Of View [ESCROWED] : https://zmstore.tebex.io/package/6422453
Advanced Emote Menu v2 [ESCROWED]: https://zmstore.tebex.io/package/6421094
Advanced Emote Menu V1 [ESCROWED] : https://zmstore.tebex.io/package/6421005
Advanced Gabz Bahama Job [ESCROWED] : https://zmstore.tebex.io/package/6421010
Advanced Report System [ESCROWED] : https://zmstore.tebex.io/package/6421041
Advanced Weapon Craft System [ESCROWED] : https://zmstore.tebex.io/package/6421043
Advanced Me Do [ESCROWED] : https://zmstore.tebex.io/package/6421058
Advanced Multicharacter [ESCROWED] : https://zmstore.tebex.io/package/6421092
Advanced Love Menu V2 [ESCROWED] : https://zmstore.tebex.io/package/6421097
Advanced Notify [ESCROWED] : https://zmstore.tebex.io/package/6421110
Advanced Love/Pose Menu [ESCROWED] : https://zmstore.tebex.io/package/6421008
ZM Female Smart Casual P.1 [ESCROWED] : https://zmstore.tebex.io/package/6421121
ZM Female Daily Outfit P.1 [ESCROWED] : https://zmstore.tebex.io/package/6421123
ZM FEMALE SWIMDREES CLOTHES PACK P.1 [ESCROWED] : https://zmstore.tebex.io/package/6421119

Code is accessible No
Subscription-based No
Lines (approximately) 3000+
Requirements Standalone
Support Yes

how can I remove antilagh from a car and it save after server restart?

please open a ticket and we will help you

!uptaded

So the anti-lag remains over the restart and cops can remove (that would also have been my question)