forked from Simnation/Main
Merge branch 'master' of https://git.simnation-rp.de/Simnation/Main
This commit is contained in:
commit
ae85941177
111 changed files with 169 additions and 7727 deletions
BIN
resources/[defaultmaps]/starlitemotel/.fxap
Normal file
BIN
resources/[defaultmaps]/starlitemotel/.fxap
Normal file
Binary file not shown.
9
resources/[defaultmaps]/starlitemotel/README.md
Normal file
9
resources/[defaultmaps]/starlitemotel/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
THANKS FOR BUYING MY MAP!
|
||||
|
||||
Feel free to join my discord: https://discord.gg/4s6eb5hpQg
|
||||
Or Contact me personally at: T.U.R.K#2108
|
||||
|
||||
This map is located at 969, 186, 75
|
||||
|
||||
-- VERSION 1.0
|
||||
-- First Edition
|
18
resources/[defaultmaps]/starlitemotel/fxmanifest.lua
Normal file
18
resources/[defaultmaps]/starlitemotel/fxmanifest.lua
Normal file
|
@ -0,0 +1,18 @@
|
|||
fx_version 'adamant'
|
||||
game 'gta5'
|
||||
lua54 'yes'
|
||||
|
||||
author "T.U.R.K"
|
||||
version "1.0.0"
|
||||
description "A FiveM resource revamping the Starlite Motel."
|
||||
|
||||
escrow_ignore {
|
||||
'stream/*.yft', -- Disabling Asset Encryption
|
||||
'stream/*.ybn', -- Disabling Asset Encryption
|
||||
'stream/*.ydd', -- Disabling Asset Encryption
|
||||
'stream/*.ymap', -- Disabling Asset Encryption
|
||||
'stream/*.ymf', -- Disabling Asset Encryption
|
||||
'stream/*.ytd', -- Disabling Asset Encryption
|
||||
'stream/*.ytyp' -- Disabling Asset Encryption
|
||||
}
|
||||
dependency '/assetpacks'
|
BIN
resources/[defaultmaps]/starlitemotel/stream/_motel_manifest.ymf
Normal file
BIN
resources/[defaultmaps]/starlitemotel/stream/_motel_manifest.ymf
Normal file
Binary file not shown.
BIN
resources/[defaultmaps]/starlitemotel/stream/hei_hw1_13_0.ybn
Normal file
BIN
resources/[defaultmaps]/starlitemotel/stream/hei_hw1_13_0.ybn
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/[defaultmaps]/starlitemotel/stream/hw1_13_motel.ydr
Normal file
BIN
resources/[defaultmaps]/starlitemotel/stream/hw1_13_motel.ydr
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/[defaultmaps]/tstudio_legionsquare_garage/.fxap
Normal file
BIN
resources/[defaultmaps]/tstudio_legionsquare_garage/.fxap
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,16 @@
|
|||
fx_version 'cerulean'
|
||||
lua54 'yes'
|
||||
game "gta5"
|
||||
|
||||
author 'tstudio - turbosaif'
|
||||
description 'Legion Garage by TStudio'
|
||||
version '1.0.0'
|
||||
|
||||
this_is_a_map "yes"
|
||||
|
||||
escrow_ignore {
|
||||
'stream/ytd/*.ytd',
|
||||
'stream/vanilla/*.*',
|
||||
'fix_other_maps/*/*.*'
|
||||
}
|
||||
dependency '/assetpacks'
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -17,7 +17,7 @@ config.maxStacks = {
|
|||
black_money = 0, -- no limit
|
||||
black_money_item = 0, -- no limit
|
||||
weapon_petrolcan = 1,
|
||||
spazi = 10,
|
||||
printerdocument = 1,
|
||||
|
||||
c_necklace = 1,
|
||||
c_bproof = 1,
|
||||
|
|
|
@ -10274,7 +10274,7 @@ itemsData = {
|
|||
type = 'item',
|
||||
description = '',
|
||||
weight = 200,
|
||||
label = 'old_ammunition',
|
||||
label = 'alte Munition',
|
||||
unique = true,
|
||||
useable = false,
|
||||
image = 'old_ammunition.png',
|
||||
|
|
BIN
resources/[tools]/dc_propattach/.fxap
Normal file
BIN
resources/[tools]/dc_propattach/.fxap
Normal file
Binary file not shown.
11
resources/[tools]/dc_propattach/ReadMe.md
Normal file
11
resources/[tools]/dc_propattach/ReadMe.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
DC Customz Prop Attachment Tool V2 for developers discord.gg/dccustomz
|
||||
|
||||
https://dc-customz.gitbook.io/dc-customz-documentation/scripts/prop-attachment-tool-v2
|
||||
|
||||
Type /props to open the main menu
|
||||
|
||||
The options are pretty much self explanatory.
|
||||
|
||||
Once you're done placing the prop where you want, Remember to select the format & then Click 'Copy Data' so the attach coords can get copied to your clipboard.
|
||||
|
||||
If you want a few more addon animations to use consider the Everyday Animations pack: https://store.dccustomz.com/product/6379040
|
BIN
resources/[tools]/dc_propattach/client/cl_main.lua
Normal file
BIN
resources/[tools]/dc_propattach/client/cl_main.lua
Normal file
Binary file not shown.
36
resources/[tools]/dc_propattach/config.lua
Normal file
36
resources/[tools]/dc_propattach/config.lua
Normal file
|
@ -0,0 +1,36 @@
|
|||
Config = {}
|
||||
Config.Framework = "esx" -- "esx", "qb", "none"
|
||||
Config.OnlyAdmins = true -- Set to true to restrict to admins only
|
||||
Config.Command = 'props' -- Command to open ui
|
||||
|
||||
-- Preset Props
|
||||
Config.Props = {
|
||||
'prop_cs_burger_01',
|
||||
}
|
||||
|
||||
-- Preset Animations
|
||||
Config.Animations = {
|
||||
{ label = 'Eat Burger', dict = 'mp_player_inteat@burger', anim = 'mp_player_int_eat_burger', flags = 49 },
|
||||
{ label = 'Drink Cup', dict = 'mp_player_intdrink', anim = 'loop_bottle', flags = 49 },
|
||||
|
||||
-- Everyday Anims (Uncomment if you have the DC Everyday Animations pack)
|
||||
--{ label = 'Rollup', dict = 'custom@rollingupanim', anim = 'rollingup_clip', flags = 2 },
|
||||
--{ label = 'Hold Drink', dict = 'custom@drinkingbottlehold', anim = 'drinkingbottlehold_clip', flags = 49 },
|
||||
--{ label = 'Sip Drink', dict = 'custom@drinkingbottle', anim = 'drinkingbottle_clip', flags = 49 },
|
||||
--{ label = 'Plate Eat', dict = 'custom@eatplate', anim = 'eatplate_clip', flags = 49 },
|
||||
--{ label = 'Plate Eat Hold', dict = 'custom@eatplate', anim = 'eatplatehold_clip', flags = 49 },
|
||||
--{ label = 'Chips Eat', dict = 'custom@chipseat', anim = 'chipseat_clip', flags = 49 },
|
||||
--{ label = 'Chips Eat Hold', dict = 'custom@chipseathold', anim = 'chipseathold_clip', flags = 49 },
|
||||
--{ label = 'Brush Teeth', dict = 'custom@brushteeth', anim = 'brushteeth_clip', flags = 49 },
|
||||
}
|
||||
|
||||
-- Preset Bones
|
||||
Config.Bones = {
|
||||
{ name = "Left Hand", id = 18905 },
|
||||
{ name = "Right Hand", id = 57005 },
|
||||
{ name = "Head", id = 31086 },
|
||||
{ name = "Lip", id = 47419 },
|
||||
{ name = "Pelvis", id = 11816 },
|
||||
{ name = "Right Leg", id = 36864 },
|
||||
{ name = "Left Leg", id = 63931 },
|
||||
}
|
33
resources/[tools]/dc_propattach/fxmanifest.lua
Normal file
33
resources/[tools]/dc_propattach/fxmanifest.lua
Normal file
|
@ -0,0 +1,33 @@
|
|||
fx_version 'cerulean'
|
||||
games { 'gta5' }
|
||||
lua54 'yes'
|
||||
|
||||
author 'DC Customz'
|
||||
description 'DC Customz Prop Attach Tool V2'
|
||||
version '1.0.1'
|
||||
|
||||
ui_page 'nui/index.html'
|
||||
|
||||
files {
|
||||
'nui/index.html',
|
||||
'nui/style.css',
|
||||
'nui/script.js'
|
||||
}
|
||||
|
||||
shared_scripts {
|
||||
'config.lua',
|
||||
}
|
||||
|
||||
client_scripts {
|
||||
"client/cl_main.lua",
|
||||
}
|
||||
|
||||
server_scripts {
|
||||
"server/sv_main.lua",
|
||||
}
|
||||
|
||||
escrow_ignore {
|
||||
'config.lua',
|
||||
'server/sv_main.lua'
|
||||
}
|
||||
dependency '/assetpacks'
|
1
resources/[tools]/dc_propattach/nui/index.html
Normal file
1
resources/[tools]/dc_propattach/nui/index.html
Normal file
File diff suppressed because one or more lines are too long
1
resources/[tools]/dc_propattach/nui/script.js
Normal file
1
resources/[tools]/dc_propattach/nui/script.js
Normal file
File diff suppressed because one or more lines are too long
1
resources/[tools]/dc_propattach/nui/style.css
Normal file
1
resources/[tools]/dc_propattach/nui/style.css
Normal file
|
@ -0,0 +1 @@
|
|||
*,::after,::before{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;height:100%;background:0 0;font-family:'Segoe UI',Arial,sans-serif}.menu-container{display:none;position:absolute;top:50%;right:5%;transform:translateY(-50%);width:clamp(20rem,30vw,40rem);background:rgba(0,0,0,.7);color:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 2px 10px rgba(0,0,0,.5);max-height:90vh;overflow-y:auto}h1{text-align:center;margin-bottom:1rem;font-size:1.4rem}h2{font-size:1.2rem;margin-top:1rem}.section{margin-bottom:1rem}.button-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}label{margin-bottom:.3rem;display:inline-block;font-size:1.2rem}input[type=number],input[type=text],select{width:100%;padding:.4rem;margin:.3rem 0;border:1px solid #aaa;border-radius:.25rem;font-size:.95rem;outline:0}button{cursor:pointer;border:none;border-radius:.25rem;padding:.5rem .75rem;margin:.2rem 0;color:#fff;background:#007bff;transition:background .3s ease;font-size:.95rem}button:hover{background:#0056b3}.spawn-btn{background-color:#28a745}.spawn-btn:hover{background-color:#218838}.delete-btn{background-color:#dc3545}.delete-btn:hover{background-color:#c82333}.save-btn{background-color:#6f42c1}.save-btn:hover{background-color:#563d7c}.action-btn{background-color:#fd7e14}.action-btn:hover{background-color:#e86c00}.close-button{width:100%;background:#dc3545;margin-top:.5rem}.close-button:hover{background:#c82333}.flex-row{display:flex;align-items:center;gap:.5rem}.speed-section>div{margin-bottom:1rem}input[type=range]{width:100%;margin-top:.5rem}.preset-container{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}.preset-button{background:#6c757d;min-width:2.5rem;text-align:center}.control-groups{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.control-section{background:rgba(255,255,255,.08);border-radius:.25rem;padding:.5rem}.controls{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem}.prop-panel{background:rgba(255,255,255,.1);margin-bottom:1rem;padding:.75rem;border-radius:.25rem}.camera-controls .section{background:rgba(255,255,255,.05);padding:.5rem;border-radius:.25rem;margin-bottom:.8rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:rgba(0,0,0,.2);border-radius:4px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}.notification{position:fixed;top:1rem;right:1rem;width:16rem;padding:1rem;border-radius:.25rem;color:#fff;opacity:0;transform:translateY(-1rem);transition:opacity .3s,transform .3s;z-index:1000}.notification.show{opacity:1;transform:translateY(0)}.notification.success{background-color:#28a745}.notification.error{background-color:#dc3545}.dark-select{background-color:#222;color:#fff;border:1px solid #555}.dark-input{background-color:#222;color:#fff;border:1px solid #555}.nav-btn{background:#6c757d;padding:.4rem .7rem;min-width:50px;border-radius:.25rem;border:none;color:#fff;cursor:pointer}.nav-btn:hover{background:#5a6268}.format-select{height:2.3rem;min-width:5.5rem;max-width:6.5rem;padding:0 .5rem}.flag-preset{padding:.3rem .5rem;min-width:2rem}.button-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;align-items:center}.section .flex-row input.dark-input{margin-top:.2rem}input[type=number].dark-input{height:2.2rem}#customAnimDict,#customAnimName{height:2.5rem;font-size:1.05rem;padding:.5rem}#customProp1,#customProp2{height:2.5rem;font-size:1.05rem;padding:.5rem;margin-top:1rem;margin-bottom:1rem}#customBoneID1,#customBoneID2{height:2.5rem;font-size:1.05rem;padding:.5rem}
|
41
resources/[tools]/dc_propattach/server/sv_main.lua
Normal file
41
resources/[tools]/dc_propattach/server/sv_main.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
local QBCore, ESX = nil, nil
|
||||
|
||||
CreateThread(function()
|
||||
if Config.Framework == "qb" then
|
||||
QBCore = exports['qb-core']:GetCoreObject()
|
||||
elseif Config.Framework == "esx" then
|
||||
ESX = exports["es_extended"]:getSharedObject()
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent('dc_propattach:server:checkAdmin', function()
|
||||
local src = source
|
||||
local canUse = false
|
||||
if not Config.OnlyAdmins then
|
||||
canUse = true
|
||||
else
|
||||
if Config.Framework == "qb" then
|
||||
if QBCore then
|
||||
local Player = QBCore.Functions.GetPlayer(source)
|
||||
if Player then
|
||||
if QBCore.Functions.HasPermission(src, 'admin') or QBCore.Functions.HasPermission(src, 'god') then
|
||||
canUse = true
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif Config.Framework == "esx" then
|
||||
if ESX then
|
||||
local xPlayer = ESX.GetPlayerFromId(src)
|
||||
if xPlayer then
|
||||
local playerGroup = xPlayer.getGroup()
|
||||
if playerGroup == "admin" or playerGroup == "superadmin" then
|
||||
canUse = true
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif Config.Framework == "none" then
|
||||
canUse = true
|
||||
end
|
||||
end
|
||||
TriggerClientEvent('dc_propattach:client:admincheck', src, canUse)
|
||||
end)
|
|
@ -1,2 +0,0 @@
|
|||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
|
@ -1,10 +0,0 @@
|
|||
I tried to make prop attaching easier with gizmo. While it doesn’t work exactly right, it’s much better than most old methods
|
||||
|
||||
Credit: https://github.com/Demigod916/object_gizmo & https://github.com/dolutattoo/dolu_tool
|
||||
|
||||
**How to use**
|
||||
`/prop <model*> <boneID*> <animDictionary?> <animationName?>`
|
||||
|
||||
https://www.youtube.com/watch?v=LsRLwj2pAS0
|
||||
|
||||
For more fivem scripts; https://tgiann.tebex.io/category/1768400
|
|
@ -1,171 +0,0 @@
|
|||
local usingGizmo = false
|
||||
local mode = "Translate"
|
||||
local extraZ = 1000.0
|
||||
local spawnedProp, pedBoneId = 0, 0
|
||||
local lastCoord = nil
|
||||
local position, rotation = vector3(0.0, 0.0, 0.0), vector3(0.0, 0.0, 0.0)
|
||||
|
||||
local function toggleNuiFrame(bool)
|
||||
usingGizmo = bool
|
||||
SetNuiFocus(bool, bool)
|
||||
end
|
||||
|
||||
function useGizmo(handle, boneid, dict, anim)
|
||||
spawnedProp = handle
|
||||
pedBoneId = boneid
|
||||
|
||||
local playerPed = PlayerPedId()
|
||||
lastCoord = GetEntityCoords(playerPed)
|
||||
|
||||
FreezeEntityPosition(playerPed, true)
|
||||
SetEntityCoords(playerPed, 0.0, 0.0, extraZ-1)
|
||||
SetEntityHeading(playerPed, 0.0)
|
||||
SetEntityRotation(pedBoneId, 0.0, 0.0, 0.0)
|
||||
position, rotation = vector3(0.0, 0.0, 0.0), vector3(0.0, 0.0, 0.0)
|
||||
AttachEntityToEntity(spawnedProp, playerPed, pedBoneId, position, rotation, true, true, false, true, 1, true)
|
||||
|
||||
SendNUIMessage({
|
||||
action = 'setGizmoEntity',
|
||||
data = {
|
||||
handle = spawnedProp,
|
||||
position = vector3(0.0, 0.0, extraZ),
|
||||
rotation = vector3(0.0, 0.0, 0.0)
|
||||
}
|
||||
})
|
||||
toggleNuiFrame(true)
|
||||
|
||||
if dict and anim then taskPlayAnim(playerPed, dict, anim) end
|
||||
|
||||
while usingGizmo do
|
||||
DrawScaleformMovieFullscreen(CreateInstuctionScaleform(), 255, 255, 255, 255, 0)
|
||||
SendNUIMessage({
|
||||
action = 'setCameraPosition',
|
||||
data = {
|
||||
position = GetFinalRenderedCamCoord(),
|
||||
rotation = GetFinalRenderedCamRot()
|
||||
}
|
||||
})
|
||||
if IsControlJustReleased(0, 44) then
|
||||
SetNuiFocus(true, true)
|
||||
end
|
||||
DisableIdleCamera(true)
|
||||
Wait(0)
|
||||
end
|
||||
|
||||
finish()
|
||||
return {
|
||||
"AttachEntityToEntity(entity, PlayerPedId(), "..pedBoneId..", "..(extraZ-position.z)..", "..position.y..", "..position.x..", "..rotation.x..", "..rotation.y..", "..rotation.z..", true, true, false, true, 1, true)",
|
||||
(extraZ-position.z)..", "..position.y..", "..position.x..", "..rotation.x..", "..rotation.y..", "..rotation.z
|
||||
}
|
||||
end
|
||||
|
||||
RegisterNUICallback('moveEntity', function(data, cb)
|
||||
local entity = data.handle
|
||||
position = data.position
|
||||
rotation = data.rotation
|
||||
AttachEntityToEntity(entity, PlayerPedId(), pedBoneId, extraZ-position.z, position.y, position.x, rotation.x, rotation.y, rotation.z, true, true, false, true, 1, true) --Same attach settings as dp emote and rp emotes
|
||||
cb('ok')
|
||||
end)
|
||||
|
||||
RegisterNUICallback('finishEdit', function(data, cb)
|
||||
toggleNuiFrame(false)
|
||||
SendNUIMessage({
|
||||
action = 'setGizmoEntity',
|
||||
data = {
|
||||
handle = nil,
|
||||
}
|
||||
})
|
||||
cb('ok')
|
||||
end)
|
||||
|
||||
RegisterNUICallback('swapMode', function(data, cb)
|
||||
mode = data.mode
|
||||
cb('ok')
|
||||
end)
|
||||
|
||||
RegisterNUICallback('cam', function(data, cb)
|
||||
SetNuiFocus(false, false)
|
||||
cb('ok')
|
||||
end)
|
||||
|
||||
function CreateInstuctionScaleform()
|
||||
local scaleform = RequestScaleformMovie("instructional_buttons")
|
||||
while not HasScaleformMovieLoaded(scaleform) do Wait(10) end
|
||||
|
||||
PushScaleformMovieFunction(scaleform, "CLEAR_ALL")
|
||||
PopScaleformMovieFunctionVoid()
|
||||
|
||||
PushScaleformMovieFunction(scaleform, "SET_CLEAR_SPACE")
|
||||
PushScaleformMovieFunctionParameterInt(200)
|
||||
PopScaleformMovieFunctionVoid()
|
||||
|
||||
InstructionButtonCreate(scaleform, 200, "Done Editing", 1)
|
||||
InstructionButtonCreate(scaleform, 44, "NUI Focus", 2)
|
||||
|
||||
if mode == "Translate" then
|
||||
InstructionButtonCreate(scaleform, 45, "Rotate Mode", 3)
|
||||
else
|
||||
InstructionButtonCreate(scaleform, 32, "Translate Mode", 4)
|
||||
end
|
||||
|
||||
PushScaleformMovieFunction(scaleform, "DRAW_INSTRUCTIONAL_BUTTONS")
|
||||
PopScaleformMovieFunctionVoid()
|
||||
|
||||
PushScaleformMovieFunction(scaleform, "SET_BACKGROUND_COLOUR")
|
||||
PushScaleformMovieFunctionParameterInt(0)
|
||||
PushScaleformMovieFunctionParameterInt(0)
|
||||
PushScaleformMovieFunctionParameterInt(0)
|
||||
PushScaleformMovieFunctionParameterInt(80)
|
||||
PopScaleformMovieFunctionVoid()
|
||||
|
||||
return scaleform
|
||||
end
|
||||
|
||||
function InstructionButtonCreate(scaleform, key, text, number)
|
||||
PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT")
|
||||
PushScaleformMovieFunctionParameterInt(number)
|
||||
PushScaleformMovieMethodParameterButtonName(GetControlInstructionalButton(0, key, true))
|
||||
InstructionButtonMessage(text)
|
||||
PopScaleformMovieFunctionVoid()
|
||||
end
|
||||
|
||||
function InstructionButtonMessage(text)
|
||||
BeginTextCommandScaleformString("STRING")
|
||||
AddTextComponentScaleform(text)
|
||||
EndTextCommandScaleformString()
|
||||
end
|
||||
|
||||
function finish()
|
||||
if DoesEntityExist(spawnedProp) then
|
||||
DeleteEntity(spawnedProp)
|
||||
end
|
||||
local playerPed = PlayerPedId()
|
||||
FreezeEntityPosition(playerPed, false)
|
||||
ClearPedTasks(playerPed)
|
||||
if lastCoord then
|
||||
SetEntityCoords(playerPed, lastCoord)
|
||||
lastCoord = nil
|
||||
end
|
||||
end
|
||||
|
||||
function taskPlayAnim(ped, dict, anim, flag)
|
||||
CreateThread(function()
|
||||
while usingGizmo do
|
||||
if not IsEntityPlayingAnim(ped, dict, anim, 1) then
|
||||
while not HasAnimDictLoaded(dict) do
|
||||
RequestAnimDict(dict)
|
||||
Wait(10)
|
||||
end
|
||||
TaskPlayAnim(ped, dict, anim, 5.0, 5.0, -1, (flag or 15), 0, false, false, false)
|
||||
RemoveAnimDict(dict)
|
||||
end
|
||||
Wait(1000)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
AddEventHandler('onResourceStop', function(resourceName)
|
||||
if GetCurrentResourceName() == resourceName then
|
||||
finish()
|
||||
end
|
||||
end)
|
|
@ -1,14 +0,0 @@
|
|||
--Example: /prop prop_sandwich_01 18905 mp_player_inteat@burger mp_player_int_eat_burger
|
||||
RegisterCommand('prop',function(source, args, rawCommand)
|
||||
local model = joaat(args[1] or "prop_cs_burger_01")
|
||||
if not HasModelLoaded(model) then RequestModel(model) while not HasModelLoaded(model) do Wait(1) end end
|
||||
local playerPed = PlayerPedId()
|
||||
local playerCoords = GetEntityCoords(playerPed)
|
||||
local object = CreateObject(model, playerCoords.x, playerCoords.y, playerCoords.z, false, false, false)
|
||||
local boneArg = args[2]
|
||||
local boneToNumber = tonumber(boneArg)
|
||||
local bone = (boneArg and boneToNumber) and GetPedBoneIndex(playerPed, boneToNumber) or boneArg and GetEntityBoneIndexByName(playerPed, boneArg) or 18905
|
||||
local objectPositionData = useGizmo(object, bone, args[3], args[4])
|
||||
print(objectPositionData[1])
|
||||
print(objectPositionData[2])
|
||||
end)
|
|
@ -1,14 +0,0 @@
|
|||
fx_version 'cerulean'
|
||||
game 'gta5'
|
||||
lua54 'yes'
|
||||
|
||||
ui_page 'web/dist/index.html'
|
||||
|
||||
client_scripts {
|
||||
"client/*.lua"
|
||||
}
|
||||
|
||||
files {
|
||||
'web/dist/index.html',
|
||||
'web/dist/**/*',
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
|
@ -1 +0,0 @@
|
|||
body{overflow:hidden}
|
File diff suppressed because one or more lines are too long
|
@ -1,15 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Vite + React + TS</title>
|
||||
<script type="module" crossorigin src="./assets/index.4b31427f.js"></script>
|
||||
<link rel="stylesheet" href="./assets/index.09731cda.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,13 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Vite + React + TS</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load diff
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"name": "gizmo",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "tsc && vite build",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-three/drei": "^9.65.5",
|
||||
"@react-three/fiber": "^8.12.2",
|
||||
"axios": "^1.3.6",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"three": "^0.151.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^18.0.22",
|
||||
"@types/react-dom": "^18.0.7",
|
||||
"@vitejs/plugin-react": "^2.2.0",
|
||||
"typescript": "^4.6.4",
|
||||
"vite": "^3.2.0"
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue