Files
ND_Core/client/main.lua

73 lines
3.3 KiB
Lua
Raw Normal View History

2025-08-14 01:13:48 +02:00
lib.locale()
2023-07-09 21:19:35 +02:00
NDCore = {}
2023-07-12 04:51:50 +02:00
Config = {
serverName = GetConvar("core:serverName", "Unconfigured ND-Core Server"),
discordInvite = GetConvar("core:discordInvite", "https://discord.gg/Z9Mxu72zZ6"),
discordAppId = GetConvar("core:discordAppId", "858146067018416128"),
discordAsset = GetConvar("core:discordAsset", "andyyy"),
discordAssetSmall = GetConvar("core:discordAssetSmall", "andyyy"),
discordActionText = GetConvar("core:discordActionText", "DISCORD"),
2024-02-27 20:43:15 +01:00
discordActionLink = GetConvar("core:discordActionLink", "https://discord.gg/Z9Mxu72zZ6"),
2023-07-12 04:51:50 +02:00
discordActionText2 = GetConvar("core:discordActionText2", "STORE"),
discordActionLink2 = GetConvar("core:discordActionLink2", "https://andyyy.tebex.io/category/fivem-scripts"),
disableVehicleAirControl = GetConvarInt("core:disableVehicleAirControl", 1) == 1,
randomUnlockedVehicleChance = GetConvarInt("core:randomUnlockedVehicleChance", 30),
requireKeys = GetConvarInt("core:requireKeys", 1) == 1,
2023-07-12 04:51:50 +02:00
useInventoryForKeys = GetConvarInt("core:useInventoryForKeys", 1) == 1,
2023-11-11 03:02:08 +01:00
groups = json.decode(GetConvar("core:groups", "[]")),
compatibility = json.decode(GetConvar("core:compatibility", "[]")),
lockpickTries = GetConvarInt("core:lockpickTries", 3)
2023-07-12 04:51:50 +02:00
}
2023-07-13 01:22:34 +02:00
-- Discord rich presence.
2023-07-09 03:07:46 +02:00
CreateThread(function()
SetDiscordAppId(Config.discordAppId)
SetDiscordRichPresenceAsset(Config.discordAsset)
SetDiscordRichPresenceAssetSmall(Config.discordAssetSmall)
SetDiscordRichPresenceAction(0, Config.discordActionText, Config.discordActionLink)
SetDiscordRichPresenceAction(1, Config.discordActionText2, Config.discordActionLink2)
2025-08-14 01:13:48 +02:00
local presenceText = locale("discord_text_server", Config.serverName)
2023-07-09 03:07:46 +02:00
while true do
if NDCore.player then
2025-08-14 01:13:48 +02:00
local presence = locale("discord_text", Config.serverName, NDCore.player.firstname, NDCore.player.lastname)
local presenceTextSmall = locale("discord_text_small", NDCore.player.firstname, NDCore.player.lastname)
2023-07-09 03:07:46 +02:00
SetRichPresence(presence)
SetDiscordRichPresenceAssetText(presenceText)
SetDiscordRichPresenceAssetSmallText(presenceTextSmall)
end
2023-07-09 03:07:46 +02:00
Wait(60000)
end
end)
2023-07-13 01:22:34 +02:00
-- Pause menu information.
2023-07-09 03:07:46 +02:00
CreateThread(function()
AddTextEntry("FE_THDR_GTAO", Config.serverName)
local sleep = 500
while true do
Wait(sleep)
if NDCore.player and IsPauseMenuActive() then
sleep = 0
BeginScaleformMovieMethodOnFrontendHeader("SET_HEADING_DETAILS")
ScaleformMovieMethodAddParamPlayerNameString(("%s %s"):format(NDCore.player.firstname, NDCore.player.lastname))
2025-08-14 01:13:48 +02:00
ScaleformMovieMethodAddParamTextureNameString(locale("pause_menu_cash", NDCore.player.cash))
ScaleformMovieMethodAddParamTextureNameString(locale("pause_menu_bank", NDCore.player.bank))
2023-07-09 03:07:46 +02:00
EndScaleformMovieMethod()
elseif sleep == 0 then
sleep = 500
end
end
2023-07-09 03:07:46 +02:00
end)
2023-07-13 01:22:34 +02:00
AddEventHandler("playerSpawned", function()
print("^0ND Framework support discord: ^5https://discord.gg/Z9Mxu72zZ6")
SetCanAttackFriendly(PlayerPedId(), true, false)
NetworkSetFriendlyFireOption(true)
end)
AddEventHandler("onResourceStart", function(resourceName)
if resourceName ~= GetCurrentResourceName() then return end
SetCanAttackFriendly(PlayerPedId(), true, false)
NetworkSetFriendlyFireOption(true)
end)