-
Notifications
You must be signed in to change notification settings - Fork 31
Description
--- Defines a slot with a bone, position, and rotation
---@Class Slot
---@field bone number
---@field pos vector3
---@field rot vector3
---@Class OptionalVector
---@field x? number
---@field y? number
---@field z? number
--- Defines an item with properties for its placement and grouping
---@Class BackItem
---@field prio number a number to define the priority of importance that the weapon should appear over others
---@field group? string which slot group the item should use. defaults to 'back'
---@field customPos? {bone?: number , pos?: OptionalVector | vector3, rot?: OptionalVector | vector3} optional custom position. required if ignorelimits is true
---@field ignoreLimits? boolean wether or not the item is attached regardless of available slots. requires a full custom position. a full custom position has a bone, pos as a vec3, and rot as a vec3
---@field model? number | string this is required for non-weapon items. can optionally be used for weapons in order to have the attached model different than the equipped model. like if you want a sheathed katanta on your back
---@Class Config
---@field defaultSlots table<string, Slot[]>
---@field BackItems table<string, BackItem>
--- Configurations for item slots and back items
local Config = {}
Config.allowedVehicleClasses = {
[8] = true, -- motorcycles
[13] = true, -- bicycles
[14] = true, -- boats
}
--- Default slots configuration
---@type table<string, Slot[]>
Config.defaultSlots = {
['espalda'] = {
{ bone = 24818, pos = vec3(0.09, -0.16, 0.12), rot = vec3(0.0, 180.0, 0.0) },
{ bone = 24818, pos = vec3(0.09, -0.16, 0.00), rot = vec3(0.0, 180.0, 0.0) },
{ bone = 24818, pos = vec3(0.09, -0.16, -0.12), rot = vec3(0.0, 180.0, 0.0) }
},
-- ['another group'] = { -- add as many slot groups as you like for different types of items
-- { bone = 24818, pos = vec3(0.09, -0.16, 0.12), rot = vec3(0.0, 180.0, 0.0) },
-- { bone = 24818, pos = vec3(0.09, -0.16, 0.00), rot = vec3(0.0, 180.0, 0.0) },
-- { bone = 24818, pos = vec3(0.09, -0.16, -0.12), rot = vec3(0.0, 180.0, 0.0) }
-- },
['musloizquierdo'] = {
{ bone = 58271, pos = vec3(0.09, -0.16, 0.12), rot = vec3(0.0, 180.0, 0.0) },
{ bone = 58271, pos = vec3(0.09, -0.16, 0.00), rot = vec3(0.0, 180.0, 0.0) },
{ bone = 58271, pos = vec3(0.09, -0.16, -0.12), rot = vec3(0.0, 180.0, 0.0) }
},
['cintura'] = {
{ bone = 11816, pos = vec3(0.00, 0.0, 0.0), rot = vec3(0.0, 180.0, 0.0) },
{ bone = 11816, pos = vec3(0.00, 0.0, 0.0), rot = vec3(0.0, 180.0, 0.0) },
{ bone = 11816, pos = vec3(0.00, 0.0, 0.0), rot = vec3(0.0, 180.0, 0.0) }
},
['musloderecho'] = {
{ bone = 51826, pos = vec3(0.09, -0.16, 0.12), rot = vec3(0.0, 180.0, 0.0) },
{ bone = 51826, pos = vec3(0.09, -0.16, 0.00), rot = vec3(0.0, 180.0, 0.0) },
{ bone = 51826, pos = vec3(0.09, -0.16, -0.12), rot = vec3(0.0, 180.0, 0.0) }
},
}
--- Back items configuration
--- pos x y z
--- x Numeros postiviso hacia arriba del personaje, numeros negativos hacia abajo
--- y Numeros positivos hacia adelante del personaje, numeros negativos hacia atrás.
--- z Numeros positivos hacia la izquierda del personaje, numeros negativos hacia la derecha.
--- rot x y z
--- x
--- y
--- z
---@type table<string, BackItem>
Config.BackItems = {
['WEAPON_KNIFE'] = { --
prio = 1,
group = 'musloizquierdo',
customPos = {
pos = { x = -0.3, y = 0.2 },
rot = { x = 15.0, y = 210.0, z = 90.0 }
}
},
['WEAPON_NIGHTSTICK'] = { --
prio = 1,
group = 'cintura',
customPos = {
pos = { x = -0.2, y = 0.0, z = 0.2 },
rot = { x = 90.0, y = 180.0, z = 90.0 }
}
},
['WEAPON_HAMMER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_BAT'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.4, y = -0.15 },
rot = { y = 270.0 }
}
},
['WEAPON_GOLFCLUB'] = {
prio = 2,
group = 'espalda',
customPos = {
pos = { x = 0.4, y = -0.15 },
rot = { y = 270.0 }
}
},
['WEAPON_CROWBAR'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_BOTTLE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_KNUCKLE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_HATCHET'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_MACHETE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_SWITCHBLADE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_FLASHLIGHT'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.0, y = 0.0, z = 0.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_PISTOL'] = { --
prio = 1,
group = 'musloderecho',
customPos = {
pos = { x = -0.35, y = 0.1, z = -0.229 },
rot = { x = 99.0, y = 150.0, z = 30.0 }
}
},
['WEAPON_COMBATPISTOL'] = {
prio = 1,
group = 'musloderecho',
customPos = {
pos = { x = -0.01, y = 0.1, z = 0.07 },
rot = { x = -115.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_APPISTOL'] = {
prio = 1,
group = 'musloderecho',
customPos = {
pos = { x = -0.01, y = 0.1, z = 0.07 },
rot = { x = -115.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_PISTOL50'] = {
prio = 1,
group = 'musloderecho',
customPos = {
pos = { x = -0.01, y = 0.1, z = 0.07 },
rot = { x = -115.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_VINTAGEPISTOL'] = {
prio = 1,
group = 'musloderecho',
customPos = {
pos = { x = -0.01, y = 0.1, z = 0.07 },
rot = { x = -115.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_HEAVYPISTOL'] = {
prio = 1,
group = 'musloderecho',
customPos = {
pos = { x = -0.01, y = 0.1, z = 0.07 },
rot = { x = -115.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_SNSPISTOL'] = {
prio = 1,
group = 'musloizquierdo',
customPos = {
pos = { x = -0.01, y = 0.1, z = -0.07 },
rot = { x = -55.0, y = 0.1, z = 0.0 }
}
},
['WEAPON_FLAREGUN'] = {
prio = 1,
group = 'musloizquierdo',
customPos = {
pos = { x = -0.01, y = 0.1, z = -0.07 },
rot = { x = -55.0, y = 0.1, z = 0.0 }
}
},
['WEAPON_MARKSMANPISTOL'] = {
prio = 1,
group = 'musloizquierdo',
customPos = {
pos = { x = -0.01, y = 0.1, z = -0.07 },
rot = { x = -55.0, y = 0.1, z = 0.0 }
}
},
['WEAPON_REVOLVER'] = {
prio = 1,
group = 'musloizquierdo',
customPos = {
pos = { x = -0.01, y = 0.1, z = -0.07 },
rot = { x = -55.0, y = 0.1, z = 0.0 }
}
},
['WEAPON_STUNGUN'] = {
prio = 1,
group = 'musloizquierdo',
customPos = {
pos = { x = -0.01, y = 0.1, z = -0.07 },
rot = { x = -55.0, y = 0.1, z = 0.0 }
}
},
['WEAPON_MICROSMG'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_SMG'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_MG'] = {
prio = 4,
group = 'espalda'
},
['WEAPON_COMBATMG'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_GUSENBERG'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_COMBATPDW'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_MACHINEPISTOL'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_ASSAULTSMG'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_MINISMG'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_ASSAULTRIFLE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.09, y = -0.15, z = 0.1 },
rot = { x = 10.0, y = 160.0, z = 10.0 }
}
},
['WEAPON_CARBINERIFLE'] = {
prio = 3,
group = 'espalda',
visibility = 1
},
['WEAPON_ADVANCEDRIFLE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_SPECIALCARBINE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_BULLPUPRIFLE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_COMPACTRIFLE'] = {
prio = 2,
group = 'espalda'
},
['WEAPON_PUMPSHOTGUN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = -0.15, z = 0.0 },
rot = { x = 0.0, y = 135.0, z = 0.0 }
}
},
['WEAPON_SAWNOFFSHOTGUN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = -0.15, z = 0.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_BULLPUPSHOTGUN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = -0.15, z = 0.0 },
rot = { x = 0.0, y = 135.0, z = 0.0 }
}
},
['WEAPON_ASSAULTSHOTGUN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = -0.15, z = 0.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_MUSKET'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = -0.15, z = 0.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_HEAVYSHOTGUN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = -0.15, z = 0.0 },
rot = { x = 0.0, y = 225.0, z = 0.0 }
}
},
['WEAPON_DBSHOTGUN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = -0.15, z = 0.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_AUTOSHOTGUN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = 0.15, z = 0.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_SNIPERRIFLE'] = {
prio = 3,
group = 'espalda'
},
['WEAPON_HEAVYSNIPER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = -0.15, z = 0.0 },
rot = { x = 0.0, y = 135.0, z = 0.0 }
}
},
['WEAPON_MARKSMANRIFLE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 0.1, y = -0.15, z = 0.0 },
rot = { x = 0.0, y = 135.0, z = 0.0 }
}
},
['WEAPON_REMOTESNIPER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_STINGER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_GRENADELAUNCHER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_RPG'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_MINIGUN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_FIREWORK'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_RAILGUN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_HOMINGLAUNCHER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_COMPACTLAUNCHER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_STICKYBOMB'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_MOLOTOV'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_FIREEXTINGUISHER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_PETROLCAN'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_PROXMINE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_SNOWBALL'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_BALL'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_GRENADE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_SMOKEGRENADE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_BZGAS'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_DIGISCANNER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_DAGGER'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_GARBAGEBAG'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_HANDCUFFS'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_BATTLEAXE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_PIPEBOMB'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_POOLCUE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['WEAPON_WRENCH'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['GADGET_NIGHTVISION'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['GADGET_PARACHUTE'] = {
prio = 1,
group = 'espalda',
customPos = {
pos = { x = 65536.0, y = 65536.0, z = 65536.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
}
},
['cone'] = {
prio = 1,
ignoreLimits = true,
model = `prop_roadcone02a`,
customPos = {
bone = 12844,
pos = vec3(0.06, 0.0, 0.0),
rot = vec3(0.0, 90.0, 0.0)
}
}
}
return Config