Skip to content

Commit b5416b2

Browse files
committed
Update v1.9.6
* Fixed the new Callbacks
1 parent fd2d635 commit b5416b2

File tree

6 files changed

+44
-23
lines changed

6 files changed

+44
-23
lines changed

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.9.5
1+
1.9.6

client/cl_callback.lua

+19-9
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,41 @@
11
local callbackRequest = {}
2+
local CallbackHandler = {}
3+
4+
AddEventHandler('onResourceStop', function(resource)
5+
if CallbackHandler[resource] then
6+
RemoveEventHandler(CallbackHandler[resource])
7+
end
8+
end)
29

310
-- NEW Method for Client Callbacks
4-
MSK.RegisterClientCallback = function(name, cb)
5-
RegisterNetEvent(('events-request-%s'):format(name), function (ticket, ...)
6-
TriggerServerEvent(('events-resolve-%s-%s'):format(name, ticket), cb(...))
11+
MSK.RegisterClientCallback = function(eventName, cb)
12+
local handler = RegisterNetEvent(('events-request-%s'):format(eventName), function (ticket, ...)
13+
TriggerServerEvent(('events-resolve-%s-%s'):format(eventName, ticket), cb(...))
714
end)
15+
16+
local script = GetInvokingResource()
17+
if script then CallbackHandler[script] = handler end
818
end
919
exports('RegisterClientCallback', MSK.RegisterClientCallback)
1020

1121
-- NEW Method for Server Callbacks
12-
MSK.Trigger = function(name, ...)
22+
MSK.Trigger = function(eventName, ...)
1323
local p = promise.new()
1424
local ticket = GetGameTimer() .. GetPlayerServerId(PlayerId())
1525

1626
SetTimeout(5000, function()
17-
p:reject({err="Request Timed Out (408)"})
27+
p:reject("Request Timed Out (408)")
1828
end)
1929

20-
local handler = RegisterNetEvent(('events-resolve-%s-%s'):format(name, ticket), function(data)
21-
p:resolve(data)
30+
local handler = RegisterNetEvent(('events-resolve-%s-%s'):format(eventName, ticket), function(...)
31+
p:resolve({...})
2232
end)
2333

24-
TriggerServerEvent(('events-request-%s'):format(name), ticket, ...)
34+
TriggerServerEvent(('events-request-%s'):format(eventName), ticket, ...)
2535

2636
local result = Citizen.Await(p)
2737
RemoveEventHandler(handler)
28-
return result
38+
return table.unpack(result)
2939
end
3040

3141
-- OLD Method for Server Callbacks

client/main.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ MSK.HasItem = function(item)
7474
return logging('error', ('Function %s can not used without Framework!'):format('MSK.HasItem'))
7575
end
7676

77-
local hasItem = MSK.TriggerCallback('msk_core:hasItem', item)
77+
local hasItem = MSK.Trigger('msk_core:hasItem', item)
7878
return hasItem
7979
end
8080
exports('HasItem', MSK.HasItem)

common/common.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,5 +137,5 @@ end)
137137

138138
logging = function(code, ...)
139139
if not Config.Debug then return end
140-
print(script, Config.LoggingTypes[code], ...)
140+
print(Config.LoggingTypes[code], ...)
141141
end

fxmanifest.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ games { 'gta5' }
44
author 'Musiker15 - MSK Scripts'
55
name 'msk_core'
66
description 'Core functions for MSK Scripts'
7-
version '1.9.5'
7+
version '1.9.6'
88

99
lua54 'yes'
1010

server/sv_callback.lua

+21-10
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,41 @@
11
local Callbacks = {}
2+
local CallbackHandler = {}
3+
4+
AddEventHandler('onResourceStop', function(resource)
5+
if CallbackHandler[resource] then
6+
RemoveEventHandler(CallbackHandler[resource])
7+
end
8+
end)
29

310
-- NEW Method for Server Callbacks
4-
MSK.Register = function(name, cb)
5-
RegisterNetEvent(('events-request-%s'):format(name), function (ticket, ...)
6-
TriggerClientEvent(('events-resolve-%s-%s'):format(name, ticket), source, cb(source, ...))
7-
end)
11+
MSK.Register = function(eventName, cb)
12+
local handler = RegisterNetEvent(('events-request-%s'):format(eventName), function (ticket, ...)
13+
print(('events-request-%s'):format(eventName), ticket, ...)
14+
TriggerClientEvent(('events-resolve-%s-%s'):format(eventName, ticket), source, cb(source, ...))
15+
end)
16+
17+
local script = GetInvokingResource()
18+
if script then CallbackHandler[script] = handler end
819
end
920

1021
-- NEW Method for Client Callbacks
11-
MSK.TriggerClientCallback = function(name, playerId, ...)
22+
MSK.TriggerClientCallback = function(eventName, playerId, ...)
1223
local p = promise.new()
1324
local ticket = GetGameTimer() .. playerId
1425

1526
SetTimeout(5000, function()
16-
p:reject({err="Request Timed Out (408)"})
27+
p:reject("Request Timed Out (408)")
1728
end)
1829

19-
local handler = RegisterNetEvent(('events-resolve-%s-%s'):format(name, ticket), function(data)
20-
p:resolve(data)
30+
local handler = RegisterNetEvent(('events-resolve-%s-%s'):format(eventName, ticket), function(...)
31+
p:resolve({...})
2132
end)
2233

23-
TriggerClientEvent(('events-request-%s'):format(name), playerId, ticket, ...)
34+
TriggerClientEvent(('events-request-%s'):format(eventName), playerId, ticket, ...)
2435

2536
local result = Citizen.Await(p)
2637
RemoveEventHandler(handler)
27-
return result
38+
return table.unpack(result)
2839
end
2940
exports('TriggerClientCallback', MSK.TriggerClientCallback)
3041

0 commit comments

Comments
 (0)