Forum adresimize hoş geldin FiveMTürk olarak amacımız siz değerli kullanıcılarımıza en aktif fikir ve paylaşım platformu sunmak bir yana en güvenilir şekilde alışveriş yapabileceğiniz bir platform sunmaktır.
Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
CevaplandıFivem 2.Galeri Scripti Nasıl yapılabilir.
Merhaba fivem sunucumda bir modlu araçlar için ve bir tane de normal araçlar için galeri yaptım ama sıkıntı şu yaptığım 2 .galeri çalışmadı yanı ayrı ayrı galeri yapamadım sadece bir galeri var gözüküyor discordum bu Osker#8003 eğer benim için esx_vehicleshop üzerinden yapabilecek varsa ricam ederim iletişime geçsin. Anlatabilir de!
local factor = (string.len(text)) / 330
DrawRect(_x, _y + 0.0150, 0.0 + factor, 0.035, 41, 11, 41, 100)
end
function openMenu()
ESX.UI.Menu.CloseAll()
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'carMenu',
{
title = 'İkinci El Araç Satış',
align = 'left',
elements = {
{label = "Araç Satın Al", value = "buy"},
{label = "Aracını Satış Listesine Ekle", value = "sell"},
{label = "Satılığa Koyduğum Araçlar", value = "my_sell"}
}
},function(data, menu)
if data.current.value == "buy" then
buyCar()
elseif data.current.value == "sell" then
sellCar()
elseif data.current.value == "my_sell" then
mySellCar()
end
end, function(data, menu)
menu.close()
end)
end
function mySellCar()
local elements = {}
ESX.TriggerServerCallback('haze-ikinciel:my-sell-car', function(myCars)
if myCars then
for _, car in pairs(myCars) do
local carModelName = GetDisplayNameFromVehicleModel(json.decode(car.prop).model)
local plate = car.plate
table.insert(elements, {label = carModelName .. " " .. plate, value = plate})
end
else
table.insert(elements, {label = "Satılığa koyduğun herhangi bir aracın yok!"})
end
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'car_sell_menu',
{
title = 'Aracını Satıştan Kaldır',
align = 'left',
elements = elements
}, function(data, menu)
ESX.UI.Menu.CloseAll()
TriggerServerEvent("haze-ikinciel:delete-list", data.current.value)
end, function(data, menu)
menu.close()
end)
end)
end
function sellCar()
local elements = {}
ESX.TriggerServerCallback('haze-ikinciellayer-car', function(myCars)
if myCars then
for _, car in pairs(myCars) do
local carModelName = GetDisplayNameFromVehicleModel(json.decode(car.vehicle).model)
local plate = car.plate
local prop = car.vehicle
table.insert(elements, {label = carModelName .. " " .. plate, value = plate, prop = prop})
end
else
table.insert(elements, {label = "Satabileceğin bir aracın yok."})
end
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'car_sell_menu',
{
title = 'Araç Satış',
align = 'left',
elements = elements
}, function(data2, menu2)
ESX.UI.Menu.CloseAll()
if data2.current.value then
openPriceMenu(data2.current.value, data2.current.prop)
end
end, function(data2, menu2)
menu2.close()
end)
end)
end
function openPriceMenu(plate, prop)
ESX.UI.Menu.Open('dialog', GetCurrentResourceName(), 'sell_car_input_menu',
{
title = "Aracın Satış Fiyatı"
},
function(data3, menu3)
local sellPrice = tonumber(data3.value)
if type(sellPrice) == "number" then
TriggerServerEvent("haze-ikinciel:sell-car", sellPrice, plate, prop)
local gameVehicles = ESX.Game.GetVehicles()
for i = 1, #gameVehicles do
local vehicle = gameVehicles
if DoesEntityExist(vehicle) then
if trim(GetVehicleNumberPlateText(vehicle)) == trim(plate) then
ESX.Game.DeleteVehicle(vehicle)
break
end
end
end
else
ESX.ShowNotification("Hatalı miktar!", "error")
end
menu3.close()
end, function(data3, menu3)
menu3.close()
end)
end
local createdCamera = 0
function buyCar()
local elements = {}
local playerPed = PlayerPedId()
createdCamera = CreateCam("DEFAULT_SCRIPTED_CAMERA", 1)
SetCamCoord(createdCamera, -71.62, 75.67, 73.61)
SetCamRot(createdCamera, -25.0, 0.0, 98.0, 2)
RenderScriptCams(1, 0, 0, 1, 1)
ESX.TriggerServerCallback('haze-ikinciel:car-list', function(listedCars)
if listedCars then
for _, car in pairs(listedCars) do
local carModel = json.decode(car.prop).model
local carModelName = GetDisplayNameFromVehicleModel(carModel)
local plate = car.plate
local prop = json.decode(car.prop)
local price = car.price
local ownerId = car.owner
if _ == 1 then
WaitForVehicleToLoad(carModel)
ESX.Game.SpawnLocalVehicle(carModel, carPos, 210.0, function(vehicle)
FreezeEntityPosition(vehicle, true)
ESX.Game.SetVehicleProperties(vehicle, prop)
SetModelAsNoLongerNeeded(carModel)
TriggerEvent("x-hotwire:give-keys", vehicle)
end)
end
table.insert(elements, {label = carModelName .. " " .. plate .. " $" .. ESX.Math.GroupDigits(price), value = plate, prop = prop, price = price, owner = ownerId, model = carModel})
end
else
table.insert(elements, {label = "Satılık hiç bir araç yok"})
end
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'car_sell_menu',
{
title = 'Araç Satın Al',
align = 'left',
elements = elements
}, function(data4, menu4)
ESX.UI.Menu.CloseAll()
if data4.current.value then
ESX.UI.Menu.Open( 'default', GetCurrentResourceName(), 'menuname',
{
title = ('Onaylıyor musunuz?'),
align = 'top-left',
elements = {
{label = ('Satın Al '..data4.current.price.."$" ), value = 1},
{label = ('Geri Dön'), value = 2},
}
},
function(data5, menu5)
if data5.current.value == 1 then
menu5.close()
TriggerServerEvent("haze-ikinciel:buy-car", data4.current.value, data4.current.price, data4.current.owner)
elseif data5.current.value == 2 then
menu5.close()
buyCar()
end
end,
function(data5, menu5)
menu5.close()
end
)
end
end,function(data4, menu4)
-- esc
menu4.close()
DeleteDisplayVehicleInsideShop()
DestroyCam(createdCamera, 0)
RenderScriptCams(0, 0, 1, 1, 1)
createdCamera = 0
end,function(data4, menu4)
--aşağı yukar
local vehicleData = data4.current
if vehicleData.value then
DeleteDisplayVehicleInsideShop()
WaitForVehicleToLoad(vehicleData.model)
ESX.Game.SpawnLocalVehicle(vehicleData.model, carPos, 210.0, function(vehicle)
FreezeEntityPosition(vehicle, true)
ESX.Game.SetVehicleProperties(vehicle, vehicleData.prop)
SetModelAsNoLongerNeeded(vehicleData.model)
end)
end
end, function(data4, menu4)
--enter
DeleteDisplayVehicleInsideShop()
DestroyCam(createdCamera, 0)
RenderScriptCams(0, 0, 1, 1, 1)
createdCamera = 0
end)
end)
end
function WaitForVehicleToLoad(modelHash)
modelHash = (type(modelHash) == 'number' and modelHash or GetHashKey(modelHash))
if not HasModelLoaded(modelHash) then
RequestModel(modelHash)
BeginTextCommandBusyspinnerOn('STRING')
AddTextComponentSubstringPlayerName("Araç Yükleniyor...")
EndTextCommandBusyspinnerOn(4)
while not HasModelLoaded(modelHash) do
Citizen.Wait(0)
DisableAllControlActions(0)
end
BusyspinnerOff()
end
end
function DeleteDisplayVehicleInsideShop()
local vehicle, distance = ESX.Game.GetClosestVehicle(carPos)
if distance < 4 then
if DoesEntityExist(vehicle) then
ESX.Game.DeleteVehicle(vehicle)
end
end
end
function trim(value)
if value then
return (string.gsub(value, "^%s*(.-)%s*$", "%1"))
else
return nil
end
end
local factor = (string.len(text)) / 330
DrawRect(_x, _y + 0.0150, 0.0 + factor, 0.035, 41, 11, 41, 100)
end
function openMenu()
ESX.UI.Menu.CloseAll()
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'carMenu',
{
title = 'İkinci El Araç Satış',
align = 'left',
elements = {
{label = "Araç Satın Al", value = "buy"},
{label = "Aracını Satış Listesine Ekle", value = "sell"},
{label = "Satılığa Koyduğum Araçlar", value = "my_sell"}
}
},function(data, menu)
if data.current.value == "buy" then
buyCar()
elseif data.current.value == "sell" then
sellCar()
elseif data.current.value == "my_sell" then
mySellCar()
end
end, function(data, menu)
menu.close()
end)
end
function mySellCar()
local elements = {}
ESX.TriggerServerCallback('haze-ikinciel:my-sell-car', function(myCars)
if myCars then
for _, car in pairs(myCars) do
local carModelName = GetDisplayNameFromVehicleModel(json.decode(car.prop).model)
local plate = car.plate
table.insert(elements, {label = carModelName .. " " .. plate, value = plate})
end
else
table.insert(elements, {label = "Satılığa koyduğun herhangi bir aracın yok!"})
end
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'car_sell_menu',
{
title = 'Aracını Satıştan Kaldır',
align = 'left',
elements = elements
}, function(data, menu)
ESX.UI.Menu.CloseAll()
TriggerServerEvent("haze-ikinciel:delete-list", data.current.value)
end, function(data, menu)
menu.close()
end)
end)
end
function sellCar()
local elements = {}
ESX.TriggerServerCallback('haze-ikinciellayer-car', function(myCars)
if myCars then
for _, car in pairs(myCars) do
local carModelName = GetDisplayNameFromVehicleModel(json.decode(car.vehicle).model)
local plate = car.plate
local prop = car.vehicle
table.insert(elements, {label = carModelName .. " " .. plate, value = plate, prop = prop})
end
else
table.insert(elements, {label = "Satabileceğin bir aracın yok."})
end
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'car_sell_menu',
{
title = 'Araç Satış',
align = 'left',
elements = elements
}, function(data2, menu2)
ESX.UI.Menu.CloseAll()
if data2.current.value then
openPriceMenu(data2.current.value, data2.current.prop)
end
end, function(data2, menu2)
menu2.close()
end)
end)
end
function openPriceMenu(plate, prop)
ESX.UI.Menu.Open('dialog', GetCurrentResourceName(), 'sell_car_input_menu',
{
title = "Aracın Satış Fiyatı"
},
function(data3, menu3)
local sellPrice = tonumber(data3.value)
if type(sellPrice) == "number" then
TriggerServerEvent("haze-ikinciel:sell-car", sellPrice, plate, prop)
local gameVehicles = ESX.Game.GetVehicles()
for i = 1, #gameVehicles do
local vehicle = gameVehicles if DoesEntityExist(vehicle) then
if trim(GetVehicleNumberPlateText(vehicle)) == trim(plate) then
ESX.Game.DeleteVehicle(vehicle)
break
end
end
end
else
ESX.ShowNotification("Hatalı miktar!", "error")
end
menu3.close()
end, function(data3, menu3)
menu3.close()
end)
end
local createdCamera = 0
function buyCar()
local elements = {}
local playerPed = PlayerPedId()
createdCamera = CreateCam("DEFAULT_SCRIPTED_CAMERA", 1)
SetCamCoord(createdCamera, -71.62, 75.67, 73.61)
SetCamRot(createdCamera, -25.0, 0.0, 98.0, 2)
RenderScriptCams(1, 0, 0, 1, 1)
ESX.TriggerServerCallback('haze-ikinciel:car-list', function(listedCars)
if listedCars then
for _, car in pairs(listedCars) do
local carModel = json.decode(car.prop).model
local carModelName = GetDisplayNameFromVehicleModel(carModel)
local plate = car.plate
local prop = json.decode(car.prop)
local price = car.price
local ownerId = car.owner
if _ == 1 then
WaitForVehicleToLoad(carModel)
ESX.Game.SpawnLocalVehicle(carModel, carPos, 210.0, function(vehicle)
FreezeEntityPosition(vehicle, true)
ESX.Game.SetVehicleProperties(vehicle, prop)
SetModelAsNoLongerNeeded(carModel)
TriggerEvent("x-hotwire:give-keys", vehicle)
end)
end
table.insert(elements, {label = carModelName .. " " .. plate .. " $" .. ESX.Math.GroupDigits(price), value = plate, prop = prop, price = price, owner = ownerId, model = carModel})
end
else
table.insert(elements, {label = "Satılık hiç bir araç yok"})
end
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'car_sell_menu',
{
title = 'Araç Satın Al',
align = 'left',
elements = elements
}, function(data4, menu4)
ESX.UI.Menu.CloseAll()
if data4.current.value then
ESX.UI.Menu.Open( 'default', GetCurrentResourceName(), 'menuname',
{
title = ('Onaylıyor musunuz?'),
align = 'top-left',
elements = {
{label = ('Satın Al '..data4.current.price.."$" ), value = 1},
{label = ('Geri Dön'), value = 2},
}
},
function(data5, menu5)
if data5.current.value == 1 then
menu5.close()
TriggerServerEvent("haze-ikinciel:buy-car", data4.current.value, data4.current.price, data4.current.owner)
elseif data5.current.value == 2 then
menu5.close()
buyCar()
end
end,
function(data5, menu5)
menu5.close()
end
)
end
end,function(data4, menu4)
-- esc
menu4.close()
DeleteDisplayVehicleInsideShop()
DestroyCam(createdCamera, 0)
RenderScriptCams(0, 0, 1, 1, 1)
createdCamera = 0
end,function(data4, menu4)
--aşağı yukar
local vehicleData = data4.current
if vehicleData.value then
DeleteDisplayVehicleInsideShop()
WaitForVehicleToLoad(vehicleData.model)
ESX.Game.SpawnLocalVehicle(vehicleData.model, carPos, 210.0, function(vehicle)
FreezeEntityPosition(vehicle, true)
ESX.Game.SetVehicleProperties(vehicle, vehicleData.prop)
SetModelAsNoLongerNeeded(vehicleData.model)
end)
end
end, function(data4, menu4)
--enter
DeleteDisplayVehicleInsideShop()
DestroyCam(createdCamera, 0)
RenderScriptCams(0, 0, 1, 1, 1)
createdCamera = 0
end)
end)
end
function WaitForVehicleToLoad(modelHash)
modelHash = (type(modelHash) == 'number' and modelHash or GetHashKey(modelHash))
if not HasModelLoaded(modelHash) then
RequestModel(modelHash)
BeginTextCommandBusyspinnerOn('STRING')
AddTextComponentSubstringPlayerName("Araç Yükleniyor...")
EndTextCommandBusyspinnerOn(4)
while not HasModelLoaded(modelHash) do
Citizen.Wait(0)
DisableAllControlActions(0)
end
BusyspinnerOff()
end
end
function DeleteDisplayVehicleInsideShop()
local vehicle, distance = ESX.Game.GetClosestVehicle(carPos)
if distance < 4 then
if DoesEntityExist(vehicle) then
ESX.Game.DeleteVehicle(vehicle)
end
end
end
function trim(value)
if value then
return (string.gsub(value, "^%s*(.-)%s*$", "%1"))
else
return nil
end
end
şu şekilde ben lüks galeri açacağım ymapini yükledim oyun içi kordinatlarını aldım ve araçların çıkması için kordinatları ayarladım ama ne zaman araç satın ala basayım script için ayarlanmış ymapin oraya atıyor ve hiç birşey gözükmüyor ben de kendi ymapime kordinatlarımı uyarlamaya çalıştım ama olmadı
trigger ve callbacklerin hepsini değiştir esx_vehicleshop2 gibi yap yeni bir script gibi olucaktır ama başka sql açman gerekiyor haberin olsun (esx_vehicleshop için anlattım)
yapmanız gerek şu visual studio code'dan client ve server'da esx_vehicleshop'u aratıcaksınız ve esx_vehicleshop olanları esx_vehicleshop2 diye değiştiriceksiniz sonra yeni sql tabloları açıcaksınız isimleri farklı olan server.luadan isimlerini değiştiriceksiniz bu kadar yapmak istemezseniz bir boş zamanımda yapıp paylaşabilirim.
yapmanız gerek şu visual studio code'dan client ve server'da esx_vehicleshop'u aratıcaksınız ve esx_vehicleshop olanları esx_vehicleshop2 diye değiştiriceksiniz sonra yeni sql tabloları açıcaksınız isimleri farklı olan server.luadan isimlerini değiştiriceksiniz bu kadar yapmak istemezseniz bir boş zamanımda yapıp paylaşabilirim.
CREATE TABLE `cardealer_vehicles2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`vehicle` varchar(255) NOT NULL,
`price` int(11) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `vehicle_sold2` (
`client` VARCHAR(50) NOT NULL,
`model` VARCHAR(50) NOT NULL,
`plate` VARCHAR(50) NOT NULL,
`soldby` VARCHAR(50) NOT NULL,
`date` VARCHAR(50) NOT NULL,
PRIMARY KEY (`plate`)
);
CREATE TABLE `owned_vehicles2` (
`owner` varchar(22) NOT NULL,
`plate` varchar(12) NOT NULL,
`vehicle` longtext,
`type` VARCHAR(20) NOT NULL DEFAULT 'car',
`job` VARCHAR(20) NULL DEFAULT NULL,
`stored` TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`plate`)
);
CREATE TABLE `rented_vehicles2` (
`vehicle` varchar(60) NOT NULL,
`plate` varchar(12) NOT NULL,
`player_name` varchar(255) NOT NULL,
`base_price` int(11) NOT NULL,
`rent_price` int(11) NOT NULL,
`owner` varchar(22) NOT NULL,
PRIMARY KEY (`plate`)
);
CREATE TABLE `vehicle_categories2` (
`name` varchar(60) NOT NULL,
`label` varchar(60) NOT NULL,