Template:PlayerInfoBox: Difference between revisions

From Crafters
imported>Sek
No edit summary
No edit summary
 
Line 1: Line 1:
<!-- API CALLS FOR DATA + SET DISPLAY TITLE -->
<!-- API CALLS FOR DATA. "suppress error" hides failures, and every value below falls back cleanly when the API is unavailable. -->
<span style="display:none">
<span style="display:none">{{#get_web_data:url=https://crafters.one/api/v1/stats/players?player={{{uuid|1f61bbf9-a919-4b91-9f36-d082f7bfbf31}}}|suppress error}}{{#get_web_data:url=https://crafters.one/api/v1/data/player_role?uuid={{{uuid|1f61bbf9-a919-4b91-9f36-d082f7bfbf31}}}|suppress error}}{{#if:{{#iferror:{{#external_value:username}}|}}|{{DISPLAYTITLE:{{#iferror:{{#external_value:username}}|}}}}}}</span>
{{#get_web_data:url=https://crafters.one/api/v1/stats/players?player={{{uuid|1f61bbf9-a919-4b91-9f36-d082f7bfbf31}}}}}{{#get_web_data:url=https://crafters.one/api/v1/data/player_role?uuid={{{uuid|1f61bbf9-a919-4b91-9f36-d082f7bfbf31}}}}}{{DISPLAYTITLE:{{#external_value:username}}}}
</span>
__FORCETOC__
__FORCETOC__
<!-- Main container for info box -->
<!-- Main container for info box -->
Line 9: Line 7:
<!-- Username -->
<!-- Username -->
<div style="text-align:center; font-size:20px; font-weight:bold; vertical-align:center">
<div style="text-align:center; font-size:20px; font-weight:bold; vertical-align:center">
{{#external_value:username|?}}
{{#if:{{#iferror:{{#external_value:username}}|}}|{{#iferror:{{#external_value:username}}|}}|{{{name|?}}}}}
</div>
</div>


<!-- Role -->
<!-- Role -->
<div style="display: flex; align-items: center; justify-content: center; text-align: center; background-color:{{RoleColor|role={{#external_value:role}}|uuid={{#external_value:uuid}}}}; color:black; margin:4px 4px; height: 26px; font-weight:bold">
{{#if:{{#iferror:{{#external_value:role}}|}}|<div style="display: flex; align-items: center; justify-content: center; text-align: center; background-color:{{RoleColor|role={{#iferror:{{#external_value:role}}|}}|uuid={{{uuid|}}}}}; color:black; margin:4px 4px; height: 26px; font-weight:bold">
{{ucfirst:{{#external_value:role}}}}
{{ucfirst:{{#iferror:{{#external_value:role}}|}}}}
</div>
</div>}}


<!-- Player Image -->
<!-- Player Image (uses the page's uuid, so it works even when the stats API is down) -->
<div style="object-fit:contain">
<div style="object-fit:contain">
https://visage.surgeplay.com/full/500/{{#external_value:uuid}}.png
https://visage.surgeplay.com/full/500/{{{uuid|1f61bbf9-a919-4b91-9f36-d082f7bfbf31}}}.png
</div>
</div>


{{#if:{{#iferror:{{#external_value:username}}|}}|
<!-- Player Details Header -->
<!-- Player Details Header -->
<div style="text-align:center; background-color:#9abed6; color:black; margin:0px 0.5em">Player Details</div>
<div style="text-align:center; background-color:#9abed6; color:black; margin:0px 0.5em">Player Details</div>


<!-- Player Numbers and Wheel -->
<!-- Player Numbers and Wheel -->
<div style="padding:0px">
{{#if:{{#iferror:{{#external_value:number}}|}}|<div style="padding:0px">
[[PlayerNumber:{{formatnum:{{#expr:{{formatnum:{{#external_value:number|1}}|R}}-1}}}}|<span style="font-size:24px; vertical-align:center">←</span>]]
[[PlayerNumber:{{formatnum:{{#expr:{{formatnum:{{#iferror:{{#external_value:number}}|}}|R}}-1}}}}|<span style="font-size:24px; vertical-align:center">←</span>]]
[[PlayerNumber:{{formatnum:{{#external_value:number|0}}}}|'''Player:''' # {{formatnum:{{#external_value:number|?}}}}]]
[[PlayerNumber:{{formatnum:{{#iferror:{{#external_value:number}}|}}}}|'''Player:''' # {{formatnum:{{#iferror:{{#external_value:number}}|}}}}]]
[[PlayerNumber:{{formatnum:{{#expr:{{formatnum:{{#external_value:number|1}}|R}}+1}}}}|<span style="font-size:24px; vertical-align:center">→</span>]]
[[PlayerNumber:{{formatnum:{{#expr:{{formatnum:{{#iferror:{{#external_value:number}}|}}|R}}+1}}}}|<span style="font-size:24px; vertical-align:center">→</span>]]
</div>
</div>}}


<!-- Join Date -->
<!-- Join Date -->
<div>
<div>
<span style="font-weight:bold">Join Date:</span>
<span style="font-weight:bold">Join Date:</span>
{{#time:F j, Y | @{{#expr:{{#external_value:join_date}}/1000}} }}
{{#if:{{#iferror:{{#external_value:join_date}}|}}|{{#time:F j, Y | @{{#expr:{{#iferror:{{#external_value:join_date}}|}}/1000 round 0}} }}|Unknown}}
</div>
</div>


Line 41: Line 40:
<div>
<div>
<span style="font-weight:bold">Last Seen:</span>
<span style="font-weight:bold">Last Seen:</span>
{{#time:F j, Y | @{{#expr:{{#external_value:last_seen}}/1000}} }}
{{#if:{{#iferror:{{#external_value:last_seen}}|}}|{{#time:F j, Y | @{{#expr:{{#iferror:{{#external_value:last_seen}}|}}/1000 round 0}} }}|Unknown}}
</div>
</div>


Line 50: Line 49:
<div>
<div>
<span style="font-weight:bold">Time Played:</span>
<span style="font-weight:bold">Time Played:</span>
{{formatnum:{{#expr:ceil({{#external_value:play_time}}/60/60)}}}} Hours
{{#if:{{#iferror:{{#external_value:play_time}}|}}|{{formatnum:{{#expr:ceil({{#iferror:{{#external_value:play_time}}|}}/60/60)}}}} Hours|Unknown}}
</div>
</div>


Line 56: Line 55:
<div>
<div>
<span style="font-weight:bold">Deaths:</span>
<span style="font-weight:bold">Deaths:</span>
{{formatnum:{{#external_value:deaths}}}}
{{#if:{{#iferror:{{#external_value:deaths}}|}}|{{formatnum:{{#iferror:{{#external_value:deaths}}|}}}}|0}}
</div>
</div>


Line 62: Line 61:
<div>
<div>
<span style="font-weight:bold">Mob Kills:</span>
<span style="font-weight:bold">Mob Kills:</span>
{{formatnum:{{#external_value:mob_kills}}}}
{{#if:{{#iferror:{{#external_value:mob_kills}}|}}|{{formatnum:{{#iferror:{{#external_value:mob_kills}}|}}}}|0}}
</div>
</div>


Line 68: Line 67:
<div>
<div>
<span style="font-weight:bold">Lifetime Score:</span>
<span style="font-weight:bold">Lifetime Score:</span>
{{formatnum:{{#external_value:lifetime_xp}}}}
{{#if:{{#iferror:{{#external_value:lifetime_xp}}|}}|{{formatnum:{{#iferror:{{#external_value:lifetime_xp}}|}}}}|0}}
</div>
</div>
|<div style="margin:6px 8px 8px; color:#54595d; font-size:90%">Player stats are unavailable right now.</div>}}


</div>
</div>
Line 75: Line 75:
<!-- Categories -->
<!-- Categories -->
[[Category:Players]]
[[Category:Players]]
[[Category:{{#time:F | @{{#expr:{{#external_value:join_date}}/1000}} }}]]
{{#if:{{#iferror:{{#external_value:join_date}}|}}|[[Category:{{#time:F | @{{#expr:{{#iferror:{{#external_value:join_date}}|}}/1000 round 0}} }}]] [[Category:{{#time:Y | @{{#expr:{{#iferror:{{#external_value:join_date}}|}}/1000 round 0}} }}]]}}
[[Category:{{#time:Y | @{{#expr:{{#external_value:join_date}}/1000}} }}]]
{{#ifeq:{{#iferror:{{#external_value:role}}|}}|volunteer|[[Category:Volunteers]]|}}
{{#ifeq:{{#external_value:role}}|volunteer|[[Category:Volunteers]]|}}
{{#ifeq:{{#iferror:{{#external_value:role}}|}}|glow-person|[[Category:Glow Person]]|}}
{{#ifeq:{{#external_value:role}}|glow-person|[[Category:Glow Person]]|}}

Latest revision as of 08:35, 11 October 2026

?


1f61bbf9-a919-4b91-9f36-d082f7bfbf31.png

Player stats are unavailable right now.