Thumbnail
Don't forget to like and comment on the video to join the update channel.
Features
- JSON-based fast data logging
- Tattoo removal and addition
- Q and E keys for right - left directional transitions
- Responsive design responsive interface
- based on qb-tattooshop and tailored to files compatible with it
Basically ESX support can be added depending on the support status of the project
14 Likes
can you make iit work with esx ?
1 Like
Of course, if I have time, I will look at this, probably it will be enough to just select the framework from the config and connect the character loading trigger, but since I have not tested it, we have added it for QBCore for now.
2 Likes
Good one, i wanted like this release
1 Like
Definetly an awesome one man, though having trouble moving my character in the menu. Can occasionally do so by using the left and right arrow key but gets a bit buggy. Is it meant to be a hold right mouse to turn your body as per your photo? just curious.
1 Like
Can you throw a sample video in the character part, we can make orientations such as right and left with the mouse according to the situation that should not normally do this
1 Like
Came to find a tattoo shop script and as soon as I saw the logo, I was excited. Same people I picked up my HUD from!
1 Like
Can you add custom tattoo textures/ytd files with his system? I ask as those screenshots have non-basegame tattoos and names, so my curiosity is piqued for sure! Any hopes or plans for functions like that in the future if it’s not an included function presently?
everything works good. only issue i cant figure out is how to save tattoos. after any server restart or skinrefresh they vanish. Im using it with qbcore. no error codes pop up the tatts just remove themselves and arent saving for me. Any help or suggestions to fix would be greatly appreciated!
1 Like
Hello mate you need to create a simple tunnel I prepared an example for you
RegisterCommand("refresh", function()
local playerPed = PlayerPedId()
local maxhealth = GetEntityMaxHealth(playerPed)
local health = GetEntityHealth(playerPed)
QBCore.Functions.TriggerCallback("SmallTattoos:GetPlayerTattoos", function(tattoo)
if tattoo then
TriggerEvent('Apply:Tattoo', tattoo)
else
print("No tattoos found for this player.")
end
end)
reloadSkin(health, maxhealth)
end)
function reloadSkin(health, maxhealth)
local model = nil
local gender = QBCore.Functions.GetPlayerData().charinfo.gender
if gender == 1 then
model = GetHashKey("mp_f_freemode_01")
else
model = GetHashKey("mp_m_freemode_01")
end
RequestModel(model)
while not HasModelLoaded(model) do
Citizen.Wait(500)
end
SetPlayerModel(PlayerId(), model)
SetModelAsNoLongerNeeded(model)
Citizen.Wait(1000)
TriggerServerEvent("qb-clothes:loadPlayerSkin")
TriggerServerEvent("qb-clothing:loadPlayerSkin")
SetPedMaxHealth(PlayerId(), maxhealth)
Citizen.Wait(1000)
SetEntityHealth(playerPed, health)
end
The only thing you need to add between RegisterCommand. here please don’t get confused I will also add this tunnel to github for your benefit
QBCore.Functions.TriggerCallback("SmallTattoos:GetPlayerTattoos", function(tattoo)
if tattoo then
TriggerEvent('Apply:Tattoo', tattoo)
else
print("No tattoos found for this player.")
end
end)
forgive my ignorance as im new to all of this but which folder do i open and ass the register command? is that within the actual script or is it something within qbcore?
find refreshskin and enter the callback between the code, it will contact the last tatto I threw and apply it to the karatere that will load it