function GetPotentialInfo($id, $locale) { $db = ConnectCharacterDatabase($locale); $key_name = 'data_itemoptions_cache' . $id; if (IsCachedObject($key_name, $locale)) { return GetCachedObject($key_name, $locale); } $data = array(); $data['name'] = GetMapleStoryString('item_option', $id, 'desc', $locale); $q = $db->query("SELECT level, options FROM `phpvana_itemoptions_levels` WHERE `id` = " . intval($id)); while ($row = $q->fetch_row()) { $data['levels'][$row[0]] = Explode2(';', '=', $row[1]); } SetCachedObject($key_name, $data, $locale); return $data; }
function RenderItemAtPosition($item, $x, $y, $bgicon = false, $amount = true) { $isequip = $item->type == ITEM_EQUIP; $info = GetItemDialogInfo($item, $isequip); $pos = 'left: ' . $x . 'px; top: ' . $y . 'px;'; $itemIcon = ''; if ($item->bagid != -1 || $item->type == ITEM_PET && $item->IsExpired()) { $itemIcon = 'D'; } if (floor($item->itemid / 10000) == 166) { $itemIcon = 'D'; } $display_id = GetItemIconID($info['iconid'], CURRENT_LOCALE); // For nebulites $itemwzinfo = GetItemWZInfo($display_id, CURRENT_LOCALE); $uid = substr(uniqid(), -5); ?> <div class="item-slot<?php echo $info['potentials'] != 0 ? ' potential' . $info['potentials'] : ''; ?> <?php echo !$bgicon ? 'no-bg' : ''; ?> " style="<?php echo $pos; ?> " item-name="<?php echo IGTextToWeb(GetMapleStoryString("item", $item->itemid, "name", CURRENT_LOCALE)); ?> " onmouseover='<?php echo $info['mouseover']; ?> ' onmousemove="MoveWindow(event)" onmouseout="HideItemInfo()"> <img class="icon" potential="<?php echo $info['potentials']; ?> " style="margin-top: <?php echo 32 - $itemwzinfo['info']['icon']['origin']['Y']; ?> px; margin-left: <?php echo -$itemwzinfo['info']['icon']['origin']['X']; ?> px;" src="<?php echo GetItemIcon($display_id, CURRENT_LOCALE, $itemIcon); ?> " /> <?php if (!$isequip && $amount) { ?> <span class="amount"><?php echo $item->amount; ?> </span> <?php } if ($info['iscash'] == 1) { ?> <div class="cashitem"></div><?php } if ($info['islocked'] == 1) { ?> <div class="locked"></div><?php } if ($info['isluckyscrolled'] == 1) { ?> <div class="lucky"></div><?php } AddNebulite($info, 1); AddNebulite($info, 2); AddNebulite($info, 3); ?> </div> <?php }
function GetMapname($id, $locale, $full = true) { $map = GetMapleStoryString('map', $id, 'name', $locale); if ($full) { $subname = GetMapleStoryString('map', $id, 'street', $locale); if ($subname != NULL) { $map = $subname . ' - ' . $map; } } if ($map == '') { $map = '???'; } return $map; }
$db = ConnectCharacterDatabase($locale); $q = $db->query($query); while ($row = $q->fetch_row()) { $itemids = explode(',', $row[1]); $times = explode(',', $row[2]); ?> <div class="stream-block"> <?php MakePlayerAvatar($row[0], $locale, array('face' => 'angry', 'styleappend' => 'float: right;')); ?> <strong>Expiring Items</strong><br /> <?php foreach ($itemids as $index => $itemid) { ?> <?php echo GetMapleStoryString('item', $itemid, 'name', $locale); ?> expires in <?php echo time_elapsed_string($times[$index] - $__server_time); ?> !<br /> <?php } ?> </div> <?php } } ?> </div>
<?php require_once __DIR__ . '/../../inc/functions.ajax.php'; CheckSupportedTypes('description', 'name', 'nebuliteinfo', 'potentialinfo'); require_once __DIR__ . '/../../inc/classes/database.php'; require_once __DIR__ . '/../../inc/functions.php'; require_once __DIR__ . '/../../inc/functions.datastorage.php'; RetrieveInputGET('id'); if (!is_numeric($P['id'])) { JSONDie('Error'); } $id = $P['id']; if ($request_type == 'description') { $result = IGTextToWeb(GetMapleStoryString('item', $id, 'desc', CURRENT_LOCALE)); JSONAnswer(array('result' => $result)); } elseif ($request_type == 'name') { $result = IGTextToWeb(GetMapleStoryString('item', $id, 'name', CURRENT_LOCALE)); JSONAnswer(array('result' => $result)); } elseif ($request_type == 'nebuliteinfo') { $result = GetNebuliteInfo($id, CURRENT_LOCALE); JSONAnswer(array('result' => $result)); } elseif ($request_type == 'potentialinfo') { $result = GetPotentialInfo($id, CURRENT_LOCALE); JSONAnswer(array('result' => $result)); }