Template:PlayerInfoBox: Difference between revisions
From Crafters
imported>Sek No edit summary |
Crafterone (talk | contribs) No edit summary |
||
| (13 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
<!-- API CALLS FOR DATA --> | <!-- API CALLS FOR DATA. "suppress error" hides failures, and every value below falls back cleanly when the API is unavailable. --> | ||
{{#get_web_data:url=https://crafters.one/api/v1/stats/players?player={{{uuid|1f61bbf9-a919-4b91-9f36-d082f7bfbf31}}}}} | <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/data/player_role?uuid={{{uuid|1f61bbf9-a919-4b91-9f36-d082f7bfbf31}}}}} | __FORCETOC__ | ||
<!-- Main container for info box --> | <!-- Main container for info box --> | ||
<div | <div style="float:right; border-style:solid; border-width:4px; border-color:{{{border-color|#647c8c}}}; text-align:center; width:25%; max-width:400px; min-width:308px; display: flex; flex-direction: column; gap:0px"> | ||
<!-- Username --> | <!-- Username --> | ||
<div style="text-align: center; font-size: 20px; font-weight: bold"> | <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="text-align: center; background-color: {{RoleColor|role={{#external_value:role}}|uuid={{ | {{#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:{{#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=" | <div style="object-fit:contain"> | ||
https://visage.surgeplay.com/full/500/{{ | 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: | <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| | [[PlayerNumber:{{formatnum:{{#expr:{{formatnum:{{#iferror:{{#external_value:number}}|}}|R}}-1}}}}|<span style="font-size:24px; vertical-align:center">←</span>]] | ||
</div> | [[PlayerNumber:{{formatnum:{{#iferror:{{#external_value:number}}|}}}}|'''Player:''' # {{formatnum:{{#iferror:{{#external_value:number}}|}}}}]] | ||
[[PlayerNumber:{{formatnum:{{#expr:{{formatnum:{{#iferror:{{#external_value:number}}|}}|R}}+1}}}}|<span style="font-size:24px; vertical-align:center">→</span>]] | |||
</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> | ||
<!-- Last Seen --> | <!-- Last Seen --> | ||
<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> | ||
<!-- Statistics Header --> | <!-- Statistics Header --> | ||
<div style="text-align: center; background-color:#9c887b;color: black; margin: | <div style="text-align:center; background-color:#9c887b; color:black; margin:0px 0.5em">Statistics</div> | ||
<!-- Time Played --> | <!-- Time Played --> | ||
<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> | ||
<!-- Deaths --> | <!-- Deaths --> | ||
<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> | ||
<!-- Mob Kills --> | <!-- Mob Kills --> | ||
<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> | ||
<!-- Lifetime Score --> | <!-- Lifetime Score --> | ||
<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> | ||
<!-- 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
?
Player stats are unavailable right now.