All Projects → esx-framework → Es_extended

esx-framework / Es_extended

Licence: other
An FiveM RPG framework

Programming Languages

lua
6591 projects

Labels

Projects that are alternatives of or similar to Es extended

Core Bundle
[READ-ONLY] Contao Core Bundle
Stars: ✭ 113 (-47.44%)
Mutual labels:  core
Entrypoint
Composable CLI Argument Parser for all modern .Net platforms.
Stars: ✭ 136 (-36.74%)
Mutual labels:  core
Zazu
🚀 A fully extensible and open source launcher for hackers, creators and dabblers.
Stars: ✭ 2,060 (+858.14%)
Mutual labels:  core
Bhom
The Buildings and Habitats Core object Model repo
Stars: ✭ 127 (-40.93%)
Mutual labels:  core
Remote Software
💎 YIO Remote Software repository
Stars: ✭ 132 (-38.6%)
Mutual labels:  core
Aros
Main AROS repository for active development. Contains the main Operating System components and Build System.
Stars: ✭ 146 (-32.09%)
Mutual labels:  core
Raft.net
Implementation of RAFT distributed consensus algorithm among TCP Peers on .NET / .NETStandard / .NETCore / dotnet
Stars: ✭ 112 (-47.91%)
Mutual labels:  core
Core Grpc
C# Grpc驱动封装,基于Consul实现服务注册服务发现,支持dotnetcore / framework,可快速实现基于Grpc的微服务,内部有完整案例,包含服务端Server 客户端 Client,core+grpc, netcore+grpc, dotnetcore+grpc
Stars: ✭ 209 (-2.79%)
Mutual labels:  core
Rxcore
开发框架基于RxJava2+Retrofit2
Stars: ✭ 135 (-37.21%)
Mutual labels:  core
Dotnettyrpc
A RPC Framework Based On DotNetty
Stars: ✭ 153 (-28.84%)
Mutual labels:  core
Xnode
Unity Node Editor: Lets you view and edit node graphs inside Unity
Stars: ✭ 2,077 (+866.05%)
Mutual labels:  core
Docs
Documentation for Particle
Stars: ✭ 131 (-39.07%)
Mutual labels:  core
Rpg Core
UNITY engine RPG framework
Stars: ✭ 146 (-32.09%)
Mutual labels:  core
Lgt8fx
Board Package for Logic Green LGT8F328P LGT8F328D and LGT8F88D
Stars: ✭ 122 (-43.26%)
Mutual labels:  core
Officedocs Skypeforbusiness
Skype for Business and Microsoft Teams documentation
Stars: ✭ 199 (-7.44%)
Mutual labels:  core
Particle Api Js
JS Library for the Particle API
Stars: ✭ 112 (-47.91%)
Mutual labels:  core
E200 opensource
This repository hosts the project for open-source hummingbird E203 RISC processor Core.
Stars: ✭ 1,909 (+787.91%)
Mutual labels:  core
Core Layout
Flexbox & CSS-style Layout in Swift.
Stars: ✭ 215 (+0%)
Mutual labels:  core
Windows Powershell Docs
This repo is used to contribute to Windows 10, Windows Server 2016, and MDOP PowerShell module documentation.
Stars: ✭ 205 (-4.65%)
Mutual labels:  core
Simple Robot Core
这是基于java的聊天/通讯机器人开发框架,是一种注解开发风格、可扩展的、可与SpringBoot应用相互结合的开发框架,对接各种可提供接口的聊天/通讯机器人应用来实现以一种统一标准编写聊天/通讯机器人。
Stars: ✭ 153 (-28.84%)
Mutual labels:  core

ESX 2

Sill looking for old version ? => https://github.com/ESX-Org/es_extended/tree/v1-final

How to run latest ESX

# minimum resources and config to get it working

set mysql_connection_string "mysql://john:[email protected]/es_extended?charset=utf8mb4"

stop webadmin

ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure hardcap
ensure rconlog
ensure baseevents

ensure mysql-async
ensure cron
ensure skinchanger

ensure es_extended

Changelog

- Switched to a module-based single resource for ease of use and performance
- Performance improvements
- Split all base functionnalities into their own module
- Module can either encapsulate its own functionality or declare global stuff
- Loading modules via method M('themodule') ensure correct loading order of modules
- Automated database schema generation (RIP SQL files everywhere)
- Database schema can also be expanded by other modules
- Custom event system to avoid serialization of event data and cross-resource communication, that make it possible to pass metatables through these events (You can still use TriggerEvent and such to escape that thing)
- xPlayer fully customizable without rewriting core resources (Hello second job, faction system and such...)
- Added some modules to optimize common things like input, marker and static npc management
- Extend base lua functionnality when appropriate via module. example: table.indexOf
- OOP System based on http://lua-users.org/wiki/InheritanceTutorial and improved
- Neat menu API
- Open as many pages as you want in single NUI frame with Frame API
- EventEmitter class
- WIP rewrite of well-known datastore / inventory / account stuff

Code examples

-- Menu

M('ui.menu') -- This module provides global Menu factory method

local menu = Menu:create('test', {
  title = 'Test menu',
  float = 'top|left',
  items = {
    {name = 'a', label = 'Fufu c\'est ma bro', type = 'slider'},
    {name = 'b', label = 'Fuck that shit',     type = 'check'},
    {name = 'c', label = 'Fuck that shit',     type = 'text'},
    {name = 'd', label = 'Lorem ipsum'},
    {name = 'e', label = 'Submit',             type = 'button'},
  }
})

menu:on('ready', function()
  menu.items[1].label = 'TEST';-- label changed instantly in webview
end)

menu:on('item.change', function(item, prop, val, index)

  if (item.name == 'a') and (prop == 'value') then

    item.label = 'Dynamic label ' .. tostring(val);

  end

  if (item.name == 'b') and (prop == 'value') then

    local c = table.find(menu.items, function(e) return e.name == 'c' end)

    c.value = 'Dynamic text ' .. tostring(val);

  end

end)

menu:on('item.click', function(item, index)
  print('index', index)
end)

Menu

-- DataStore

M('datastore')

on('esx:db:ready', function()

  local ds = DataStore:create('test', true, {sample = 'data'}) -- name, shared, initial data

  ds:on('save', function()
    print(ds.name .. ' saved => ' .. json.encode(ds:get()))
  end)

  ds:on('ready', function()

    ds:set('foo', 'bar')

    ds:save(function()
      print('callbacks also')
    end)

  end)

end)
-- Here is how datastore schema is declared, no need to feed some SQL file

M('events')

on('esx:db:init', function(initTable, extendTable)

  initTable('datastores', 'name', {
    {name = 'name',  type = 'VARCHAR',  length = 255, default = nil,    extra = 'NOT NULL'},
    {name = 'owner', type = 'VARCHAR',  length = 64,  default = 'NULL', extra = nil},
    {name = 'data',  type = 'LONGTEXT', length = nil, default = nil,    extra = nil},
  })

end)
-- Want to create faction system ?

M('player')

xPlayer.createDBAccessor('faction', {name = 'faction', type = 'VARCHAR', length = 64, default = 'gang.ballas', extra = nil})

-- Now any player (which is instance of xPlayer) have the following methods
-- Also user table has now a faction column added automatically

local player = xPlayer:fromId(2)

print(player:getFaction())

player:setFaction('another.faction')

player:save()
-- I want to store JSON :(
-- No problem

xPlayer.createDBAccessor('someData', {name = 'some_data', type = 'TEXT', length = nil, default = '{}', extra = nil}, json.encode, json.decode)
-- I want to store WHATEVER (comma-separated list for example) :(
-- No problem

M('string')

xPlayer.createDBAccessor(
  'someWeirdData',
  {name = 'some_weird_data', type = 'TEXT', length = nil, default = '1,2,3,4,5', extra = nil},
  function(x) -- encode
    return table.concat(x, ',')
  end,
  function(x) -- decode
    return string.split(x, ',')
  end
)

Want to contribute?

Take a look at our Esx Contributing Guide to get familiar with the project and the guideliness.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].