Hallo FiveM-Spieler! Willkommen zu diesem Tutorial zum Konvertieren von ESX-Skripten in QBCore (und umgekehrt). Wenn Sie mit FiveM vertraut sind, wissen Sie wahrscheinlich, dass ESX eines der beliebtesten Frameworks zum Erstellen von Skripten und Mods ist. In letzter Zeit erfreut sich jedoch ein neues Framework namens QBCore zunehmender Beliebtheit und bietet eine Reihe spannender Funktionen und Verbesserungen.
Die Konvertierung Ihrer ESX-Skripte zu QBCore kann zahlreiche Vorteile mit sich bringen, wie z. B. verbesserte Leistung, erweiterte Funktionalität und Zugang zu einer wachsenden Gemeinschaft von QBCore-Entwicklern.
NEU: Wir haben ein Konvertierungstool eingeführt – klicken Sie hier, um es auszuprobieren!
Inhaltsverzeichnis
Vollständige Funktionsliste
Dies ist eine Liste für die Konvertierung von Skripten (Funktionen für Client und Server).
Aktualisiert: Oktober 2023
Kunden-Seite
esx:onPlayerDeath -> hospital:server:SetDeathStatus esx:playerLoaded -> QBCore:Client:OnPlayerLoaded esx:showAdvancedNotification -> QBCore:Notify esx:showHelpNotification -> QBCore:Notify esx:showNotification -> QBCore:Notify ESX.GetPlayerData -> QBCore.Functions.GetPlayerData ESX.IsPlayerLoaded -> Keine ESX.SetPlayerData -> QBCore:Player:SetPlayerData ESX.TriggerServerCallback -> QBCore.Functions.TriggerCallback ESX.Game.DeleteObject -> Keine (kann FiveM native DeleteEntity verwenden) ESX.Game.DeleteVehicle -> QBCore.Functions.DeleteVehicle ESX.Game.GetClosestObject -> Keine (Kann das FiveM-eigene GetClosestObjectOfType verwenden) ESX.Game.GetClosestPed -> QBCore.Functions.GetClosestPed ESX.Game.GetClosestPlayer -> QBCore.Functions.GetClosestPlayer ESX.Game.GetClosestVehicle -> QBCore.Functions.GetClosestVehicle ESX.Game.GetObjects -> Keine (verwendet Aufzählung) ESX.Game.GetPedMugshot -> Keine (kann FiveM native RegisterPedheadshot verwenden) ESX.Game.GetPeds -> Keine (verwendet eine Aufzählung) ESX.Game.GetPlayers -> QBCore.Functions.GetPlayers ESX.Game.GetPlayersInArea -> Keine (verwendet Aufzählung) ESX.Game.GetVehicleInDirection -> Keiner (verwendet Ray Casting) ESX.Game.GetVehicles -> QBCore.Functions.GetVehicles ESX.Game.GetVehiclesInArea -> Keine (verwendet Aufzählung) ESX.Game.IsSpawnPointClear -> Keine (verwendet getvehiclesinarea) ESX.Game.SetVehicleProperties -> QBCore.Functions.SetVehicleProperties ESX.Game.GetVehicleProperties -> QBCore.Functions.GetVehicleProperties ESX.Game.SpawnLocalObject -> Keine (nicht nötig) ESX.Game.SpawnLocalVehicle -> Keine (nicht beachten) ESX.Game.SpawnObject -> Keine (kann FiveM Native CreateObject verwenden) ESX.Game.SpawnVehicle -> QBCore.Functions.SpawnVehicle ESX.Game.Teleport -> (Kann FiveM Native SetEntityCoords und SetEntityHeading verwenden) ESX.Game.Utils.DrawText3D -> QBCore.Functions.DrawText3D
Server-Seite
ESX.CreatePickup -> Keine (irrelevant und durch qb-inventory erledigt) ESX.GetItemLabel -> Keine (liefert nur die Artikelbezeichnung) ESX.GetPlayerFromId -> QBCore.Functions.GetPlayer ESX.GetPlayerFromIdentifier -> QBCore.Functions.GetPlayerByCitizenId ESX.GetPlayers -> QBCore.Functions.GetPlayers ESX.RegisterServerCallback -> QBCore.Functions.CreateCallback ESX.RegisterUsableItem -> QBCore.Functions.CreateUseableItem ESX.SavePlayer -> QBCore.Player.Save ESX.SavePlayers -> Keine (nicht nötig) ESX.Trace -> Verwenden Sie QBCore.Debug, aber machen Sie sich nicht die Mühe, dies zu konvertieren ESX.UseItem -> QBCore.Functions.UseItem
xPlayer
xPlayer.addAccountMoney -> xPlayer.Functions.AddMoney (Konto) xPlayer.addInventoryItem -> xPlayer.Functions.AddItem (Gegenstandsname) xPlayer.addMoney -> xPlayer.Functions.AddMoney (Bargeld) xPlayer.addWeapon -> xPlayer.Functions.AddItem (Waffenname) xPlayer.addWeaponAmmo -> xPlayer.Functions.AddItem (Munitionsname) xPlayer.addWeaponComponent -> xPlayer.Functions.AddItem (Name der Komponente) xPlayer.canCarryItem -> Keine (xPlayer.Functions.AddItem überprüft dies bereits) xPlayer.canSwapItem -> Keiner (xPlayer.Functions.AddItem prüft dies bereits) xPlayer.getAccount -> Keine (Spielerdaten verwenden) xPlayer.getAccounts -> Keine (Spielerdaten verwenden) xPlayer.getCoords -> Keine (kann FiveM Native GetEntityCoords verwenden) xPlayer.getGroup -> xPlayer.Functions.GetPermission xPlayer.getIdentifier -> xPlayer.Functions.GetIdentifier xPlayer.getInventory -> QBCore.Player.LoadInventory xPlayer.getInventoryItem -> xPlayer.Functions.GetItemByName xPlayer.getJob -> Keine (Spielerdaten verwenden) xPlayer.getLoadout -> Keine (Loadouts ficken) xPlayer.getMoney -> Keiner (Spielerdaten verwenden) xPlayer.getName -> Keiner (Spielerdaten verwenden) xPlayer.getWeapon -> xPlayer.Functions.GetItemByName (Waffenname) xPlayer.getWeight -> xPlayer.Player.GetTotalWeight xPlayer.hasWeapon -> xPlayer.Functions.GetItemByName (Waffenname) xPlayer.hasWeaponComponent -> xPlayer.Functions.GetItemByName (Name der Komponente) xPlayer.Kick -> xPlayer.Functions.Kick xPlayer.removeAccountMoney -> xPlayer.Functions.RemoveMoney (Konto) xPlayer.removeInventoryItem -> xPlayer.Functions.RemoveItem (Gegenstandsname) xPlayer.removeMoney -> xPlayer.Functions.RemoveMoney (Bargeld) xPlayer.removeWeapon -> xPlayer.Functions.RemoveItem (Waffenname) xPlayer.removeWeaponAmmo -> xPlayer.Functions.RemoveItem (Munitionsname) xPlayer.removeWeaponComponent -> xPlayer.Functions.RemoveItem (Name der Komponente) xPlayer.setAccountMoney -> xPlayer.Functions.SetMoney (Konto) xPlayer.setCoords -> Keine (wird für Teleportationen verwendet) xPlayer.setInventoryItem -> xPlayer.Functions.AddItem (Gegenstandsname) xPlayer.setJob -> xPlayer.Functions.SetJob xPlayer.setMaxWeight -> Keine (wird in der qb-core Konfiguration gesetzt) xPlayer.setMoney -> xPlayer.Functions.SetMoney xPlayer.setName -> Keine (nicht nötig) xPlayer.setWeaponTint -> Keine (qb-weapons macht das) xPlayer.showHelpNotification -> TriggerClientEvent('QBCore:Notify') xPlayer.showNotification -> TriggerClientEvent('QBCore:Notify') xPlayer.triggerEvent -> Keine (nicht stören) xPlayer.updateCoords -> Keine (nicht stören)
Veranstaltungen
esx:getSharedObject -> QBCore:GetObject esx:setJob -> QBCore:Client:OnJobUpdate esx:onPlayerSpawn -> QBCore:Client:OnPlayerLoaded playerSpawned -> QBCore:Client:OnPlayerLoaded (Spawnmanager-Kompatibilität) esx:addInventoryItem -> QBCore:Server:AddItem esx:removeInventoryItem -> QBCore:Server:RemoveItem esx:useItem -> QBCore:Server:UseItem MySQL.Async.fetchScalar() -> exports['ghmattimysql']:scalar() oder QBCore.Functions.ExecuteSql(true, MySQL.Async.fetchAll() -> exports['ghmattimysql']:execute() oder QBCore.Functions.ExecuteSql(true, MySQL.Async.execute() -> exports['ghmattimysql']:execute() oder QBCore.Functions.ExecuteSql(false,
Anleitung zur Konvertierung
Um die Skripte zu konvertieren, verwenden Sie einfach die bereits erwähnte Funktion distinct. QBCore hat ähnliche Funktionen wie ESX, wenn auch mit anderen Namen.