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