From 8cf8893b777ec7b75523a2daa8de7e60ec51105b Mon Sep 17 00:00:00 2001 From: 0xDEMXN <15928886+0xDEMXN@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:53:18 +0100 Subject: [PATCH] feat: server logo + id + improvements --- README.md | 23 +++++++++++++++-------- client.lua | 38 ++++++++++++++++++++------------------ fxmanifest.lua | 7 +++++-- html/logo.png | Bin 0 -> 9418 bytes html/script.js | 10 ++++++++-- html/style.css | 20 ++++++++++++++++++++ html/ui.html | 5 ++++- 7 files changed, 72 insertions(+), 31 deletions(-) create mode 100644 html/logo.png diff --git a/README.md b/README.md index 489b5d1..feec916 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# DxHUD +# dx_hud This started as a fork of Cosmo HUD but ended up being a complete rewrite. -DxHUD is an HUD for FiveM and ESX Legacy. +dx_hud is an HUD for FiveM and ESX Legacy. ## Requirements @@ -15,15 +15,22 @@ DxHUD is an HUD for FiveM and ESX Legacy. ## Useful Snippets -You may want to set every ped maximum health to the same amount. -Insert the snippet below in a loop that runs every tick and you're done. +### I won't provide any support for the snippets below, it's up to you to understand if you need it or not or if you have any conflicts aswell. + +If you want to equal health among peds, run this client-side every tick. ```lua -if GetEntityMaxHealth(ESX.PlayerData.ped) ~= 200 then - SetEntityMaxHealth(ESX.PlayerData.ped, 200) - SetEntityHealth(ESX.PlayerData.ped, 200) +if GetEntityMaxHealth(PlayerPedId()) ~= 200 then + SetEntityMaxHealth(PlayerPedId(), 200) + SetEntityHealth(PlayerPedId(), 200) end ``` +If you want to disable health regen, run this client-side every tick. +```lua + SetPlayerHealthRechargeMultiplier(PlayerId(), 0.0) + SetPlayerHealthRechargeLimit(PlayerId(), 0.0) +``` + ## Download & Installation @@ -58,7 +65,7 @@ ensure dx_hud

Legal Notices

-DxHUD for ESX Legacy +dx_hud for ESX Legacy Copyright © 2022 [Demxn](https://github.com/0xDEMXN) diff --git a/client.lua b/client.lua index 0349828..d57443b 100644 --- a/client.lua +++ b/client.lua @@ -1,8 +1,8 @@ local playerId = PlayerId() -CreateThread(function() - while true do - if ESX.PlayerLoaded then +local GeneralLoop = function() + CreateThread(function() + while ESX.PlayerLoaded do local ped = PlayerPedId() local underwaterTime = GetPlayerUnderwaterTimeRemaining(playerId) * 10 @@ -33,17 +33,16 @@ CreateThread(function() DisplayRadar(dx.persistentRadar or isDriving) SetRadarZoom(1150) SendNUIMessage({showUi = not IsPauseMenuActive()}) - else - SendNUIMessage({showUi = false}) - end - Wait(dx.generalRefreshRate) - end -end) + Wait(dx.generalRefreshRate) + end + SendNUIMessage({showUi = false}) + end) +end -CreateThread(function() - while true do - if ESX.PlayerLoaded then +local StatusLoop = function() + CreateThread(function() + while ESX.PlayerLoaded do local hunger, thirst, stress = false, false, false local statusReady = false @@ -65,11 +64,11 @@ CreateThread(function() thirst = thirst, stress = dx.showStress and stress, }) - end - Wait(dx.statusRefreshRate) - end -end) + Wait(dx.statusRefreshRate) + end + end) +end if dx.circleMap then CreateThread(function() @@ -83,9 +82,9 @@ if dx.circleMap then SetMinimapComponentPosition('minimap_mask', 'L', 'B', 0.06, 0.05, 0.132, 0.260) SetMinimapComponentPosition('minimap_blur', 'L', 'B', 0.005, -0.01, 0.166, 0.257) - Wait(1000) + Wait(500) SetRadarBigmapEnabled(true, false) - Wait(1000) + Wait(500) SetRadarBigmapEnabled(false, false) local minimap = RequestScaleformMovie("minimap") @@ -107,6 +106,9 @@ end) RegisterNetEvent('esx:playerLoaded') AddEventHandler('esx:playerLoaded', function() ESX.PlayerLoaded = true + GeneralLoop() + StatusLoop() + SendNUIMessage({playerId = GetPlayerServerId(playerId)}) end) RegisterNetEvent('esx:onPlayerLogout') diff --git a/fxmanifest.lua b/fxmanifest.lua index 546dd76..5666612 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -1,7 +1,10 @@ fx_version 'cerulean' game 'gta5' author '0xDEMXN' -version '1.0.5' +version '1.0.6' + +lua54 'yes' +use_fxv2_oal 'yes' shared_scripts { '@es_extended/imports.lua' @@ -16,7 +19,7 @@ files { 'html/ui.html', 'html/script.js', 'html/style.css', - 'html/loading-bar.js', + 'html/logo.png', } ui_page 'html/ui.html' diff --git a/html/logo.png b/html/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d65ea6308257cb73da7b89be81a183de9987ae63 GIT binary patch literal 9418 zcmV;*BsJTKP)HCNwD`HFQ`NaQW+EFGv?GsJm-f6{!mPM+Bs2X72f&^WE=G?o1{SFi}8x zp6|I~W|EmX?sne`oGRkmzOShe?=IHLtE1OD>2U@Kbjm1K* zv1rciZ?<$Pf8VMR1yf*A)Ent%YG>f8U}l!_TmMrs09t7KBIDngx3A-wOa1joD(=3RY9Q?f?4I0@&OG z;N5PpY1yMy6$paWV%EySXnldm+Hcm91wKD3VGL~T3J2Z@dAG)7Fm2|FEarf!TDxY)>S4=aQx8B8 zT#Kfq_phv#E$?ED1uYUhEde#qg#Na)YP@E~#Qc8yU%hREdt*;H`A%?ydqZ#O_&fc+ zo?x#CtVNeVR?^x5m|V@1b)}b|T-W!2YkiOe?{=47sE->#pT~x=sci|sZvuc?>&*cb zXzHl_n)S;b&vS0L_8@HP2@UIl-S9!M3pQU1$Jg}PJ$YPdd)X(OTiyMTds{Fy^H$h& zjfC$jxiWg-n5)V0`|N-=v8`Nw!F5c!oMN_jLo2L zCCz_xVOSiRd;@Ik#lCpMx**BDDF}|e(Oc@;rK>aJ@%FHM{E(E=N(ZwR`dtq-q@VfK z-|{?n7DXTdPjZxXKDDmTx8(9L_P7`bs1Q3>4_QjjqXK9zAq$XM$AYQG5EQ->zc3)< zak^0ZPp!RHf^B`J)z&~M$5`k}PfnLK8cmE|pP(5(Zk*O+GAY8>;tHgNg4S9Xm-k-$ zH37=&`2U+|GXYD%f8Ek2a`E$^BJ`opB%NN@r-4}5w&f2@pn#0-FQBcc@UIO(AesGt zp1=1g3BNFXQ4D@SU;5-bK_Gq72PS8w5kFy#yMK_M4k-9B^e_ojuTEHU*;a z0xSY1Nj79gf=&LLrdnD7xB_u$t!A?fgz`FERvW%nV1ZvtLKmzu!y%!Pme+|@oqk?( z!w$3p`Ydh^f|EdaXg?SO8F?qU}qI=tJ zi29E`G3rZPU*Y;fOp5tPOpRY7rYAgW%T5z*g}E`-^0JVcDhtbc$^DhrjMLPbnSa+R z@o4YMcf7$#fYY@>jtB0Iy`&>=5BSU`)CS_`)>?iA3s4D~p0lu$2 zX8^u^W#D@r05IutZQuZG3kFNVRX_mXa?>^H{wv`zJm>TmRrBNBQLx;7Rza z=EnWqwXxSRMf;US%!q>WGfyWEt7y}N&|9Epvsr7m+u6_M<>g&*b*ZhbWk86cNY67s zngiiXZxBF~a_8!y&tjtGX4;1AgDil#ppSxKYWCFx0CZ@tWk6KxyTZ4tZ-;`hF(Cvp4N%A*L}P9ikm%}=!2pM!W!FbQU1FG26B#XS zn>R?3-s|Z;y*Aj@u)Ys1N!p0-x49=N1rLPB8p@Zl@CHMAT6Vj^VrqEH*~)0;PaD^%1yP_vt-jQiPTfMKo8pbDvgNUxg96btb(h?Mljxv@|1K&)+R3qZD~z5DLFw~(Mw^G~4#xcPG7 za^gCL&pAho7%}slEx^L5Cmq~5tP$p0rB{+uCDGJEx^OW2?U4cjRj#zunm3h z23h#KmkogBB?c%CeH=P>>t6JzGsRKd90DV7!3$x}RQEufMmVx-NkHf6FrL^R3KU0?a5-dwI#Q zn&?rd{yc1`6oSIO9bJ*)|4H~5nAa2)6$L45=&UqUoj{Pe;1xNwIS|b!AU!=TP@@Ud z#NFSmbY)o*)aRzT=4Ql5vr?mBVNL=pMPVz#C&4e~|6huhFvA!R=9p33-GrgGN1?z& zp(cC;RL6`4F)abcXCqKaI*c8U!-1F3%C-b~K=25By?m90FN1S>Z66oB-(C86>97se zB~?MH47=?tfMi2SV?pkt>sW4?n|qU+;yj?`(wG6K2Aks&F{+_7zA$ zdqcxo=3+dSK#LdSfU%=(J*0mxxm_~FL^;K{uoI%uFbf6L&Z5+t+Qe?mzxw1@{pKEX-0MdfIWLTsUw6E~hRxl+w8U$S!m?Iy9X%(fg>+>A|E`UvMZGcga zJpp}#`@k~`mci*m$6@!E2jHFM4%oG-2XjY&K^Zpp#ur~JU$^38?_UEyujvD?Ot^;y zZwlmg4CId3Q6Q8S4mVRt!`y}?2?hfC^_uElVshMDV)PTts>RIYS=NfOo6OAT^IF## zEK*&^(30?DVq$LV)~(wMg9i>e_07M(gdcZ(51Zdwf67v0eWffm{DWtTGo<;s$u3_( z`~JMx2bj4z2B-;p1SS{f!+|{q0FJs~%}Z}UyLRn7Eb6I=QvsX+rw$x}qX*pZ%(Tg{ zqIM{J@$Bue|E2!$%(0re3xx(W}4aV;N^5yWo?_7;8SjA#YB^-0}8$pKZo0nmS|6od(B#1c`YkO5;ODj zIW#pjHO%eA#>U=&!Z<>Lz}0ZW^*2Zr#pP0>PA@H)w?z8kv+b@qSqW|~R7vgM{R!R| znEBZls4dlS=(|JUI&>1&zWTOD^Liq8s90nw7aNtqg|6yVpS_cMWrWWyM47hUkwSaR@?U z)K}K3%8=$jAnk8YLAKv@{hm~W&jleV0{L*$hp>I)7MNqy!D9613fuALhMHR#H(-US z3=Ztr2XM>Chwu_QUp%3s$Efr{bQkjuds55>TVZY# zYGp_I^5l|KeFx^6Jf-7b3Wy2_bT@(Q{c3BvimAFa4opVH#K_&&>Z)MwuC%@}Ads>; z^!u+-RkK}SI~NK;A}~k*=877C27r%VeGTSj#MQPr)7x z!dG^=vWd{?ecJ^FvY+oBbT=%sP6AWZqs^8vctR)HdA-RY7x@~2FhqZ0%So@cR+jf? z0^t1#F0cUA(w%WKXGfEoygQv6dYtpo}sdit{+o0XiEvo&b&c6a8JGaO`9F{%-mV$G$(n`qB%4=Bn z+8VcXq(M6T-H+0t-3O!}-q{Jym6u8L#~LIh4$RKfds%}&aMWvFwjTa9$pJ@^_aEH- zJ-ClFz|#6faBIk|%nAYn0^ydBTfkm!g`-=)hn=r~hKX7z>l^s1A)V18^k@YM3=B6f zha(W7G8pk;Cy~E@EM^!M3wg#up*a5$1Z9A=wx$ykvKkn+WEW*ZxgATnE?h zlQzx#2h7cmZ}jV!2TaCbI4?IzuKhH_iWE>5=BL1tl59A*^LzMt-yt}N6c>&<;mCIf zVcW*{;gc;N!cRN!vCodd(f1C*tkPPh{dEbE=LCQk7^;%E(tn_M!5TrV2{eX-66&%i zM()KRzEMn1Tw=>f6VO^x2ppljWS~%8d5x7UL=L6_*0W^Xo&aseMAi`V76ZT#{XdLJ zjR30i0CYpzT2rkiIVCyBT5FlIZuQ&W?f+mGH2nK8G;BKr$3Hj(pD*7c)#oHjoPtUu zbOnUD=-(Inlq3AbhlPJ#nA8nWJe8VvBV}SIfm9B5MKRZbahAw z-nUcNFClUVT3H}-b-Xs@Tc-%1x^;0$u_iq=t!tLS_(V!*qNCPWv1*xV;?IkV@}+6X zQEmkQwU*D!&_O*WTdW+dD#rN>$n{xzSUqJDy#MwF*zw=5;k&Q*z^+fX!^badf)^(( zfV$Ka6#k=fq0Xm*+FFY-sRS=j`~llA%I5_07*=a-6|(%jez+x9YR$*Wy%!I=+MzrfzaF@+@pA2PP}tbezFTST_QpI zG90DyX^I}n3UkktWU{if^8A9aDPFIw&x(hMXgO8UW58^P1tBpOsw19&s)$FxhWuHr z`K>Mdv#!S8h3vlcjA6+xOwZXBCRsvh@trcowRw%$FdzikT{+Sd>+SKfHQBOK?G%J9 zsuD?aogU4&x^dc&kdQzOj8_Zs;X77Vpre77C*0HGi^!NRrQD-UQE zfN|qAH{W!V7KPa^>#+ycudK+C(51M111q_i~sg6`v33-4hlWQ(-|-3QSFj zgn2p0nAFu$<%%v!h~a%?Rnz7|Tr#s_Wf2Ahdz`VVP&t4r%_rGPjtd1jsZ98OI(2>l zAQwdafcx&dj{wjN>))@GG<=~9fTS+O5dbU7v*GR=uWyn}UD2Tv%o>>ndx~ek`rK-m zZ#2M@$>FfH$SAX=!bVFV%b0^q%8WpIg5CuUM7W3I+SQ34pK-$LF=S0E&^_JZp{}X| z-dQbx>O&bB86jJMQRKU;G z3t@Nh)3C2(HtZ;R3RWf=VMeCT1A^L(Ex|Q`hO=V5d&n31Qc>JvwyYG9+>KCCcD=<< z-q0coP)gJeheOl9{|y0z!r<%s7W0O?lY%f=!PMj^=~-kunIrD=)N$zAP8$HL;!EJT zunfK_eHwO`%z#}*(_wGPO!&Td4lGSfhPn9$k1JAun2$kvW^yE0sJWrCf{O$ICu+XS zmTSzj*y}Vr*lL?AL!Y%Nue2i5($X|qY6fdGU2`9Q@Pk#Ac?3cOG8$=GN;EuQnJYas z@Mc-?yr_2Xjkm+$@z237>wMT_T>yJ5c&(blK=`(F7JQL65#|_lum}V6BBg(fFX0!HewWG6*-mzFPZ0JxH3oh@}aiA$?)Xo>G z$HI*CSc!6ie-vlHfL=Yk05Crh4@V{}hn?nm41nFZ_SzQ0p6a=PW<%6=i^tPzk9TXylkkJMlxaQ* zo=YN~B7Z}qjD9{_4bWHcHX z00a95Wh^VokXDrEI1TsTBexZ`jZ@Mc+joF9`3`89yb9gU64+il8^M6fQHwY2bWW`T9V{08I}PXm(+(#OX$ z0B-LaluiIVTbAW44ILr*Ybo~ab`2~@D1=YSropp$Sun3485W_{)T4`;mKYA><3`~c z4dc+=*pT;|QSh}hMQd?Z^~8iUnJmo>mv&)WWx4gaGi~ zg43Z3mBbX?J7;QPw%7tF1{4<;YcR-aI<{*!XnIEc3Ce~sJ9cM|7~aGRZVm1Qlaiv~ zA0!mo*V%rj!5)^LBdpNrN4}OP4#7FK{$T^lmJ3GLC>DokQH>w ze(Zsb7=$sXrZ{OVJ!`~$(xB^tU~s=+Fg_xep{Yl(s34ssTa$F7QTUHH23KA&^jrD7 znB9-hs0_`ETFZ)uSd=($zQ@%l71H7N-pg`OX1|Dq?hAm(lQL@V^FDHbwI#*4Gf~mP!a@xuTY++!`nn3L zhOR7U0%s*Zp;Q%^#c0%G0y55@33|4#uGd)FPi(D5bB4U+gZXMfm{l5735m z*0NNep>eJN_-4hiv9X%VI(H7_rHO7=bZCE9pKe#hR7O00${amXvc!&-*u1`PaJ_`w zOpE&j@nNT}l@)ziAoj@z&U=?2SwcxkiDvlld$qKC=E|$C(p(oD)LV!TKV8>Y6ZySq zy)OWbWr?v_nY=g`@C(k2voxWm6qxOzsI}U}09#q{J$!b?t(0gl6;^ZpWeJ*y2$k%~ zu^)K3p)*ZIoXZIz1cb6_O(+^0$|iv+_~*U^rk3*mTbk48<)n-z z=fw1c=goX#qBUI*LzF-e)AY}y6|gvPsRUv!WMw#4J-+UC@ZC6$vnZPsf$j!*WgaWvCJRJ<|co&XWr&D0=Uhad>acaB;y(K5a&pP}wpJ%WMU?Nun`n zx;;MZu)OnyZF`a}MDHI2mJ6_%q3923+mh0xY2EGnXa&@Mqiy;sE0F9LkSmfui`Skp zRx)w$O%x7UppwJ8WG?TXp{cjB;-O|5J*2#+vV4F&RrfO6u))v4b2MZ1iUo*CF<+=N z;ewgoN-W?uh*jnv_V0*l($+>TKqoqxH{DAWAA=QdUxMzx?H7 zE4WYsvR&m4#1!4@m^?m$?5#69W?~6= zC7~sS41g?-9gy(x9wb-vT_0NYJ34oXv`J7f?XvWdR8_ zezkna2H)RB8f_KYS<6dqcko<>Z{lM!pQKDeVcr<^F*u&%3GjE#HoHbBEgFt7;Uw<| zyZsDpu@)t|vBCW4gupgD&`8kI$+>bs4wHO8&~KIyDQ&{BS-EC8BW=%jH3pCnZAJNy z*?B?HGx03DpM642b!V>`fAtv=d}q8Z&zR3E!Y+G)ck7kKfw(aeS)D}&vRxY;WYoA- zU(87_q`AgIWt*v7OcZEWdq;b6>;~qmdF)cP6`xXPuznBfuv!Ai1v?DU zAF~p)UOqcj3H~C@3h72mwz1iIi$LI;+PB@=$}AQL8rcfM4=CBOpL)61me96#Rrp>F ze9Nef*JRq!LE)C#+Ad;p>{?YnLt#HIHsMC>hnJEqXH+_5fq7YJc2zE@<@jW@O{!20QMCo%Qnt3Y7MHY0q}MEJfjj>Z;DDB>U7>?-^4e7nGl! z%K)&L+Rg%aeMk;W$gkNc>M9HH2$<+#V$?2cY0*$R&c$X-nrAme{SSSp({q>x-}>pf zD(5)Fv14eQnBIR*9GxdoO3;+f2tZca3?&fC?!(lM;uX4~4Wc3HYdYV-mYpil!AqR6 zwD_nR%5?39nE%MUKis9Nh?4u0g#4TYKB(2k7C>~AEFdSN!olgNx<)RNKaOJoZaQ&r z`Is2|U?!7BC@;NHD9nvUAvnbJgy)d6zd^15udj$1hDElVbdyk!8^#XLFtd9VbQe?N zHWJN~gI{>_EJ$`i(`7AWXFYh%ePaSPo8-sXIYNTwY#Z&=N@tdD{Xz$Hd>T2|&Hw-e za7jc#R4f-IJ=rmMvgzW2`#AW4Z3=*e10dvNRM~w1;DMJ|0W~R-@O1%<67sXxybn_n zyl;Kt`y5Y(tQBP;cG|VhOX2>kpwR+Sr>HGJb?%#1b@*#wi-qrL%@Xmb?2hk$SQV2L zI!o(ke7>79qSDqeAdqE=xkjs}S?_zy7$!YJS;;`NVDk=gs{7CIeYRS@0(?%h(sCZo zz!uXJSMshL8w_ZMh7t>Uk^x|`v}^8WL+5;S869a%0lg^yVLBy?=Mu`j5>An_i5ZDY zIGxp6Te}wI-vR`UJ;N}$i3M<~N5Kk%)@7W={W981w+|^Tyo(P8xcNjvGcG7~l38{+ z?OL-WPk&P!n;l78ZM|k*<(kuWbd|k5{eV_$$ehI_Q7aetaY1Ywk0U8|v$dJAy>krs z?7lN}MgO~%CsR&`4~$?i$)oT0o0=$wk z`N*0cLPc3$Yi&(uKddpwYC2$HWUE}JcOF#uh1xsRXNY$ z;<%&sIcR~>p3KY4^BUGtcbN3yM;Rwpog(;)n?h!bJRDG%H- zhPOm-!?X4AN+$;D!w)KTb>-}5#*gDe-C|Pg2g=d;t#!{AHgP}}RaMa&1%1M|y6T~) zRQ{-~>0th)^!I`UKuN$b!{rIsNlrnX9*v|UX$o?qTm420-f`e#2OSrwZ>+~CC2x!m zC)pu-g7BN(lfJDiKps^rFS*sO3q8yjkd7ba#n@2zep{|FN8!Y+>IM{x!oO`#jbF~{ zG2ZzHzt;f9pQ8Ln1)|%>WJRR4x(H$=2 zvP5ReR6iLwh;ma#vSp>z$qek*yZh>|1ArO`PvOkFfTq5?g{75gU}Fs`V*+=94NZ5g zu!EJpvdXvK)mSb`3-G>SvwF4Zt)`S3l+Bp*w0bJTXAiGD>Cm`qMSJO4z;Cq_05TG1 z@xok_L1DQh!N$cWdz$Tk0ML4^P_x{LtKlx_lyY+i-Xq|r93mA?OL)<%K=ua!trdIN zhLHg%90|BG&6BF}DyH#Xf9BEJ$U z