_Ben_ Posted August 2, 2022 Share Posted August 2, 2022 (edited) Seems to be very popular at the moment - utilising data instead of attributes so here is my take on something... This is barely even a WIP as I've just changed it around on my own attribute analyser but interesting in the feedback. On the left are the attributes that I'll be hiding but on the right, I'm able to create visualisations of it but also have the average score - which I think is essential to monitor player development, a big part of how I play. You can find the individual breakdown for each heading here. This is not the entire panel so has to be merged inside the player attribute analyser outfield if you want to steal my code for this bit! Spoiler <list id="items"> <!-- layer 1 (there is only one) --> <list> <record id="item"> <translation id="name" type="use" value="Attacking" /> <real id="max_value" value="20" /> <integer id="angle" value="0" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- technique --> <integer value="Ptec" /> <!-- off the ball --> <integer value="Potb" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Intelligence" /> <real id="max_value" value="20" /> <integer id="angle" value="30" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- anticipation --> <integer value="Pant" /> <!-- composure --> <integer value="Pcmp" /> <!-- decisions --> <integer value="Pdec" /> <!-- determination --> <integer value="Pdet" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Defence" /> <real id="max_value" value="20" /> <integer id="angle" value="60" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- marking --> <integer value="Pmar" /> <!-- tackling --> <integer value="Ptac" /> <!-- positioning --> <integer value="Ppsn" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Work Rate" /> <real id="max_value" value="20" /> <integer id="angle" value="90" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- aggression --> <integer value="Pagg" /> <!-- bravery --> <integer value="Pbra" /> <!-- determination --> <integer value="Pdet" /> <!-- workrate --> <integer value="Pwkr" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Press Resistance" /> <real id="max_value" value="20" /> <integer id="angle" value="120" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- composure --> <integer value="Pcmp" /> <!-- first touch --> <integer value="Pfrs" /> <!-- balance --> <integer value="Pbal" /> <!-- decisions --> <integer value="Pdec" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Pressing" /> <real id="max_value" value="20" /> <integer id="angle" value="150" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- aggression --> <integer value="Pagg" /> <!-- determination--> <integer value="Pdet" /> <!-- workrate --> <integer value="Pwkr" /> <!-- natural fitness --> <integer value="Pnft" /> <!-- stamina --> <integer value="Psta" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Playmaking" /> <real id="max_value" value="20" /> <integer id="angle" value="180" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- technique --> <integer value="Ptec" /> <!-- creativity --> <integer value="Pcre" /> <!-- first touch --> <integer value="Pfrs" /> <!-- composure --> <integer value="Pcmp" /> <!-- decisions --> <integer value="Pdec" /> <!-- teamwork --> <integer value="Ptwr" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Leadership" /> <real id="max_value" value="20" /> <integer id="angle" value="210" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- leadership --> <integer value="Pinf" /> <!-- teamwork --> <integer value="Ptwr" /> <!-- workrate --> <integer value="Pwkr" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Passing" /> <real id="max_value" value="20" /> <integer id="angle" value="240" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- passing --> <integer value="Ppas" /> <!-- technique --> <integer value="Ptec" /> <!-- first touch --> <integer value="Pfrs" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Dribbling" /> <real id="max_value" value="20" /> <integer id="angle" value="270" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- dribbling --> <integer value="Pdri" /> <!-- flair --> <integer value="Pfla" /> <!-- agility --> <integer value="Pagi" /> <!-- balance --> <integer value="Pbal" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Physicality" /> <real id="max_value" value="20" /> <integer id="angle" value="300" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- jumping --> <integer value="Pjum" /> <!-- strength --> <integer value="Pstr" /> <!-- pac--> <integer value="Ppac" /> <!-- acceleration --> <integer value="Pacc" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Aerial" /> <real id="max_value" value="20" /> <integer id="angle" value="330" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- heading --> <integer value="Phea" /> <!-- jumping reach --> <integer value="Pjum" /> <!-- strength--> <integer value="Pstr" /> If this was to be replicated three times for defensive, transition and offence - I think that I could create three nice polygons, moving away from individual attributes and moving towards a more holistic view of the attributes that can be used in comparison with stats. Would love to hear any feedback on this! Edited August 2, 2022 by _Ben_ 1 Link to post Share on other sites More sharing options...
EnigMattic1 Posted August 2, 2022 Share Posted August 2, 2022 31 minutes ago, _Ben_ said: Seems to be very popular at the moment - utilising data instead of attributes so here is my take on something... This is barely even a WIP as I've just changed it around on my own attribute analyser but interesting in the feedback. On the left are the attributes that I'll be hiding but on the right, I'm able to create visualisations of it but also have the average score - which I think is essential to monitor player development, a big part of how I play. You can find the individual breakdown for each heading here. This is not the entire panel so has to be merged inside the player attribute analyser outfield if you want to steal my code for this bit! Reveal hidden contents <list id="items"> <!-- layer 1 (there is only one) --> <list> <record id="item"> <translation id="name" type="use" value="Attacking" /> <real id="max_value" value="20" /> <integer id="angle" value="0" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- technique --> <integer value="Ptec" /> <!-- off the ball --> <integer value="Potb" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Intelligence" /> <real id="max_value" value="20" /> <integer id="angle" value="30" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- anticipation --> <integer value="Pant" /> <!-- composure --> <integer value="Pcmp" /> <!-- decisions --> <integer value="Pdec" /> <!-- determination --> <integer value="Pdet" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Defence" /> <real id="max_value" value="20" /> <integer id="angle" value="60" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- marking --> <integer value="Pmar" /> <!-- tackling --> <integer value="Ptac" /> <!-- positioning --> <integer value="Ppsn" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Work Rate" /> <real id="max_value" value="20" /> <integer id="angle" value="90" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- aggression --> <integer value="Pagg" /> <!-- bravery --> <integer value="Pbra" /> <!-- determination --> <integer value="Pdet" /> <!-- workrate --> <integer value="Pwkr" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Press Resistance" /> <real id="max_value" value="20" /> <integer id="angle" value="120" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- composure --> <integer value="Pcmp" /> <!-- first touch --> <integer value="Pfrs" /> <!-- balance --> <integer value="Pbal" /> <!-- decisions --> <integer value="Pdec" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Pressing" /> <real id="max_value" value="20" /> <integer id="angle" value="150" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- aggression --> <integer value="Pagg" /> <!-- determination--> <integer value="Pdet" /> <!-- workrate --> <integer value="Pwkr" /> <!-- natural fitness --> <integer value="Pnft" /> <!-- stamina --> <integer value="Psta" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Playmaking" /> <real id="max_value" value="20" /> <integer id="angle" value="180" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- technique --> <integer value="Ptec" /> <!-- creativity --> <integer value="Pcre" /> <!-- first touch --> <integer value="Pfrs" /> <!-- composure --> <integer value="Pcmp" /> <!-- decisions --> <integer value="Pdec" /> <!-- teamwork --> <integer value="Ptwr" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Leadership" /> <real id="max_value" value="20" /> <integer id="angle" value="210" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- leadership --> <integer value="Pinf" /> <!-- teamwork --> <integer value="Ptwr" /> <!-- workrate --> <integer value="Pwkr" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Passing" /> <real id="max_value" value="20" /> <integer id="angle" value="240" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- passing --> <integer value="Ppas" /> <!-- technique --> <integer value="Ptec" /> <!-- first touch --> <integer value="Pfrs" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Dribbling" /> <real id="max_value" value="20" /> <integer id="angle" value="270" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- dribbling --> <integer value="Pdri" /> <!-- flair --> <integer value="Pfla" /> <!-- agility --> <integer value="Pagi" /> <!-- balance --> <integer value="Pbal" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Physicality" /> <real id="max_value" value="20" /> <integer id="angle" value="300" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- jumping --> <integer value="Pjum" /> <!-- strength --> <integer value="Pstr" /> <!-- pac--> <integer value="Ppac" /> <!-- acceleration --> <integer value="Pacc" /> </list> </record> <record id="item"> <translation id="name" type="use" value="Aerial" /> <real id="max_value" value="20" /> <integer id="angle" value="330" /> <colour id="colour" name="fg" /> <flags id="standard_spec" value="text" /> <flags id="size" value="small" /> <list id="attributes"> <!-- heading --> <integer value="Phea" /> <!-- jumping reach --> <integer value="Pjum" /> <!-- strength--> <integer value="Pstr" /> If this was to be replicated three times for defensive, transition and offence - I think that I could create three nice polygons, moving away from individual attributes and moving towards a more holistic view of the attributes that can be used in comparison with stats. Would love to hear any feedback on this! I'm liking this. I'm all for tabs and polygons (you can never have enough) and I'm always looking for new ideas. I actually tried replacing the whole attribute table with 3 polygons at one point...... But I couldn't get them to populate. I am really liking this though, especially the average scores. I would love to steal the code, but I don't actually know where I would place the polygon in my skin. Link to post Share on other sites More sharing options...
_Ben_ Posted August 2, 2022 Author Share Posted August 2, 2022 First issue.. I can't seem to separate two containers within a container. I'm pretty good as moving code around but actually re-writing things is not my forte. Should they be widgets or should I be doing something different? Here is what I've created thus far: <panel> <layout class="stick_to_sides_attachment" alignment="all" inset="0" apply_to_children="true"/> <container class="horizontal_adaptive_container" offset="0" inset="0" gap="0" mode="distribute_equally"> <container minimum_width="300" priority="1" default_width="-1"> <layout class="stick_to_sides_attachment" alignment="all" apply_to_children="true" inset="0" /> <!-- Outfield player --> <container class="person_happiness_panel" id="phap" file="player/Tabbed/polygons/attribute analyser" minimum_width="170" priority="2" default_width="170"> <record id="object_property" get_property="Pigo" set_property="hidn"/> </container> <widget class="picture" file="dividers/standard/vertical/line" width="1" /> <container class="person_happiness_panel" id="dnap" file="player/Tabbed/polygons/player attribute analyser panel dna" minimum_width="170" priority="3" default_width="170"> <record id="object_property" get_property="Pigo" set_property="hidn"/> </container> <widget class="picture" file="dividers/standard/vertical/line" width="1" /> <!-- Goalkeeper --> <container class="person_happiness_panel" file="player/Tabbed/polygons/attribute analyser" id="gkap" minimum_width="170" priority="2" default_width="170"> <record id="object_property" get_property="Pigo" set_property="Shwn"/> </container> <container class="person_happiness_panel" id="dnap" file="player/Tabbed/polygons/player attribute analyser panel dna" minimum_width="170" priority="3" default_width="170"> <record id="object_property" get_property="Pigo" set_property="hidn"/> </container> </container> <!-- More attribute stuff--> <container class="client_object_viewer_xml_panel" id="atT2" file="player/player additional attributes panel" minimum_width="170" priority="4" default_width="170"> <record id="object_property" get_property="objt" set_property="objt"/> </container> </container> </panel> Link to post Share on other sites More sharing options...
snowofman Posted August 2, 2022 Share Posted August 2, 2022 4 minutes ago, _Ben_ said: First issue.. I can't seem to separate two containers within a container. I'm pretty good as moving code around but actually re-writing things is not my forte. Should they be widgets or should I be doing something different? Here is what I've created thus far: <panel> <layout class="stick_to_sides_attachment" alignment="all" inset="0" apply_to_children="true"/> <container class="horizontal_adaptive_container" offset="0" inset="0" gap="0" mode="distribute_equally"> <container minimum_width="300" priority="1" default_width="-1"> <layout class="stick_to_sides_attachment" alignment="all" apply_to_children="true" inset="0" /> <!-- Outfield player --> <container class="person_happiness_panel" id="phap" file="player/Tabbed/polygons/attribute analyser" minimum_width="170" priority="2" default_width="170"> <record id="object_property" get_property="Pigo" set_property="hidn"/> </container> <widget class="picture" file="dividers/standard/vertical/line" width="1" /> <container class="person_happiness_panel" id="dnap" file="player/Tabbed/polygons/player attribute analyser panel dna" minimum_width="170" priority="3" default_width="170"> <record id="object_property" get_property="Pigo" set_property="hidn"/> </container> <widget class="picture" file="dividers/standard/vertical/line" width="1" /> <!-- Goalkeeper --> <container class="person_happiness_panel" file="player/Tabbed/polygons/attribute analyser" id="gkap" minimum_width="170" priority="2" default_width="170"> <record id="object_property" get_property="Pigo" set_property="Shwn"/> </container> <container class="person_happiness_panel" id="dnap" file="player/Tabbed/polygons/player attribute analyser panel dna" minimum_width="170" priority="3" default_width="170"> <record id="object_property" get_property="Pigo" set_property="hidn"/> </container> </container> <!-- More attribute stuff--> <container class="client_object_viewer_xml_panel" id="atT2" file="player/player additional attributes panel" minimum_width="170" priority="4" default_width="170"> <record id="object_property" get_property="objt" set_property="objt"/> </container> </container> </panel> Try and seperate the 2 codes into 2 seperate files and then just call them from the 1 file, might do the trick Link to post Share on other sites More sharing options...
EnigMattic1 Posted August 2, 2022 Share Posted August 2, 2022 Another way to try and do it, which I tried, was to separate the attributes across tabs. So, you would have 1 tab for technical, mental and physical with one polygon per tab. Link to post Share on other sites More sharing options...
_Ben_ Posted August 2, 2022 Author Share Posted August 2, 2022 Thanks both! I'm just trying to get three empty containers in at the moment to populate later on but having such a hard time getting even the most basic thing right with this at the moment! Link to post Share on other sites More sharing options...
_Ben_ Posted August 2, 2022 Author Share Posted August 2, 2022 (edited) I'm calling it a day for today at here: I'm not sure if I want two analysers, much smaller in size or whether that one does what I want it to. If I stick with one, I need to re-order them, definitely. I also need to get the info on feet, height and weight back into that Player Infor box on the left as well as work on the goalkeeper one. Then, and only then, if I'm happy with it - I'll remove the access to attributes elsewhere in the game. Again, love to hear thoughts on this... EDIT: Here it is with 2 octagons, but just need to work out how to resize the actual analyser... Edited August 2, 2022 by _Ben_ 1 Link to post Share on other sites More sharing options...
EnigMattic1 Posted August 2, 2022 Share Posted August 2, 2022 Looking good. That's more than I was able to do. Link to post Share on other sites More sharing options...
snowofman Posted August 2, 2022 Share Posted August 2, 2022 The size of the analyser is all about the space you've given it to be in, the more space, the bigger it gets (from what i have experienced that is) But it looks good, ncie to see things taken shapre to your liking Link to post Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now