Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled Diff
Created
6 years ago
Diff never expires
Clear
Export
Share
Explain
102 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
156 lines
Copy
1 addition
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
55 lines
Copy
ESX = nil
ESX = nil
local menuOpen = false
local menuOpen = false
local wasOpen = false
local wasOpen = false
Citizen.CreateThread(function()
Citizen.CreateThread(function()
while ESX == nil do
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
Citizen.Wait(0)
end
end
while ESX.GetPlayerData().job == nil do
while ESX.GetPlayerData().job == nil do
Citizen.Wait(100)
Citizen.Wait(100)
end
end
ESX.PlayerData = ESX.GetPlayerData()
ESX.PlayerData = ESX.GetPlayerData()
end)
end)
Copy
Copied
Copy
Copied
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
if GetDistanceBetweenCoords(coords, Config.CircleZones.DrugDealer.coords, true) < 0.5 then
if not menuOpen then
ESX.ShowHelpNotification(_U('dealer_prompt'))
if IsControlJustReleased(0, 38) then
wasOpen = true
OpenDrugShop()
end
else
Citizen.Wait(500)
end
else
if wasOpen then
wasOpen = false
ESX.UI.Menu.CloseAll()
end
Citizen.Wait(500)
end
end
end)
function OpenDrugShop()
ESX.UI.Menu.CloseAll()
local elements = {}
menuOpen = true
for k, v in pairs(ESX.GetPlayerData().inventory) do
local price = Config.DrugDealerItems[v.name]
if price and v.count > 0 then
table.insert(elements, {
label = ('%s - <span style="color:green;">%s</span>'):format(v.label, _U('dealer_item', ESX.Math.GroupDigits(price))),
name = v.name,
price = price,
-- menu properties
type = 'slider',
value = 1,
min = 1,
max = v.count
})
end
end
Copy
Copied
Copy
Copied
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'drug_shop', {
title = _U('dealer_title'),
align = 'top-left',
elements = elements
}, function(data, menu)
TriggerServerEvent('esx_drugs:sellDrug', data.current.name, data.current.value)
end, function(data, menu)
menu.close()
menuOpen = false
end)
end
AddEventHandler('onResourceStop', function(resource)
AddEventHandler('onResourceStop', function(resource)
if resource == GetCurrentResourceName() then
if resource == GetCurrentResourceName() then
if menuOpen then
if menuOpen then
ESX.UI.Menu.CloseAll()
ESX.UI.Menu.CloseAll()
end
end
end
end
end)
end)
Copy
Copied
Copy
Copied
function OpenBuyLicenseMenu(licenseName)
menuOpen = true
local license = Config.LicensePrices[licenseName]
local elements = {
{
label = _U('license_no'),
value = 'no'
},
{
label = ('%s - <span style="color:green;">%s</span>'):format(license.label, _U('dealer_item', ESX.Math.GroupDigits(license.price))),
value = licenseName,
price = license.price,
licenseName = license.label
}
}
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'license_shop', {
title = _U('license_title'),
align = 'top-left',
elements = elements
}, function(data, menu)
if data.current.value ~= 'no' then
ESX.TriggerServerCallback('esx_drugs:buyLicense', function(boughtLicense)
if boughtLicense then
ESX.ShowNotification(_U('license_bought', data.current.licenseName, ESX.Math.GroupDigits(data.current.price)))
else
ESX.ShowNotification(_U('license_bought_fail', data.current.licenseName))
end
end, data.current.value)
else
menu.close()
end
end, function(data, menu)
menu.close()
menuOpen = false
end)
end
function CreateBlipCircle(coords, text, radius, color, sprite)
function CreateBlipCircle(coords, text, radius, color, sprite)
local blip = AddBlipForRadius(coords, radius)
local blip = AddBlipForRadius(coords, radius)
SetBlipHighDetail(blip, true)
SetBlipHighDetail(blip, true)
SetBlipColour(blip, 1)
SetBlipColour(blip, 1)
SetBlipAlpha (blip, 128)
SetBlipAlpha (blip, 128)
-- create a blip in the middle
-- create a blip in the middle
blip = AddBlipForCoord(coords)
blip = AddBlipForCoord(coords)
SetBlipHighDetail(blip, true)
SetBlipHighDetail(blip, true)
SetBlipSprite (blip, sprite)
SetBlipSprite (blip, sprite)
SetBlipScale (blip, 1.0)
SetBlipScale (blip, 1.0)
SetBlipColour (blip, color)
SetBlipColour (blip, color)
SetBlipAsShortRange(blip, true)
SetBlipAsShortRange(blip, true)
BeginTextCommandSetBlipName("STRING")
BeginTextCommandSetBlipName("STRING")
AddTextComponentString(text)
AddTextComponentString(text)
EndTextCommandSetBlipName(blip)
EndTextCommandSetBlipName(blip)
end
end
Citizen.CreateThread(function()
Citizen.CreateThread(function()
for k,zone in pairs(Config.CircleZones) do
for k,zone in pairs(Config.CircleZones) do
Copy
Copied
Copy
Copied
CreateBlipCircle(zone.coords, zone.name, zone.radius, zone.color, zone.sprite)
CreateBlipCircle(zone.coords, zone.name, zone.radius, zone.color, zone.sprite)
end
end
end)
end)
Saved diffs
Original text
Open file
ESX = nil local menuOpen = false local wasOpen = false Citizen.CreateThread(function() while ESX == nil do TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) Citizen.Wait(0) end while ESX.GetPlayerData().job == nil do Citizen.Wait(100) end ESX.PlayerData = ESX.GetPlayerData() end) Citizen.CreateThread(function() while true do Citizen.Wait(0) local playerPed = PlayerPedId() local coords = GetEntityCoords(playerPed) if GetDistanceBetweenCoords(coords, Config.CircleZones.DrugDealer.coords, true) < 0.5 then if not menuOpen then ESX.ShowHelpNotification(_U('dealer_prompt')) if IsControlJustReleased(0, 38) then wasOpen = true OpenDrugShop() end else Citizen.Wait(500) end else if wasOpen then wasOpen = false ESX.UI.Menu.CloseAll() end Citizen.Wait(500) end end end) function OpenDrugShop() ESX.UI.Menu.CloseAll() local elements = {} menuOpen = true for k, v in pairs(ESX.GetPlayerData().inventory) do local price = Config.DrugDealerItems[v.name] if price and v.count > 0 then table.insert(elements, { label = ('%s - <span style="color:green;">%s</span>'):format(v.label, _U('dealer_item', ESX.Math.GroupDigits(price))), name = v.name, price = price, -- menu properties type = 'slider', value = 1, min = 1, max = v.count }) end end ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'drug_shop', { title = _U('dealer_title'), align = 'top-left', elements = elements }, function(data, menu) TriggerServerEvent('esx_drugs:sellDrug', data.current.name, data.current.value) end, function(data, menu) menu.close() menuOpen = false end) end AddEventHandler('onResourceStop', function(resource) if resource == GetCurrentResourceName() then if menuOpen then ESX.UI.Menu.CloseAll() end end end) function OpenBuyLicenseMenu(licenseName) menuOpen = true local license = Config.LicensePrices[licenseName] local elements = { { label = _U('license_no'), value = 'no' }, { label = ('%s - <span style="color:green;">%s</span>'):format(license.label, _U('dealer_item', ESX.Math.GroupDigits(license.price))), value = licenseName, price = license.price, licenseName = license.label } } ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'license_shop', { title = _U('license_title'), align = 'top-left', elements = elements }, function(data, menu) if data.current.value ~= 'no' then ESX.TriggerServerCallback('esx_drugs:buyLicense', function(boughtLicense) if boughtLicense then ESX.ShowNotification(_U('license_bought', data.current.licenseName, ESX.Math.GroupDigits(data.current.price))) else ESX.ShowNotification(_U('license_bought_fail', data.current.licenseName)) end end, data.current.value) else menu.close() end end, function(data, menu) menu.close() menuOpen = false end) end function CreateBlipCircle(coords, text, radius, color, sprite) local blip = AddBlipForRadius(coords, radius) SetBlipHighDetail(blip, true) SetBlipColour(blip, 1) SetBlipAlpha (blip, 128) -- create a blip in the middle blip = AddBlipForCoord(coords) SetBlipHighDetail(blip, true) SetBlipSprite (blip, sprite) SetBlipScale (blip, 1.0) SetBlipColour (blip, color) SetBlipAsShortRange(blip, true) BeginTextCommandSetBlipName("STRING") AddTextComponentString(text) EndTextCommandSetBlipName(blip) end Citizen.CreateThread(function() for k,zone in pairs(Config.CircleZones) do CreateBlipCircle(zone.coords, zone.name, zone.radius, zone.color, zone.sprite) end end)
Changed text
Open file
ESX = nil local menuOpen = false local wasOpen = false Citizen.CreateThread(function() while ESX == nil do TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) Citizen.Wait(0) end while ESX.GetPlayerData().job == nil do Citizen.Wait(100) end ESX.PlayerData = ESX.GetPlayerData() end) AddEventHandler('onResourceStop', function(resource) if resource == GetCurrentResourceName() then if menuOpen then ESX.UI.Menu.CloseAll() end end end) function CreateBlipCircle(coords, text, radius, color, sprite) local blip = AddBlipForRadius(coords, radius) SetBlipHighDetail(blip, true) SetBlipColour(blip, 1) SetBlipAlpha (blip, 128) -- create a blip in the middle blip = AddBlipForCoord(coords) SetBlipHighDetail(blip, true) SetBlipSprite (blip, sprite) SetBlipScale (blip, 1.0) SetBlipColour (blip, color) SetBlipAsShortRange(blip, true) BeginTextCommandSetBlipName("STRING") AddTextComponentString(text) EndTextCommandSetBlipName(blip) end Citizen.CreateThread(function() for k,zone in pairs(Config.CircleZones) do CreateBlipCircle(zone.coords, zone.name, zone.radius, zone.color, zone.sprite) end end)
Find difference