๐ŸงญHate Framework Bridge

HateBridge is a central bridge system that provides framework independence for all Hate scripts. It supports ESX, QBCore, and QBox frameworks with automatic detection and unified API.

Features

  • Automatic Framework Detection: Automatically detects which framework is installed on the server

  • Unified API: Provides a single API for all frameworks

  • Player Management: Manages player data across different frameworks

  • Inventory Management: Item adding/removing operations

  • Money Management: Money adding/removing operations

  • Notification System: Framework-independent notifications

  • Progress Bar: Framework-independent progress bars

  • Callback System: Server-client callbacks

  • Database Operations: Helper functions for MySQL operations

  • Target System: Unified targeting system (ox_target, qb-target, qtarget)

Installation

  1. Copy the hate-bridge folder to your resources directory

  2. Add this line to your server.cfg:

Framework Support

Framework
Status
Version Support

ESX

โœ…

Legacy & Final

QBCore

โœ…

All Versions

QBox

โœ…

Latest

Dependencies

  • oxmysql (required)

  • ox_lib (optional, for enhanced features)

Usage in Other Hate Scripts

FXManifest Dependency

Add dependency to your fxmanifest.lua:

Client Side Usage

Server Side Usage

Client API Reference

Player Functions

Function
Description
Parameters
Returns

GetPlayerData()

Get all player data

None

table

IsPlayerLoaded()

Check if player is loaded

None

boolean

GetPlayerJob()

Get player job information

None

table

GetPlayerMoney(moneyType)

Get player money amount

string (optional)

number

UI Functions

Function
Description
Parameters
Returns

ShowNotification(message, type, duration)

Show notification

string, string, number

void

ProgressBar(name, label, duration, useWhileDead, canCancel, disableControls, animation, prop, onFinish, onCancel)

Show progress bar

multiple

void

Callback Functions

Function
Description
Parameters
Returns

TriggerCallback(name, cb, ...)

Trigger server callback

string, function, ...

void

Target System Functions

Function
Description
Parameters
Returns

AddTargetEntity(entity, options)

Add target to entity

number, table

void

RemoveTargetEntity(entity, optionNames)

Remove target from entity

number, table

void

AddTargetModel(models, options)

Add target to models

table, table

void

RemoveTargetModel(models, optionNames)

Remove target from models

table, table

void

AddGlobalPed(options)

Add global ped target

table

void

RemoveGlobalPed(optionNames)

Remove global ped target

table

void

AddTargetZone(name, coords, length, width, options, targetOptions)

Add target zone

string, vector3, number, number, table, table

void

AddCircleZone(name, coords, radius, options, targetOptions)

Add circle zone

string, vector3, number, table, table

void

RemoveTargetZone(name)

Remove target zone

string

void

Server API Reference

Player Functions

Function
Description
Parameters
Returns

GetPlayer(source)

Get player object

number

object

GetPlayerFromIdentifier(identifier)

Get player by identifier

string

object

GetPlayerIdentifier(source)

Get player identifier

number

string

GetPlayerName(source)

Get player name

number

string

GetPlayerCharName(source, useNickname)

Get character name

number, boolean

string

Money Functions

Function
Description
Parameters
Returns

AddMoney(source, moneyType, amount)

Add money to player

number, string, number

boolean

RemoveMoney(source, moneyType, amount)

Remove money from player

number, string, number

boolean

GetPlayerMoney(source, moneyType)

Get player money

number, string

number

HasEnoughMoney(source, moneyType, amount)

Check if player has enough money

number, string, number

boolean

Inventory Functions

Function
Description
Parameters
Returns

AddItem(source, itemName, amount, metadata)

Add item to player

number, string, number, table

boolean

RemoveItem(source, itemName, amount)

Remove item from player

number, string, number

boolean

GetItemCount(source, itemName)

Get item count

number, string

number

HasItem(source, itemName, amount)

Check if player has item

number, string, number

boolean

HasEnoughItem(source, itemName, amount)

Check if player has enough items

number, string, number

boolean

CanCarryItem(source, itemName, amount)

Check if player can carry item

number, string, number

boolean

GetPlayerInventory(source)

Get player inventory

number

table

Job Functions

Function
Description
Parameters
Returns

GetPlayerJob(source)

Get player job

number

table

SetPlayerJob(source, jobName, grade)

Set player job

number, string, number

boolean

Callback Functions

Function
Description
Parameters
Returns

CreateCallback(name, cb)

Create server callback

string, function

void

Database Functions

Function
Description
Parameters
Returns

ExecuteQuery(query, parameters, cb)

Execute MySQL query

string, table, function

mixed

ExecuteInsert(query, parameters, cb)

Execute MySQL insert

string, table, function

number

ExecuteUpdate(query, parameters, cb)

Execute MySQL update

string, table, function

number

Utility Functions

Function
Description
Parameters
Returns

CreateUseableItem(itemName, cb)

Create useable item

string, function

void

ShowNotification(source, message, type, duration)

Show notification to player

number, string, string, number

void

GetItemLabel(itemName)

Get item label

string

string

GetItemImagePath(itemName)

Get item image path

string

string

Shared Exports

These exports are available on both client and server:

Export
Description
Returns

getFramework()

Get detected framework name

string

getTargetSystem()

Get detected target system

string

getProgressBarSystem()

Get detected progress bar system

string

getFrameworkEvents()

Get framework events table

table

getServerEvents()

Get server events table

table

Framework Detection

The bridge automatically detects your framework on startup:

  • ESX: Detects es_extended resource

  • QBCore: Detects qb-core resource

  • QBox: Detects qbx_core resource

Target System Support

Automatically detects and supports:

  • ox_target

  • qb-target

  • qtarget

Progress Bar Support

Automatically detects and supports:

  • ox_lib (progressCircle)

  • esx_progressbar

  • qb-progressbar

Events

Client Events

Event
Description
Parameters

hate-bridge:client:playerLoaded

Triggered when player loads

playerData

hate-bridge:client:playerUnloaded

Triggered when player unloads

None

hate-bridge:client:jobUpdate

Triggered when job updates

jobData

Server Events

Event
Description
Parameters

hate-bridge:server:playerLoaded

Triggered when player loads

source

hate-bridge:server:playerDropped

Triggered when player drops

source

Configuration

Edit config.lua to customize:

Example Usage in Scripts

Complete Client Example

Complete Server Example

Troubleshooting

Common Issues

  1. Framework not detected: Ensure your framework resource is started before hate-bridge

  2. Exports not working: Make sure to add hate-bridge as a dependency in your fxmanifest.lua

  3. Player data nil: Wait for the player to be fully loaded before accessing data

Debug Mode

Enable debug mode in config.lua to see detection logs:

Framework Override

You can force a specific framework if auto-detection fails:

Migration from Framework-Specific Code

From ESX:

From QBCore:

Performance Notes

  • HateBridge uses minimal resources

  • Framework detection happens once on startup

  • No polling or continuous checks

  • Event-driven architecture for optimal performance

License

This project is licensed under the MIT License.

Support

For support and updates, visit our community or contact the development team.


Note: This bridge is designed specifically for Hate scripts ecosystem. While it can be used with other resources, it's optimized for Hate scripts integration.

EฤŸer herhangi bir sorun yaลŸarsanฤฑz:

  1. HateBridge'in dรผzgรผn yรผklendiฤŸinden emin olun

  2. Debug modunu aรงฤฑn (Config.Debug = true)

  3. Server console'unda hata mesajlarฤฑnฤฑ kontrol edin

  4. Framework'รผnรผzรผn desteklendiฤŸinden emin olun

Last updated