Manigold
Active Member
- Joined
- Nov 2, 2017
- Messages
- 197
- Solutions
- 8
- Reaction score
- 47
The page monster_loot.php works fine , but its not showing the loot that drops inside bags .
I'm using tfs 1.2
The loot inside bags are shown correctly with old monsters file ,example:
with tfs 1.2 monster file doesn't work, the only diference is the < inside> < /inside> after bag
monster_loot.php
Bump
I'm using tfs 1.2
The loot inside bags are shown correctly with old monsters file ,example:
XML:
<item id="1987" chance="50000"> <!-- bag -->
<inside>
<item id="2148" countmax="100" chance1="100000" chancemax="0"/>
<item id="2149" countmax="2" chance1="893" chancemax="0"/>
<item id="2392" chance="1428"/>
<item id="2146" countmax="2" chance1="3222" chancemax="0"/>
<item id="2528" chance="2333"/>
</inside>
</item>
</loot>
XML:
<item id="1987" chance="100000"> <!-- bag -->
<item id="2179" chance="1010" />
<item id="2396" chance="1200" />
<item id="2520" chance="2000" />
<item id="2214" chance="473" />
<item id="5906" countmax="1" chance="2000"/>
<item id="5954" chance="2000" />
<item id="2470" chance="1000" />
<item id="2514" chance="1000" />
<item id="2472" chance="660" />
<item id="7393" chance="100" />
<item id="7382" chance="1000" />
</item>
</loot>
monster_loot.php
PHP:
<?php require_once 'engine/init.php'; include 'layout/overall/header.php'; ?>
<?php
###### MONSTER LOOT CHECKER ######
###### VERSION: 1.5
$otdir = 'misc/';
// In percent (highest first).
$rarity = array(
'Not Rare' => 7,
'Semi Rare' => 2,
'Rare' => 0.5,
'Very Rare' => 0
);
?>
<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>
<?php
if(isset($_GET['lootrate']))
$add = '&lootrate';
echo '<a href="' . htmlspecialchars($_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> | ';
echo '<a href="monsters_loot.php">Use Normal Loot Rate</a> | ';
echo '<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['rate_loot'];
}
$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 . '"><br>';
addLoot($item);
echo '<br></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> - <span style="color: #C45; font-weight: bold;">' . $lootRarity . '</span> (<span style="color: #FF9A9A;">' . $chance . '%</span>)<br>';
break;
}
}
}
?>
<?php include 'layout/overall/footer.php'; ?>
Bump