Skip to content

Commit 014b6ed

Browse files
committed
Update v2.7.3
1 parent d4d7233 commit 014b6ed

File tree

16 files changed

+353
-104
lines changed

16 files changed

+353
-104
lines changed

client/functions/main.lua

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -70,43 +70,6 @@ MSK.AdvancedNotify = MSK.AdvancedNotification
7070
exports('AdvancedNotification', MSK.AdvancedNotification)
7171
RegisterNetEvent("msk_core:advancedNotification", MSK.AdvancedNotification)
7272

73-
MSK.ScaleformAnnounce = function(header, text, typ, duration)
74-
local scaleform = nil
75-
76-
if typ == 1 then
77-
scaleform = MSK.Request.ScaleformMovie("MP_BIG_MESSAGE_FREEMODE")
78-
BeginScaleformMovieMethod(scaleform, "SHOW_SHARD_WASTED_MP_MESSAGE")
79-
ScaleformMovieMethodAddParamTextureNameString(header)
80-
ScaleformMovieMethodAddParamTextureNameString(text)
81-
EndScaleformMovieMethod()
82-
elseif typ == 2 then
83-
scaleform = MSK.Request.ScaleformMovie("POPUP_WARNING")
84-
BeginScaleformMovieMethod(scaleform, "SHOW_POPUP_WARNING")
85-
ScaleformMovieMethodAddParamFloat(500.0)
86-
ScaleformMovieMethodAddParamTextureNameString(header)
87-
ScaleformMovieMethodAddParamTextureNameString(text)
88-
EndScaleformMovieMethod()
89-
end
90-
91-
if not scaleform then return end
92-
93-
local draw = true
94-
while draw do
95-
local sleep = 1
96-
97-
DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255, 0)
98-
99-
MSK.Timeout.Set(duration or 8000, function()
100-
draw = false
101-
end)
102-
103-
Wait(sleep)
104-
end
105-
end
106-
MSK.Scaleform = MSK.ScaleformAnnounce
107-
exports('ScaleformAnnounce', MSK.ScaleformAnnounce)
108-
RegisterNetEvent("msk_core:scaleformNotification", MSK.ScaleformAnnounce)
109-
11073
MSK.Subtitle = function(text, duration)
11174
BeginTextCommandPrint('STRING')
11275
AddTextComponentSubstringPlayerName(text)

client/functions/scaleform.lua

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
MSK.Scaleform = {}
2+
3+
MSK.Scaleform.Show = function(scaleform, duration)
4+
if not scaleform then return end
5+
local draw = true
6+
7+
MSK.Timeout.Set(duration or 5000, function()
8+
draw = false
9+
end)
10+
11+
while draw do
12+
Wait(0)
13+
DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255, 0)
14+
end
15+
16+
SetScaleformMovieAsNoLongerNeeded(scaleform)
17+
end
18+
19+
MSK.Scaleform.FreemodeMessage = function(title, text, duration)
20+
local scaleform = MSK.Request.ScaleformMovie("MP_BIG_MESSAGE_FREEMODE")
21+
22+
BeginScaleformMovieMethod(scaleform, "SHOW_SHARD_WASTED_MP_MESSAGE")
23+
ScaleformMovieMethodAddParamTextureNameString(title)
24+
ScaleformMovieMethodAddParamTextureNameString(text)
25+
EndScaleformMovieMethod()
26+
27+
MSK.Scaleform.Show(scaleform, duration)
28+
end
29+
exports('FreemodeMessage', MSK.Scaleform.FreemodeMessage)
30+
RegisterNetEvent("msk_core:freemodeMessage", MSK.Scaleform.FreemodeMessage)
31+
32+
MSK.Scaleform.PopupWarning = function(title, text, footer, duration)
33+
local scaleform = MSK.Request.ScaleformMovie("POPUP_WARNING")
34+
35+
BeginScaleformMovieMethod(scaleform, "SHOW_POPUP_WARNING")
36+
ScaleformMovieMethodAddParamFloat(500.0) -- black background
37+
ScaleformMovieMethodAddParamTextureNameString(title)
38+
ScaleformMovieMethodAddParamTextureNameString(text)
39+
ScaleformMovieMethodAddParamTextureNameString(footer)
40+
ScaleformMovieMethodAddParamBool(true)
41+
EndScaleformMovieMethod()
42+
43+
MSK.Scaleform.Show(scaleform, duration)
44+
end
45+
exports('PopupWarning', MSK.Scaleform.PopupWarning)
46+
RegisterNetEvent("msk_core:popupWarning", MSK.Scaleform.PopupWarning)
47+
48+
MSK.Scaleform.BreakingNews = function(title, text, footer, duration)
49+
local scaleform = MSK.Request.ScaleformMovie("BREAKING_NEWS")
50+
51+
BeginScaleformMovieMethod(scaleform, "SET_TEXT")
52+
ScaleformMovieMethodAddParamTextureNameString(text)
53+
ScaleformMovieMethodAddParamTextureNameString(footer)
54+
EndScaleformMovieMethod()
55+
56+
BeginScaleformMovieMethod(scaleform, "SET_SCROLL_TEXT")
57+
ScaleformMovieMethodAddParamInt(0) -- top ticker
58+
ScaleformMovieMethodAddParamInt(0) -- Since this is the first string, start at 0
59+
ScaleformMovieMethodAddParamTextureNameString(title)
60+
EndScaleformMovieMethod()
61+
62+
BeginScaleformMovieMethod(scaleform, "DISPLAY_SCROLL_TEXT")
63+
ScaleformMovieMethodAddParamInt(0) -- Top ticker
64+
ScaleformMovieMethodAddParamInt(0) -- Index of string
65+
EndScaleformMovieMethod()
66+
67+
MSK.Scaleform.Show(scaleform, duration)
68+
end
69+
exports('BreakingNews', MSK.Scaleform.BreakingNews)
70+
RegisterNetEvent("msk_core:breakingNews", MSK.Scaleform.BreakingNews)
71+
72+
MSK.Scaleform.TrafficMovie = function(duration)
73+
local scaleform = MSK.Request.ScaleformMovie("TRAFFIC_CAM")
74+
75+
BeginScaleformMovieMethod(scaleform, "PLAY_CAM_MOVIE")
76+
EndScaleformMovieMethod()
77+
78+
MSK.Scaleform.Show(scaleform, duration)
79+
end
80+
exports('TrafficMovie', MSK.Scaleform.TrafficMovie)
81+
RegisterNetEvent("msk_core:trafficMovie", MSK.Scaleform.TrafficMovie)
82+
83+
-- Do NOT use this! Function is deprecated!
84+
MSK.ScaleformAnnounce = function(title, text, typ, duration)
85+
if typ == 1 then
86+
MSK.Logging('error', "function MSK.ScaleformAnnounce is deprecated! Please use MSK.Scaleform.FreemodeMessage")
87+
MSK.Scaleform.FreemodeMessage(title, text, duration)
88+
elseif typ == 2 then
89+
MSK.Logging('error', "function MSK.ScaleformAnnounce is deprecated! Please use MSK.Scaleform.PopupWarning")
90+
MSK.Scaleform.PopupWarning(title, text, '', duration)
91+
end
92+
end
93+
exports('ScaleformAnnounce', MSK.ScaleformAnnounce)
94+
RegisterNetEvent("msk_core:scaleformNotification", MSK.ScaleformAnnounce)

client/main.lua

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,30 @@ if GetResourceState('ox_inventory') ~= 'missing' then
4242
MSK.Bridge.Inventory = 'ox_inventory'
4343
elseif GetResourceState('qs-inventory') ~= 'missing' then
4444
MSK.Bridge.Inventory = 'qs-inventory'
45+
elseif GetResourceState('core_inventory') ~= 'missing' then
46+
MSK.Bridge.Inventory = 'core_inventory'
4547
end
4648

4749
MSK.Bridge.isPlayerLoaded = false
4850

4951
if MSK.Bridge.Framework.Type == 'ESX' then
5052
RegisterNetEvent('esx:setPlayerData', function(key, val)
53+
if GetInvokingResource() ~= "es_extended" then return end
5154
TriggerEvent(MSK.Bridge.Framework.Events.setPlayerData, MSK.Bridge.Player)
5255
TriggerServerEvent(MSK.Bridge.Framework.Events.setPlayerData)
5356
end)
5457

5558
RegisterNetEvent('esx:playerLoaded', function(xPlayer, isNew, skin)
59+
ESX.PlayerData = xPlayer
60+
ESX.PlayerLoaded = true
5661
MSK.Bridge.isPlayerLoaded = true
5762
TriggerEvent(MSK.Bridge.Framework.Events.playerLoaded, MSK.Bridge.Player)
5863
end)
5964

6065
RegisterNetEvent('esx:onPlayerLogout', function()
6166
MSK.Bridge.isPlayerLoaded = false
67+
ESX.PlayerLoaded = false
68+
ESX.PlayerData = {}
6269
TriggerEvent(MSK.Bridge.Framework.Events.playerLogout)
6370
end)
6471

@@ -87,6 +94,20 @@ elseif MSK.Bridge.Framework.Type == 'QBCore' then
8794
TriggerEvent(MSK.Bridge.Framework.Events.setJob, MSK.Bridge.Player, newJob)
8895
TriggerServerEvent(MSK.Bridge.Framework.Events.playerLogout, newJob)
8996
end)
97+
elseif MSK.Bridge.Framework.Type == 'OXCore' then
98+
RegisterNetEvent('ox:playerLoaded', function(playerId, isNew)
99+
MSK.Bridge.isPlayerLoaded = true
100+
TriggerEvent(MSK.Bridge.Framework.Events.playerLoaded, MSK.Bridge.Player)
101+
end)
102+
103+
RegisterNetEvent('ox:playerLogout', function(playerId)
104+
MSK.Bridge.isPlayerLoaded = false
105+
TriggerEvent(MSK.Bridge.Framework.Events.playerLoaded, MSK.Bridge.Player)
106+
end)
107+
108+
RegisterNetEvent('ox:setGroup', function(groupName, grade)
109+
TriggerEvent(MSK.Bridge.Framework.Events.setJob, MSK.Bridge.Player, groupName, grade)
110+
end)
90111
end
91112

92113
local GetLib = function()

config.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Config.VersionChecker = true
77
-- AUTO will search for your framework
88
Config.Framework = 'AUTO'
99

10-
-- Supported Inventories: default, custom, ox_inventory, qs-inventory
10+
-- Supported Inventories: default, custom, ox_inventory, qs-inventory, core_inventory
1111
-- For ESX Default Inventory or Chezza Inventory, set to 'default'
1212
-- Set to 'custom' if you use another inventory and add your own functions
1313
-- You can add your own inventory in: server/inventories/custom.lua

fxmanifest.lua

Lines changed: 1 addition & 1 deletion
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 'Functions for MSK Scripts'
7-
version '2.7.2'
7+
version '2.7.3'
88

99
lua54 'yes'
1010

import.lua

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,4 +142,29 @@ if context == 'server' then
142142
setmetatable(MSK.Player[playerId], playerMeta)
143143
end
144144
end
145+
end
146+
147+
----------------------------------------------------------------
148+
-- Other stuff
149+
----------------------------------------------------------------
150+
if context == 'client' then
151+
RegisterNetEvent('msk_core:playerLoaded', function()
152+
MSK.Bridge.isPlayerLoaded = true
153+
154+
-- esx_multicharacter support
155+
if MSK.Bridge.Framework.Type == 'ESX' then
156+
ESX.PlayerLoaded = true
157+
ESX.PlayerData = ESX.GetPlayerData()
158+
end
159+
end)
160+
161+
RegisterNetEvent('msk_core:playerLogout', function()
162+
MSK.Bridge.isPlayerLoaded = false
163+
164+
-- esx_multicharacter support
165+
if MSK.Bridge.Framework.Type == 'ESX' then
166+
ESX.PlayerLoaded = false
167+
ESX.PlayerData = {}
168+
end
169+
end)
145170
end

server/bridge/esx.lua

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
if MSK.Bridge.Framework.Type ~= 'ESX' then return end
22

33
local GetPlayerData = function(Player)
4-
Player.GetInventory = Player.inventory
4+
Player.GetInventory = Player.getInventory
55
Player.AddItem = Player.addInventoryItem
66
Player.RemoveItem = Player.removeInventoryItem
77
Player.HasItem = Player.hasItem
@@ -13,8 +13,8 @@ local GetPlayerData = function(Player)
1313
Player.AddWeapon = Player.addWeapon
1414
Player.RemoveWeapon = Player.removeWeapon
1515
Player.HasWeapon = Player.hasWeapon
16-
Player.SetMeta = Player.setMeta
17-
Player.GetMeta = Player.getMeta
16+
Player.Set = Player.setMeta
17+
Player.Get = Player.getMeta
1818
Player.SetJob = Player.setJob
1919

2020
Player.dob = Player.dateofbirth
@@ -37,7 +37,7 @@ local GetPlayerData = function(Player)
3737

3838
Player.GetAccount = function(account)
3939
for i = 1, #Player.accounts do
40-
if Player.accounts[i].name == account then
40+
if Player.accounts[i].name == account:lower() then
4141
return Player.accounts[i]
4242
end
4343
end
@@ -51,7 +51,7 @@ local GetPlayerData = function(Player)
5151
return Player
5252
end
5353

54-
MSK.GetPlayer = function(player)
54+
MSK.GetPlayer = function(player, data)
5555
local Player
5656

5757
if player.player then
@@ -66,7 +66,9 @@ MSK.GetPlayer = function(player)
6666
Player = nil
6767
end
6868

69-
return GetPlayerData(Player)
69+
if data == nil then data = true end
70+
71+
return data and GetPlayerData(Player) or Player
7072
end
7173
exports('GetPlayer', MSK.GetPlayer)
7274

@@ -83,7 +85,7 @@ MSK.GetIdentifier = MSK.GetIdentifierFromPlayer
8385
exports('GetIdentifierFromPlayer', MSK.GetIdentifierFromPlayer)
8486

8587
MSK.GetPlayerJob = function(player)
86-
local Player = MSK.GetPlayer(player)
88+
local Player = MSK.GetPlayer(player, false)
8789
return Player.job.name
8890
end
8991
exports('GetPlayerJob', MSK.GetPlayerJob)

server/bridge/qbcore.lua

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ GetPlayerData = function(Player)
1313
Player.AddWeapon = Player.AddItem
1414
Player.RemoveWeapon = Player.RemoveItem
1515
Player.HasWeapon = Player.HasItem
16-
Player.SetMeta = Player.Functions.SetMetaData
17-
Player.GetMeta = Player.Functions.GetMetaData
16+
Player.Set = Player.Functions.SetMetaData
17+
Player.Get = Player.Functions.GetMetaData
1818
Player.SetJob = Player.Functions.SetJob
1919

2020
Player.identifier = Player.PlayerData.citizenid
@@ -60,7 +60,7 @@ GetPlayerData = function(Player)
6060
return Player
6161
end
6262

63-
MSK.GetPlayer = function(player)
63+
MSK.GetPlayer = function(player, data)
6464
local Player
6565

6666
if player.player then
@@ -75,7 +75,9 @@ MSK.GetPlayer = function(player)
7575
Player = QBCore.Functions.GetPlayerByPhone(tostring(player.phone))
7676
end
7777

78-
return GetPlayerData(Player)
78+
if data == nil then data = true end
79+
80+
return data and GetPlayerData(Player) or Player
7981
end
8082
exports('GetPlayer', MSK.GetPlayer)
8183

@@ -92,7 +94,7 @@ MSK.GetIdentifier = MSK.GetIdentifierFromPlayer
9294
exports('GetIdentifierFromPlayer', MSK.GetIdentifierFromPlayer)
9395

9496
MSK.GetPlayerJob = function(player)
95-
local Player = MSK.GetPlayer(player)
97+
local Player = MSK.GetPlayer(player, false)
9698
return Player.PlayerData.job.name
9799
end
98100
exports('GetPlayerJob', MSK.GetPlayerJob)

server/functions/main.lua

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,6 @@ end
1919
MSK.AdvancedNotify = MSK.AdvancedNotification
2020
exports('AdvancedNotification', MSK.AdvancedNotification)
2121

22-
MSK.ScaleformAnnounce = function(src, header, text, typ, duration)
23-
if not src or src == 0 then return end
24-
TriggerClientEvent('msk_core:scaleformNotification', src, header, text, typ, duration)
25-
end
26-
MSK.Scaleform = MSK.ScaleformAnnounce
27-
exports('ScaleformAnnounce', MSK.ScaleformAnnounce)
28-
2922
MSK.Subtitle = function(src, message, duration)
3023
if not src or src == 0 then return end
3124
TriggerClientEvent('msk_core:subtitle', src, message, duration)

server/functions/registeritems.lua

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,20 @@ MSK.GetRegisteredItem = function(itemName)
1010
end
1111
exports('GetRegisteredItem', MSK.GetRegisteredItem)
1212

13-
MSK.RegisterItem = function(itemName, cb)
14-
RegisteredItems[itemName] = cb
13+
MSK.RegisterItem = function(itemName, callback)
14+
RegisteredItems[itemName] = callback
1515

1616
if RegisteredItems[itemName] then
1717
MSK.Logging('info', ('Item ^3%s^0 is already registerd. Overriding Item...'):format(itemName))
1818
end
1919

2020
if MSK.Bridge.Inventory == 'qs-inventory' then
21-
exports['qs-inventory']:CreateUsableItem(itemName, cb)
22-
elseif MSK.Bridge.Inventory ~= 'ox_inventory' then
23-
if MSK.Bridge.Framework.Type == 'ESX' then
24-
ESX.RegisterUsableItem(itemName, cb)
25-
elseif MSK.Bridge.Framework.Type == 'QBCore' then
26-
QBCore.Functions.CreateUseableItem(itemName, cb)
27-
end
28-
end
29-
30-
if MSK.Bridge.Framework.Type == 'STANDALONE' then
21+
exports['qs-inventory']:CreateUsableItem(itemName, callback)
22+
elseif MSK.Bridge.Framework.Type == 'ESX' then
23+
ESX.RegisterUsableItem(itemName, callback)
24+
elseif MSK.Bridge.Framework.Type == 'QBCore' then
25+
QBCore.Functions.CreateUseableItem(itemName, callback)
26+
elseif MSK.Bridge.Framework.Type == 'STANDALONE' then
3127
-- Register the item here
3228
end
3329
end

0 commit comments

Comments
 (0)