testanim v2 + 0r_idcard qb-target + animations reference

- testanim refacut: suporta dict/anim/prop/bone/offsets/rotation
- 0r_idcard: migrat DrawText3D la qb-target + bubble 📸 la poza buletin
- Creat docs/animations_reference.md (animatii, props, bones, flags, state bags)
- Auto-oprire animatie anterioara la fiecare testanim
- Fisiere: 17mov_JobCenter/client/utils.lua, 0r_idcard/client/main.lua, docs/animations_reference.md
This commit is contained in:
2026-04-01 01:22:17 +03:00
parent 7a1f7f24eb
commit f2ea62d16c
7 changed files with 111 additions and 46 deletions

View File

@@ -9,20 +9,53 @@ elseif GetResourceState("ox_target") ~= "missing" then
end
-- Comenzi utile pentru testare animatii + props
-- testanim dict anim [propName] [boneId] [ox oy oz] [rx ry rz]
local testProp = nil
RegisterCommand("testanim", function()
RegisterCommand("testanim", function(_, args)
if not args[1] then
print("^3[testanim]^0 Utilizare:")
print(" testanim dict anim -- doar animatie")
print(" testanim dict anim propName -- prop pe mana dreapta (bone 60309)")
print(" testanim dict anim propName boneId -- prop pe bone custom (zero offsets)")
print(" testanim dict anim propName boneId ox oy oz rx ry rz -- full control")
print("^3Exemple:^0")
print(" testanim amb@code_human_in_bus_passenger_idles@female@tablet@base base prop_cs_tablet")
print(" testanim mp_character_creation@lineup@male_a loop_raised prop_police_id_board 28422")
return
end
-- Opreste animatia/propul anterior
ClearPedTasks(PlayerPedId())
if testProp and DoesEntityExist(testProp) then DeleteEntity(testProp) testProp = nil end
local ped = PlayerPedId()
local dict = "amb@code_human_in_bus_passenger_idles@female@tablet@base"
local dict = args[1]
local anim = args[2] or "base"
-- Joaca animatia
RequestAnimDict(dict)
while not HasAnimDictLoaded(dict) do Wait(10) end
TaskPlayAnim(ped, dict, "base", 2.0, -2.0, -1, 49, 0, false, false, false)
local model = GetHashKey("prop_cs_tablet")
RequestModel(model)
while not HasModelLoaded(model) do Wait(10) end
local coords = GetEntityCoords(ped)
testProp = CreateObject(model, coords.x, coords.y, coords.z, true, true, true)
AttachEntityToEntity(testProp, ped, GetPedBoneIndex(ped, 60309),
0.03, 0.002, -0.0, 10.0, 160.0, 0.0, true, true, false, true, 1, true)
TaskPlayAnim(ped, dict, anim, 2.0, -2.0, -1, 49, 0, false, false, false)
-- Prop optional (arg 3+)
if args[3] then
local model = GetHashKey(args[3])
RequestModel(model)
while not HasModelLoaded(model) do Wait(10) end
local coords = GetEntityCoords(ped)
testProp = CreateObject(model, coords.x, coords.y, coords.z, true, true, true)
local bone = tonumber(args[4]) or 60309
local ox = tonumber(args[5]) or 0.0
local oy = tonumber(args[6]) or 0.0
local oz = tonumber(args[7]) or 0.0
local rx = tonumber(args[8]) or 0.0
local ry = tonumber(args[9]) or 0.0
local rz = tonumber(args[10]) or 0.0
AttachEntityToEntity(testProp, ped, GetPedBoneIndex(ped, bone),
ox, oy, oz, rx, ry, rz, true, true, false, true, 1, true)
end
end, false)
RegisterCommand("stopanim", function()