okokCrafting (QBCore)
Crafting-System mit einer schönen und benutzerfreundlichen Oberfläche für QBCore-Server.
Video-Vorschau
Click to load video from Streamable. By watching, you agree to their privacy policy.
[Interface]
https://streamable.com/ze3brx
[How it works]
Informationen:
- Es beinhaltet ein Warteschlangensystem (was bedeutet, dass der Spieler mehrere Craftings starten und einfach in der Nähe der Blip-Markierung warten kann, bis die Warteschlange abgeschlossen ist);
- Du kannst unendlich viele Items zu einem Craftingtisch hinzufügen;
- Ein Item kann unendlich viele benötigte Komponenten haben;
- Wenn ein Spieler ein Item craftet und den Crafting-Radius verlässt, stoppt der Countdown-Timer, bis er wieder zurückkehrt;
- Es wurden mehrere Überprüfungen durchgeführt, um zu verhindern, dass Cheater Items erhalten;
- Es enthält Discord-Logs wie (wenn ein Spieler beginnt, ein Item zu craften, wenn er das Crafting beendet, wenn er stirbt während des Craftings und wenn ein Cheater versucht, ein Event aufzurufen);
- Wenn ein Spieler stirbt, werden alle Komponenten der Items, die sich in der Crafting-Warteschlange befanden, zurück in sein Inventar gelegt;
- Du kannst nicht auf das Crafting-Menü zugreifen, während du dich in einem Fahrzeug befindest;
- Wenn du es aktivieren/deaktivieren möchtest;
- Das maximale Level - Spieler erhalten weiterhin XP, auch wenn sie das maximale Level erreicht haben (stell dir vor, du möchtest das maximale Level ändern und jemand hat Millionen von XP, sein Level wird aktualisiert);
- Die XP für das erste Level;
- Der Level-Multiplikator, der im Grunde bestimmt, wie schwer/leicht es ist, aufzusteigen;
- Ob die Spieler XP erhalten sollen, wenn das Crafting fehlschlägt.
In der config-Datei kannst du einstellen:
- Ob du okokTextUI verwenden möchtest;
- Welche Taste das Crafting-Menü öffnet;
- Ob die Minimap ausgeblendet werden soll, wenn das Crafting-Menü geöffnet wird;
- Ob die Blips auf der Karte angezeigt werden sollen;
- Ob die Blip-Markierungen angezeigt werden sollen;
- Die Koordinaten der Craftingtische;
- Den Interaktionsradius;
- Den maximalen Crafting-Radius (wenn du den Crafting-Radius verlässt, wird das Crafting gestoppt, bis du wieder zurück bist);
- Wie weit die Blip-Markierung sichtbar ist;
- Den Blip-Namen;
- Den Namen des Craftingtisches.
Um ein Item zu einem Craftingtisch hinzuzufügen, solltest du Folgendes festlegen:
- Den Item-Namen (was die Item-ID ist);
- Die Menge, die der Spieler beim Craften erhalten soll;
- Die Wahrscheinlichkeit, das Item erfolgreich zu craften;
- Ob es sich um ein Item oder eine Waffe handelt;
- Die Zeit, die es dauert, es zu craften;
- Die Anforderungen/Komponenten, die benötigte Menge und ob der Spieler es behält;
- Welche Jobs das Item craften können (du kannst es leer lassen, wenn jeder es craften können soll).
[Optimization]
Dieses Script ist vollständig optimiert.
- Idle: 0.00-0.01ms;
- In der Nähe der Blip-Markierung: 0.03-0.04ms.
[Config]
Config.UseOkokTextUI = true -- true = okokTextUI (Ich empfehle dir, dies zu verwenden, da es viel optimierter ist als die Standard-ShowHelpNotification) | false = ShowHelpNotification
Config.Key = 38 -- [E] Taste zum Öffnen der Interaktion, überprüfe hier die Tasten-ID: https://docs.fivem.net/docs/game-references/controls/#controls
Config.HideMinimap = true -- Wenn true, wird die Minimap ausgeblendet, wenn das Crafting-Menü geöffnet wird
Config.ShowBlips = false -- Wenn true, werden die Crafting-Blips auf der Karte angezeigt
Config.ShowFloorBlips = true -- Wenn true, werden die Crafting-Markierungen auf dem Boden angezeigt
Config.UseXP = false -- Ob du das XP-System verwenden möchtest oder nicht
Config.MaxLevel = 20 -- Maximales Level an den Werkbänken
Config.StartEXP = 100 -- XP für das erste Level
Config.LevelMultiplier = 1.05 -- Wie stark die benötigte XP pro Level ansteigt (1.05 = 5% | Level 1 = 100 | Level 2 = 205 | usw...)
Config.GiveXPOnCraftFailed = true -- Ob der Spieler XP erhält, wenn er das Craften eines Items nicht schafft
Config.itemNames = { -- Format: id = label
weaponbarrel = 'Weapon Barrel',
WEAPON_ASSAULTRIFLE = 'Assault Rifle',
bp_WEAPON_ASSAULTRIFLE = 'Blueprint Assault Rifle',
weaponstock = 'Weapon Stock',
trigger = 'Trigger',
grip = 'Grip',
gunframe = 'Gun Frame',
spring = 'Metal Spring',
jewels = 'Jewels',
gold = 'Gold',
diamond = 'Diamond',
medikit = 'Medic Kit,
handcuffs = 'Handcuffs',
iron = 'Iron',
bandage = 'Bandage',
}
Config.Crafting = {
{
coordinates = vector3(-809.4, 190.3, 72.5), -- Koordinaten des Tisches
radius = 1, -- Radius des Tisches
maxCraftRadius = 5, -- Wenn du weiter weg bist, wird das Crafting gestoppt
showBlipRadius = 50,
blip = {blipId = 89, blipColor = 3, blipScale = 0.9, blipText = Crafting}, -- Um Blips und Farben zu erhalten, überprüfe dies: https://wiki.gtanet.work/index.php?title=Blips
tableName = 'General', -- Titel
tableID = 'general1', -- Erstelle für jeden Tisch eine andere mit KEINEN Leerzeichen
crafts = { -- Welche Items zum Craften verfügbar sind und das Rezept
{
item = 'WEAPON_ASSAULTRIFLE', -- Item-ID und Name des Bildes
amount = 1,
successCraftPercentage = 75, -- Prozentsatz des erfolgreichen Craftings 0 = 0% | 50 = 50% | 100 = 100%
isItem = false, -- Wenn true = ist Item | wenn false = ist Waffe
time = 6, -- Zeit zum Craften (in Sekunden)
levelNeeded = 2, -- Welches Level er benötigt, um dieses Item zu craften
xpPerCraft = 5, -- Wie viel XP er nach dem Craften dieses Items erhält
recipe = { -- Rezept zum Craften
{'bp_WEAPON_ASSAULTRIFLE', 1, false}, -- item/amount/ob das Item beim Craften entfernt werden soll
{'weaponbarrel', 1, true},
{'weaponstock', 1, true},
{'trigger', 1, true},
{'grip', 1, true},
{'gunframe', 1, true},
{'spring', 2, true},
},
job = { -- Welche Jobs dieses Item in dieser Werkbank craften können
'police'
},
},
{
item = 'jewels', -- Item-ID und Name des Bildes
amount = 3,
successCraftPercentage = 10, -- Prozentsatz des erfolgreichen Craftings 0 = 0% | 50 = 50% | 100 = 100%
isItem = true, -- Wenn true = ist Item | wenn false = ist Waffe
time = 5, -- Zeit zum Craften (in Sekunden)
levelNeeded = 0,
xpPerCraft = 34,
recipe = { -- Rezept zum Craften
{'gold', 12, true}, -- item/amount/ob das Item beim Craften entfernt werden soll
{'diamond', 6, true},
},
job = { -- Welche Jobs dieses Item in dieser Werkbank craften können
''
},
},
{
item = 'medikit', -- Item-ID und Name des Bildes
amount = 1,
successCraftPercentage = 100, -- Prozentsatz des erfolgreichen Craftings 0 = 0% | 50 = 50% | 100 = 100%
isItem = true, -- Wenn true = ist Item | wenn false = ist Waffe
time = 4, -- Zeit zum Craften (in Sekunden)
levelNeeded = 1,
xpPerCraft = 50,
recipe = { -- Rezept zum Craften
{'bandage', 4, true}, -- item/amount/ob das Item beim Craften entfernt werden soll
},
job = { -- Welche Jobs dieses Item in dieser Werkbank craften können
''
},
},
{
item = 'handcuffs', -- Item-ID und Name des Bildes
amount = 1,
successCraftPercentage = 10, -- Prozentsatz des erfolgreichen Craftings 0 = 0% | 50 = 50% | 100 = 100%
isItem = true, -- Wenn true = ist Item | wenn false = ist Waffe
time = 3, -- Zeit zum Craften (in Sekunden)
levelNeeded = 0,
xpPerCraft = 5,
recipe = { -- Rezept zum Craften
{'iron', 4, true}, -- item/amount/ob das Item beim Craften entfernt werden soll
{'spring', 2, true},
},
job = { -- Welche Jobs dieses Item in dieser Werkbank craften können
''
},
},
},
},
}
-------------------------- DISCORD LOGS
-- Um deine Discord Webhook URL festzulegen, gehe zu server.lua, Zeile 3
Config.BotName = 'ServerName' -- Schreibe den gewünschten Bot-Namen
Config.ServerName = 'ServerName' -- Schreibe den Namen deines Servers
Config.IconURL = '' -- Füge deinen gewünschten Bildlink ein
Config.DateFormat = '%d/%m/%Y [%X]' -- Um das Datumsformat zu ändern, überprüfe diese Website - https://www.lua.org/pil/22.1.html
-- Um eine Webhook-Farbe zu ändern, musst du den Dezimalwert einer Farbe festlegen. Du kannst diese Website verwenden, um dies zu tun - https://www.mathsisfun.com/hexadecimal-decimal-colors.html
Config.StartCraftWebhookColor = '16127'
Config.ConcludeCraftWebhookColor = '65352'
Config.AnticheatProtectionWebhookColor = '16776960'
Config.FailWebhookColor = '16711680'




