Medals is a site-wide use script, allowing admins to ignore the custom extension 'Achievements' and create their own achievements and grant them to users, which avoids abusive editing which happens with the default extension.


Add this JavaScript on your wiki:

    type: "script",
    articles: [
importArticles — Best Practices for installing JavaScript on FANDOM
The importArticles statement is designed to combine multiple HTTP requests into a single data transfer, allowing multiple scripts to load and execute faster. If you've been installing several different scripts, your JavaScript file has probably accumulated unnecessary import statements. Click "Expand" to learn how to efficiently batch import scripts to speed up performance and make your code look cleaner. One other approach is by using the MediaWiki:ImportJS.
If your JavaScript file has several lines of code that say importScript, importScriptPage, or importArticles, you may be able to combine them! By batch importing a collection of scripts with a single import, your JavaScript code will load faster and look cleaner. Consider the example below. On the left is an example of what your JavaScript file might currently look like. On the right is how you could improve that code.
Multiple imports — messy and slow One import — clean and efficient
  type: 'script',
  article: 'u:dev:FloatingToc/code.js'
importScriptPage('page1.js', 'wikiname');
importScriptPage('page2.js', 'wikiname');
    type: 'script',
    articles: [
Note: In this example, pay close attention to the placement of commas and other punctuation. For people who aren't familiar with programming (and even those who are!), a common mistake when writing code is to accidentally delete, forget, or misplace critical symbols like commas or quotation marks. This can cause a syntax error that breaks the code. Carefully follow the convention shown here when using importArticles.
But there's much more to importArticles than just this! For more examples and advanced usage, see the help page at Help:Including additional JavaScript and CSS.


Medal script settings

Settings interface window

All of the script's configs are contained outside of script file, on its own page — Project:Medals, allowing the user to make changes without the review process. Make sure that you have protected this page to admin-only editing! Also, this script allows direct links for images only from FANDOM image's servers like 'images' or 'vignette'.

After adding this script into your MediaWiki:Common.js page and waiting until it gets reviewed, go to the Project:Medals script, which will ask you to create new config. Once done, you will be able to edit it via a special interface.

Interface have 3 sub-pages with own settings: Main, Users and Medals. Here are some explanations about how to fill up the most difficult pages — Main and Users:

  • Main
    1. Module title — Title of your medal's module.
    2. Expand button — If amount of user's medals will be more than 12, you will see special button. After clicking, you will see full list of his/her medals. This button should have its name, right? :)
    3. Medal count — Description that will be displayed when you hover the section with amount of medal.
    4. Medal info page — If you have special page, where you have all info about your medals, you should fill this value up and the user will see a special button to check info.
    5. Medal info title — Same as for expand button.
    6. Border left — Image for top-left border picture. If you don't want to use it — leave it blank.
    7. Border right — Image for top-right border picture.
  • Users
    1. Add user form — Button, on click of which script will add a new form for user.
    2. Empty area — It's where you should put user's nickname.
    3. Trash icon — Will remove this section. Simple.
    4. Medals — Button, on click of which you will show/hide section with all medals. Near with each medal's name you will see also area, where you can place amount of this medal.

Script's classes

To change some styles of module with medals user can use this classes:

  1. RewardModule — medal's module section;
  2. RewardImage — medal's image block;
  3. RewardCount — in-image-block section with amount of medal;
  4. badgetooltip — script's tooltip;
  5. badgetooltiparrow — tooltip's top arrow;

Known issues

Since this script has its data outside of the script page, there can be some problems with page's cache. Use ?action=purge at the end of the URL or the 'Purge page' button on your interface to solve it.

Text above can be found here (edit)