[(X)ASECO] Fufi Widgets

This plugin displays multiple graphical widgets on your server.
There are the Local Records widget, a Live Rankings widget, a Dedimania widget, a Karma widget, a Challenge widget, a Clock widget and an Advertisement widget (mostly inspired by SATO). Trackmania Forever only!

Thanks a lot to Phil and Trabtown who gave the ideas and were the first to use those new styles.
Visit them at SpeeedAddicts.com

Discuss this Plugin on TM-Forum.com

Download

Download Links are in the "Download" Box on the right side

Update v0.80b
  • One image link replaced, please update

Update v0.8
  • Added the Scoreboard Lists widget which enables you to display various lists containing player and record statistics in the scoreboard state, see "./plugins/fufi/fufi_widgets_(x)aseco.xml" for usage examples (the corresponding XML tag is scoreboardlists)
  • Finally fixed the FufiMenu handling, so no editing is required anymore ;-)
  • changed the image and web URLs since fish.oorf.de is history, the images are now on Imageshack, if that doesn't work out, I'll think of another place but I can't really host them on my new server since my provider went haywire before because of the massive number of requests^^
  • Probably fixed and changed some other stuff, too that I forgot to mention

Update v0.71
  • Hopefully fixed that LiveRankingError hangups, if the resetError-method does what it's supposed to do ;-)

Update v0.7c
  • Added some debugging for the LiveRankings freeze bug, so if you have this issue, please download this version so I can find the cause for the error
  • Added ASECO dedimania support (the dedimania widget has to be enabled manually inside "./plugins/fufi/fufi_widgets_aseco.xml", I only tested it with the WIP DediMania plugin by Calsmurf/Willa/oliverde but there's no reason it should not work when they officially release it

Update v0.7b
  • fixed a bug that caused the karma widget to not update properly

Update v0.7
  • Okay, so here it is, I built some kind of fix (hopefully) for the XML-RPC transport error, it is called "High Performance Mode" (hpm) and can be understood as a switch that toggles, when the playercount reaches a specified level, some facts about this mode:
    • It can be configured inside "fufi_widgets_config.xml"
    • in hpm you can override your default settings and use multiple ways to reduce the number of manialink calls: you can either disable some of the record widgets or put them into "static mode" or both
    • "static mode" is a state where the widgets are not customized to each player anymore, every player gets exactly the same widget (resulting in plain "Top 10" lists), which also results in only one manialink call per update and not 50 (if there are 50 players on the server), one of the downsides is, that the hiding of the widgets won't work anymore
    • you can define the lowerlimit and the upperlimit (for a more detailed explanation about that, have a look into the comments in the xml file), I implemented a range so that the modes are not always "flickering" if players constantly leave and join
    • The hpm will enable itself when the playercount is too high and disable itself when the playercount falls below the limit
    • Most importantly: I could not really test it deeply, since my server is not that well populated, so I hope to get a lot of feedback from you!

  • fixed a nasty bug (combined with some evil and ugly copy-and-paste-mistakes), Xymph and soehest found, it caused some nicknames to not show properly in the widgets and (X)Aseco
  • added the possibility to display the counts of positive and negative votes inside the karma widget (this is configurable for every game mode, like always ;-), have a look at the xml-tag "displayvotecounts"
  • added a "NextTrack Widget" which can be displayed when the scoreboard shows (per default enabled in XASECO and disabled in Aseco)
  • added the possibility to show the karma widget in "scoreboard mode", to configure that one, have a look at the "./plugins/fufi/fufi_widgets_(x)aseco.xml", I added a state with the number 6, which corresponds to the "scoreboard mode"
  • with this scoreboard-karma stuff, I also added two little ads via AdWidget to display something like "Please vote...", both, the scoreboard-karma stuff and the ads are per default enabled in XASECO and disabled in Aseco
  • added a chatcommand "/togglewidgets" which does the same as the "F7"-key, shouldn't be to important for you, but I'll need it for another plugin
  • I probably forgot a lot of other things, I built in, sorry for that, maybe I can remember later

Update v0.62b
  • Remember when I said "don't overload the HUD"? Forget that and just display everything ;-)
    What I want to say with this is, that the "new" version contains a default config that displays the Dedimania widget in all possible GameModes in a place where I think it's good ;-)
    When I did this I also completely changed the whole positioning configuration for nearly all record widgets to use the given space better. I highly recommend upgrading!
  • Attention!
    To achieve the above mentioned I had to externalize the widget display config and more than that I split it up into 2 different files. They can be found in "./plugins/fufi" and are named "fufi_widgets_aseco.xml" and "fufi_widgets_xaseco.xml".
    As you can see, there is a separate configuration for both Aseco versions, so if you want to customize, choose wisely ;-)
    The widgets will automatically use the right config file for your system.
  • I added a green icon on the right side of the race widgets to indicate your position, so it is now possible to move the widgets further to the left
  • Added another useless feature: inside the config XML you can now specify "use_aseco_style" to override your style settings and use the styles for your widgets that (X)Aseco uses for it's windows.
    This feature is in "experimental" mode and will probably never leave it^^

Update v0.62
  • Added a Dedimania widget (currently it's limited to XASECO), it can be customized just like the other record widgets
    Attention: Since I think the HUD should not be too overloaded, this widget is deactivated by default, just activate it, if you need it, I also gave it the same position values like the live rankings widget, so if you use both, you should do some positioning work inside the config XML
  • Some nicknames ran out of the screen with the widgets being on the right side - FIXED
  • I hardcoded the F7 key for toggling the display of the record widgets to remove interferences with (X)Aseco
  • Fixed a bug which could freeze (X)Aseco - Thanks to Xymph
  • You can now disable the titlebar for every record widget and every gamemode inside the config XML with the help of the tag "displaytitle"

Update v0.61:
  • Maintenance and Bugfix Release
  • heavily reduced the number of Manialink calls which should help to minimize the risk of server crashes
  • Added a complete debug mode which tracks the manialink calls (enable Aseco's debug mode to if you experience problems)
  • Added some conversions to nick- and tracknames to ensure the widgets will be shown
  • F7 bugged in Rounds mode - fixed
  • The widgets and XASECO interfered in some ways causing the original challenge info to pop up in some configurations - fixed

Update v0.60:
  • Biggest Update: The plugin now works for both XASECO and ASECO (Forever only)
  • New Widget: the ad widget, which enables you to display custom advertisements in the hud (see the "Ad Widget" section below
  • There's a key binding to toggle the display of th record widgets ingame, so now everyone can choose for himself whether to show or to hide them (default key is "F7" but can be changed in the config XML)
  • I reworked the Challenge widget to display information for the next track (if it was clicked and then is in the expanded state) (there's a functionality missing in the current ASECO 2.1.4, but the plugin won't crash but remind you to upgrade to the next ASECO, when it's out)
  • Most of the used styles and substyles for the manialinks are now configurable via "fufi_widgets_config.xml"
  • Most of the used colors and strings are now configurable in the config XML
  • The Local Records widget and the Live Rankings widget now got an additional parameter in the config called "topcount" which determines how many entries at the top of the widget are reserved for the best players, example: if "topcount" is set to three, you'll get a widget that shows the top 3 on top and fills the rest of the widget with the "old" Close2You???(All Rights Reserved by SATO???) style

Update v0.53b:
  • Fixed a bug that disabled all the widgets when the clockwidget was disabled

Update v0.53:
  • Changed some stuff according to the new Aseco release
  • now uses the "OnKarmaChange" event and therefore there are no duplicate chat commands and sql queries anymore
  • no fiddeling around in the Aseco.php necessary (for Aseco versions 2.1.0 and newer)
  • added an additional field in the fufi_widgets_config.xml (updateinterval) which forces the widgets to wait a given amount of seconds to cache events, this can save a lot of redundant manialink calls, if the server is highly populated
  • some code enhancements (at least I think they are^^)

Update v0.52:
  • Fixed the Karma widget, for real this time

Update v0.51:
  • Hopefully fixed an issue about a MySQL warning that came up because of the Karma widget

Installation

Important!

If you don't follow the steps carefully, the plugin will not be working properly.
  1. Unrar the archive into the ASECO folder
  2. Insert the following line into "plugins.xml" (after all other plugins)
    <plugin>plugin.fufi.widgets.php</plugin>
  3. Configure some stuff if you like to (see configuration section below)
  4. Done! Have fun!

Configuration

You can adjust the configuration in the pretty self explaining "fufi_widgets_config.xml".

Some more specific settings on when to show which widget on which place with which size you can find in the files "./plugins/fufi/fufi_widgets_aseco.xml" and "./plugins/fufi/fufi_widgets_aseco.xml" (be sure to edit the one which matches your system).

You can also take a shot in pimping the graphical output by editing the XML files in the "./plugins/fufi" folder.

The Challenge Widget

This one replaces the original challenge info in the upper right of the screen with something more fancy =) It adds the display of a logo, the author time and if you click it it will also show gold, silver and bronze time and a TMX link (if you installed oliverde8's TMX-Info plugin (Get it here!))

The Local Records Widget

This one just displays the local records on your server in a defined area customized for every player individually.

The Live Rankings Widget

This widget displays the current scoreboard in the same style like the local records widget.

The Dedimania Widget

This widget displays the current dedimania records for this challenge (requires a running "plugin.dedimania.php" with valid configuration).

The Karma Widget

This one displays the track karma graphically and provides buttons to karma vote via mouse click.

The Clock Widget

It's just a clock ;-)

The Ad Widget

The new Ad widget enables you to display multiple advertisements in your HUD. You can configure them inside "fufi_widgets_config.xml" where you will also find useful commented sample adverts.

Basically you can display text, bik-videos, images, react on mouseover and use them to link to the external browser or the ingame manialink browser.

You can specify adverts that show up the whole time or limit them to be displayed only when racing or when the scoreboard shows up.

The NextTrack Widget

Enables you to display some information about the next track, when the scoreboard is showing.

The Scoreboard Lists widget

Enables you to display some statistics about records and players, when the scoreboard is showing.