From 28a913a92599135d275e30da33ac90f2be1f540d Mon Sep 17 00:00:00 2001 From: crabman77 Date: Sat, 18 Jun 2016 19:12:57 +0200 Subject: [PATCH] new areas systeme --- mods/areas/hud.lua | 76 ++++++++++++++++++++-------- mods/areas/textures/areas_0_0_0.png | Bin 0 -> 365 bytes mods/areas/textures/areas_0_0_1.png | Bin 0 -> 668 bytes mods/areas/textures/areas_0_1_0.png | Bin 0 -> 669 bytes mods/areas/textures/areas_0_1_1.png | Bin 0 -> 669 bytes mods/areas/textures/areas_1_0_0.png | Bin 0 -> 499 bytes mods/areas/textures/areas_1_0_1.png | Bin 0 -> 385 bytes mods/areas/textures/areas_1_1_0.png | Bin 0 -> 383 bytes mods/areas/textures/areas_1_1_1.png | Bin 0 -> 792 bytes 9 files changed, 54 insertions(+), 22 deletions(-) create mode 100644 mods/areas/textures/areas_0_0_0.png create mode 100644 mods/areas/textures/areas_0_0_1.png create mode 100644 mods/areas/textures/areas_0_1_0.png create mode 100644 mods/areas/textures/areas_0_1_1.png create mode 100644 mods/areas/textures/areas_1_0_0.png create mode 100644 mods/areas/textures/areas_1_0_1.png create mode 100644 mods/areas/textures/areas_1_1_0.png create mode 100644 mods/areas/textures/areas_1_1_1.png diff --git a/mods/areas/hud.lua b/mods/areas/hud.lua index e1f6c1fa..0780b482 100755 --- a/mods/areas/hud.lua +++ b/mods/areas/hud.lua @@ -3,42 +3,74 @@ areas.hud = {} local function tick() - minetest.after(1, tick) for _, player in pairs(minetest.get_connected_players()) do local name = player:get_player_name() local pos = vector.round(player:getpos()) - local areaStrings = {} + local area_text = "no areas\n\n" + local area_owner_name = "" + local mod_owner = 0 + local mod_open = 0 + local mod_farming = 0 + local area_name = "" + local nb_areas = 0 for id, area in pairs(areas:getAreasAtPos(pos)) do - table.insert(areaStrings, ("%s [%u] (%s%s)") - :format(area.name, id, area.owner, - area.open and ":open" or area.openfarming and ":open to farming" or "")) + nb_areas = nb_areas+1 + if areas:isAreaOwner(id, name) then + mod_owner = 1 + end + + if area.open then + mod_open = 1 + end + if area.openfarming then + mod_farming = 1 + end + + if not area.parent then + area_owner_name = area.owner + area_name = area.name + end end - local areaString = "Areas:" - if #areaStrings > 0 then - areaString = areaString.."\n".. - table.concat(areaStrings, "\n") + + local icon = "areas_1_0_1.png" + if nb_areas > 0 then + area_text = ("nb area:%u\nowner:%s\nname:%s"):format(nb_areas, area_owner_name, area_name) + icon = ("areas_%u_%u_%u.png"):format(mod_owner, mod_open, mod_farming) end - local hud = areas.hud[name] - if not hud then - hud = {} - areas.hud[name] = hud - hud.areasId = player:hud_add({ + if not areas.hud[name] then + areas.hud[name] = {} + areas.hud[name].icon = player:hud_add({ + hud_elem_type = "image", + position = {x=0,y=1}, + scale = {x=1,y=1}, + offset = {x=26,y=-60}, + text = icon, + }) + + areas.hud[name].areas_id = player:hud_add({ hud_elem_type = "text", name = "Areas", number = 0xFFFFFF, position = {x=0, y=1}, - offset = {x=8, y=-8}, - text = areaString, - scale = {x=200, y=60}, + offset = {x=48, y=-40}, + text = area_text, + scale = {x=1, y=1}, alignment = {x=1, y=-1}, }) - hud.oldAreas = areaString - return - elseif hud.oldAreas ~= areaString then - player:hud_change(hud.areasId, "text", areaString) - hud.oldAreas = areaString + areas.hud[name].old_area_text = area_text + areas.hud[name].old_icon = icon + else + if areas.hud[name].old_area_text ~= area_text then + player:hud_change(areas.hud[name].areas_id, "text", area_text) + areas.hud[name].old_area_text = area_text + end + if areas.hud[name].old_icon ~= icon then + player:hud_change(areas.hud[name].icon, "text", icon) + areas.hud[name].old_icon = icon + end end end + minetest.after(1.5, tick) end tick() diff --git a/mods/areas/textures/areas_0_0_0.png b/mods/areas/textures/areas_0_0_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f75a131f0385bc1dc82b133f4d7933f8f3863834 GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)^mS!_z|6tHCYmeo@dQxlm#2$kNX4zUHxBYO8*nrvDpVKT zowV1?`pveKu-NXBKPquHTRwzF1y6jmaN^{h9r-GY>Nz)rmM9y}m3xr$aiYMitsgX4 z&c^-8;ON$g3lEHS3ALN|`*&?|lj_I9M@s+RPJG_jDA&93T8pm1ql#`TBh%!M6FJOQ zsaB~-eAG{f?9T7K`g+U8!1*t95@&|nFA~jpcJ=+l=ChlE79TUylmj{t6$BXY#T%vU zWw)tLbmC?Ru*sXAqhjBd&irC-h>BS?s#-YjN>|?WMNyImG8q{dW|*$KxqI5&_e_si XeZM+2H%#t$22$tg>gTe~DWM4f3NCzP literal 0 HcmV?d00001 diff --git a/mods/areas/textures/areas_0_0_1.png b/mods/areas/textures/areas_0_0_1.png new file mode 100644 index 0000000000000000000000000000000000000000..65468ad1d86858a7a7c3cd4c05343f0524910143 GIT binary patch literal 668 zcmV;N0%QG&P)010qNS#tmY7ZU&g7ZU-s*f6#L000McNliru-~$K<1_TG7(K-MC0x3yE zK~#9!?V7)88$l31cj<*VbiASmCR&l^Nw(|NUzQXQ1yUOTw$Po1FSaXB$yk{ZWL40M<> z*1m@!kVkp5RWg;2&fA0#f00e*l5C8%|00;m9AOI?;r7szLy$4+N!bCzq090HxCy8WD z8Q%b8ZIn&eHCw9|M-hX;fM&A^K%>#1-|sV-OaOSXvm-g65PI;@!kh;UNlj~Q#^bS> zDT*Q!hGFXWNbYxc5K?R8fNmH9&}y})*Xwkdb**1G&TV5Z&eC)6MPCOTKV zJvmJ*jit*0d(WN%u(@%~$NmjpqRUi+B?lDoB$%}Nn;X{v^oG;a)h`u*ne)Bj6yU#d zS6TpfW4I&<6!fcsnCweyk$ZSDYHV%|D{yD|UyY|5u^7uDJU-+x^F`@}ovB?tKQ zTVNT3vpfpdoRKV34k+@QdHH8Z07w;Zpw5DQ7W5aFI#_US98hTh000080xC&F zK~#9!?VG(zBS9F4pIIy|EG{h3OBq7iU~9FOS11;T2v-EllWVRMBr13RfQ|peaaY(V zqzX0?k}8E8D}%+w#@s1l5!S*FMDARTyEC)S`@*u2Vs?Jd`!#u!1;YHT4`5XBIzcE~h3kT#Y!{z42v4VYwT@CXl;Y8~ar1fX18NqxlL(^!U3`DR zLYpybty`D^X|y+8EmPSjUMB=Et&~V&gF4Ovo~`2J)=H||cxi=bR?M^6`#Ms=%d+>A z*n^i9Po=fChvOyy1b_e#00KY&2mk>f00e*l5C8%|061tb9x~WE2OM=^A}JsM9Jete zh2)hM*#-d6_tSOF!U%Yd9aoR(cDoddMF4WS9Gy;w!C(MD&BY*}pKQsX-l}Z!}1)4PZwlW96#rYL`3#ayX zf!Elb$LoVS0F_FG)vaFud|8~88sH3opb@b4`6I1X3*YzgeV>i(9}WTd>GN*xEXn4`=2B9ni&As5gEM>t6%Gj00000NkvXXu0mjf D&Egjp literal 0 HcmV?d00001 diff --git a/mods/areas/textures/areas_0_1_1.png b/mods/areas/textures/areas_0_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..603ad3878dd1bf553cf877f2f8da357059bc4bf2 GIT binary patch literal 669 zcmV;O0%HA%P)80xC&F zK~#9!?VG(zBS9F4pIIy|EG{h3OBq7iU~9FOS11;T2v-EllWVRMBr13RfQ|peaaY(V zqzX0?k}8E8D}%+w#@s1l5!S*FMDARTyEC)S`@*u2Vs?Jd`!#u!1;YHT4`5XBIzcE~h3kT#Y!{z42v4VYwT@CXl;Y8~ar1fX18NqxlL(^!U3`DR zLYpybty`D^X|y+8EmPSjUMB=Et&~V&gF4Ovo~`2J)=H||cxi=bR?M^6`#Ms=%d+>A z*n^i9Po=fChvOyy1b_e#00KY&2mk>f00e*l5C8%|061tb9x~WE2OM=^A}JsM9Jete zh2)hM*#-d6_tSOF!U%Yd9aoR(cDoddMF4WS9Gy;w!C(MD&BY*}pKQsX-l}Z!}1)4PZwlW96#rYL`3#ayX zf!Elb$LoVS0F_FG)vaFud|8~88sH3opb@b4`6I1X3*YzgeV>i(9}WTd>GN*xEXn4`=2B9ni&As5gEM>t6%Gj00000NkvXXu0mjf D&Egjp literal 0 HcmV?d00001 diff --git a/mods/areas/textures/areas_1_0_0.png b/mods/areas/textures/areas_1_0_0.png new file mode 100644 index 0000000000000000000000000000000000000000..6a75ada420d6811a72063441e06d8a5f060653a5 GIT binary patch literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)4%caKYZ?lYt_f1s;*b z3=HDJAk4V+hQT(VAbW|YuPgflW)2Qk7MH6VSR45 zhe!yA%gN@CN)rRrJ}jET(%Hn+sdiH&#zpCNLiP1Go6^0aKla(5@6qQHk;}VwmFNEE z^MCyr9*b1S{#dQubNmluk9k7jhO_)pTaVp%%AT-?A-&P)%bFFR7=PS*UK@U!Kkl#8 zW5wKteTv`r%{t6nw&gFM9oOCeGuAKVx={K_F5*GNzfTt54{T#U^f028IipD?^{j9D zsn?Asw#SF>+B@}6$Ft5T#$&7-GH-4^s>XEw!ySR7U3peQIZO|BUEBHK@K%R8x4T*A z>V{_Djgn}~D(aM5UU;aI<&xF4-rZbwuG4JXSFDKb`81#HLu6AsXRKRI)>?M^@-uOa z$AXW1@6veBBHG%{z%n6u$0f!+Q4S1D0u2mZEFYFK@A$${^HTSL2{X%tVjlej?=7$0 z>pDWYITn1#VETIh&fj?w2j*}r69Xz|QD9)?fapYK8rXgMtuafbVI?bzLW9ra{D1co dU!Iw0%WB|u>ig4%C&1`o@O1TaS?83{1OP;9&V~R0 literal 0 HcmV?d00001 diff --git a/mods/areas/textures/areas_1_0_1.png b/mods/areas/textures/areas_1_0_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ce81468660140c9e05e9b603001cdda50c5300c5 GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)4%caKYZ?lYt_f1s;*b z3=HDJAk4V+hQT(VAbW|YuPgflHX#8?S?>pX)fpHV`8-`5Ln>~)y>*eV$$+Qzp|R7K zxxPK2^P^w)PM2W6=_dW}-lEsPE*d3G;gd_vFuPr$Yudp3FHWOjsZvd9*lCW0-tvmm zED2M~Z=0uVf58wo@vOMr_X%I_u`evqzo$A^HCF3-rB_w2bmz{KTHo^*?q9dI^Y#3| zPZ_coKIh1PxM$F6{XhG-*F?rOpQBX0*l!%VYw@(IboQ+L7ngP}w&7~{dh^1I!0g+M zV!Ll_T<$Q5fuW%%u#fLS570AU(8BOxF|&vpL&KSk`xg(u)$STKxjo0OffReX`njxgN@xNA DHB69q literal 0 HcmV?d00001 diff --git a/mods/areas/textures/areas_1_1_0.png b/mods/areas/textures/areas_1_1_0.png new file mode 100644 index 0000000000000000000000000000000000000000..6d19b24da229bb7f51398a3b1b35333d3464b223 GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)^mS!_z|6tH$@<;?Z!!Y|Baf$xV@SoVx3>-X4jJ&YK1}B} zEOK9W(214(Vc(m8G6&6&&cYM#H-=vRj~qFs+5J2wAU12yNfYl`^ZMqi+*QpKJRi5tmpQJ5SO;<>Wy^= znSriH1#CU+Gq0 q3~F9LQLEnhe>VOtJNx6J)hC7)J-z%HT|K`+sy$u(T-G@yGywn!=7v20 literal 0 HcmV?d00001 diff --git a/mods/areas/textures/areas_1_1_1.png b/mods/areas/textures/areas_1_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2cd1b3ba40db3e9f3cadbb814aab8b397e7847 GIT binary patch literal 792 zcmV+z1LypSP)VvhL`sLoi+@sZh#`YZVm?9q0Co}w5y4Rr#3@pHQgIht#KkY5 z(9OjR9dsydI!FeS4swfNB0^GIYKQbVv{%}Y#N6io%{lK9axb~(yub52&pr1NP`nIZ zM-#{)=Zwh&AUF%`I{eiI1V5q=K=22cI&n-o8a0mKAbJ1<9bnp}8A=w3MF+rfpATDY z>3H-j2)>0Iz_5@z9L+!iqUZP$90^_icfKO500uQLfhi11BVOk@&>aH8z+llm00~#F zQs&OUDVH5WUii1t{jDTVVIEHvAUF>+`<&?_#suuczQK)jZ4Q`V!UecS-&~OHS-_jy zi*PktVtsWh+`$kVTcW+wIK!+5NaJ4JxMQxTNQqw_DC)oq`Hu&{mf*<=nI7(1_m)0T|%}AXT@3p))`Oh;lg> zun4K^Px&HNTR;O)yb>bR*S1&u1_X_-YQr{uweb#8UUG0 zhEyuWI%~XmcoTr#oqgUt{yCWd?6OyUwNn8gm&@_=)iMB&Zr{)upbUV5Rpi-&TU4u6 zOw+_PO_pB2R|mlSOOx4i`#iZnPrY8JUa$LdYYaRC?!LJUK=$GupK7pD-Uc7{1bQD3 z^y*)l*#lr>v&%~Pw>kjq<~KIG0DLI5)lh)#dAs?b8V>|OujGSnUWcHc3J8nmeFt#d z^Q&LGd|YU&rGW3vouf}e*SyXEKNJwgRrdsd+b=7l1wiQc0UCe?5YY