Commit Graph

114 Commits

Author SHA1 Message Date
Lion Kortlepel
5d3dff3c88 add identifiers (beammp id, ip) as an argument to onPlayerAuth 2022-10-03 15:31:32 +02:00
Lion Kortlepel
cb0cb30797 fix windows compiler not understanding a CLEAR AND SIMPLE FUNCTION-STYLE
CONSTRUCTOR CALL

AHHHHHHH
2022-10-03 15:12:59 +02:00
Lion Kortlepel
658b37acac fix error sometimes not displaying when failing inside global event handler 2022-10-03 14:38:19 +02:00
Lion Kortlepel
24c98eb2b2 add more compile-time diagnostics, implement fixes for them
Before, a lot of common errors went unnoticed, due to insufficient
compiler diagnostics. This commit fixes this by adding a lot of new
diagnostics, and fixing the issues found by this.
2022-09-26 12:02:05 +02:00
20dka
b71aa2db04 advanced autocomplete for lua 2022-09-26 00:13:16 +02:00
20dka
44b94c9e58 add MP.GetPositionRaw(pid, vid)
fix vehicles sometimes not deleting for all players
2022-09-14 01:54:49 +02:00
Lion Kortlepel
054016a099 remove debug print 2022-07-20 16:08:56 +02:00
Lion Kortlepel
8b57f6e35a fix missing Lua error messages in ResultCheckThread 2022-07-20 16:07:00 +02:00
Lion Kortlepel
fd7b11f436 fix event loop timing issue
The event loop tries to run no faster than every 10ms. If it detects
that it goes faster, it would incorrectly calculate the difference, and
then wait (what I assume was) way too long or too short.
Either way, now it's fixed and it correctly works, even when introducing
new lua states.
2022-07-20 14:33:19 +02:00
Lion Kortlepel
dfa90da8af check if Resources/Server directory exists, and only create it if it doesnt
While this doesn't make a difference with usual setups, it does if the
server path exists but is a symlink. In that case, the
create_directories call fails, and the server aborts.

this fixes that. :^)
2022-06-30 20:19:48 +02:00
Lion Kortlepel
36547d1e9e Move PluginMonitor out of TLuaEngine 2022-05-26 20:59:53 +02:00
Lion Kortlepel
f06f31c2a0 add moar tests!!! 2022-05-26 16:58:13 +02:00
Lion Kortlepel
23af76dba1 Only warn once about event handlers taking >60s 2022-03-31 23:12:50 +02:00
Lion Kortlepel
450f0a6875 Fixup merge 2022-03-31 22:17:10 +02:00
Lion Kortlepel
104737571c Merge branch 'rc-v3.0.2' into rc-v3.1.0
This is a periodic merge to keep 3.1.0 up to date with 3.0.2
2022-03-31 22:10:49 +02:00
Lion Kortlepel
d4b30a2583 CreateEventTimer: Implement CallStrategy
There are two CallStrategies:

- BestEffort (default): Will try to get your event to trigger at the specified
  interval, but will refuse to queue handlers if a handler takes too
  long.
- Precise: Will enqueue event handlers at the exact interval specified.
  Can lead to the queue filling up if the handler takes longer than the
  interval.
2022-03-31 20:13:59 +02:00
Lion Kortlepel
b97397132d TLuaEngine: improve result queue handling 2022-03-31 15:59:31 +02:00
Lion Kortlepel
d0bb32ec63 cleanup fixme's, todo's 2022-03-24 14:26:02 +01:00
Lion Kortlepel
c1e216957b move Json* to Util, add Random, RandomRange, RandomIntRange, catch
errors in TPluginMonitor
2022-03-18 01:52:31 +01:00
Lion Kortlepel
be498be661 change TriggerClientEvent to take object, not string, and add TriggerClientEventJson 2022-03-17 18:48:50 +01:00
20dka
3c08e54471 Add basic autocomplete (fix #95) 2022-03-15 01:58:26 +01:00
Lion Kortlepel
ca3314b416 add JsonDiffApply, JsonMinify, JsonPrettify, JsonFlatten, JsonUnflatten 2022-03-03 12:25:06 +01:00
Lion Kortlepel
7d97c3b560 add FS.ListFiles, FS.ListDirectories 2022-03-02 23:41:32 +01:00
Lion Kortlepel
9a0cdc6517 rename JsonSerialize to JsonEncode, JsonDeserialize to JsonDecode 2022-03-02 13:26:53 +01:00
Lion Kortlepel
965935a0e6 catch invalid json to JsonDeserialize, use lua_nil instead of nil 2022-03-02 13:25:29 +01:00
Lion Kortlepel
b52677e585 Add JsonDeserialize 2022-03-02 13:22:26 +01:00
Lion Kortlepel
95b417bb36 Add MP.JsonSerialize 2022-03-02 11:43:48 +01:00
Lion Kortlepel
144ccf14ec Add AddResultToCheck 2022-02-03 19:52:19 +01:00
Lion Kortlepel
7b458e3e27 Use yield() where possible
Replaced calls of this_thread::sleep_* with this_thread::yield(), which
yields the thread to the OS' scheduler.
2022-02-03 19:52:18 +01:00
Lion Kortlepel
754053e73f Use yield() where possible
Replaced calls of this_thread::sleep_* with this_thread::yield(), which
yields the thread to the OS' scheduler.
2022-02-03 18:57:52 +01:00
Lion Kortlepel
fd12ee672d Add various debug functions 2022-01-26 20:33:12 +01:00
Lion Kortlepel
cd19ae0836 Add shutting down / shutdown states to state keeper 2021-12-07 14:25:04 +01:00
Lion Kortlepel
a1335e8c7d Add statuses, status messages 2021-12-06 13:17:54 +01:00
Lion Kortlepel
62cc1e9ce4 Http: Add config value to turn it off, move all http settings into a category in the config 2021-12-06 09:53:13 +01:00
Lion Kortlepel
479bb9f931 TLuaEngine: Make WaitForAll timeout optional 2021-12-05 01:32:15 +01:00
Lion Kortlepel
a289d0e872 Add timeout to WaitForAll 2021-12-05 01:09:41 +01:00
Lion Kortlepel
eb67f483b2 Another possible fix for deadlock 2021-11-29 03:07:20 +01:00
Lion Kortlepel
98c7fea139 Possible fix for event handler timeouts 2021-11-29 02:56:41 +01:00
Lion Kortlepel
8f77f1c8c0 Add kick, fix cmakelists pretending to be on linux all the time
lol
2021-11-29 01:34:35 +01:00
Lion Kortlepel
19d67dee95 Add GetPlayerIDByName, kick, say 2021-11-29 01:14:37 +01:00
Lion Kortlepel
fc440bea2a Add ability to switch into other lua states 2021-11-29 00:37:00 +01:00
Lion Kortlepel
c91f3ee33c Print entering and leaving lua as raw 2021-11-29 00:17:09 +01:00
Lion Kortlepel
768d0466f4 Add simple command interface 2021-11-28 23:45:03 +01:00
Lucca Jiménez Könings
1a2a123d87 Fix various macOS compatibility issues 2021-11-25 02:01:44 +01:00
Lion Kortlepel
7169e65305 clarify thread names 2021-11-21 03:19:02 +01:00
Lion Kortlepel
f8af134dc9 start writing http lua stuff, also heartbeat debug printing 2021-11-08 22:08:07 +01:00
Lion Kortlepel
701a7feee3 remove boost, add httplib, temporarily remove http* lua 2021-11-07 23:54:33 +01:00
Lion Kortlepel
af14188ec0 remove spammy debug 2021-10-01 04:22:33 +02:00
Lion Kortlepel
1ee45c9d1a Ignore BEAMMP_FN_NOT_FOUND errors 2021-10-01 04:09:40 +02:00
Lion Kortlepel
d1f890752a Report errors on WaitForAll 2021-10-01 03:56:18 +02:00