mirror of
https://github.com/jimathy/jim_bridge.git
synced 2026-08-19 14:56:02 +01:00
Update README.md
This commit is contained in:
274
README.md
274
README.md
@@ -528,277 +528,3 @@ This is made to replace the native `NetToVeh()` but checking first if it exists
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### Support for different exports and scripts
|
|
||||||
|
|
||||||
In exports.lua is the list of script folder names
|
|
||||||
|
|
||||||
This is for people who have customised/renamed scripts
|
|
||||||
|
|
||||||
eg. for people who use `ps-inventory`, this is mainly based on qb-inventory
|
|
||||||
so you need to rename
|
|
||||||
```lua
|
|
||||||
QBInv = "qb-inventory",
|
|
||||||
```
|
|
||||||
to
|
|
||||||
```lua
|
|
||||||
QBInv = "ps-inventory",
|
|
||||||
```
|
|
||||||
|
|
||||||
This will now use events from `ps-inventory` and use it through out the scripts.
|
|
||||||
|
|
||||||
# WIP
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
This script brings alot of features to simplify making scripts with preset functions and automations.
|
|
||||||
|
|
||||||
It attempts to make use of configs from the scripts its loaded into. For example:
|
|
||||||
|
|
||||||
### `Config`
|
|
||||||
```lua
|
|
||||||
Config = {
|
|
||||||
System = {
|
|
||||||
Debug = true, -- This enables Debug mode
|
|
||||||
-- Revealing debug prints and debug boxes on targets
|
|
||||||
|
|
||||||
Menu = "qb", -- This specifies what menu script will be loaded
|
|
||||||
-- "qb" = `qb-menu` and edited versions of it
|
|
||||||
-- "ox" = `ox_lib`'s context menu system
|
|
||||||
-- "gta" = `WarMenu' a free script for a gta style menu
|
|
||||||
|
|
||||||
Notify = "gta", -- This allows you to choose the notification system for scripts
|
|
||||||
-- "qb" = `qb-core`'s built in notifications
|
|
||||||
-- "ox" = `ox_lib`'s built in notifications
|
|
||||||
-- "esx" = `esx_notify` esx's default notifications
|
|
||||||
-- "okok" = `okok-notify` okok's notifications
|
|
||||||
-- "gta" = Native GTA style popups
|
|
||||||
|
|
||||||
drawText = "gta", -- The style of drawText you want to use
|
|
||||||
-- "qb" = `qb-core`'s drawText system
|
|
||||||
-- "ox" = `ox_lib`'s drawTextUI system
|
|
||||||
-- "gta" = Native GTA style popups
|
|
||||||
|
|
||||||
|
|
||||||
progressBar = "gta" -- The style of progressBar you want to use
|
|
||||||
-- "qb" = `qb-core`'s style progressBar
|
|
||||||
-- "ox" = `ox_lib`'s default progressBar
|
|
||||||
-- "gta" = Native GTA style "spinner"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### `openMenu(Menu, data)`
|
|
||||||
|
|
||||||
This handles creation of menus using `OX_Lib`, `qb-menu` or `WarMenu`
|
|
||||||
It uses mixed/new functions to bring more compatability to one another
|
|
||||||
|
|
||||||
`Menu` is your button entries and works like qb-menu or ox_lib, for example:
|
|
||||||
|
|
||||||
```lua
|
|
||||||
local Menu = {}
|
|
||||||
Menu[#Menu + 1] = {
|
|
||||||
isMenuHeader = true, -- This makes the current button unclickable
|
|
||||||
icon = invImg("lockpick") -- Supports fontawesome or custom images
|
|
||||||
-- This example use the custom function `invImg()` to retreive an nui:// link to the given item's image
|
|
||||||
arrow = true, -- Adds a arrow icon to the button (in qb-menu overrides the icon)
|
|
||||||
header = "Header Test", -- The header/title for the button
|
|
||||||
txt = "Text test", -- The txt/description for the button
|
|
||||||
|
|
||||||
onSelect = function() -- This brings the onSelect function to qb-menu
|
|
||||||
TriggerEvent("lolhi", { lol = hi }),
|
|
||||||
end,
|
|
||||||
-- Enter what happens when you click the button
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
As you can see above, it mixes variables but makes it possible to switch between menus just by changing the config option
|
|
||||||
|
|
||||||
After you have created the info above, you need to then trigger opening of this menu with:
|
|
||||||
```lua
|
|
||||||
openMenu(Menu, -- Menu here is your table name you created above
|
|
||||||
{ -- Next entry in openMenu is a table
|
|
||||||
header = "Menu Header", -- What your menu title will be shown as
|
|
||||||
headertxt = "Header info", -- Info to be displayed under the title
|
|
||||||
|
|
||||||
onExit = function() -- Will create a "Close button"
|
|
||||||
TriggerEvent("lolhi", { lol = hi }),
|
|
||||||
end, -- When clicked it will trigger the onExit event
|
|
||||||
|
|
||||||
onBack = function() -- Will create a "Back button"
|
|
||||||
TriggerEvent("lolhi", { lol = hi }),
|
|
||||||
end, -- When clicked it will trigger the onBack event
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
### Support for multiple target events
|
|
||||||
These automatically detect what target script you are using
|
|
||||||
They are also automatically removed when the script is stopped (for helping
|
|
||||||
### `createEntityTarget(entity, opts, dist)`
|
|
||||||
Create an entity based target
|
|
||||||
```lua
|
|
||||||
createEntityTarget(
|
|
||||||
entity, -- The entity ID of what you want to target
|
|
||||||
{
|
|
||||||
{ -- Your target options here
|
|
||||||
icon = "icon", -- Your icon, only supports font awesome icons
|
|
||||||
label = "Test Label", -- The label of your target
|
|
||||||
item = "lockpick" -- The required it em
|
|
||||||
job = "mechanic", -- The required job
|
|
||||||
gang = "lostmc", -- The required gang
|
|
||||||
action = function() -- What happens when the target is selected
|
|
||||||
TriggerEvent("lolhi", { lol = hi }),
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
, dist) -- How close you ned to be to see the target
|
|
||||||
```
|
|
||||||
|
|
||||||
### `createBoxTarget(data, opts, dist)`
|
|
||||||
Create an entity based target
|
|
||||||
```lua
|
|
||||||
createBoxTarget(
|
|
||||||
{
|
|
||||||
"TargetName", -- The name/id of your target here
|
|
||||||
vec3(0, 0, 0), -- The coordinates of your target
|
|
||||||
2.0, -- The width of your target box
|
|
||||||
2.0, -- The depth of your target box
|
|
||||||
{
|
|
||||||
name = "TargetName", -- The name/id of your target here
|
|
||||||
heading = 200.0, -- The direction your target will be placed
|
|
||||||
debugPoly = true, -- Wether to show debug boxes to help place targets
|
|
||||||
minZ = 190.0, -- The bottom of your box
|
|
||||||
maxZ = 210.0, -- The top of your box
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{ -- Your target options here
|
|
||||||
icon = "icon", -- Your icon, only supports font awesome icons
|
|
||||||
label = "Test Label", -- The label of your target
|
|
||||||
item = "lockpick" -- The required it em
|
|
||||||
job = "mechanic", -- The required job
|
|
||||||
gang = "lostmc", -- The required gang
|
|
||||||
action = function() -- What happens when the target is selected
|
|
||||||
TriggerEvent("lolhi", { lol = hi }),
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
dist) -- How close you ned to be to see the target
|
|
||||||
```
|
|
||||||
|
|
||||||
### `createCircleTarget(data, opts, dist)`
|
|
||||||
Create an entity based target
|
|
||||||
```lua
|
|
||||||
createCircleTarget(
|
|
||||||
{
|
|
||||||
"TargetName", -- The name/id of your target here
|
|
||||||
vec3(0, 0, 0), -- The coordinates of your target
|
|
||||||
2.0, -- The radius of your target circle
|
|
||||||
{
|
|
||||||
name = "TargetName", -- The name/id of your target here
|
|
||||||
heading = 200.0, -- The direction your target will be placed
|
|
||||||
debugPoly = true, -- Wether to show debug boxes to help place targets
|
|
||||||
minZ = 190.0, -- The bottom of your box
|
|
||||||
maxZ = 210.0, -- The top of your box
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{ -- Your target options here
|
|
||||||
icon = "icon", -- Your icon, only supports font awesome icons
|
|
||||||
label = "Test Label", -- The label of your target
|
|
||||||
item = "lockpick" -- The required it em
|
|
||||||
job = "mechanic", -- The required job
|
|
||||||
gang = "lostmc", -- The required gang
|
|
||||||
action = function() -- What happens when the target is selected
|
|
||||||
TriggerEvent("lolhi", { lol = hi }),
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
dist) -- How close you ned to be to see the target
|
|
||||||
```
|
|
||||||
|
|
||||||
### `removeEntityTarget(entity)`
|
|
||||||
Triggers removal of the target entity, by checking the entity name
|
|
||||||
|
|
||||||
### `removeZoneTarget(target)`
|
|
||||||
Triggers removal of a zone(Box/Circle) target by calling the target's name/id
|
|
||||||
|
|
||||||
## `triggerNotify(title, message, type, src)`
|
|
||||||
Handles notifications for the script called from either the server or client
|
|
||||||
|
|
||||||
Supports:
|
|
||||||
- `okok`
|
|
||||||
- `qb`
|
|
||||||
- `ox`
|
|
||||||
- `gta`
|
|
||||||
- `esx`
|
|
||||||
|
|
||||||
```lua
|
|
||||||
triggerNotify(
|
|
||||||
title = "Notification Title", -- Usually 'nil' in my scripts, supports notifications with titles
|
|
||||||
message = "Notification Message", -- The notification's message
|
|
||||||
type = "success" -- The type of notification, depends on the supporting script
|
|
||||||
src = 1, -- If in the server, this is required to send to player
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
## `drawText(image, input, style)`
|
|
||||||
This handles calling drawText functions
|
|
||||||
|
|
||||||
Supports:
|
|
||||||
- `gta`
|
|
||||||
- `qb`
|
|
||||||
- `ox`
|
|
||||||
- `esx`
|
|
||||||
|
|
||||||
```lua
|
|
||||||
drawText(
|
|
||||||
187, -- Very specific for adding blip images to drawtexts, usually nil
|
|
||||||
{
|
|
||||||
"Line 1", -- Supports multiple lines, helpful for displaying button prompts
|
|
||||||
"Line 2",
|
|
||||||
},
|
|
||||||
"g" -- Sets colour of text after a ":" when using GTA drawtext
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
## `hideText()`
|
|
||||||
Simply used to hide drawText prompts when not needed anymore
|
|
||||||
|
|
||||||
## `createCallback(callbackName, funct)`
|
|
||||||
This is my attempt at making multiframework server callbacks by using their provided events
|
|
||||||
(Only works server side)
|
|
||||||
|
|
||||||
```lua
|
|
||||||
createCallback(
|
|
||||||
"jimsCallback", -- Callback event name, needs to be something that isn't already set
|
|
||||||
function()
|
|
||||||
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
```
|
|
||||||
|
|
||||||
## `triggerCallback(callBackName, value)`
|
|
||||||
This is an attempt at a mutliframework callback
|
|
||||||
|
|
||||||
## `onPlayerLoaded(func)`
|
|
||||||
This is a multiframework event that is triggered when a player has fully loaded their character in
|
|
||||||
|
|
||||||
```lua
|
|
||||||
onPlayerLoaded(
|
|
||||||
function()
|
|
||||||
print("Player Loaded In!")
|
|
||||||
end
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user