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