mirror of
https://github.com/jimathy/jim_bridge.git
synced 2026-08-18 06:26:01 +01:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e320bcb99 | ||
|
|
54f96f7e77 | ||
|
|
dffed24fb3 | ||
|
|
aae2bd5021 | ||
|
|
732b07c957 | ||
|
|
8e8010f837 | ||
|
|
e05815cfbd |
22
.gitattributes
vendored
22
.gitattributes
vendored
@@ -1,12 +1,16 @@
|
|||||||
# VCS / CI noise
|
# VCS / CI noise
|
||||||
.gitattributes export-ignore
|
/.gitattributes export-ignore
|
||||||
.gitignore export-ignore
|
/.gitignore export-ignore
|
||||||
.github/** export-ignore
|
/.gitmodules export-ignore
|
||||||
.gitmodules export-ignore
|
/.github export-ignore
|
||||||
|
|
||||||
# Dev tooling/config
|
# Dev tooling/config
|
||||||
.vscode/** export-ignore
|
/.vscode export-ignore
|
||||||
*.code-workspace export-ignore
|
*.code-workspace export-ignore
|
||||||
.editorconfig export-ignore
|
/.editorconfig export-ignore
|
||||||
.eslintrc* export-ignore
|
/.eslintrc* export-ignore
|
||||||
.prettier* export-ignore
|
/.prettier* export-ignore
|
||||||
|
|
||||||
|
# Omit release-only helpers
|
||||||
|
/server/restaurantchecker.lua export-ignore
|
||||||
|
/server/installitems.lua export-ignore
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
name "Jim_Bridge"
|
name "Jim_Bridge"
|
||||||
author "Jimathy"
|
author "Jimathy"
|
||||||
version "2.1.07"
|
version "2.1.08"
|
||||||
description "Framework Bridge By Jimathy"
|
description "Framework Bridge By Jimathy"
|
||||||
fx_version "cerulean"
|
fx_version "cerulean"
|
||||||
rdr3_warning 'I acknowledge that this is a prerelease build of RedM, and I am aware my resources *will* become incompatible once RedM ships.'
|
rdr3_warning 'I acknowledge that this is a prerelease build of RedM, and I am aware my resources *will* become incompatible once RedM ships.'
|
||||||
|
|||||||
@@ -638,6 +638,8 @@ function lookEnt(entity)
|
|||||||
debugPrint("^6Bridge^7: ^2Turning Player to^7: '^6"..formatCoord(entity).."^7'")
|
debugPrint("^6Bridge^7: ^2Turning Player to^7: '^6"..formatCoord(entity).."^7'")
|
||||||
Wait(1500)
|
Wait(1500)
|
||||||
end
|
end
|
||||||
|
-- Make players head face the coord for 5 seconds
|
||||||
|
TaskLookAtCoord(ped, entity.x, entity.y, entity.z, 5000, 1, 1)
|
||||||
else
|
else
|
||||||
if DoesEntityExist(entity) then
|
if DoesEntityExist(entity) then
|
||||||
local entCoords = GetEntityCoords(entity)
|
local entCoords = GetEntityCoords(entity)
|
||||||
@@ -646,6 +648,9 @@ function lookEnt(entity)
|
|||||||
debugPrint("^6Bridge^7: ^2Turning Player to^7: '^6"..entity.."^7' - '"..formatCoord(entCoords).."^7'")
|
debugPrint("^6Bridge^7: ^2Turning Player to^7: '^6"..entity.."^7' - '"..formatCoord(entCoords).."^7'")
|
||||||
Wait(1500)
|
Wait(1500)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Make players head face the coord for 5 seconds
|
||||||
|
TaskLookAtEntity(ped, entity, 5000, 1, 1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -103,6 +103,10 @@ local InvFunc = {
|
|||||||
-- Add fallback if ox can't find the stash and returns a boolean
|
-- Add fallback if ox can't find the stash and returns a boolean
|
||||||
return type(stash) == "table" and stash.items or {}
|
return type(stash) == "table" and stash.items or {}
|
||||||
end,
|
end,
|
||||||
|
stashEditMetadata =
|
||||||
|
function(stash, slot, metadata)
|
||||||
|
exports[OXInv]:SetMetadata(stash, slot, metadata)
|
||||||
|
end,
|
||||||
stashAddItem =
|
stashAddItem =
|
||||||
function(stashItems, stashName, items)
|
function(stashItems, stashName, items)
|
||||||
|
|
||||||
@@ -207,6 +211,13 @@ local InvFunc = {
|
|||||||
function(stashName)
|
function(stashName)
|
||||||
return exports[CoreInv]:getInventory(stashName)
|
return exports[CoreInv]:getInventory(stashName)
|
||||||
end,
|
end,
|
||||||
|
stashEditMetadata =
|
||||||
|
function(stash, slot, metadata)
|
||||||
|
local itemData = exports[CoreInv]:getItemBySlot(stash, slot) or {}
|
||||||
|
if itemData then
|
||||||
|
exports[CoreInv]:setItem(stash, itemData.item, itemData.count, metadata)
|
||||||
|
end
|
||||||
|
end,
|
||||||
stashAddItem =
|
stashAddItem =
|
||||||
function(stashItems, stashName, items)
|
function(stashItems, stashName, items)
|
||||||
--
|
--
|
||||||
@@ -306,6 +317,10 @@ local InvFunc = {
|
|||||||
function(stashName)
|
function(stashName)
|
||||||
return exports[OrigenInv]:getInventory(stashName)
|
return exports[OrigenInv]:getInventory(stashName)
|
||||||
end,
|
end,
|
||||||
|
stashEditMetadata =
|
||||||
|
function(stash, slot, metadata)
|
||||||
|
exports[OrigenInv]:setMetadata(stash, slot, metadata)
|
||||||
|
end,
|
||||||
stashAddItem =
|
stashAddItem =
|
||||||
function(stashItems, stashName, items)
|
function(stashItems, stashName, items)
|
||||||
--
|
--
|
||||||
@@ -416,6 +431,10 @@ local InvFunc = {
|
|||||||
function(stashName)
|
function(stashName)
|
||||||
return exports[CodeMInv]:GetStashItems(stashName)
|
return exports[CodeMInv]:GetStashItems(stashName)
|
||||||
end,
|
end,
|
||||||
|
stashEditMetadata =
|
||||||
|
function(stash, slot, metadata)
|
||||||
|
|
||||||
|
end,
|
||||||
stashAddItem =
|
stashAddItem =
|
||||||
function(stashItems, stashName, items)
|
function(stashItems, stashName, items)
|
||||||
--
|
--
|
||||||
@@ -529,6 +548,10 @@ local InvFunc = {
|
|||||||
function(stashName)
|
function(stashName)
|
||||||
return exports[TgiannInv]:GetSecondaryInventoryItems("stash", stashName)
|
return exports[TgiannInv]:GetSecondaryInventoryItems("stash", stashName)
|
||||||
end,
|
end,
|
||||||
|
stashEditMetadata =
|
||||||
|
function(stash, slot, metadata)
|
||||||
|
|
||||||
|
end,
|
||||||
stashAddItem =
|
stashAddItem =
|
||||||
function(stashItems, stashName, items)
|
function(stashItems, stashName, items)
|
||||||
--
|
--
|
||||||
@@ -692,6 +715,10 @@ local InvFunc = {
|
|||||||
return result and json.decode(result) or {}
|
return result and json.decode(result) or {}
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
stashEditMetadata =
|
||||||
|
function(stash, slot, metadata)
|
||||||
|
|
||||||
|
end,
|
||||||
stashAddItem =
|
stashAddItem =
|
||||||
function(stashItems, stashName, items)
|
function(stashItems, stashName, items)
|
||||||
--
|
--
|
||||||
@@ -880,6 +907,23 @@ local InvFunc = {
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
stashEditMetadata =
|
||||||
|
function(stash, slot, metadata)
|
||||||
|
local stashData = getStash(stash)
|
||||||
|
for i = 1, #stashData do
|
||||||
|
if stashData[i].slot == slot then
|
||||||
|
print("found slot")
|
||||||
|
stashData[i].info = metadata
|
||||||
|
end
|
||||||
|
jsonPrint(stashData[i])
|
||||||
|
end
|
||||||
|
|
||||||
|
debugPrint("^6Bridge^7: ^3stashEditMetadata^7: ^2Saving ^3QB^2 stash '^6"..stash.."^7'")
|
||||||
|
MySQL.Async.insert('INSERT INTO stashitems (stash, items) VALUES (:stash, :items) ON DUPLICATE KEY UPDATE items = :items', {
|
||||||
|
['stash'] = stash,
|
||||||
|
['items'] = json.encode(stashData)
|
||||||
|
})
|
||||||
|
end,
|
||||||
stashAddItem =
|
stashAddItem =
|
||||||
function(stashItems, stashName, items)
|
function(stashItems, stashName, items)
|
||||||
--
|
--
|
||||||
@@ -2246,6 +2290,16 @@ function openStash(data)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function stashEditMetadata(stash, slot, metadata)
|
||||||
|
for i = 1, #InvFunc do
|
||||||
|
local inv = InvFunc[i]
|
||||||
|
if isStarted(inv.invName) then
|
||||||
|
inv.stashEditMetadata(stash, slot, metadata)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Wrapper function for opening stash from the server.
|
-- Wrapper function for opening stash from the server.
|
||||||
-- Messy but not much else I can do about it.
|
-- Messy but not much else I can do about it.
|
||||||
RegisterNetEvent(getScript()..":server:openServerStash", function(data)
|
RegisterNetEvent(getScript()..":server:openServerStash", function(data)
|
||||||
@@ -2315,7 +2369,7 @@ function getStash(stashName)
|
|||||||
if isStarted(inv.invName) then
|
if isStarted(inv.invName) then
|
||||||
debugPrint("^6Bridge^7: ^2Retrieving ^3"..inv.invName.." ^2Stash^7:", stashName)
|
debugPrint("^6Bridge^7: ^2Retrieving ^3"..inv.invName.." ^2Stash^7:", stashName)
|
||||||
stashItems = inv.getStash(stashName)
|
stashItems = inv.getStash(stashName)
|
||||||
break
|
goto skip
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -2331,7 +2385,7 @@ function getStash(stashName)
|
|||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
::skip::
|
||||||
if stashItems then
|
if stashItems then
|
||||||
for _, item in pairs(stashItems) do
|
for _, item in pairs(stashItems) do
|
||||||
local itemInfo = Items[item.name:lower()]
|
local itemInfo = Items[item.name:lower()]
|
||||||
|
|||||||
@@ -263,4 +263,14 @@ function fundSociety(society, amount)
|
|||||||
end
|
end
|
||||||
|
|
||||||
print("^1Error^7: ^3FundSociety^7: ^2No supported banking script found")
|
print("^1Error^7: ^3FundSociety^7: ^2No supported banking script found")
|
||||||
|
end
|
||||||
|
|
||||||
|
if isServer() then
|
||||||
|
createCallback(getScript()..":server:getAccount", function(source, society)
|
||||||
|
if society then
|
||||||
|
local getMoney = getSocietyAccount(society)
|
||||||
|
return getMoney
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end)
|
||||||
end
|
end
|
||||||
39
starter.lua
39
starter.lua
@@ -33,15 +33,51 @@ Exports = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
-- Required variables
|
-- Required variables
|
||||||
debugMode = Config.System.Debug
|
debugMode = false
|
||||||
|
|
||||||
QBInvNew = true
|
QBInvNew = true
|
||||||
|
|
||||||
InventoryWeight = 120000
|
InventoryWeight = 120000
|
||||||
|
|
||||||
|
-- Corruptted transfer file Checks -- Not Ready Yet ⚠️
|
||||||
|
|
||||||
|
--CreateThread(function()
|
||||||
|
-- local res = GetCurrentResourceName()
|
||||||
|
-- local ok, val = pcall(function()
|
||||||
|
-- return exports[res]:ping_encrypted()
|
||||||
|
-- end)
|
||||||
|
--
|
||||||
|
-- if not ok or val ~= "ok" then
|
||||||
|
-- print("\n^6===============================================================================")
|
||||||
|
-- print(("\n^1Corruption Warning^7: ^1[^7%s^1] Encrypted files failed to initialize.^7\n"):format(res))
|
||||||
|
-- print("^3Common causes^7:")
|
||||||
|
-- print(" • Possible corrupt files")
|
||||||
|
-- print(" • Damaged or partial upload (FTP/zip/unzip issue).")
|
||||||
|
-- print(" • Outdated artifact version\n")
|
||||||
|
-- print("^2How To Fix^7:")
|
||||||
|
-- print(" • Update your server artifact version")
|
||||||
|
-- print(" • Re-download asset from Keymaster")
|
||||||
|
-- print(" • Use WinSCP to upload")
|
||||||
|
-- print(" • Avoid editing any encrypted files")
|
||||||
|
-- print(" • Restart the server")
|
||||||
|
-- print("\n^6===============================================================================^7\n")
|
||||||
|
-- end
|
||||||
|
--end)
|
||||||
|
|
||||||
|
-- Missing/Broken Config file check
|
||||||
|
if not Config or not Config.System then
|
||||||
|
print("\n^6=================================================================================")
|
||||||
|
print("^6=================================================================================\n")
|
||||||
|
print(" ^1ERROR^7: jim_bridge ^1can't find the ^7Config^1 table in ^7"..GetCurrentResourceName())
|
||||||
|
print(" ^1It is either missing, or there is an error inside it stopping it from loading^7\n")
|
||||||
|
print("^6=================================================================================")
|
||||||
|
print("^6=================================================================================^7\n")
|
||||||
|
end
|
||||||
|
|
||||||
-- [[ Server.Cfg Convar Check ]]--
|
-- [[ Server.Cfg Convar Check ]]--
|
||||||
-- Check server convars for hard set defaults, otherwise it uses per script configurations
|
-- Check server convars for hard set defaults, otherwise it uses per script configurations
|
||||||
if Config and Config.System then
|
if Config and Config.System then
|
||||||
|
debugMode = Config.System.Debug
|
||||||
if Config.System.Debug then
|
if Config.System.Debug then
|
||||||
if GetConvar("jim_DisableDebug", "false") == "true" then
|
if GetConvar("jim_DisableDebug", "false") == "true" then
|
||||||
debugMode = false
|
debugMode = false
|
||||||
@@ -50,7 +86,6 @@ if Config and Config.System then
|
|||||||
Config.System.EventDebug = false
|
Config.System.EventDebug = false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
Config.System.Menu = GetConvar("jim_menuScript", Config.System.Menu)
|
Config.System.Menu = GetConvar("jim_menuScript", Config.System.Menu)
|
||||||
Config.System.Notify = GetConvar("jim_notifyScript", Config.System.Notify or "gta")
|
Config.System.Notify = GetConvar("jim_notifyScript", Config.System.Notify or "gta")
|
||||||
Config.System.ProgressBar = GetConvar("jim_progressBarScript", Config.System.ProgressBar or "gta")
|
Config.System.ProgressBar = GetConvar("jim_progressBarScript", Config.System.ProgressBar or "gta")
|
||||||
|
|||||||
15
version.txt
15
version.txt
@@ -1,11 +1,10 @@
|
|||||||
2.1.07
|
2.1.08
|
||||||
|
|
||||||
- Support for new embeded shop recipes
|
- Fix getStash() always trying to use fallback functions
|
||||||
- Add checks for targets set with minZ and maxZ set too high or low
|
- Start adding stashEditMetadata() function - wip
|
||||||
- New target function `createPropTarget()` which creates a box target based on a prop model
|
- Add check for broken/missing config.lua in scripts
|
||||||
- Add CodeM as option for billing
|
- Add fix for debugMode breaking if no config file
|
||||||
- Add 17Mov progressbar support
|
- Add a callback to check for society bank balances
|
||||||
- Fix OrigenInv calling OX_Inv to get player inventory
|
- Add player head movement for `lookEnt()` to continue looking after turning
|
||||||
- Allow "Grab Boxes" to have custom slots and weight
|
|
||||||
|
|
||||||
https://github.com/jimathy/jim_bridge/releases/latest
|
https://github.com/jimathy/jim_bridge/releases/latest
|
||||||
Reference in New Issue
Block a user