Module:RPG: Difference between revisions

From Empire of Dragons
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
-- Function to roll dice
-- Function to roll dice
function p.rollDice(diceString)
function p.rollDice(diceString)
     local num, sides, modifier = string.match(diceString, "(%d+)d(%d+)([%+%-]?%d*)")
     if type(diceString) == "string" then
    num = tonumber(num) or 1
        local num, sides, modifier = string.match(diceString, "(%d+)d(%d+)([%+%-]?%d*)")
    sides = tonumber(sides) or 6
        num = tonumber(num) or 1
    modifier = tonumber(modifier) or 0
        sides = tonumber(sides) or 6
        modifier = tonumber(modifier) or 0


    local total = modifier
        local total = modifier


    for _ = 1, num do
        for _ = 1, num do
        total = total + math.random(1, sides)
            total = total + math.random(1, sides)
        end
 
        return total
    else
        return "Invalid input. Please provide a valid dice string."
     end
     end
    return total
end
end


return p
return p

Revision as of 15:41, 27 January 2024

Invalid input. Please provide a valid dice string.

  • Invalid input. Please provide a valid dice string.


  • Invalid input. Please provide a valid dice string.
  • Invalid input. Please provide a valid dice string.
  • Invalid input. Please provide a valid dice string.
  • Script error: The function "rollStats" does not exist.
  • Script error: The function "rollStats" does not exist.
  • Script error: The function "rollStats" does not exist.
  • Script error: The function "rollStats" does not exist.

-- Module for rolling RPG dice
local p = {}

-- Function to roll dice
function p.rollDice(diceString)
    if type(diceString) == "string" then
        local num, sides, modifier = string.match(diceString, "(%d+)d(%d+)([%+%-]?%d*)")
        num = tonumber(num) or 1
        sides = tonumber(sides) or 6
        modifier = tonumber(modifier) or 0

        local total = modifier

        for _ = 1, num do
            total = total + math.random(1, sides)
        end

        return total
    else
        return "Invalid input. Please provide a valid dice string."
    end
end

return p