This commit is contained in:
Nordi98 2025-06-15 02:49:12 +02:00
commit 60f4656bc1
21 changed files with 3255 additions and 3255 deletions

View file

@ -1,5 +1,5 @@
Config = {
DiscordWebhook = "https://discord.com/api/webhooks/1383151445532086442/02u3NBPWov8pfKj8B-F-lyr-BH54hPgdCgROUqe6aZmVxLDChYCSSbyGkC7YPUtUYWzi",
WartungsNachricht = "🔧 Wartungsarbeiten 🔧\nDer Server wird jetzt gewartet!",
WartungsNachricht = "🔧 Wartungsarbeiten 🔧\nDer Server wird jetzt gewartet! >> Connect solange nicht Möglich!",
ErlaubteRolle = "admin"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

View file

@ -1,7 +1,7 @@
Hi, thank you for buying okokCrafting! :)
If you need help contact me on discord: okok#3488
Discord server: https://discord.gg/okok
Docs: https://docs.okokscripts.io/
Hi, thank you for buying okokCrafting! :)
If you need help contact me on discord: okok#3488
Discord server: https://discord.gg/okok
Docs: https://docs.okokscripts.io/
-> Installation Guide: https://docs.okokscripts.io/scripts/okokcrafting

View file

@ -1,249 +1,249 @@
QBCore = exports[Config.qbPrefix.."-core"]:GetCoreObject()
RegisterNetEvent(Config.EventPrefix..":notification")
AddEventHandler(Config.EventPrefix..":notification", function(title, text, time, type)
exports['okokNotify']:Alert(title, text, time, type)
end)
RegisterNetEvent(Config.EventPrefix..":openTextUI")
AddEventHandler(Config.EventPrefix..":openTextUI", function(text)
exports['qb-core']:DrawText(text, 'left')
end)
RegisterNetEvent(Config.EventPrefix..":closeTextUI")
AddEventHandler(Config.EventPrefix..":closeTextUI", function()
exports['qb-core']:HideText()
end)
function onOpenMenu()
-- Executed when the menu is opened
end
function onCloseMenu()
-- Executed when the menu is closed
end
function claimAll(workbench, CraftQueues)
TriggerServerEvent(Config.EventPrefix..':claimAll', workbench, CraftQueues)
end
Citizen.CreateThread(function()
if Config.UseXP then
if Config.SameLevelForAllTables then
TriggerEvent('chat:addSuggestion', '/'..Config.SetXPCommand, _L('suggestion_xp').maintext, {
{ name=_L('suggestion_xp').id, help=_L('suggestion_xp').idtext },
{ name=_L('suggestion_xp').xp, help=_L('suggestion_xp').xptext },
})
TriggerEvent('chat:addSuggestion', '/'..Config.SetLevelCommand, _L('suggestion_level').maintext, {
{ name=_L('suggestion_level').id, help=_L('suggestion_level').idtext },
{ name=_L('suggestion_level').level, help=_L('suggestion_level').leveltext },
})
else
TriggerEvent('chat:addSuggestion', '/'..Config.SetXPCommand, _L('suggestion_xp').maintext, {
{ name=_L('suggestion_xp').id, help=_L('suggestion_xp').idtext },
{ name=_L('suggestion_xp').xp, help=_L('suggestion_xp').xptext },
{ name=_L('suggestion_xp').workbench, help=_L('suggestion_xp').workbenchtext },
})
TriggerEvent('chat:addSuggestion', '/'..Config.SetLevelCommand, _L('suggestion_level').maintext, {
{ name=_L('suggestion_level').id, help=_L('suggestion_level').idtext },
{ name=_L('suggestion_level').level, help=_L('suggestion_level').leveltext },
{ name=_L('suggestion_level').workbench, help=_L('suggestion_level').workbenchtext },
})
end
end
end)
Citizen.CreateThread(function()
while PlayerData == nil do
PlayerData = QBCore.Functions.GetPlayerData()
Citizen.Wait(10)
end
while PlayerData.job == nil do
PlayerData.job = QBCore.Functions.GetPlayerData().job
Citizen.Wait(10)
end
while PlayerData.gang == nil do
PlayerData.gang = QBCore.Functions.GetPlayerData().gang
Citizen.Wait(10)
end
local inZone = false
local num = 0
local nearZone = false
local enteredRange = false
local inWideRange = false
local ped = PlayerPedId()
while true do
Citizen.Wait(0)
local playerExists = false
if not playerExists then
if DoesEntityExist(ped) then
playerExists = true
else
ped = PlayerPedId()
end
end
local playerCoords = GetEntityCoords(ped)
nearZone = false
inZone = false
for k,v in pairs(Config.Crafting) do
if v.jobs['all'] ~= nil or checkJob(v.jobs) or checkGang(v.jobs) then
local distance = #(vector3(v.coordinates[1], v.coordinates[2], v.coordinates[3]) - playerCoords)
if distance < Config.CraftRadius then
if closeWorkbench ~= v.tableID then
closeWorkbench = v.tableID
workbenchCoords = v.coordinates
end
if not gotQueue then
gotQueue = true
QBCore.Functions.TriggerCallback(Config.EventPrefix..":getQueue", function(queue, queues)
CraftQueues = queues
WorkbenchCraft = queue
end, v.tableID)
end
end
if distance < v.radius + 2 then
local zDistance = playerCoords.z - v.coordinates[3]
nearZone = true
if waitMore and not isCraftOpen then
waitMore = false
end
if not Config.NotInterectableTables then
if distance < v.radius and zDistance < 3 and zDistance > -3 then
inZone = true
if IsControlJustReleased(0, Config.Key) and not IsEntityDead(ped) then
if GetVehiclePedIsUsing(ped) == 0 then
waitMore = true
if not isCraftOpen then
TriggerEvent(Config.EventPrefix..':openWorkbench', k)
end
else
TriggerEvent(Config.EventPrefix..':notification', _L('inside_vehicle').title, _L('inside_vehicle').text, _L('inside_vehicle').time, _L('inside_vehicle').type)
end
end
end
end
elseif not waitMore and not inWideRange then
waitMore = true
end
end
end
if nearZone and not enteredRange then
enteredRange = true
inWideRange = true
elseif not nearZone and enteredRange then
enteredRange = false
inWideRange = false
end
if inZone and not hasEntered then
if Config.UseOkokTextUI then
exports['okokTextUI']:Open(_L('textUI').text, _L('textUI').color, _L('textUI').side)
else
TriggerEvent(Config.EventPrefix..':openTextUI', _L('textUI').text)
end
hasEntered = true
elseif not inZone and hasEntered then
if Config.UseOkokTextUI then
exports['okokTextUI']:Close()
else
TriggerEvent(Config.EventPrefix..':closeTextUI')
end
hasEntered = false
end
if waitMore then
Citizen.Wait(1000)
end
end
end)
Citizen.CreateThread(function()
while true do
local canCraft = false
local queue = CraftQueues[closeWorkbench]
if CraftQueues[closeWorkbench] ~= nil and closeWorkbench ~= "" and workbenchCoords ~= nil then
local playerCoords = GetEntityCoords(PlayerPedId())
local distance = #(vector3(workbenchCoords[1], workbenchCoords[2], workbenchCoords[3]) - playerCoords)
local zDistance = playerCoords.z - workbenchCoords[3]
if distance < Config.CraftRadius then
local craftingItemID = 1
for k,v in ipairs(CraftQueues[closeWorkbench]) do
if v.time >= 0 and not v.isDone then
craftingItemID = k
canCraft = true
break
end
end
if canCraft then
if not updateTable then
updateTable = true
end
local craftTime = CraftQueues[closeWorkbench][craftingItemID].time
CraftQueues[closeWorkbench][craftingItemID].isPending = false
SendNUIMessage({
action = "ShowCraftCount",
time = CraftQueues[closeWorkbench][craftingItemID].time,
name = CraftQueues[closeWorkbench][craftingItemID].itemName,
})
if CraftQueues[closeWorkbench][craftingItemID].time <= 0 then
CraftQueues[closeWorkbench][craftingItemID].time = 0
CraftQueues[closeWorkbench][craftingItemID].isDone = true
local randomNum = math.random(1, 100)
if randomNum <= tonumber(CraftQueues[closeWorkbench][craftingItemID].sucPC) then
SendNUIMessage({
action = "CompleteCraftCount",
name = CraftQueues[closeWorkbench][craftingItemID].itemName,
})
else
CraftQueues[closeWorkbench][craftingItemID].suc = false
SendNUIMessage({
action = "FailedCraftCount",
name = CraftQueues[closeWorkbench][craftingItemID].itemName,
})
end
SendNUIMessage({
action = "updateCraftingItems",
queue = CraftQueues[closeWorkbench],
})
SendNUIMessage({
action = "HideCraftCount",
})
Citizen.Wait(500)
else
SendNUIMessage({
action = "updateCraftingItems",
queue = CraftQueues[closeWorkbench],
})
CraftQueues[closeWorkbench][craftingItemID].time = craftTime - 1
Citizen.Wait(1000)
end
else
if updateTable then
updateTable = false
QBCore.Functions.TriggerCallback(Config.EventPrefix..":updateQueue", function(cb)
end, CraftQueues)
end
Citizen.Wait(2000)
end
else
Citizen.Wait(3000)
end
else
Citizen.Wait(5000)
end
end
QBCore = exports[Config.qbPrefix.."-core"]:GetCoreObject()
RegisterNetEvent(Config.EventPrefix..":notification")
AddEventHandler(Config.EventPrefix..":notification", function(title, text, time, type)
exports['okokNotify']:Alert(title, text, time, type)
end)
RegisterNetEvent(Config.EventPrefix..":openTextUI")
AddEventHandler(Config.EventPrefix..":openTextUI", function(text)
exports['qb-core']:DrawText(text, 'left')
end)
RegisterNetEvent(Config.EventPrefix..":closeTextUI")
AddEventHandler(Config.EventPrefix..":closeTextUI", function()
exports['qb-core']:HideText()
end)
function onOpenMenu()
-- Executed when the menu is opened
end
function onCloseMenu()
-- Executed when the menu is closed
end
function claimAll(workbench, CraftQueues)
TriggerServerEvent(Config.EventPrefix..':claimAll', workbench, CraftQueues)
end
Citizen.CreateThread(function()
if Config.UseXP then
if Config.SameLevelForAllTables then
TriggerEvent('chat:addSuggestion', '/'..Config.SetXPCommand, _L('suggestion_xp').maintext, {
{ name=_L('suggestion_xp').id, help=_L('suggestion_xp').idtext },
{ name=_L('suggestion_xp').xp, help=_L('suggestion_xp').xptext },
})
TriggerEvent('chat:addSuggestion', '/'..Config.SetLevelCommand, _L('suggestion_level').maintext, {
{ name=_L('suggestion_level').id, help=_L('suggestion_level').idtext },
{ name=_L('suggestion_level').level, help=_L('suggestion_level').leveltext },
})
else
TriggerEvent('chat:addSuggestion', '/'..Config.SetXPCommand, _L('suggestion_xp').maintext, {
{ name=_L('suggestion_xp').id, help=_L('suggestion_xp').idtext },
{ name=_L('suggestion_xp').xp, help=_L('suggestion_xp').xptext },
{ name=_L('suggestion_xp').workbench, help=_L('suggestion_xp').workbenchtext },
})
TriggerEvent('chat:addSuggestion', '/'..Config.SetLevelCommand, _L('suggestion_level').maintext, {
{ name=_L('suggestion_level').id, help=_L('suggestion_level').idtext },
{ name=_L('suggestion_level').level, help=_L('suggestion_level').leveltext },
{ name=_L('suggestion_level').workbench, help=_L('suggestion_level').workbenchtext },
})
end
end
end)
Citizen.CreateThread(function()
while PlayerData == nil do
PlayerData = QBCore.Functions.GetPlayerData()
Citizen.Wait(10)
end
while PlayerData.job == nil do
PlayerData.job = QBCore.Functions.GetPlayerData().job
Citizen.Wait(10)
end
while PlayerData.gang == nil do
PlayerData.gang = QBCore.Functions.GetPlayerData().gang
Citizen.Wait(10)
end
local inZone = false
local num = 0
local nearZone = false
local enteredRange = false
local inWideRange = false
local ped = PlayerPedId()
while true do
Citizen.Wait(0)
local playerExists = false
if not playerExists then
if DoesEntityExist(ped) then
playerExists = true
else
ped = PlayerPedId()
end
end
local playerCoords = GetEntityCoords(ped)
nearZone = false
inZone = false
for k,v in pairs(Config.Crafting) do
if v.jobs['all'] ~= nil or checkJob(v.jobs) or checkGang(v.jobs) then
local distance = #(vector3(v.coordinates[1], v.coordinates[2], v.coordinates[3]) - playerCoords)
if distance < Config.CraftRadius then
if closeWorkbench ~= v.tableID then
closeWorkbench = v.tableID
workbenchCoords = v.coordinates
end
if not gotQueue then
gotQueue = true
QBCore.Functions.TriggerCallback(Config.EventPrefix..":getQueue", function(queue, queues)
CraftQueues = queues
WorkbenchCraft = queue
end, v.tableID)
end
end
if distance < v.radius + 2 then
local zDistance = playerCoords.z - v.coordinates[3]
nearZone = true
if waitMore and not isCraftOpen then
waitMore = false
end
if not Config.NotInterectableTables then
if distance < v.radius and zDistance < 3 and zDistance > -3 then
inZone = true
if IsControlJustReleased(0, Config.Key) and not IsEntityDead(ped) then
if GetVehiclePedIsUsing(ped) == 0 then
waitMore = true
if not isCraftOpen then
TriggerEvent(Config.EventPrefix..':openWorkbench', k)
end
else
TriggerEvent(Config.EventPrefix..':notification', _L('inside_vehicle').title, _L('inside_vehicle').text, _L('inside_vehicle').time, _L('inside_vehicle').type)
end
end
end
end
elseif not waitMore and not inWideRange then
waitMore = true
end
end
end
if nearZone and not enteredRange then
enteredRange = true
inWideRange = true
elseif not nearZone and enteredRange then
enteredRange = false
inWideRange = false
end
if inZone and not hasEntered then
if Config.UseOkokTextUI then
exports['okokTextUI']:Open(_L('textUI').text, _L('textUI').color, _L('textUI').side)
else
TriggerEvent(Config.EventPrefix..':openTextUI', _L('textUI').text)
end
hasEntered = true
elseif not inZone and hasEntered then
if Config.UseOkokTextUI then
exports['okokTextUI']:Close()
else
TriggerEvent(Config.EventPrefix..':closeTextUI')
end
hasEntered = false
end
if waitMore then
Citizen.Wait(1000)
end
end
end)
Citizen.CreateThread(function()
while true do
local canCraft = false
local queue = CraftQueues[closeWorkbench]
if CraftQueues[closeWorkbench] ~= nil and closeWorkbench ~= "" and workbenchCoords ~= nil then
local playerCoords = GetEntityCoords(PlayerPedId())
local distance = #(vector3(workbenchCoords[1], workbenchCoords[2], workbenchCoords[3]) - playerCoords)
local zDistance = playerCoords.z - workbenchCoords[3]
if distance < Config.CraftRadius then
local craftingItemID = 1
for k,v in ipairs(CraftQueues[closeWorkbench]) do
if v.time >= 0 and not v.isDone then
craftingItemID = k
canCraft = true
break
end
end
if canCraft then
if not updateTable then
updateTable = true
end
local craftTime = CraftQueues[closeWorkbench][craftingItemID].time
CraftQueues[closeWorkbench][craftingItemID].isPending = false
SendNUIMessage({
action = "ShowCraftCount",
time = CraftQueues[closeWorkbench][craftingItemID].time,
name = CraftQueues[closeWorkbench][craftingItemID].itemName,
})
if CraftQueues[closeWorkbench][craftingItemID].time <= 0 then
CraftQueues[closeWorkbench][craftingItemID].time = 0
CraftQueues[closeWorkbench][craftingItemID].isDone = true
local randomNum = math.random(1, 100)
if randomNum <= tonumber(CraftQueues[closeWorkbench][craftingItemID].sucPC) then
SendNUIMessage({
action = "CompleteCraftCount",
name = CraftQueues[closeWorkbench][craftingItemID].itemName,
})
else
CraftQueues[closeWorkbench][craftingItemID].suc = false
SendNUIMessage({
action = "FailedCraftCount",
name = CraftQueues[closeWorkbench][craftingItemID].itemName,
})
end
SendNUIMessage({
action = "updateCraftingItems",
queue = CraftQueues[closeWorkbench],
})
SendNUIMessage({
action = "HideCraftCount",
})
Citizen.Wait(500)
else
SendNUIMessage({
action = "updateCraftingItems",
queue = CraftQueues[closeWorkbench],
})
CraftQueues[closeWorkbench][craftingItemID].time = craftTime - 1
Citizen.Wait(1000)
end
else
if updateTable then
updateTable = false
QBCore.Functions.TriggerCallback(Config.EventPrefix..":updateQueue", function(cb)
end, CraftQueues)
end
Citizen.Wait(2000)
end
else
Citizen.Wait(3000)
end
else
Citizen.Wait(5000)
end
end
end)

View file

@ -1,42 +1,42 @@
fx_version 'cerulean'
game 'gta5'
author 'okok#3488'
description 'okokCrafting'
version '1.1.0'
ui_page 'web/ui.html'
files {
'web/*.*',
}
shared_script 'config.lua'
client_scripts {
'locales/*.lua',
'cl_utils.lua',
'client.lua',
}
server_scripts {
'@oxmysql/lib/MySQL.lua',
'locales/*.lua',
'sv_utils.lua',
'server.lua'
}
lua54 'yes'
escrow_ignore {
'config.lua',
'cl_utils.lua',
'sv_utils.lua',
'locales/*.lua',
}
server_exports {
'SetLevel'
fx_version 'cerulean'
game 'gta5'
author 'okok#3488'
description 'okokCrafting'
version '1.1.0'
ui_page 'web/ui.html'
files {
'web/*.*',
}
shared_script 'config.lua'
client_scripts {
'locales/*.lua',
'cl_utils.lua',
'client.lua',
}
server_scripts {
'@oxmysql/lib/MySQL.lua',
'locales/*.lua',
'sv_utils.lua',
'server.lua'
}
lua54 'yes'
escrow_ignore {
'config.lua',
'cl_utils.lua',
'sv_utils.lua',
'locales/*.lua',
}
server_exports {
'SetLevel'
}
dependency '/assetpacks'

View file

@ -1,133 +1,133 @@
Locales['de'] = {
-- Notifications
['user_xp_set'] = {
title = 'WERKBANK',
text = 'Deine Erfahrungspunkte wurden auf ${s1} gesetzt',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'WERKBANK',
text = 'Du hast erfolgreich die Erfahrungspunkte von ${s1} zu ${s2} geändert',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'WERKBANK',
text = 'Deine Erfahrungspunkte wurden in der Werkbank ${s2} auf ${s1} gesetzt',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'WERKBANK',
text = 'Du hast erfolgreich die Erfahrungspunkte von ${s1}, in der Werkbank ${s3}, auf ${s2} gesetzt',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'WERKBANK',
text = 'Dein Level wurde auf ${s1} geändert',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'WERKBANK',
text = 'Du hast erfolgreich das Level von ${s1} auf ${s2} geändert',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'WERKBANK',
text = 'Dein Level wurde in der Werkbank ${s2} auf ${s1} geändert',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'WERKBANK',
text = 'Du hast erfolgreich das Level von ${s1}, in der Werkbank ${s3}, auf ${s2} geändert',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'WERKBANK',
text = 'Dieses Level existiert nicht',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'WERKBANK',
text = "Du kannst diesen Gegenstand nicht bei dir tragen",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'WERKBANK',
text = '${s1} wurde zur Warteschlange hinzugefügt',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'WERKBANK',
text = "Du kannst ${s1} nicht herstellen",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'WERKBANK',
text = "Du kannst nichts in einem Fahrzeug herstellen",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'WERKBANK',
text = 'Die Warteschlange ist bereits voll',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'WERKBANK',
text = 'Du hast ${s1} bekommen',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'WERKBANK',
text = 'Du hast alle Gegenstände bekommen',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'WERKBANK',
text = 'Du hast die Herstellung von ${s1} abgebrochen',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Ändere das XP eines Spieler',
id = 'ID',
idtext = "Ziel ID",
xp = 'XP',
xptext = 'XP menge',
workbench = 'Werkbank',
workbenchtext = "ID der Werkbank",
},
['suggestion_level'] = {
maintext = 'Ändere das Level eines Spielers',
id = 'ID',
idtext = "Ziel ID",
level = 'Level',
leveltext = 'Level',
workbench = 'Werkbank',
workbenchtext = "ID der Werkbank",
},
-- okokTextUI
['textUI'] = {
text = '[E] Werkbank zu öffnen',
color = 'darkblue',
side = 'left'
},
Locales['de'] = {
-- Notifications
['user_xp_set'] = {
title = 'WERKBANK',
text = 'Deine Erfahrungspunkte wurden auf ${s1} gesetzt',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'WERKBANK',
text = 'Du hast erfolgreich die Erfahrungspunkte von ${s1} zu ${s2} geändert',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'WERKBANK',
text = 'Deine Erfahrungspunkte wurden in der Werkbank ${s2} auf ${s1} gesetzt',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'WERKBANK',
text = 'Du hast erfolgreich die Erfahrungspunkte von ${s1}, in der Werkbank ${s3}, auf ${s2} gesetzt',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'WERKBANK',
text = 'Dein Level wurde auf ${s1} geändert',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'WERKBANK',
text = 'Du hast erfolgreich das Level von ${s1} auf ${s2} geändert',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'WERKBANK',
text = 'Dein Level wurde in der Werkbank ${s2} auf ${s1} geändert',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'WERKBANK',
text = 'Du hast erfolgreich das Level von ${s1}, in der Werkbank ${s3}, auf ${s2} geändert',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'WERKBANK',
text = 'Dieses Level existiert nicht',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'WERKBANK',
text = "Du kannst diesen Gegenstand nicht bei dir tragen",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'WERKBANK',
text = '${s1} wurde zur Warteschlange hinzugefügt',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'WERKBANK',
text = "Du kannst ${s1} nicht herstellen",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'WERKBANK',
text = "Du kannst nichts in einem Fahrzeug herstellen",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'WERKBANK',
text = 'Die Warteschlange ist bereits voll',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'WERKBANK',
text = 'Du hast ${s1} bekommen',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'WERKBANK',
text = 'Du hast alle Gegenstände bekommen',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'WERKBANK',
text = 'Du hast die Herstellung von ${s1} abgebrochen',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Ändere das XP eines Spieler',
id = 'ID',
idtext = "Ziel ID",
xp = 'XP',
xptext = 'XP menge',
workbench = 'Werkbank',
workbenchtext = "ID der Werkbank",
},
['suggestion_level'] = {
maintext = 'Ändere das Level eines Spielers',
id = 'ID',
idtext = "Ziel ID",
level = 'Level',
leveltext = 'Level',
workbench = 'Werkbank',
workbenchtext = "ID der Werkbank",
},
-- okokTextUI
['textUI'] = {
text = '[E] Werkbank zu öffnen',
color = 'darkblue',
side = 'left'
},
}

View file

@ -1,133 +1,133 @@
Locales['en'] = {
-- Notifications
['user_xp_set'] = {
title = 'CRAFTING',
text = 'Your XP was set to ${s1}',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'CRAFTING',
text = 'You set the XP of ${s1} to ${s2} successfully',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'Your XP was set to ${s1} in ${s2}',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'You set the XP of ${s1} to ${s2} in ${s3} successfully',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'CRAFTING',
text = 'Your level was set to ${s1}',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'CRAFTING',
text = 'You set the level of ${s1} to ${s2} successfully',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'CRAFTING',
text = 'Your level was set to ${s1} in ${s2}',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'CRAFTING',
text = 'You set the level of ${s1} to ${s2} in ${s3} successfully',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'CRAFTING',
text = 'That level does not exist',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'CRAFTING',
text = "You can't carry this item",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'CRAFTING',
text = '${s1} added to the crafting queue',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'CRAFTING',
text = "You can't craft ${s1}",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'CRAFTING',
text = "You can't craft inside a vehicle",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'CRAFTING',
text = 'You have reached the queue limit',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'CRAFTING',
text = 'You have claimed ${s1}',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'CRAFTING',
text = 'You have claimed all items',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'CRAFTING',
text = 'You canceled a crafting of ${s1}',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Set a players crafting XP',
id = 'id',
idtext = "Target's id",
xp = 'XP',
xptext = 'XP amount',
workbench = 'workbench',
workbenchtext = "Workbenche's id",
},
['suggestion_level'] = {
maintext = 'Set a players crafting Level',
id = 'id',
idtext = "Target's id",
level = 'Level',
leveltext = 'Level',
workbench = 'workbench',
workbenchtext = "Workbenche's id",
},
-- okokTextUI
['textUI'] = {
text = '[E] Open crafting table',
color = 'darkblue',
side = 'left'
},
Locales['en'] = {
-- Notifications
['user_xp_set'] = {
title = 'CRAFTING',
text = 'Your XP was set to ${s1}',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'CRAFTING',
text = 'You set the XP of ${s1} to ${s2} successfully',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'Your XP was set to ${s1} in ${s2}',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'You set the XP of ${s1} to ${s2} in ${s3} successfully',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'CRAFTING',
text = 'Your level was set to ${s1}',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'CRAFTING',
text = 'You set the level of ${s1} to ${s2} successfully',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'CRAFTING',
text = 'Your level was set to ${s1} in ${s2}',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'CRAFTING',
text = 'You set the level of ${s1} to ${s2} in ${s3} successfully',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'CRAFTING',
text = 'That level does not exist',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'CRAFTING',
text = "You can't carry this item",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'CRAFTING',
text = '${s1} added to the crafting queue',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'CRAFTING',
text = "You can't craft ${s1}",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'CRAFTING',
text = "You can't craft inside a vehicle",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'CRAFTING',
text = 'You have reached the queue limit',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'CRAFTING',
text = 'You have claimed ${s1}',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'CRAFTING',
text = 'You have claimed all items',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'CRAFTING',
text = 'You canceled a crafting of ${s1}',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Set a players crafting XP',
id = 'id',
idtext = "Target's id",
xp = 'XP',
xptext = 'XP amount',
workbench = 'workbench',
workbenchtext = "Workbenche's id",
},
['suggestion_level'] = {
maintext = 'Set a players crafting Level',
id = 'id',
idtext = "Target's id",
level = 'Level',
leveltext = 'Level',
workbench = 'workbench',
workbenchtext = "Workbenche's id",
},
-- okokTextUI
['textUI'] = {
text = '[E] Open crafting table',
color = 'darkblue',
side = 'left'
},
}

View file

@ -1,133 +1,133 @@
Locales['fr'] = {
-- Notifications
['user_xp_set'] = {
title = 'CRAFTING',
text = 'Votre XP a été défini sur ${s1}',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'CRAFTING',
text = 'Vous avez défini XP de ${s1} sur ${s2} avec succès',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'Votre XP a été défini de ${s1} en ${s2}',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'Vous avez défini XP de ${s1} sur ${s2} en ${s3} avec succès',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'CRAFTING',
text = 'Votre niveau a été défini sur ${s1}',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'CRAFTING',
text = 'Vous avez défini le niveau de ${s1} sur ${s2} avec succès',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'CRAFTING',
text = 'Votre niveau a été défini sur ${s1} en ${s2}',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'CRAFTING',
text = 'Vous avez défini le niveau de ${s1} sur ${s2} en ${s3} avec succès',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'CRAFTING',
text = 'Ce niveau n\'existe pas',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'CRAFTING',
text = "Cet objet est trop lourd ! Impossible de le porter",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'CRAFTING',
text = '${s1} ajouté à la file de fabrication',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'CRAFTING',
text = "Vous ne pouvez pas fabriquer ${s1}",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'CRAFTING',
text = "Vous ne pouvez pas fabriquer à l\'intérieur d'un véhicule",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'CRAFTING',
text = 'Vous avez atteint la limite de la file de fabrication',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'CRAFTING',
text = 'Vous avez reçu ${s1}',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'CRAFTING',
text = 'Vous avez tout reçu',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'CRAFTING',
text = 'Vous avez annulé la fabrication de ${s1}',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Définissez un joueur fabriquant de l\'XP',
id = 'id',
idtext = "ID de la cible",
xp = 'XP',
xptext = 'Montant d\'XP',
workbench = 'workbench',
workbenchtext = "ID des établis",
},
['suggestion_level'] = {
maintext = 'Définissez le niveau de craft des joueurs',
id = 'id',
idtext = "ID de la cible",
level = 'Level',
leveltext = 'Niveau',
workbench = 'workbench',
workbenchtext = "ID des établis",
},
-- okokTextUI
['textUI'] = {
text = '[E] Ouvrir l\'établi',
color = 'darkblue',
side = 'left'
},
Locales['fr'] = {
-- Notifications
['user_xp_set'] = {
title = 'CRAFTING',
text = 'Votre XP a été défini sur ${s1}',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'CRAFTING',
text = 'Vous avez défini XP de ${s1} sur ${s2} avec succès',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'Votre XP a été défini de ${s1} en ${s2}',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'Vous avez défini XP de ${s1} sur ${s2} en ${s3} avec succès',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'CRAFTING',
text = 'Votre niveau a été défini sur ${s1}',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'CRAFTING',
text = 'Vous avez défini le niveau de ${s1} sur ${s2} avec succès',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'CRAFTING',
text = 'Votre niveau a été défini sur ${s1} en ${s2}',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'CRAFTING',
text = 'Vous avez défini le niveau de ${s1} sur ${s2} en ${s3} avec succès',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'CRAFTING',
text = 'Ce niveau n\'existe pas',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'CRAFTING',
text = "Cet objet est trop lourd ! Impossible de le porter",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'CRAFTING',
text = '${s1} ajouté à la file de fabrication',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'CRAFTING',
text = "Vous ne pouvez pas fabriquer ${s1}",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'CRAFTING',
text = "Vous ne pouvez pas fabriquer à l\'intérieur d'un véhicule",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'CRAFTING',
text = 'Vous avez atteint la limite de la file de fabrication',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'CRAFTING',
text = 'Vous avez reçu ${s1}',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'CRAFTING',
text = 'Vous avez tout reçu',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'CRAFTING',
text = 'Vous avez annulé la fabrication de ${s1}',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Définissez un joueur fabriquant de l\'XP',
id = 'id',
idtext = "ID de la cible",
xp = 'XP',
xptext = 'Montant d\'XP',
workbench = 'workbench',
workbenchtext = "ID des établis",
},
['suggestion_level'] = {
maintext = 'Définissez le niveau de craft des joueurs',
id = 'id',
idtext = "ID de la cible",
level = 'Level',
leveltext = 'Niveau',
workbench = 'workbench',
workbenchtext = "ID des établis",
},
-- okokTextUI
['textUI'] = {
text = '[E] Ouvrir l\'établi',
color = 'darkblue',
side = 'left'
},
}

View file

@ -1,133 +1,133 @@
Locales['gr'] = {
-- Notifications
['user_xp_set'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Το XP σας ορίστηκε σε ${s1}',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ρυθμίζετε το XP του ${s1} σε ${s2} με επιτυχία',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Το XP σας ορίστηκε σε ${s1} σε ${s2}',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ρυθμίζετε το XP του ${s1} προς ${s2} σε ${s3} με επιτυχία',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Το επίπεδό σας ορίστηκε σε ${s1}',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ρυθμίσετε το επίπεδο του ${s1} προς ${s2} με επιτυχία',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Το επίπεδό σας ορίστηκε σε ${s1} in ${s2}',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ρυθμίσετε το επίπεδο του ${s1} προς ${s2} σε ${s3} με επιτυχία',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Αυτό το επίπεδο δεν υπάρχει',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = "Δεν μπορείτε να μεταφέρετε αυτό το αντικείμενο",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = '${s1} προστέθηκε στην ουρά χειροτεχνίας',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = "Δεν μπορείς να χειροτεχνήσεις ${s1}",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = "Δεν μπορείτε να κάνετε χειροτεχνία μέσα σε ένα όχημα",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Έχετε φτάσει το όριο της ουράς',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Έχετε διεκδικήσει ${s1}',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Έχετε διεκδικήσει όλα τα στοιχεία',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ακυρώσατε μια δημιουργία του ${s1}',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Ρυθμίσετε το επίπεδο του παίκτη',
id = 'ταυτότητα',
idtext = "Ταυτότητα στόχου",
xp = 'XP',
xptext = 'XP ποσό',
workbench = 'πάγκος εργασίας',
workbenchtext = "Ταυτότητα πάγκων εργασίας",
},
['suggestion_level'] = {
maintext = 'Ρυθμίσετε το επίπεδο του παίκτη',
id = 'ταυτότητα',
idtext = "Ταυτότητα στόχου",
level = 'Επίπεδο',
leveltext = 'Επίπεδο',
workbench = 'πάγκος εργασίας',
workbenchtext = "Ταυτότητα πάγκων εργασίας",
},
-- okokTextUI
['textUI'] = {
text = '[E] Να ανοίξω το τραπέζι χειροτεχνίας',
color = 'darkblue',
side = 'left'
},
Locales['gr'] = {
-- Notifications
['user_xp_set'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Το XP σας ορίστηκε σε ${s1}',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ρυθμίζετε το XP του ${s1} σε ${s2} με επιτυχία',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Το XP σας ορίστηκε σε ${s1} σε ${s2}',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ρυθμίζετε το XP του ${s1} προς ${s2} σε ${s3} με επιτυχία',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Το επίπεδό σας ορίστηκε σε ${s1}',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ρυθμίσετε το επίπεδο του ${s1} προς ${s2} με επιτυχία',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Το επίπεδό σας ορίστηκε σε ${s1} in ${s2}',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ρυθμίσετε το επίπεδο του ${s1} προς ${s2} σε ${s3} με επιτυχία',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Αυτό το επίπεδο δεν υπάρχει',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = "Δεν μπορείτε να μεταφέρετε αυτό το αντικείμενο",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = '${s1} προστέθηκε στην ουρά χειροτεχνίας',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = "Δεν μπορείς να χειροτεχνήσεις ${s1}",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = "Δεν μπορείτε να κάνετε χειροτεχνία μέσα σε ένα όχημα",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Έχετε φτάσει το όριο της ουράς',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Έχετε διεκδικήσει ${s1}',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Έχετε διεκδικήσει όλα τα στοιχεία',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'ΚΑΤΑΣΚΕΥΗ',
text = 'Ακυρώσατε μια δημιουργία του ${s1}',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Ρυθμίσετε το επίπεδο του παίκτη',
id = 'ταυτότητα',
idtext = "Ταυτότητα στόχου",
xp = 'XP',
xptext = 'XP ποσό',
workbench = 'πάγκος εργασίας',
workbenchtext = "Ταυτότητα πάγκων εργασίας",
},
['suggestion_level'] = {
maintext = 'Ρυθμίσετε το επίπεδο του παίκτη',
id = 'ταυτότητα',
idtext = "Ταυτότητα στόχου",
level = 'Επίπεδο',
leveltext = 'Επίπεδο',
workbench = 'πάγκος εργασίας',
workbenchtext = "Ταυτότητα πάγκων εργασίας",
},
-- okokTextUI
['textUI'] = {
text = '[E] Να ανοίξω το τραπέζι χειροτεχνίας',
color = 'darkblue',
side = 'left'
},
}

View file

@ -1,133 +1,133 @@
Locales['pt'] = {
-- Notifications
['user_xp_set'] = {
title = 'CRAFTING',
text = 'A tua XP foi alterada para ${s1}',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'CRAFTING',
text = 'Alteraste a XP de ${s1} para ${s2} com sucesso',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'A tua XP foi alterada para ${s1} em ${s2}',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'Alteraste a XP de ${s1} para ${s2} em ${s3} com sucesso',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'CRAFTING',
text = 'O teu nível foi alterado para ${s1}',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'CRAFTING',
text = 'Alteraste o nível de ${s1} em ${s2} com sucesso',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'CRAFTING',
text = 'O teu nível foi alterado para ${s1} em ${s2}',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'CRAFTING',
text = 'Alteraste o nível de ${s1} para ${s2} em ${s3} com sucesso',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'CRAFTING',
text = 'Esse nível não existe',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'CRAFTING',
text = "Não tens espaço suficiente para carregar o item",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'CRAFTING',
text = '${s1} foi adicionado à queue',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'CRAFTING',
text = "Não podes craftar ${s1}",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'CRAFTING',
text = "Não podes craftar dentro de um veículo",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'CRAFTING',
text = 'Atingiste o limite da queue',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'CRAFTING',
text = 'Resgataste ${s1}',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'CRAFTING',
text = 'Regataste todos os itens',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'CRAFTING',
text = 'Cancelaste o craft de ${s1}',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Define o XP de craft de um jogador',
id = 'id',
idtext = "ID do jogador",
xp = 'XP',
xptext = 'Quantidade de XP',
workbench = 'workbench',
workbenchtext = "ID da workbench",
},
['suggestion_level'] = {
maintext = 'Define o nível de craft de um jogador',
id = 'id',
idtext = "ID do jogador",
level = 'Nível',
leveltext = 'Nível',
workbench = 'workbench',
workbenchtext = "ID da workbench",
},
-- okokTextUI
['textUI'] = {
text = '[E] Abrir crafting table',
color = 'darkblue',
side = 'left'
},
Locales['pt'] = {
-- Notifications
['user_xp_set'] = {
title = 'CRAFTING',
text = 'A tua XP foi alterada para ${s1}',
time = 5000,
type = 'info'
},
['admin_xp_set'] = {
title = 'CRAFTING',
text = 'Alteraste a XP de ${s1} para ${s2} com sucesso',
time = 5000,
type = 'success'
},
['user_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'A tua XP foi alterada para ${s1} em ${s2}',
time = 5000,
type = 'info'
},
['admin_xp_set_workbench'] = {
title = 'CRAFTING',
text = 'Alteraste a XP de ${s1} para ${s2} em ${s3} com sucesso',
time = 5000,
type = 'success'
},
['user_level_set'] = {
title = 'CRAFTING',
text = 'O teu nível foi alterado para ${s1}',
time = 5000,
type = 'info'
},
['admin_level_set'] = {
title = 'CRAFTING',
text = 'Alteraste o nível de ${s1} em ${s2} com sucesso',
time = 5000,
type = 'success'
},
['user_level_set_workbench'] = {
title = 'CRAFTING',
text = 'O teu nível foi alterado para ${s1} em ${s2}',
time = 5000,
type = 'info'
},
['admin_level_set_workbench'] = {
title = 'CRAFTING',
text = 'Alteraste o nível de ${s1} para ${s2} em ${s3} com sucesso',
time = 5000,
type = 'success'
},
['admin_level_no_exist'] = {
title = 'CRAFTING',
text = 'Esse nível não existe',
time = 5000,
type = 'error'
},
['cant_carry'] = {
title = 'CRAFTING',
text = "Não tens espaço suficiente para carregar o item",
time = 5000,
type = 'error'
},
['added_to_queue'] = {
title = 'CRAFTING',
text = '${s1} foi adicionado à queue',
time = 5000,
type = 'success'
},
['cant_craft'] = {
title = 'CRAFTING',
text = "Não podes craftar ${s1}",
time = 5000,
type = 'error'
},
['inside_vehicle'] = {
title = 'CRAFTING',
text = "Não podes craftar dentro de um veículo",
time = 5000,
type = 'error'
},
['queue_limit'] = {
title = 'CRAFTING',
text = 'Atingiste o limite da queue',
time = 5000,
type = 'error'
},
['claimed_item'] = {
title = 'CRAFTING',
text = 'Resgataste ${s1}',
time = 5000,
type = 'success'
},
['claimed_all_items'] = {
title = 'CRAFTING',
text = 'Regataste todos os itens',
time = 5000,
type = 'success'
},
['cancel_item'] = {
title = 'CRAFTING',
text = 'Cancelaste o craft de ${s1}',
time = 5000,
type = 'error'
},
-- Chat suggestions
['suggestion_xp'] = {
maintext = 'Define o XP de craft de um jogador',
id = 'id',
idtext = "ID do jogador",
xp = 'XP',
xptext = 'Quantidade de XP',
workbench = 'workbench',
workbenchtext = "ID da workbench",
},
['suggestion_level'] = {
maintext = 'Define o nível de craft de um jogador',
id = 'id',
idtext = "ID do jogador",
level = 'Nível',
leveltext = 'Nível',
workbench = 'workbench',
workbenchtext = "ID da workbench",
},
-- okokTextUI
['textUI'] = {
text = '[E] Abrir crafting table',
color = 'darkblue',
side = 'left'
},
}

View file

@ -0,0 +1,2 @@
ALTER TABLE players ADD COLUMN xp LONGTEXT NULL;
ALTER TABLE players ADD COLUMN okokcrafts LONGTEXT NULL;

View file

@ -1,125 +1,125 @@
<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="styles.css" rel="stylesheet">
</head>
<body>
<div class="crafting-body">
<div class="row">
<div class="col">
<div class="card craftingq_card">
<div class="card-body craftingq_card-body">
<div class="section-title text-center">Crafting Queue</div>
<hr>
<div class="craftingq_window">
<div class="d-flex justify-content-between w-100 queue-item-concluded">
<div class="d-flex align-items-center">
<img src="icons/compactrifle.png" class="image_components">
<div>
<div class="queue-itemname">Compact Rifle x1</div>
<div class="queue-itemstate">Concluded</div>
</div>
</div>
<div class="d-flex align-items-center queue-item-mr">
<span class="queue-claimbutton"><div class="d-flex justify-content-center align-items-center queue-claimbutton-bg"><i class="fas fa-check"></i></div></span>
</div>
</div>
<div class="d-flex justify-content-between w-100 queue-item mt-2">
<div class="d-flex align-items-center">
<img src="icons/compactrifle.png" class="image_components">
<div>
<div class="queue-itemname">Compact Rifle x1</div>
<div class="queue-itemstate">Time left: 55s</div>
</div>
</div>
<div class="d-flex align-items-center queue-item-mr">
<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg"><i class="fas fa-times"></i></div></span>
</div>
</div>
</div>
</div>
<div class="claimall-button-div mt-2">
<button type="button" id="claimall-button" class="btn btn-blue" onclick="claimall(this)">CLAIM ALL</button>
</div>
</div>
</div>
<div class="col">
<div class="title-main text-center">
<div class="title">
<span class="title-name"></span><span class="title-name2">Crafting</span>
</div>
</div>
<div class="itemslist">
<div class="card itemslist_card">
<div class="card-body itemslist_card-body justify-content-start">
<div class="itemslist_window" id="craft-table"></div>
</div>
</div>
</div>
<div class="text-center" id="categories_box">
<div class="btn-group" role="group" id="categories_btns"></div>
</div>
</div>
<div class="col xpbar-col">
<div class="xpbar">
<div id="level-text" class="text-center">Current Level: <span id="currentlevel">28</span></div>
<div class="progress">
<div class="progress-value d-flex justify-content-center align-items-center"></div>
</div>
</div>
<div class="itemrequirements">
<div class="card itemr_card mb-2">
<div class="card-body itemr_card-body">
<span id="time"><i class="fas fa-clock"></i> <span class="craft-tp"><span id="craft-time"></span>s</span></span>
<span id="percentage"><i class="fas fa-percentage"></i> <span class="craft-tp"><span id="craft-percentage"></span></span></span>
<div class="ywr text-center" id="top_text">You will receive</div>
<div class="d-flex align-items-center justify-content-center mx-1" id="side-image">
<img src="icons/compactrifle.png" class="image_itemselected">
<span class="text_itemselected ms-2"></span>
</div>
<hr>
<div class="section-title text-center mb-2" id="bot_text">Requirements</div>
<div class="components_window"></div>
</div>
</div>
<div id="craft-buttons-info">
<div class="d-flex mb-2">
<div class="d-flex mip" id="selector">
<button type="button" class="btn btn-blue" id="minus"><i class="fa-solid fa-minus"></i></button>
<input type="number" id="quantity" onchange="quantity_change(this)" class="form-control text-center" value="1" min="1" max="9999999999">
<button type="button" class="btn btn-blue" id="plus"><i class="fa-solid fa-plus"></i></button>
</div>
<button type="button" class="btn btn-blue ms-2" id="max">MAX</button>
</div>
<div id="craft-button-div"></div>
</div>
<div id="craft-buttons-info-level">
<div id="craft-button-div-level"></div>
</div>
</div>
</div>
</div>
</div>
<div class="timer">
<div class="card timer_card">
<div class="card-body timer_card-body">
<span><i id="cog" class="fas fa-cog fa-spin"></i></span><span id="crafting-text"></span> <span id="item-name"></span> <span id="item-timer"></span>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
<script src="scripts.js" type="text/javascript"></script>
</body>
<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="styles.css" rel="stylesheet">
</head>
<body>
<div class="crafting-body">
<div class="row">
<div class="col">
<div class="card craftingq_card">
<div class="card-body craftingq_card-body">
<div class="section-title text-center">Crafting Queue</div>
<hr>
<div class="craftingq_window">
<div class="d-flex justify-content-between w-100 queue-item-concluded">
<div class="d-flex align-items-center">
<img src="icons/compactrifle.png" class="image_components">
<div>
<div class="queue-itemname">Compact Rifle x1</div>
<div class="queue-itemstate">Concluded</div>
</div>
</div>
<div class="d-flex align-items-center queue-item-mr">
<span class="queue-claimbutton"><div class="d-flex justify-content-center align-items-center queue-claimbutton-bg"><i class="fas fa-check"></i></div></span>
</div>
</div>
<div class="d-flex justify-content-between w-100 queue-item mt-2">
<div class="d-flex align-items-center">
<img src="icons/compactrifle.png" class="image_components">
<div>
<div class="queue-itemname">Compact Rifle x1</div>
<div class="queue-itemstate">Time left: 55s</div>
</div>
</div>
<div class="d-flex align-items-center queue-item-mr">
<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg"><i class="fas fa-times"></i></div></span>
</div>
</div>
</div>
</div>
<div class="claimall-button-div mt-2">
<button type="button" id="claimall-button" class="btn btn-blue" onclick="claimall(this)">CLAIM ALL</button>
</div>
</div>
</div>
<div class="col">
<div class="title-main text-center">
<div class="title">
<span class="title-name"></span><span class="title-name2">Crafting</span>
</div>
</div>
<div class="itemslist">
<div class="card itemslist_card">
<div class="card-body itemslist_card-body justify-content-start">
<div class="itemslist_window" id="craft-table"></div>
</div>
</div>
</div>
<div class="text-center" id="categories_box">
<div class="btn-group" role="group" id="categories_btns"></div>
</div>
</div>
<div class="col xpbar-col">
<div class="xpbar">
<div id="level-text" class="text-center">Current Level: <span id="currentlevel">28</span></div>
<div class="progress">
<div class="progress-value d-flex justify-content-center align-items-center"></div>
</div>
</div>
<div class="itemrequirements">
<div class="card itemr_card mb-2">
<div class="card-body itemr_card-body">
<span id="time"><i class="fas fa-clock"></i> <span class="craft-tp"><span id="craft-time"></span>s</span></span>
<span id="percentage"><i class="fas fa-percentage"></i> <span class="craft-tp"><span id="craft-percentage"></span></span></span>
<div class="ywr text-center" id="top_text">You will receive</div>
<div class="d-flex align-items-center justify-content-center mx-1" id="side-image">
<img src="icons/compactrifle.png" class="image_itemselected">
<span class="text_itemselected ms-2"></span>
</div>
<hr>
<div class="section-title text-center mb-2" id="bot_text">Requirements</div>
<div class="components_window"></div>
</div>
</div>
<div id="craft-buttons-info">
<div class="d-flex mb-2">
<div class="d-flex mip" id="selector">
<button type="button" class="btn btn-blue" id="minus"><i class="fa-solid fa-minus"></i></button>
<input type="number" id="quantity" onchange="quantity_change(this)" class="form-control text-center" value="1" min="1" max="9999999999">
<button type="button" class="btn btn-blue" id="plus"><i class="fa-solid fa-plus"></i></button>
</div>
<button type="button" class="btn btn-blue ms-2" id="max">MAX</button>
</div>
<div id="craft-button-div"></div>
</div>
<div id="craft-buttons-info-level">
<div id="craft-button-div-level"></div>
</div>
</div>
</div>
</div>
</div>
<div class="timer">
<div class="card timer_card">
<div class="card-body timer_card-body">
<span><i id="cog" class="fas fa-cog fa-spin"></i></span><span id="crafting-text"></span> <span id="item-name"></span> <span id="item-timer"></span>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
<script src="scripts.js" type="text/javascript"></script>
</body>
</html>

View file

@ -1,2 +0,0 @@
ALTER TABLE players ADD COLUMN xp LONGTEXT NULL;
ALTER TABLE players ADD COLUMN okokcrafts LONGTEXT NULL;