diff --git a/dev_modules/pedGenerator.lua b/dev_modules/pedGenerator.lua new file mode 100644 index 0000000..410ad43 --- /dev/null +++ b/dev_modules/pedGenerator.lua @@ -0,0 +1,6 @@ +pedGenerator = {} + +pedGenerator.Start = function() + + +end \ No newline at end of file diff --git a/dev_modules/targetCreator.lua b/dev_modules/targetCreator.lua new file mode 100644 index 0000000..17ccd42 --- /dev/null +++ b/dev_modules/targetCreator.lua @@ -0,0 +1,6 @@ +targetCreator = {} + +targetCreator.Start = function() + + +end \ No newline at end of file diff --git a/frameworkCache.lua b/frameworkCache.lua index 6de2681..60e7d89 100644 --- a/frameworkCache.lua +++ b/frameworkCache.lua @@ -353,7 +353,7 @@ for script, data in pairs(invWeightTable) do local lookup, err = getInventoryConfig(script, data) if not lookup then print(("^1ERROR^7: ^1Config loader failed from ^5%s^7: ^1%s^7"):format(script, err or "unknown")) - return + break end local function resolve(label, path) diff --git a/fxmanifest.lua b/fxmanifest.lua index 1b377bf..1b71221 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -18,10 +18,11 @@ files { -- Version checker server_scripts { 'frameworkCache.lua', - '_versioncheck.lua' + '_versioncheck.lua', } client_scripts { 'clientFrameworkCache.lua', - 'ui_modules/*.lua' + 'ui_modules/*.lua', + 'dev_modules/*.lua', } \ No newline at end of file diff --git a/ui_modules/pedGenerator.lua b/ui_modules/pedGenerator.lua new file mode 100644 index 0000000..2132e05 --- /dev/null +++ b/ui_modules/pedGenerator.lua @@ -0,0 +1,101 @@ +PedGenerator = { + Helpers = {} +} +local debug = true +local debugPrint = function(...) + if debug then + print("^5PedGen^7:^2", ..., "^7") + end +end +local currentPed = nil +local pedPreview = nil +debugPrint("Module loaded") +PedGenerator.Start = function() + currentPed = PedGenerator.Helpers.pedHandler("mp_m_freemode_01") +end + +PedGenerator.Helpers.pedHandler = function(model, properties) + if currentPed then + PedGenerator.Helpers.removeHandlerPed(currentPed) + end + --- + local hash = type(model) == 'string' and GetHashKey(model) or model + debugPrint("Requesting Model", "^7"..hash) + RequestModel(hash) + + debugPrint("Loading Model...") + while not HasModelLoaded(hash) do Wait(1) end + + debugPrint("Creating new ped") + local tempPed = CreatePed(4, hash, 0.0, 0.0, 0.0, 0.0, false, false) + + debugPrint("Forcing ped invisiblity") + SetEntityCollision(tempPed, false, true) + SetEntityInvincible(tempPed, true) + NetworkSetEntityInvisibleToNetwork(tempPed, true) + SetEntityCanBeDamaged(tempPed, false) + SetBlockingOfNonTemporaryEvents(tempPed, true) + FreezeEntityPosition(tempPed, true) + SetEntityAlpha(tempPed, 255, false) + SetEntityVisible(tempPed, true, false) + + if properties then + debugPrint("Properties found, starting changes") + + end + + PedGenerator.Helpers.sendPedToFrontend(tempPed) + + return tempPed +end + +PedGenerator.Helpers.sendPedToFrontend = function(ped) + if pedPreview then + debugPrint("ped exists, triggering removePedFromFrontend") + PedGenerator.Helpers.removePedFromFrontend(pedPreview) + Wait(500) + end + + debugPrint("Cloning created ped", ped) + pedPreview = ClonePed(ped, false, true, false) + + debugPrint("Activating frontend") + SetFrontendActive(true) + ActivateFrontendMenu(`FE_MENU_VERSION_EMPTY_NO_BACKGROUND`, true, -1) + Wait(100) + SetMouseCursorVisible(false) + + local x, y, z = table.unpack(GetEntityCoords(ped)) + + SetEntityCoords(pedPreview, x, y, z - 10) + FreezeEntityPosition(pedPreview, true) + SetEntityVisible(pedPreview, false, false) + --NetworkSetEntityInvisibleToNetwork(pedPreview, false) + SetPedAsNoLongerNeeded(pedPreview) + + debugPrint("Sending Ped to Pausemenu") + GivePedToPauseMenu(pedPreview, 2) + SetPauseMenuPedLighting(true) + SetPauseMenuPedSleepState(true) +end + +PedGenerator.Helpers.removePedFromFrontend = function(ped) + DeleteEntity(ped) + SetFrontendActive(false) +end + +PedGenerator.Helpers.removeHandlerPed = function(ped) + debugPrint("Removing old ped", ped) + DeletePed(ped) +end + +RegisterCommand("pedgen", function(source, args, rawCommand) + PedGenerator.Start() +end, false) + +AddEventHandler('onResourceStop', function(r) + if r ~= GetCurrentResourceName() then return end + print("test") + PedGenerator.Helpers.removePedFromFrontend(pedPreview) + SetFrontendActive(false) +end) \ No newline at end of file diff --git a/ui_modules/targetCreator.lua b/ui_modules/targetCreator.lua new file mode 100644 index 0000000..2e87f15 --- /dev/null +++ b/ui_modules/targetCreator.lua @@ -0,0 +1,6 @@ +TargetCreator = {} + +TargetCreator.Start = function() + + +end \ No newline at end of file