Qbus Temeli Ve ESX temeli.
QBCore = nil
Citizen.CreateThread(function()
while QBCore == nil do
TriggerEvent('QBCore:GetObject', function(obj) QBCore = obj end)
Citizen.Wait(30) -- Saniye Bekletme
end
end)
Altaki yeni olanlar için -- üsteki eski sürüm için, çalışmaz ise ikisinide dene...
local QBCore = exports['qb-core']:GetCoreObject()
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(30)-- Saniye Bekletme
end
end)
Beyler Bu kısım Yoktu eklendi. Anlamı: Oyuncu Giriş Kısmı İlik Oyuna Girerken Lazım, Yani Server Dosyasıdır. Bu olay, oyuncu sunucuya bağlandığında tetiklenir
RegisterNetEvent('QBCore:Client:OnPlayerLoaded')
AddEventHandler('QBCore:Client:OnPlayerLoaded',
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded',
Server Dosyası, Job Kısmı Meslek Kısmıdır.
RegisterNetEvent('QBCore:Client:OnJobUpdate')
AddEventHandler('QBCore:Client:OnJobUpdade',
RegisterNetEvent('esx:setJob')
AddEventHandler('esx:setJob',
RegisterNetEvent('QBCore:Client:OnPlayerUnload')
AddEventHandler('QBCore:Client:OnPlayerUnload',
RegisterNetEvent('esx:restoreLoadout')
AddEventHandler('esx:restoreLoadout',
Burdan Kontrol Edebilrsiniz. https://esx-framework.github.io/es_extended/common/events/onplayerdeath/#example-client-side-usage
RegisterNetEvent('hospital:server:SetDeathStatus')
AddEventHandler('hospital:server:SetDeathStatus',
RegisterNetEvent('esx:onPlayerDeath')
AddEventHandler('esx:onPlayerDeath',
Ambulance Revive Kısmıdır "TriggerEvent" İçin Kullanılır.
TriggerEvent('hospital:client:Revive')
TriggerEvent('esx_ambulancejob:revive')
Beyler Bu kısım Yoktu eklendi. Anlamı: Bu işlev, en yakın oyuncu istemci kimliğini ve oynatıcıya olan mesafeyi alır.
QBCore.Functions.GetClosestPlayer()
ESX.Game.GetClosestPlayer()
3D li Yazı Ekleme, Cilent Dosyası. Örnek : https://media.discordapp.net/attachments/623207764314816562/812096508786507806/resim_1.png
QBCore.Functions.DrawText3D(1, 1, 1, 'Örnek')
DrawText3D(1, 1, 1, 'Örnek') -- (aşağısına function açmanız gerekmektedir.)
ESX.Game.Utils.DrawText3D(1, 1, 1, 'Örnek') -- ESX bunda gerek yok zaten var, fonksiyona.
Menu Aç Kapat ESX & QBCore De Ki Menüler Örnekler : https://prnt.sc/u4f7s5
QBCore.UI.Menu.Open
QBCore.UI.Menu.CloseAll() -- (menu default scripti kurmanız gerekmektedir.)
ESX.UI.Menu.Open
ESX.UI.Menu.CloseAll()
Bildirim Scripti Örnek : https://dosya.turkmmo.com/2020/09/36521_efa54848705a4069cbedfc2770e50cf1.png
TriggerClientEvent("QBCore:Notify", "Text/Yazı", "success", 2500)
-- üsteki server -- altaki client
QBCore.Functions.Notify("Text/Yazı.", "error")
TriggerEvent('Notification',"Text/Yazı.")
-- üsteki server -- altaki client
ESX.ShowHelpNotification('Text/Yazı.')
Enventer İtem Kısmı.
xPlayer.Functions.GetItemByName
xPlayer.getInventoryItem
xPlayer.getQuantity
xPlayer.canCarryItem
xPlayer.PlayerData.name
xPlayer.getName()
Job Başlangıç kod.
RegisterNetEvent('QBCore:Client:OnJobUpdate')
AddEventHandler('QBCore:Client:OnJobUpdate', function(job)
PlayerData.job = job
end)
RegisterNetEvent('esx:setJob')
AddEventHandler('esx:setJob', function(job)
PlayerData.job = job
end)
Para Ver Para Al Kısmı
Player.Functions.AddMoney('bank', amount, "Bank depost") -- banka
Player.Functions.RemoveMoney('cash', amount, "Bank depost") -- üstündeki para silme
Player.Functions.GetMoney('cash') -- üstündeki para "cash" - "bank" - "blackmoney"
xPlayer.removeAccountMoney('bank', amount) --para kaldırma
xPlayer.addMoney(amount) -- para ekleme
xPlayer.getMoney() -- üstündeki para
Para Kısmı Data.
Player.PlayerData.money["bank"]
xPlayer.getAccount('bank').money
QBCore.Functions.IsSpawnPointClear()
ESX.Game.IsSpawnPointClear()
QBCore.Functions.SetVehicleProperties()
ESX.Game.SetVehicleProperties()
Envanter İtem Silme Kısmı.
xPlayer.Functions.RemoveItem
xPlayer.removeInventoryItem
Envanter İtem Ekleme Kısmı.
xPlayer.Functions.AddItem
xPlayer.addInventoryItem
Karakter Kımsı Oyuncunun İd Si Gibi Birşey.
QBCore.Functions.GetPlayer(src)
ESX.GetPlayerFromId(src)
Tüm oyuncuları çeker.
QBCore.Functions.GetPlayers(src)
ESX.GetPlayers(src)
QBCore.Functions.GetPlayerByCitizenId(src)
ESX.GetPlayerFromIdentifier(src)
Bu işlev, tüm sondaki beyaz boşlukları kaldırarak bir metni kırpar. Genellikle GetVehicleNumberPlateText()
yerlileri dezenfekte ederken kullanılır.
QBCore.Functions.MathTrim(GetVehicleNumberPlateText(vehicle))
QBCore.Functions.MathTrim
ESX.Math.Trim(value)
Nill buşta bilinmiyor güncelencek
QBCore.Functions.MathRound(GetVehicleBodyHealth(vehicle), 1),
QBCore.Functions.MathRound()
local deger - 5.444
print ('deger:' .. değer) - 5.444 -- döndürür
print ('deger yuvarlandı:' .. ESX.Math.Round(deger)) -- 5 döndürür
print ('deger yuvarlandı:' .. ESX.Math.Round(deger, 1)) -- 5,4 döndürür
ESX.Math.Round(değer, numaraOndalıkBasamaklar)
Araba Spawn Kısmı Konumu Vsb Şeyler.
QBCore.Functions.SpawnClear()
QBCore.Functions.SpawnVehicle()
QBCore.Functions.DeleteVehicle()
QBCore.Functions.GetVehicleProperties()
QBCore.Functions.GetClosestVehicle()
ESX.Game.IsSpawnPointClear()
ESX.Game.SpawnVehicle()
ESX.Game.DeleteVehicle()
ESX.Game.GetVehicleProperties()
ESX.Game.GetClosestVehicle()
--(Eğer ESX.Game olan neredeyse her şey QBCore.Functions olarak aynı şekildedir.)
Arabanın plakasını çekmesi için yani örnek arabanın plakası [ 01MDT34 ] gibi ise direk bu plakayı çeker.
Kodu kullanacağın yer QBCore: qb-core/client/functions.lua
function QBCore.Functions.GetPlate(vehicle)
if vehicle == 0 then return end
return QBCore.Shared.Trim(GetVehicleNumberPlateText(vehicle))
end
Kodu kullanacağın yer ESX: es_extended/client/functions.lua
function ESX.GetPlate(vehicle)
if vehicle == 0 then return end
return ESX.Math.Trim(GetVehicleNumberPlateText(vehicle))
end
Arabanın Modelini çeker.
Kodu kullanacağın yer QBCore: qb-core/client/functions.lua
function QBCore.Functions.GetVehicleLabel(vehicle)
if vehicle == nil or vehicle == 0 then return end
return GetLabelText(GetDisplayNameFromVehicleModel(GetEntityModel(vehicle)))
end
Kodu kullanacağın yer ESX: es_extended/client/functions.lua: sala gitsin en alta
function ESX.GetVehicleLabel(vehicle)
if vehicle == nil or vehicle == 0 then return end
return GetLabelText(GetDisplayNameFromVehicleModel(GetEntityModel(vehicle)))
end
Bu kodları buraya yapıştır: qb-core/client/functions.lua: 160
yapıştır.
Araba Spawn Kısmı Konumu Vsb Şeyler.
QBCore.Functions.GetVehiclesInArea = function(coords, maxDistance) return EnumerateEntitiesWithinDistance(QBCore.Functions.GetVehicles(), false, coords, maxDistance) end
QBCore.Functions.IsSpawnPointClear = function(coords, maxDistance) return #QBCore.Functions.GetVehiclesInArea(coords, maxDistance) == 0 end
ESX.Game.GetVehiclesInArea = function(coords, maxDistance) return EnumerateEntitiesWithinDistance(ESX.Game.GetVehicles(), false, coords, maxDistance) end
ESX.Game.IsSpawnPointClear = function(coords, maxDistance) return #ESX.Game.GetVehiclesInArea(coords, maxDistance) == 0 end
--(Eğer ESX.Game olan neredeyse her şey QBCore.Functions olarak aynı şekildedir.)
qb-core/client/functions.lua
bunu qb-core de client functions.lua. atın bir boş satıra
function QBCore.Functions.RequestNamedPtfxAsset(assetName, cb)
if not HasNamedPtfxAssetLoaded(assetName) then
RequestNamedPtfxAsset(assetName)
while not HasNamedPtfxAssetLoaded(assetName) do
Citizen.Wait(1)
end
end
if cb ~= nil then
cb()
end
end
function ESX.Streaming.RequestNamedPtfxAsset(assetName, cb)
if not HasNamedPtfxAssetLoaded(assetName) then
RequestNamedPtfxAsset(assetName)
while not HasNamedPtfxAssetLoaded(assetName) do
Citizen.Wait(1)
end
end
if cb ~= nil then
cb()
end
end
qb-core/client/functions.lua
bunu qb-core de client functions.lua. atın bir boş satıra
function QBCore.Functions.DeleteObject(object)
SetEntityAsMissionEntity(object, false, true)
DeleteObject(object)
end
function ESX.Game.DeleteObject(object)
SetEntityAsMissionEntity(object, false, true)
DeleteObject(object)
end
qb-core/server/functions.lua
bunu qb-core de server functions.lua. atın bir boş satıra
function QBCore.Functions.GetItemLabel(item)
if QBCore.UseableItems[item] ~= nil then
return QBCore.UseableItems[item].label
end
end
function ESX.GetItemLabel(item)
if ESX.Items[item] then
return ESX.Items[item].label
end
end
Oyuncu Kendi Karakterin.
QBCore.Functions.GetPlayerData()
ESX.GetPlayerData()
İtem Oluşturma.
QBCore.Functions.CreateUseableItem()
ESX.RegisterUsableItem()
Banka Para Kaldırma.
Player.Functions.RemoveMoney()
xPlayer.removeMoney(money)
Dosya'lar İle Alakalı.
QBCore.Functions.CreateCallback()
ESX.RegisterServerCallback()
Dosya'lar İle Alakalı.
QBCore.Functions.TriggerCallback()
ESX.TriggerServerCallback()
qb'de cid esx'de identifier kullanılıyor olayı çözmeniz için ufak bir kod bloğu bıraktım.
QBCore.Functions.CreateCallback('system:fetchStatus', function(source, cb)
local Player = QBCore.Functions.GetPlayer(source)
if Player then
exports['ghmattimysql']:execute('SELECT skills FROM players WHERE citizenid = @citizenid', {
['@citizenid'] = Player.PlayerData.citizenid
}, function(status)
if status ~= nil then
cb(json.decode(status))
else
cb(nil)
end
end)
else
cb()
end
end)
ESX.RegisterServerCallback("system:fetchStatus", function(source, cb)
local src = source
local user = ESX.GetPlayerFromId(src)
local fetch = [[
SELECT
skills
FROM
users
WHERE
identifier = @identifier
]]
MySQL.Async.fetchScalar(fetch, {
["@identifier"] = user.identifier
}, function(status)
if status ~= nil then
cb(json.decode(status))
else
cb(nil)
end
end)
end)
QBCore.Shared.Items
ESX.GetItems()
Sql bağlama kısmı
QBCore.Functions.ExecuteSql()
ESX.ExecuteSql() --(ghmattimysql)
MySQL.Async.execute()
RegisterCommand - yani chat komut kısmı.
QBCore.Commands.Add()
RegisterCommand
-- (RegisterCommand qbcore'da da çalışır.)
Karakter Kısmı Dır Data Sına Bağlama.
local Player = QBCore.Functions.GetPlayer(source)
['@citizenid'] = Player.PlayerData.citizenid -- çekme Player
local user = ESX.GetPlayerFromId(src)
["@identifier"] = user.identifier -- çekme user
QBCore.Shared.Trim()
QBCore.Shared.GroupDigits()
ESX.Math.Trim()
ESX.Math.GroupDigits()
QBCore.Functions.GetClosestObject()
ESX.Game.GetClosestObject()
QBCore.Functions.GetVehicleInDirection()
ESX.Game.GetVehicleInDirection()
QBCore.Functions.GetPeds()
ESX.Game.GetPeds()
QBCore.Functions.GetObjects()
ESX.Game.GetObjects()
QBCore.Functions.GetClosestPed()
ESX.Game.GetClosestPed()
QBCore.Functions.SpawnObject()
ESX.Game.SpawnObject()