DiceExtension: Difference between revisions

From Empire of Dragons
Jump to navigation Jump to search
(Created page with " Diceroll.php <script lang=php> <?php // Define a function to handle the dice rolling function wfDiceRollParserFunction($parser, $rollString = '') { // Parse the input string (e.g., "2d6") preg_match('/(\d+)d(\d+)/', $rollString, $matches); if (count($matches) !== 3) { return 'Invalid dice notation. Please use the format: XdY'; } $numDice = intval($matches[1]); $numSides = intval($matches[2]); // Roll the dice $total = 0; for...")
 
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
https://tutorialsjoint.com/mediawiki-extension-how-to-develop-custom-extension-in-mediawiki/#:~:text=MediaWiki%20Extension%20%E2%80%93%20How%20to%20develop%20custom%20extension,entrypoint%20check%20for%20the%20same.%20...%20Fler%20objekt
 
Diceroll.php
<script lang=php>
<?php
// Define a function to handle the dice rolling
function wfDiceRollParserFunction($parser, $rollString = '') {
    // Parse the input string (e.g., "2d6")
    preg_match('/(\d+)d(\d+)/', $rollString, $matches);
    if (count($matches) !== 3) {
        return 'Invalid dice notation. Please use the format: XdY';
    }
    $numDice = intval($matches[1]);
    $numSides = intval($matches[2]);
 
    // Roll the dice
    $total = 0;
    for ($i = 0; $i < $numDice; $i++) {
        $total += mt_rand(1, $numSides);
    }
 
    // Return the result
    return $total;
}
 
// Register the parser function with MediaWiki
$wgHooks['ParserFirstCallInit'][] = 'wfDiceRollSetup';
function wfDiceRollSetup($parser) {
    $parser->setFunctionHook('rollDice', 'wfDiceRollParserFunction');
    return true;
}
 
</script>

Latest revision as of 07:10, 15 February 2024