How to install the Spawn Selector Pro
Step 1: General Usage
- Drag and drop the resource named CL-SpawnSelectorPRO into your server’s resources folder.
- Run the SQL table named “cl_spawnselector”.
- Configure permissions for the editor in the config.lua file.
- When creating a new location using the editor, ensure to add the necessary data to config.lua under Config.Locations.
Step 2: Remove Dependency
- Open fxmanifest.lua in the qb-multicharacter resource.
- Remove the dependency on qb-spawn, typically found at line 36.
Step 3: Modify Prison
- Navigate to the qb-prison resource.
- In qb-prison > client > main.lua, find the event “prison:client:Enter” (Line 207).
- Replace the existing event with the updated event provided below:
RegisterNetEvent('prison:client:Enter', function(time) local invokingResource = GetInvokingResource() if invokingResource and invokingResource ~= 'CL-SpawnSelector' and invokingResource ~= 'qb-policejob' and invokingResource ~= 'qb-ambulancejob' and invokingResource ~= GetCurrentResourceName() then -- Use QBCore.Debug here for a quick and easy way to print to the console to grab your attention with this message QBCore.Debug({('Player with source %s tried to execute prison:client:Enter manually or from another resource which is not authorized to call this, invokedResource: %s'):format(GetPlayerServerId(PlayerId()), invokingResource)}) return end QBCore.Functions.Notify( Lang:t("error.injail", {Time = time}), "error") TriggerEvent("chatMessage", "SYSTEM", "warning", "Your property has been seized, you'll get everything back when your time is up..") DoScreenFadeOut(500) while not IsScreenFadedOut() do Wait(10) end local RandomStartPosition = Config.Locations.spawns[math.random(1, #Config.Locations.spawns)] SetEntityCoords(PlayerPedId(), RandomStartPosition.coords.x, RandomStartPosition.coords.y, RandomStartPosition.coords.z - 0.9, 0, 0, 0, false) SetEntityHeading(PlayerPedId(), RandomStartPosition.coords.w) Wait(500) TriggerEvent('animations:client:EmoteCommandStart', {RandomStartPosition.animation}) inJail = true jailTime = time local tempJobs = {} local i = 1 for k in pairs(Config.Locations.jobs) do tempJobs[i] = k i += 1 end currentJob = tempJobs[math.random(1, #tempJobs)] CreateJobBlip(true) TriggerServerEvent("prison:server:SetJailStatus", jailTime) TriggerServerEvent("prison:server:SaveJailItems", jailTime) TriggerServerEvent("InteractSound_SV:PlayOnSource", "jail", 0.5) CreateCellsBlip() Wait(2000) DoScreenFadeIn(1000) QBCore.Functions.Notify( Lang:t("error.do_some_work", {currentjob = Config.Jobs[currentJob] }), "error") end)
Additionally, add and invokingResource ~= 'CL-SpawnSelector'
to line 209.
These steps should ensure the proper installation and integration of the CL-SpawnSelectorPRO resource into your server environment.
目前尚无评论。