Linden
6adbf61797
Merge pull request #99 from jag3dagster/feat-menu-open-menu-select-index
...
feat(menu): Add option to open menu with specified item index selected
2022-09-18 06:51:08 +10:00
Linden
cd8e4bbd4d
fix(client/zones): yet another debug fix
...
Because a zone vanishing upon entry is of no use.
2022-09-17 18:21:38 +10:00
Linden
863ac03ca3
refactor(imports): more type fixes
2022-09-14 16:12:43 +10:00
Linden
3084265bbb
refactor(server/zoneCreator): output format and path, security fix
...
Don't allow players to trigger ox_lib:saveZone without ace permissions.
Write created_zones to root.
Use explicit vectors and set name as a string.
2022-09-14 15:19:01 +10:00
Linden
c95fd8ecf4
refactor(client/zoneCreator): create temporary thread
...
Move the on-tick thread into the startCreator function, and kill it once
creatorActive is set to false.
2022-09-14 15:15:36 +10:00
Linden
032e0e2db1
fix(client/zones): CZone.contains return type
2022-09-14 08:12:12 +10:00
Linden
62d56fa885
refactor(client/zones): add types and change indentation
2022-09-14 08:08:00 +10:00
Linden
9a17b9bac5
perf(client/points): apply optimisations used in zones
...
"SphereZones" are really just points with some extra overhead, but the module
had some overall improvements to improve performance.
Includes type definitions for sumneko.
2022-09-14 07:45:03 +10:00
Linden
32e2da2d8f
refactor(init): type-fixes and minor adjustments
2022-09-14 01:42:14 +10:00
Linden
26538b8148
refactor(imports): assign modules directly to lib namespace
...
Mostly a change for improved intellisense with sumneko lua.
Includes some type fixes and deprecation notices.
2022-09-14 01:20:50 +10:00
Linden
107d812dc3
refactor(client/zoneCreator): restrict command access
...
Includes fix for zone name.
2022-09-14 00:56:56 +10:00
Linden
bac9eb576d
feat(client/resource): RegisterCommand wrapper
...
All these tweaks so we can check ACL for client commands.
2022-09-14 00:54:44 +10:00
Linden
9d8584ff9e
feat(server/acl): add ox_lib:checkPlayerAce as callback
2022-09-14 00:53:50 +10:00
Linden
ed7bf536e8
feat(resource): load callbacks
...
Load lib.callback for internal use.
2022-09-14 00:52:10 +10:00
Linden
0ccdf5675c
fix(client/zones): scuffed ternary
...
Since Lua "ternary" expressions run until they have a truthy value,
boxzone and polyzone will try compare distance to radius.
2022-09-11 12:27:23 +10:00
Linden
57187c8c30
perf(client/zones): reduce overhead
...
In a naive test with 10k sphere zones vs points, zones ran 0.02~0.04ms higher.
Overhead is roughly halved with these tweaks.
2022-09-11 12:06:30 +10:00
Linden
be8b740937
feat(client/points): set cache.coords
...
See last commit description.
2022-09-11 11:08:26 +10:00
Linden
77ff8e977b
feat(client/zones): set cache.coords
...
People keep asking for coords to be added to cache, but it be problematic
to spam the events system every tick with that information.
If zones is loaded, we can set cache locally without relying on events.
2022-09-11 11:06:38 +10:00
Linden
99b146d7b9
fix(client/zones): zone triggers twice when inside and debug is enabled
...
Zones would be added to the temporary array twice, so callback functions
and the zone draw would trigger twice.
2022-09-11 11:02:04 +10:00
Linden
5d71c4efdf
fix(client/zones): debug erroneously triggers zone:inside
...
Should only trigger when the player is, in fact, inside the zone.
2022-09-02 22:23:24 +10:00
Linden
3a97a0c569
fix(client/zones): convert tables to vectors
...
Ensure tables (either array or map) set as points, coords, or size are
converted into vectors.
Includes complementary reformatting.
2022-08-30 02:58:41 +10:00
Linden
2a1815c460
tweak(callback): error handling
...
Errors during callbacks will never respond, so we'll use a protected call
and format the error message with a normal print to keep the thread
alive.
2022-08-25 18:49:07 +10:00
Linden
bdb88e74c5
fix(version): properly compare minor/patch semver
...
Comparing "2.7.4" to "2.10.1" would compare each number, i.e.
2 = 2,
7 < 10,
4 > 1
Instead compare the major (2 v 2), then minor.patch (7.4 v 10.1).
where doka to do my math
2022-08-23 19:29:45 +10:00
Linden
1ea4b16c8b
fix(client/interface): set openMenu to nil before triggering callbacks
...
Callbacks may open another menu, which then gets set to nil after
the callback has returned.
2022-08-23 19:12:50 +10:00
Linden
6fc1efdda1
feat(ci): version bumper
2022-08-23 04:50:52 +10:00
Linden
4578d54c5e
fix(client/interface): progressbar props not deleted
...
Somehow, calling DetachEntity before DeleteEntity results in the
entity not being deleted (when oal is enabled).
Fortunately we don't need to detach it before deleting.
2022-08-23 04:30:58 +10:00
Linden
f5c5597277
fix(version): compare semver numbers
...
Values were being compared as whole strings.
2022-08-22 20:53:55 +10:00
Linden
a0bea87dfa
fix(client/vehicleProperties): store neons as an array
...
People normally complain about the most nonsensical non-issues; yet
this one was completely left alone; or more specifically, one person
attributed the issue to ox_lib but didn't bother to report the issue or
provide a fix, instead just
complaining that "ox_lib is constantly updating".
2022-08-20 12:55:07 +10:00
Linden
8c8da4b119
refactor(raycast/client)!: use new native (GetWorldCoordFromScreenCoord)
...
This native got merged days after I pushed the raycast function. This will break
scripts relying on this function (doubt there's many, if any).
2022-08-18 01:58:54 +10:00
Linden
274f2542a8
Update README.md
2022-08-15 20:48:37 +10:00
Linden
46a525e057
fix(zones/client): debug DrawPoly and DrawLine
...
Debug for boxes broke with the oal fixes, since vectors don't unpack.
Also fixes flicker when entering a debug zone.
2022-08-13 17:08:39 +10:00
Linden
231ca90b8f
fix(zones/client): do not overwrite zone.distance with contains
...
Manually calling the contains method would overwrite zone distance.
Also move Wait to the end of the thread to prevent race conditions.
2022-08-10 23:45:48 +10:00
Linden
c3726ed924
tweak(interface/menu): SetNuiFocusKeepInput
...
Default to allow input; disable with "disableInput = true" during registration.
2022-08-09 07:42:20 +10:00
Linden
2e77817c41
refactor(interface/menu): set openMenu to reference menu data, not id
...
No need to index registeredMenus[openMenu] repeatedly.
2022-08-08 17:54:50 +10:00
Linden
245af3df41
refactor(callback): types
2022-08-08 17:16:57 +10:00
Linden
101d94392b
refactor(client/interface): micro-optimise menu callbacks
...
Remove short-lived objects and set local refs to the openMenu to reduce table-lookups.
2022-08-05 00:58:19 +10:00
Linden
f122c6e3ea
feat(imports): getNearbyPlayers
2022-08-05 00:45:10 +10:00
Linden
c662368cd4
fix(client/interface): changeSelected args
2022-08-04 15:04:49 +02:00
Linden
28003c942d
fix(client/streaming): invalid print argument
2022-08-04 02:05:09 +10:00
Linden
93fc595030
fix(client/streaming): timeout
2022-08-04 01:32:54 +10:00
Linden
1b05f87c8e
tweak(client/streaming): rewrite
...
Was going to split into separate imports, then
remembered why I didn't in the first place.
Improved annotations.
Changed timeout into a for loop, and increase default to 500 ticks.
Less variable reassignments.
Allow functions to be called outside threads, but will not check if the
request was successful (has loaded).
2022-08-03 22:58:50 +10:00
Linden
a45584ac78
Revert "feat(imports): loadAnimDict"
...
This reverts commit 77fb9cf637 .
2022-08-03 21:57:03 +10:00
Linden
77fb9cf637
feat(imports): loadAnimDict
2022-08-03 17:27:58 +10:00
Linden
68a6352be4
feat(imports): getClosestPlayer
2022-08-03 17:26:51 +10:00
Linden
ee12035a50
feat(imports): raycast module
...
Just lib.raycast.cam for now.
2022-08-03 17:22:45 +10:00
Linden
d16b3dda06
chore: bump version
2022-07-29 03:09:33 +10:00
Linden
1679510ac9
refactor(resource/cache): remove getVehicle method
...
Keep it in the thread for simplicity.
2022-07-29 01:12:11 +10:00
Linden
7838a3cfe4
refactor(init): cache handling
...
lib.onCache serves as a helper to setup cache event listeners.
Removed _cache table and index method.
Only apply metatable to client-side cache (nothing exists on server yet).
When cache is indexed, setup an event handler for the key.
Remove some ox_core/ox_groups specific code (unused).
Remove the updateCache event, and interval.
2022-07-28 23:13:19 +10:00
Linden
39d5bbae3d
refactor(resource/cache): new cache event
...
Rather than sending a bulk update of cache, trigger different events for
each key.
2022-07-28 23:09:23 +10:00
Linden
ef6f780028
tweak(resource/version): currentVersion validation
...
Check currentVersion is valid before performing HttpRequest, and
print a message when failing.
2022-07-28 22:05:16 +10:00
Linden
9096bd36e8
fix(cache/client): change vehicle getter
...
GetVehiclePedIsIn isn't working with the latest build. Use GetVehiclePedIsUsing instead.
Removed an unused cached value (coords).
Removed the num iterator used for cache:getVehicle to slow its frequency.
2022-07-28 09:32:44 +10:00
Linden
8111ffadd0
fix(fxmanifest): oal-flag
...
Changed in a recent commit. Since oal hasn't been working for 3 months,
it may result in some errors for internal modules (i.e. vehicleProperties).
2022-07-27 09:39:49 +10:00
Linden
9bc37b461d
tweak(vehicleProperties): allow local entities
...
Local entities (not networked) would fail the check for NetworkGetEntityOwner.
Also fix the error messages, which referenced the wrong variable.
2022-07-09 03:41:25 +10:00
Linden
770ae6396e
relicense to LGPLv3
...
Allows resources importing ox_lib to ignore the "same license" condition.
Does not apply to snippets copied from ox_lib into other resources.
2022-07-05 05:17:52 +10:00
Linden
893ec8bb00
feat(vehicleProperties): extra settings
...
Includes some minor fixes.
2022-06-30 07:44:51 +10:00
Linden
d33df54f0e
tweak(zones): store distance to zone center
...
Should make sphere "zones" nearly 1:1 with the points api.
Distance added for polygons too for consistency and some use-cases,
but generally only worthwhile for smaller zones.
2022-06-26 12:30:25 +10:00
Linden
6c83adfda8
fix(locale): always assign a table to dict
...
Prevent indexing nil when no locales exist for a resource.
2022-06-24 09:10:37 +10:00
Linden
b1056c1246
tweak(vehicleProperties): return true on success
2022-06-19 14:06:59 +10:00
Linden
130ea5d17e
refactor(init): lib.notify server function
...
Client handler attempts to translate the notification if locales are loaded.
2022-06-19 13:36:11 +10:00
Linden
e95ae858df
fix(callback): handle external resource events
...
Calling registered callback events in another resource should respond to
the invoking resource.
2022-06-19 13:08:28 +10:00
Linden
f406cebcc8
refactor(version/server): reliable resource name check
...
So people can rename resources and pretend they're custom made, without getting an error.
2022-06-15 00:22:03 +10:00
Linden
76fcc007c4
feat(callback): client callback
...
Allow the client to listen for and respond to server requests.
Basically just copy-paste and swap the two.
2022-06-09 05:18:05 +10:00
Linden
c85e9032f9
refactor(callback): rewrite
...
Register a single net event to handle callback responses (per resource).
Previous implementation registered new events for each callback.
2022-06-09 04:43:37 +10:00
Linden
6d0f915b00
chore: update version
2022-06-03 15:11:19 +10:00
Linden
962e735d6f
feat(getCore/server): hasGroup method
2022-05-30 15:43:42 +10:00
Linden
2599d2ed80
feat(getCore/server): initialise player module and add getter
2022-05-29 10:33:41 +10:00
Linden
734a6cdc81
refactor(getCore/client): instantiate player
...
Previously handled by the player module.
2022-05-29 10:33:41 +10:00
Linden
eb54fc4675
refactor(player/client): set CPlayer.__index as a function
...
Match server implementation.
2022-05-29 10:33:41 +10:00
Linden
04beaf1b5a
feat(player): add server methods
2022-05-29 10:33:41 +10:00
Linden
8aa9ebf41d
refactor(player/client): create player instance at init
...
And minor fixes.
2022-05-28 21:30:17 +10:00
Linden
32709db3cb
refactor(getCore/shared): adjust ox_core imports
2022-05-28 21:28:23 +10:00
Linden
3bb946001b
refactor(init): separate global and local cache
...
Store temporary data in the _cache local, separate from the global cache.
This allows constants and other values to be added, rather than being
wiped every minute.
2022-05-25 13:28:19 +10:00
Linden
df94633998
tweak(interface/progress): invBusy state
...
For ox_inventory. Also removed an used table.
2022-05-24 15:13:17 +10:00
Linden
84867900eb
fix(zones): zone.inside should not depend on zone.onEnter
2022-05-18 01:46:58 +10:00
Linden
f24c4f7821
Merge pull request #23 from hyprell/patch-1
...
Update progress.lua
2022-05-16 04:20:07 +10:00
Linden
6fb57eff49
fix(vehicleProperties): store correct extra values
2022-05-14 17:14:49 +10:00
Linden
139ae0701b
refactor(getCore/client): clean up hasGroup method and return values
2022-05-12 07:44:29 +10:00
Linden
4575b5e02a
refactor(player): simplify
...
Was planning to support checking other user playerdata, but will
require much more planning to implement properly.
2022-05-12 07:41:12 +10:00
Linden
5d1f6019c7
feat(getCore/client): load and extend player class
2022-05-12 01:55:21 +10:00
Linden
df8115ea8c
feat(player/client): player class and methods
...
Provide a couple of helper methods (more to come).
2022-05-12 01:55:06 +10:00
Linden
ef4ca56889
refactor(init): return a stub for imports with no return
...
Modules that define globals or directly add several functions to the
lib namespace currently need to return empty functions (i.e. locales).
2022-05-12 00:02:25 +10:00
Linden
bc6a6c7a0a
fix: include locales in release workflow
2022-05-10 17:48:44 +10:00
Linden
7a4745c0da
chore(zones): adjust debug rgba
2022-05-10 15:29:07 +10:00
Linden
55bfa7ca3d
refactor(zones): global Zones
2022-05-07 11:47:39 +10:00
Linden
ce3f916c42
refactor(zones): centroid -> coords
...
While centroid is a more accurate term, coords is a little simpler when
writing it a million times.
Prefer to use a single term (sphere was using coords) to simplify API.
2022-05-07 11:19:27 +10:00
Linden
91f52d12c1
refactor(client/locale): send GlobalState.locales to ui
2022-05-06 16:38:36 +10:00
Linden
d4b5e0402c
refactor(server/locale): get array of valid locales
2022-05-06 16:37:36 +10:00
Linden
f6b2df0e75
refactor(locale): default locale
2022-05-06 16:00:40 +10:00
Linden
5f80c55c31
tweak(web/textui): change box style
2022-05-06 15:33:11 +10:00
Linden
d3718622cf
feat(zones): sphere zone
...
It's just a distance check and works exactly like lib.points, with some
minor API changes for consistency.
2022-05-06 14:28:45 +10:00
Linden
4555fa0a22
refactor(zones): call zone:contains instead of zone.polygon:contains
...
Added this function earlier but forgot to include thickness, so
it didn't work.
2022-05-06 14:26:56 +10:00
Linden
96eabf5592
refactor(imports/getCore): set constants and use new import files
2022-05-04 06:33:32 +10:00
Linden
c5bdaaafe8
refactor(imports/getCore): create import files for esx and qb
2022-05-04 06:33:32 +10:00
Linden
a3f38723e3
refactor(getCore): rename loadFramework, tweaks
...
ESX imports are limited to an event and getSharedObject export.
In the future I want to introduce some generic functions to simplify
cross-framework compatibility
when working with player, accounts, inventories, and groups (jobs/gangs).
2022-05-01 22:51:59 +10:00
Linden
8bcae1937b
tweak(init): store service and name in lib
...
lib.name for 'ox_lib', and service or 'client' or 'server'.
2022-05-01 22:47:34 +10:00
Linden
48728f0241
feat(locales): include some locales
...
Partial, and google translated just for the sake of setting an example.
Also renamed many of the language codes where the extra characters are
redundant (i.e. fr-FR, de-DE).
2022-04-30 05:04:15 +10:00
Linden
031cccd886
fix(locale): server hotload and "external" kvp
...
External kvp's don't exist for the server, so we have to export the proper language.
2022-04-29 16:53:24 +10:00
Linden
8af19bae42
feat: locale system
2022-04-29 05:56:41 +10:00
Linden
fee2950a35
feat(resource): throw an error if the UI is not built
2022-04-29 03:02:28 +10:00
Linden
f6216af1ae
refactor: rename lualib variable and move clipboard export
2022-04-29 03:02:06 +10:00