This project is abandoned and its default file will likely not work with the most recent version of World of Warcraft. Whether this project is out of date or its author has marked it as abandoned, this project is no longer maintained.

LibTrueRandom-1.0 is a library that provides a way to asynchronously retrieve random values by making /roll requests.

Example code:

LibStub("LibTrueRandom-1.0").GetRandom(1, 1000, function(value)
    -- value will be a number >= 1 and <= 1000 here

API Documentation

Here's the use case for this library:

  • You're in a guild or a raid and you want to randomly choose someone to get loot or for some other reason
  • You can't use math.random, since other users in the group might think you are returning bad data thus weighting yourself or friends over them.
  • Doing a /roll is safe and secure, since it's executed server-side and can't be weighted by client-side code.
  • You print to the raid chat: "Rolling for phat lewt - 1: Monkeyman 2: Bananadude 3: Awesomeo"
  • /roll 1 3
  • Myguy rolled 2 (1-3) - executed server-side
  • Bananadude is awarded the "phat lewt" programmatically (with the callback function provided)
  • The three know that they had equal chances to get the item, knew what number they corresponded to, and knew who was the winner due to the public display of the /roll, so there is full transparency and hopefully no whining about "hax".


  • To post a comment, please or register a new account.
Posts Quoted:
Clear All Quotes

About This Project

  • Project ID
  • Created
    Sep 10, 2010
  • Last Released File
    Jan 14, 2011
  • Total Downloads
  • License



Recent Files