Module:RPG: Difference between revisions
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 | ||
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 | ||
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