|
|
|
|
@@ -1,101 +0,0 @@
|
|
|
|
|
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)
|