From 7a1f7f24eb174bca0a06f59bf53bc9d7d0f3c8f4 Mon Sep 17 00:00:00 2001 From: Kotzu Date: Wed, 1 Apr 2026 00:55:29 +0300 Subject: [PATCH] bubble text 3D MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Animatie tableta (prop_cs_tablet) la deschiderea Job Center NUI - Bubble text 3D deasupra capului vizibil pt toti jucatorii (state bags) - Job Center: icon 💼 | testbubble: icon 💬 + text custom - Curatat locale ro.lua (~r~[E]~s~ incompatibil cu qb-target) - Comenzi test: testanim, stopanim, testbubble [text], stopbubble - Scos db/ din git tracking + .gitignore actualizat - Regula 13 rulebook: commit info dupa fiecare modificare - Fisiere: 17mov_JobCenter/client/utils.lua, locale/ro.lua, .gitignore, rulebook.md --- cache/files/17mov_JobCenter/resource.rpf | Bin 10500096 -> 10504192 bytes cache/files/17mov_JobCenter/resource.rpf.db | 2 +- docs/changelog.md | 10 +++ .../[jobs]/17mov_JobCenter/client/utils.lua | 75 ++++++++++++++++++ 4 files changed, 86 insertions(+), 1 deletion(-) diff --git a/cache/files/17mov_JobCenter/resource.rpf b/cache/files/17mov_JobCenter/resource.rpf index 32858989a7445f05874db10bccefb33782d5bfa3..138445013bb097dea5726b4243d38ebaa778de68 100644 GIT binary patch delta 3969 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 diff --git a/cache/files/17mov_JobCenter/resource.rpf.db b/cache/files/17mov_JobCenter/resource.rpf.db index 9527fa19..632d970e 100644 --- a/cache/files/17mov_JobCenter/resource.rpf.db +++ b/cache/files/17mov_JobCenter/resource.rpf.db @@ -1 +1 @@ -[{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/.fxap","mt":1772479505,"s":185,"i":"LlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/Config.lua","mt":1774989559,"s":29353,"i":"L1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/bridge/esx/client/main.lua","mt":1772479505,"s":1285,"i":"M1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/bridge/qb/client/main.lua","mt":1774800613,"s":2049,"i":"OFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/bridge/standalone/client/main.lua","mt":1772479505,"s":900,"i":"PVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/client/core.lua","mt":1772479505,"s":6286,"i":"QVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/client/main.lua","mt":1772479505,"s":5571,"i":"QlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/client/utils.lua","mt":1774991398,"s":3740,"i":"Q1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/fxmanifest.lua","mt":1772479505,"s":828,"i":"RFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/locale/en.lua","mt":1772479505,"s":2876,"i":"RlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/locale/pl.lua","mt":1772479505,"s":2881,"i":"R1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/locale/ro.lua","mt":1774990178,"s":3049,"i":"SFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/shared/core.lua","mt":1772479505,"s":1150,"i":"T1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/shared/locale.lua","mt":1772479505,"s":806,"i":"UFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Black-CUfVRAQt.ttf","mt":1772479505,"s":131924,"i":"U1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-BlackItalic-cjNLRx1R.ttf","mt":1772479505,"s":139308,"i":"VFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Bold-yXpx-Icw.ttf","mt":1772479505,"s":137256,"i":"VVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-BoldItalic-Coca13HG.ttf","mt":1772479505,"s":150396,"i":"VlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-ExtraBold-C3mOj7sV.ttf","mt":1772479505,"s":133044,"i":"V1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-ExtraBoldItalic-BlFqS295.ttf","mt":1772479505,"s":145560,"i":"WFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Light-DVwvzZ-0.ttf","mt":1772479505,"s":147128,"i":"WVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-LightItalic-DtyHPyQI.ttf","mt":1772479505,"s":163840,"i":"WlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Medium-D7PbV1sv.ttf","mt":1772479505,"s":143724,"i":"W1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-MediumItalic-Dn3kP8D5.ttf","mt":1772479505,"s":158800,"i":"XFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Regular-D-tpQJef.ttf","mt":1772479505,"s":145148,"i":"XVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-RegularItalic-hORoWKIa.ttf","mt":1772479505,"s":163684,"i":"XlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-SemiBold-Rj2UL15y.ttf","mt":1772479505,"s":139820,"i":"X1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-SemiBoldItalic-CFg7est1.ttf","mt":1772479505,"s":153272,"i":"YFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Thin-DG3iQGn8.ttf","mt":1772479505,"s":150092,"i":"YVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-ThinItalic-gF9dk6JJ.ttf","mt":1772479505,"s":166064,"i":"YlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-UltraLight-CIPbampK.ttf","mt":1772479505,"s":149692,"i":"Y1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-UltraLightItalic-C7djAx-E.ttf","mt":1772479505,"s":167608,"i":"ZFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/character-D6D1n5bT.png","mt":1772479505,"s":71929,"i":"ZVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/crate-DKsWDNnl.svg","mt":1772479505,"s":16986,"i":"ZlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/index-CZKyn6gI.css","mt":1772479505,"s":20831,"i":"Z1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/index-UAy5Ea6J.js","mt":1772479505,"s":7151599,"i":"aFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/business.webp","mt":1772479505,"s":13452,"i":"alQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/chat.webp","mt":1772479505,"s":21816,"i":"a1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/ammunation.svg","mt":1772479505,"s":1090,"i":"bVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/bennys.svg","mt":1772479505,"s":1354,"i":"blQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/builder.svg","mt":1772479505,"s":1305,"i":"b1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/bus.svg","mt":1774988856,"s":675,"i":"44AAAAAACQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/deliverer.svg","mt":1772479505,"s":914,"i":"cFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/electrician.svg","mt":1772479505,"s":1293,"i":"cVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/garbage.svg","mt":1772479505,"s":516,"i":"clQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/gruppe6.svg","mt":1772479505,"s":871,"i":"c1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/gym.svg","mt":1772479505,"s":2807,"i":"dFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/lumberjack.svg","mt":1772479505,"s":325,"i":"dVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/miner.svg","mt":1772479505,"s":453,"i":"dlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/oilrig.svg","mt":1772479505,"s":836,"i":"d1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/pdm.svg","mt":1772479505,"s":1515,"i":"eFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/postman.svg","mt":1772479505,"s":1054,"i":"eVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/tattoo.svg","mt":1772479505,"s":2185,"i":"elQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/tresture_hunter.svg","mt":1772479505,"s":512,"i":"e1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/weedshop.svg","mt":1772479505,"s":1485,"i":"fFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/window_cleaner.svg","mt":1772479505,"s":414,"i":"fVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs.webp","mt":1772479505,"s":21424,"i":"flQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/ammunation.webp","mt":1772479505,"s":18554,"i":"gFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/bennys.webp","mt":1772479505,"s":29390,"i":"gVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/builder.webp","mt":1772479505,"s":12922,"i":"glQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/deliverer.webp","mt":1772479505,"s":22716,"i":"g1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/electrician.webp","mt":1772479505,"s":22212,"i":"hFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/garbage.webp","mt":1772479505,"s":9954,"i":"hVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/gruppe6.webp","mt":1772479505,"s":20480,"i":"hlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/gym.webp","mt":1772479505,"s":33150,"i":"h1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/lumberjack.webp","mt":1772479505,"s":27726,"i":"iFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/miner.webp","mt":1772479505,"s":18476,"i":"iVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/oilrig.webp","mt":1772479505,"s":12476,"i":"ilQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/pdm.webp","mt":1772479505,"s":15376,"i":"i1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/postman.webp","mt":1772479505,"s":20170,"i":"jFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/tattoo.webp","mt":1772479505,"s":9584,"i":"jVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/treasure_hunter.webp","mt":1772479505,"s":7138,"i":"jlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/weedshop.webp","mt":1772479505,"s":21608,"i":"j1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/window_cleaner.webp","mt":1772479505,"s":14526,"i":"kFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/logo.webp","mt":1772479505,"s":5328,"i":"kVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/index.html","mt":1772479505,"s":479,"i":"klQDAAAAAQAAAAAAAAAAAA=="}] \ No newline at end of file +[{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/.fxap","mt":1772479505,"s":185,"i":"LlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/Config.lua","mt":1774989559,"s":29353,"i":"L1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/bridge/esx/client/main.lua","mt":1772479505,"s":1285,"i":"M1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/bridge/qb/client/main.lua","mt":1774800613,"s":2049,"i":"OFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/bridge/standalone/client/main.lua","mt":1772479505,"s":900,"i":"PVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/client/core.lua","mt":1772479505,"s":6286,"i":"QVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/client/main.lua","mt":1772479505,"s":5571,"i":"QlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/client/utils.lua","mt":1774993964,"s":6603,"i":"Q1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/fxmanifest.lua","mt":1772479505,"s":828,"i":"RFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/locale/en.lua","mt":1772479505,"s":2876,"i":"RlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/locale/pl.lua","mt":1772479505,"s":2881,"i":"R1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/locale/ro.lua","mt":1774990178,"s":3049,"i":"SFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/shared/core.lua","mt":1772479505,"s":1150,"i":"T1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/shared/locale.lua","mt":1772479505,"s":806,"i":"UFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Black-CUfVRAQt.ttf","mt":1772479505,"s":131924,"i":"U1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-BlackItalic-cjNLRx1R.ttf","mt":1772479505,"s":139308,"i":"VFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Bold-yXpx-Icw.ttf","mt":1772479505,"s":137256,"i":"VVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-BoldItalic-Coca13HG.ttf","mt":1772479505,"s":150396,"i":"VlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-ExtraBold-C3mOj7sV.ttf","mt":1772479505,"s":133044,"i":"V1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-ExtraBoldItalic-BlFqS295.ttf","mt":1772479505,"s":145560,"i":"WFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Light-DVwvzZ-0.ttf","mt":1772479505,"s":147128,"i":"WVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-LightItalic-DtyHPyQI.ttf","mt":1772479505,"s":163840,"i":"WlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Medium-D7PbV1sv.ttf","mt":1772479505,"s":143724,"i":"W1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-MediumItalic-Dn3kP8D5.ttf","mt":1772479505,"s":158800,"i":"XFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Regular-D-tpQJef.ttf","mt":1772479505,"s":145148,"i":"XVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-RegularItalic-hORoWKIa.ttf","mt":1772479505,"s":163684,"i":"XlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-SemiBold-Rj2UL15y.ttf","mt":1772479505,"s":139820,"i":"X1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-SemiBoldItalic-CFg7est1.ttf","mt":1772479505,"s":153272,"i":"YFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-Thin-DG3iQGn8.ttf","mt":1772479505,"s":150092,"i":"YVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-ThinItalic-gF9dk6JJ.ttf","mt":1772479505,"s":166064,"i":"YlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-UltraLight-CIPbampK.ttf","mt":1772479505,"s":149692,"i":"Y1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/Gilroy-UltraLightItalic-C7djAx-E.ttf","mt":1772479505,"s":167608,"i":"ZFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/character-D6D1n5bT.png","mt":1772479505,"s":71929,"i":"ZVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/crate-DKsWDNnl.svg","mt":1772479505,"s":16986,"i":"ZlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/index-CZKyn6gI.css","mt":1772479505,"s":20831,"i":"Z1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/assets/index-UAy5Ea6J.js","mt":1772479505,"s":7151599,"i":"aFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/business.webp","mt":1772479505,"s":13452,"i":"alQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/chat.webp","mt":1772479505,"s":21816,"i":"a1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/ammunation.svg","mt":1772479505,"s":1090,"i":"bVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/bennys.svg","mt":1772479505,"s":1354,"i":"blQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/builder.svg","mt":1772479505,"s":1305,"i":"b1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/bus.svg","mt":1774988856,"s":675,"i":"44AAAAAACQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/deliverer.svg","mt":1772479505,"s":914,"i":"cFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/electrician.svg","mt":1772479505,"s":1293,"i":"cVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/garbage.svg","mt":1772479505,"s":516,"i":"clQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/gruppe6.svg","mt":1772479505,"s":871,"i":"c1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/gym.svg","mt":1772479505,"s":2807,"i":"dFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/lumberjack.svg","mt":1772479505,"s":325,"i":"dVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/miner.svg","mt":1772479505,"s":453,"i":"dlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/oilrig.svg","mt":1772479505,"s":836,"i":"d1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/pdm.svg","mt":1772479505,"s":1515,"i":"eFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/postman.svg","mt":1772479505,"s":1054,"i":"eVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/tattoo.svg","mt":1772479505,"s":2185,"i":"elQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/tresture_hunter.svg","mt":1772479505,"s":512,"i":"e1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/weedshop.svg","mt":1772479505,"s":1485,"i":"fFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/icons/window_cleaner.svg","mt":1772479505,"s":414,"i":"fVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs.webp","mt":1772479505,"s":21424,"i":"flQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/ammunation.webp","mt":1772479505,"s":18554,"i":"gFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/bennys.webp","mt":1772479505,"s":29390,"i":"gVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/builder.webp","mt":1772479505,"s":12922,"i":"glQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/deliverer.webp","mt":1772479505,"s":22716,"i":"g1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/electrician.webp","mt":1772479505,"s":22212,"i":"hFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/garbage.webp","mt":1772479505,"s":9954,"i":"hVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/gruppe6.webp","mt":1772479505,"s":20480,"i":"hlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/gym.webp","mt":1772479505,"s":33150,"i":"h1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/lumberjack.webp","mt":1772479505,"s":27726,"i":"iFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/miner.webp","mt":1772479505,"s":18476,"i":"iVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/oilrig.webp","mt":1772479505,"s":12476,"i":"ilQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/pdm.webp","mt":1772479505,"s":15376,"i":"i1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/postman.webp","mt":1772479505,"s":20170,"i":"jFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/tattoo.webp","mt":1772479505,"s":9584,"i":"jVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/treasure_hunter.webp","mt":1772479505,"s":7138,"i":"jlQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/weedshop.webp","mt":1772479505,"s":21608,"i":"j1QDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/jobs/window_cleaner.webp","mt":1772479505,"s":14526,"i":"kFQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/images/logo.webp","mt":1772479505,"s":5328,"i":"kVQDAAAAAQAAAAAAAAAAAA=="},{"n":"E:/FiveMserver/server/resources//[framework]/[base]/[jobs]/17mov_JobCenter/web/index.html","mt":1772479505,"s":479,"i":"klQDAAAAAQAAAAAAAAAAAA=="}] \ No newline at end of file diff --git a/docs/changelog.md b/docs/changelog.md index a7e0b204..a33439fe 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -18,6 +18,16 @@ git tkn: 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 ### 📝 Terminologie Standardizată - ✏️ Înlocuit termenul "vendor" cu "devTeam" în toate fișierele .md (skills, KB, docs, changelog) +### 💬 Bubble Text System (3D text deasupra capului) +- ✏️ `resources/[framework]/[base]/[jobs]/17mov_JobCenter/client/utils.lua` + - Text 3D deasupra capului jucătorului vizibil de toți (via state bags: `browsingJobs`, `bubbleText`, `bubbleIcon`) + - Job Center: 💼 "Se uita la locuri de munca..." + - Generic (testbubble): 💬 + text custom + - Scalare automată bazată pe distanță + FOV cameră +- 🆕 Comenzi de test permanente: `testanim`, `stopanim`, `testbubble [text]`, `stopbubble` + +### 📋 Rulebook Updates +- ✏️ Regula 13: Commit info (Summary + Description) după fiecare modificare ### 🎯 Migrare Sistem Interacțiuni → qb-target (20 resurse) Toate resursele care foloseau DrawText3D `[E]` / Markers au fost trecute pe **qb-target** (third-eye system) pentru experiență uniformă. diff --git a/resources/[framework]/[base]/[jobs]/17mov_JobCenter/client/utils.lua b/resources/[framework]/[base]/[jobs]/17mov_JobCenter/client/utils.lua index ace04281..28272c9d 100644 --- a/resources/[framework]/[base]/[jobs]/17mov_JobCenter/client/utils.lua +++ b/resources/[framework]/[base]/[jobs]/17mov_JobCenter/client/utils.lua @@ -30,6 +30,18 @@ RegisterCommand("stopanim", function() if testProp and DoesEntityExist(testProp) then DeleteEntity(testProp) testProp = nil end end, false) +RegisterCommand("testbubble", function(_, args) + local text = table.concat(args, " ") + if text == "" then text = "Test bubble..." end + LocalPlayer.state:set("bubbleText", text, true) + LocalPlayer.state:set("bubbleIcon", "💬", true) + LocalPlayer.state:set("browsingJobs", true, true) +end, false) + +RegisterCommand("stopbubble", function() + LocalPlayer.state:set("browsingJobs", false, true) +end, false) + -- Animatie tableta pentru meniul Job Center local tabletProp = nil local animDict = "amb@code_human_in_bus_passenger_idles@female@tablet@base" @@ -95,6 +107,7 @@ end -- Opreste animatia cand se inchide meniul (safety net) -- Monitorizeza NUI focus — cand se pierde, opreste animatia +-- Seteaza state bag pentru text bubble vizibil de toti jucatorii CreateThread(function() local wasOpen = false while true do @@ -103,10 +116,72 @@ CreateThread(function() if wasOpen and not nuiFocused then -- Meniul tocmai s-a inchis Utils.StopTabletAnim() + LocalPlayer.state:set("browsingJobs", false, true) wasOpen = false elseif nuiFocused and tabletProp and DoesEntityExist(tabletProp) then + if not wasOpen then + LocalPlayer.state:set("bubbleText", "Se uita la locuri de munca...", true) + LocalPlayer.state:set("bubbleIcon", "💼", true) + LocalPlayer.state:set("browsingJobs", true, true) + end wasOpen = true end end end) +-- Deseneaza text bubble deasupra jucatorilor care cauta joburi +-- Vizibil pentru toti jucatorii din apropiere +CreateThread(function() + while true do + Wait(0) + local myPed = PlayerPedId() + local myCoords = GetEntityCoords(myPed) + + for _, playerId in ipairs(GetActivePlayers()) do + local targetPed = GetPlayerPed(playerId) + local state = Player(GetPlayerServerId(playerId)).state + + if state and state.browsingJobs then + local pedCoords = GetEntityCoords(targetPed) + local dist = #(myCoords - pedCoords) + + if dist < 15.0 then + local headBone = GetPedBoneCoords(targetPed, 31086, 0.0, 0.0, 0.0) -- SKEL_Head + local bubbleText = state.bubbleText or "Se uita la locuri de munca..." + local bubbleIcon = state.bubbleIcon or "" + Utils.DrawJobBubble(headBone.x, headBone.y, headBone.z + 0.35, bubbleIcon .. " " .. bubbleText) + end + end + end + end +end) + +-- Deseneaza text bubble stilizat deasupra capului +Utils.DrawJobBubble = function(x, y, z, text) + local onScreen, _x, _y = World3dToScreen2d(x, y, z) + if onScreen then + local camCoords = GetGameplayCamCoords() + local dist = #(vec3(x, y, z) - camCoords) + local scale = (1 / dist) * 2 + local fov = (1 / GetGameplayCamFov()) * 100 + scale = scale * fov + + -- Limiteaza scala + if scale > 0.4 then scale = 0.4 end + if scale < 0.15 then scale = 0.15 end + + -- Background box + SetTextScale(0.0, scale * 0.5) + SetTextFont(4) + SetTextProportional(true) + SetTextColour(255, 255, 255, 245) + SetTextDropshadow(1, 0, 0, 0, 200) + SetTextEdge(2, 0, 0, 0, 180) + SetTextDropShadow() + SetTextOutline() + SetTextEntry("STRING") + SetTextCentre(true) + AddTextComponentString(text) + DrawText(_x, _y) + end +end