• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

ZNOTE Monsterloot.php

Indahouse

Member
Joined
May 13, 2015
Messages
79
Reaction score
13
Hello ,
Monsterloot.php from Znote,for previous versions i try import in another file the xml but says failed to load.. each monster, new not using monsters.xml this page doesnt work, i want just anyone can show me the code for 1 monster, if possible,

The php loads an XML file, on version 12x was lua file, how change this into lua file ( however if is code for only 1 monster, no problem i do it manually ) ( Items.xml works this file got it )

PHP:
 $monsters = simplexml_load_file($otdir . '/data/monster/monsters.xml') or die('<b>Could not load monsters!</b>');
        foreach($monsters->monster as $monster) {
            $loot = simplexml_load_file($otdir . '/data/monster/' . $monster['file']);

Full code:
PHP:
<?php
###### MONSTER LOOT CHECKER ######
###### VERSION: 1.5
###### AUTHOR: Colandus

$otdir = 'D:/SERVER/liombera';

// In percent (highest first).
$rarity = array(
    'Not Rare'    => 7,
    'Semi Rare'    => 2,
    'Rare'        => 0.5,
    'Very Rare' => 0
);
?>

<html>
    <head>
        <title>Colandus' Monster Loot Checker 1.5</title>
    </head>
    <body style="background-color: #434343; color: #C4C4FF">
        <script language="javascript">
            function toggleVisibility(obj) {
                var el = document.getElementById('d' + obj.id);
                var name = obj.innerHTML.substring(4);
           
                if(el.style.display == 'none') {
                    obj.innerHTML = '[ -]';
                    el.style.display = 'block';
                } else {
                    obj.innerHTML = '[+]';
                    el.style.display = 'none';
                }
                obj.innerHTML += ' ' + name;
            }
        </script>
       
        <style type="text/css">
            a {
                color:red;
                font: bold 13px verdana;
                text-decoration: none;
            }
           
            a:hover {
                text-decoration: underline;
            }
        </style>

        <?php
            if(isset($_GET['lootrate']))
                $add = '&lootrate';
            echo '<a href="' . $_SERVER['PHP_SELF'] . ($add ? '?lootrate' : '') . '">Hide None</a> | ';
            echo '<a href="?hidefail' . $add . '">Hide Not Found</a> | ';
            echo '<a href="?hideempty' . $add . '">Hide Monsters Without Loot</a> |';
            echo '<a href="?hideempty&hidefail' . $add . '">Hide All</a>';
        ?>
       
        <br /><br /><a href="?lootrate">Use Server Loot Rate</a>
       
        <br /><br />
        <?php
        $items = simplexml_load_file($otdir . '/data/items/items.xml') or die('<b>Could not load items!</b>');
        foreach($items->item as $v)
            $itemList[(int)$v['id']] = $v['name'];
           
        if(isset($_GET['lootrate'])) {
            $config = parse_ini_file($otdir . '/config.lua');
            $lootRate = $config['rateLoot'];
        }
       
        $monsters = simplexml_load_file($otdir . '/data/monster/monsters.xml') or die('<b>Could not load monsters!</b>');
        foreach($monsters->monster as $monster) {
            $loot = simplexml_load_file($otdir . '/data/monster/' . $monster['file']);
            if($loot) {
                if($item = $loot->loot->item) {
                    echo '
                        <a id="' . ++$i . '" style="text-decoration: none; font: bold 14px verdana; color: orange;" href="javascript:void(0);" onclick="toggleVisibility(this)">[+] ' . $monster['name'] . '</a>
                        <br /><div style="display: none;" id="d' . $i . '">
                            <pre>>>> <b><u>' . $otdir . '/' . $monster['file'] . '</u></b><br /><br />';
                    addLoot($item);
                    echo '</pre></div>';
                } elseif(!isset($_GET['hideempty']))
                    echo '<span style="font: bold 14px verdana; color: red;">[x] ' . $monster['name'] . '</span><br />';
            } elseif(!isset($_GET['hidefail']))
                echo '<span style="color: white;">Failed to load monster <b>' . $monster[name] . '</b> <i>(' . $monster[file] . ')</i><br />';
        }

        function addLoot($loot, $level=1) {
            foreach($loot as $test) {
                $chance = $test['chance'];
                if(!$chance)
                    $chance = $test['chance1'];

                printLoot($level, $test['id'], $test['countmax'], $chance);
                foreach($test as $k => $v)
                    addLoot($v->item, $level + 1);
            }
        }
       
        function printLoot($level, $itemid, $count, $chance) {
            global $itemList, $rarity;
           
            $chance /= 1000;
            if(isset($_GET['lootrate'])) {
                global $lootRate;
                $chance *= $lootRate;
            }
           
            foreach($rarity as $lootRarity => $percent){
                if($chance >= $percent) {
                    echo str_repeat("... ", $level) . '<u>' . ($count ? $count : 1) . '</u> <span style="color: #7878FF; font-weight: bold;">' . $itemList[(int)$itemid] . '</span> ' . $itemid . ' <span style="color: #C45; font-weight: bold;">' . $lootRarity . '</span> (<span style="color: #FF9A9A;">' . $chance . '%</span>)<br />';
                    break;
                }
            }
        }
        ?>
       
        <br /><p style="font: bold 24px georgia;">By Colandus</p>
       
    </body>
</html>
 
Last edited:
Back
Top