private function loadOptionsVirtualVault() { global $ldTpl, $VIRTUAL_VAULT; /** * Find serial query: * SELECT * FROM [MuOnline_DKT].[dbo].[ExtWareHouseVirtual] WHERE (CHARINDEX (0x375F9300, Item) = 4) */ require_once "ldItemClass/ldItemDatabase.class.php"; require_once "ldItemClass/ldItemOptionsDatabase.class.php"; require_once "ldItemClass/ldItemMake.class.php"; require_once "ldItemClass/ldItemParse.class.php"; require_once "ldItemClass/ldVault.class.php"; require_once "ldItemClass/ldInventory.class.php"; ldItemDatabase::setDatabases("modules/", "item.txt", "classes/ldItemClass/data/item.serialize.txt"); if (ldItemDatabase::checkDatabaseExists() == false) { ldItemDatabase::createDatabase(); } if (ldItemDatabase::checkDatabaseExists() == false) { exit(LDPU_VIRTUAL_VAULT_CANT_LOAD_DB); } if ($_GET['action'] == "details") { try { switch ($_GET['vault']) { case "game": if ($_GET['key'] < 0 || $_GET['key'] > 120) { throw new Exception("loadOptionsVirtualVault() :: Invalid key"); } $this->ldVault = new ldVault($_SESSION['LOGIN']); $this->ldVault->getVault(); $this->ldVault->cutCode(); $this->ldVault->structureVault(); $shortcut = $this->ldVault->codeGroup[$_GET['key']]; if ($shortcut['Details']['IsItem'] == false) { throw new Exception(LDPU_VIRTUAL_VAULT_ITEM_NOT_FOUND); } $response .= "<table style=\"width: 100%\">"; $response .= "<tr>"; $response .= "<td>"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_ITEM . ":</em> <strong>{$shortcut['Details']['ItemName']}</strong><br />"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_LEVEL . ":</em> <strong>+{$shortcut['Details']['ItemLevel']}</strong><br />"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_OPTION . ":</em> <strong>+" . $shortcut['Details']['ItemOption'] * 4 . "</strong><br />"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_LUCK . ":</em> <strong>" . ($shortcut['Details']['ItemLuck'] == true ? LDPU_YES : LDPU_NOT) . "</strong><br />"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_SKILL . ":</em> <strong>" . ($shortcut['Details']['ItemSkill'] == true ? LDPU_YES : LDPU_NOT) . "</strong><br />"; if ($this->ldVault->dbVersion > 1) { $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_ANCIENT . ":</em> <strong>" . ($shortcut['Details']['ItemAncient'] > 0 ? LDPU_YES : LDPU_NOT) . "</strong><br />"; } $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_DURABILITY . ":</em> <strong>" . $shortcut['Details']['ItemDurability'] . "</strong><br />"; if ($VIRTUAL_VAULT['SHOW_SERIAL'] == true) { $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_SERIAL . ":</em> <strong>0x" . $shortcut['Details']['ItemSerial'] . "</strong><br />"; } if ($shortcut['Details']['ItemExcellents'][6] == 0) { $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_EXCELLENT . ":</em> <strong>" . LDPU_NOT . "</strong><br />"; } else { $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_EXCELLENT . ":</em><strong><br />"; if ($shortcut['Details']['ItemExcellents'][0] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt0 . "</em><br />"; } if ($shortcut['Details']['ItemExcellents'][1] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt1 . "</em><br />"; } if ($shortcut['Details']['ItemExcellents'][2] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt2 . "</em><br />"; } if ($shortcut['Details']['ItemExcellents'][3] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt3 . "</em><br />"; } if ($shortcut['Details']['ItemExcellents'][4] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt4 . "</em><br />"; } if ($shortcut['Details']['ItemExcellents'][5] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt5 . "</em><br />"; } $response .= "</strong>"; } if ($this->ldVault->dbVersion > 2) { $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_REFINE . ":</em> <strong>" . ($shortcut['Details']['ItemRefine'] > 0 ? ldItemOptionsDatabase::getRefine($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt0 . ", " . ldItemOptionsDatabase::getRefine($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt1 : LDPU_NOT) . "</strong><br />"; } if ($this->ldVault->dbVersion > 2) { $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_HARMONY . ":</em> <strong>" . ($shortcut['Details']['HarmonyType'] > 0 ? ldItemOptionsDatabase::getHarmony($shortcut['Details']['ItemIdSection'], $shortcut['Details']['HarmonyType'], $shortcut['Details']['HarmonyLevel']) : LDPU_NOT) . "</strong><br />"; } if ($this->ldVault->dbVersion > 2 && $VIRTUAL_VAULT['SOCKET_OPTIONS'] == true) { $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_SOCKET . ":</em><br />"; $socketOptions = ldItemOptionsDatabase::getSocket(); if ($VIRTUAL_VAULT['MUSERVER_MANUFACTURER'] == 1) { foreach ($shortcut['Details']['Sockect'] as &$socket) { if ($socket != $socketOptions["notSocket"] && $socket != $socketOptions["emptySocket"]) { $socket++; } } } if ($shortcut['Details']['Sockect'][0] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif ($shortcut['Details']['Sockect'][0] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][0] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][0] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][0] % 0x32]["socketsArgs"][1] . "</strong><br />"; } if ($shortcut['Details']['Sockect'][1] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif ($shortcut['Details']['Sockect'][1] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][1] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][1] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][1] % 0x32]["socketsArgs"][2] . "</strong><br />"; } if ($shortcut['Details']['Sockect'][2] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif ($shortcut['Details']['Sockect'][2] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][2] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][2] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][2] % 0x32]["socketsArgs"][3] . "</strong><br />"; } if ($shortcut['Details']['Sockect'][3] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif ($shortcut['Details']['Sockect'][3] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][3] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][3] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][3] % 0x32]["socketsArgs"][4] . "</strong><br />"; } if ($shortcut['Details']['Sockect'][4] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif ($shortcut['Details']['Sockect'][4] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][4] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][4] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][4] % 0x32]["socketsArgs"][5] . "</strong><br />"; } } $response .= "</td>"; $response .= "<td align=\"right\" valign=\"top\">"; $response .= "<input type=\"button\" class=\"button\" value=\"" . LDPU_VIRTUAL_VAULT_TEXT_SEND_TO_VAULT_VIRTUAL . "\" onclick=\"jQuery.post('?page=paneluser&option=VIRTUAL_VAULT&action=send&to=virtual&key={$_GET['key']}', function(response) { jQuery('#detailsVault').html( response ); }, 'html');\" />"; $response .= "</td>"; $response .= "</tr>"; $response .= "</table>"; break; case "virtual": if (is_numeric($_GET['key']) == false) { throw new Exception("loadOptionsVirtualVault() :: Invalid key"); } $getItemQ = $this->query("SELECT [Number],[Item],[dbVersion] FROM [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] WHERE [AccountId] = '{$_SESSION['LOGIN']}' AND [Number] = " . (int) $_GET['key']); if (mssql_num_rows($getItemQ) == 0) { throw new Exception(LDPU_VIRTUAL_VAULT_ITEM_NOT_FOUND); } $getItem = mssql_fetch_object($getItemQ); ldItemParse::parseHexItem(bin2hex($getItem->Item), $getItem->dbVersion); $response .= "<table style=\"width: 100%\">"; $response .= "<tr>"; $response .= "<td>"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_ITEM . ":</em> <strong>" . ldItemParse::$dumpTemp['ItemName'] . "</strong><br />"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_LEVEL . ":</em> <strong>+" . ldItemParse::$dumpTemp['ItemLevel'] . "</strong><br />"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_OPTION . ":</em> <strong>+" . ldItemParse::$dumpTemp['ItemOption'] * 4 . "</strong><br />"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_LUCK . ":</em> <strong>" . (ldItemParse::$dumpTemp['ItemLuck'] == true ? LDPU_YES : LDPU_NOT) . "</strong><br />"; $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_SKILL . ":</em> <strong>" . (ldItemParse::$dumpTemp['ItemSkill'] == true ? LDPU_YES : LDPU_NOT) . "</strong><br />"; if ($getItem->dbVersion > 1) { $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_ANCIENT . ":</em> <strong>" . (ldItemParse::$dumpTemp['ItemAncient'] > 0 ? LDPU_YES : LDPU_NOT) . "</strong><br />"; } $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_DURABILITY . ":</em> <strong>" . ldItemParse::$dumpTemp['ItemDurability'] . "</strong><br />"; if ($VIRTUAL_VAULT['SHOW_SERIAL'] == true) { $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_SERIAL . ":</em> <strong>0x" . strtoupper(ldItemParse::$dumpTemp['ItemSerial']) . "</strong><br />"; } if (ldItemParse::$dumpTemp['ItemExcellents'][6] == 0) { $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_EXCELLENT . ":</em> <strong>" . LDPU_NOT . "</strong><br />"; } else { $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_EXCELLENT . ":</em><strong><br />"; if (ldItemParse::$dumpTemp['ItemExcellents'][0] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt0 . "</em><br />"; } if (ldItemParse::$dumpTemp['ItemExcellents'][1] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt1 . "</em><br />"; } if (ldItemParse::$dumpTemp['ItemExcellents'][2] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt2 . "</em><br />"; } if (ldItemParse::$dumpTemp['ItemExcellents'][3] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt3 . "</em><br />"; } if (ldItemParse::$dumpTemp['ItemExcellents'][4] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt4 . "</em><br />"; } if (ldItemParse::$dumpTemp['ItemExcellents'][5] == true) { $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt5 . "</em><br />"; } $response .= "</strong>"; } if ($getItem->dbVersion > 2) { $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_REFINE . ":</em> <strong>" . (ldItemParse::$dumpTemp['ItemRefine'] > 0 ? ldItemOptionsDatabase::getRefine(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt0 . " ," . ldItemOptionsDatabase::getRefine(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt1 : LDPU_NOT) . "</strong><br />"; } if ($getItem->dbVersion > 2) { $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_HARMONY . ":</em> <strong>" . (ldItemParse::$dumpTemp['HarmonyType'] > 0 ? ldItemOptionsDatabase::getHarmony(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['HarmonyType'], ldItemParse::$dumpTemp['HarmonyLevel']) : LDPU_NOT) . "</strong><br />"; } if ($getItem->dbVersion > 2 && $VIRTUAL_VAULT['SOCKET_OPTIONS'] == true) { $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_SOCKET . ":</em><br />"; $socketOptions = ldItemOptionsDatabase::getSocket(); if ($VIRTUAL_VAULT['MUSERVER_MANUFACTURER'] == 1) { foreach (ldItemParse::$dumpTemp['Sockect'] as &$socket) { if ($socket != $socketOptions["notSocket"] && $socket != $socketOptions["emptySocket"]) { $socket++; } } } if (ldItemParse::$dumpTemp['Sockect'][0] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif (ldItemParse::$dumpTemp['Sockect'][0] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][0] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][0] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][0] % 0x32]["socketsArgs"][1] . "</strong><br />"; } if (ldItemParse::$dumpTemp['Sockect'][1] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif (ldItemParse::$dumpTemp['Sockect'][1] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][1] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][1] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][1] % 0x32]["socketsArgs"][2] . "</strong><br />"; } if (ldItemParse::$dumpTemp['Sockect'][2] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif (ldItemParse::$dumpTemp['Sockect'][2] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][2] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][2] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][2] % 0x32]["socketsArgs"][3] . "</strong><br />"; } if (ldItemParse::$dumpTemp['Sockect'][3] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif (ldItemParse::$dumpTemp['Sockect'][3] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][3] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][3] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][3] % 0x32]["socketsArgs"][4] . "</strong><br />"; } if (ldItemParse::$dumpTemp['Sockect'][4] == $socketOptions["notSocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />"; } elseif (ldItemParse::$dumpTemp['Sockect'][4] == $socketOptions["emptySocket"]) { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />"; } else { $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][4] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][4] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][4] % 0x32]["socketsArgs"][5] . "</strong><br />"; } } $response .= "</td>"; $response .= "<td align=\"right\" valign=\"top\">"; $response .= "<input type=\"button\" class=\"button\" value=\"" . LDPU_VIRTUAL_VAULT_TEXT_SEND_TO_VAULT_GAME . "\" onclick=\"jQuery.post('?page=paneluser&option=VIRTUAL_VAULT&action=send&to=game&key={$_GET['key']}', function(response) { jQuery('#detailsVault').html( response ); }, 'html');\" /><br />"; //$response .= "<input type=\"button\" class=\"button\" value=\"Anunciar item\" onclick=\"jQuery.post('?page=paneluser&option=VIRTUAL_VAULT&action=sell&key={$_GET['key']}', function(response) { jQuery('#detailsVault').html( response ); }, 'html');\" />"; $response .= "</td>"; $response .= "</tr>"; $response .= "</table>"; break; } throw new Exception($response); } catch (Exception $e) { exit($e->getMessage()); } } elseif ($_GET['action'] == "send") { try { if ($this->checkOnlineAccount($_SESSION['LOGIN']) == 1) { throw new Exception("<div class='qdestaques2'>" . LDPU_YOU_MUST_BE_OFFLINE . "</div>"); } switch ($_GET['to']) { case "virtual": if ($_GET['key'] < 0 || $_GET['key'] > 120) { throw new Exception("loadOptionsVirtualVault() :: Invalid key"); } $this->ldVault = new ldVault($_SESSION['LOGIN']); $this->ldVault->getVault(); $this->ldVault->cutCode(); $this->ldVault->structureVault(); if ($this->ldVault->codeGroup[$_GET['key']]['Details']['IsItem'] == false) { throw new Exception(LDPU_VIRTUAL_VAULT_ITEM_NOT_FOUND); } $insert = $this->query("INSERT INTO [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] ([AccountId] ,[Item], [dbVersion]) VALUES ('{$_SESSION['LOGIN']}', 0x{$this->ldVault->codeGroup[$_GET['key']]['Code']}, {$this->ldVault->dbVersion}); SELECT IDENT_CURRENT('[" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual]') as [Number];"); if ($insert == true) { $insert = mssql_fetch_object($insert); $insert = (int) $insert->Number; $jqueryTmp = "jQuery('#itemsVaultGame li#liItemVaultGame_{$_GET['key']}').fadeOut('slow', function() { jQuery(this).remove(); } );\n jQuery('#itemsVaultVirtual').fadeIn('slow').prepend('<li id=\"liItemVaultVirtual_{$insert}\" onclick=\"Verify(\\'?page=paneluser&option=VIRTUAL_VAULT&action=details&vault=virtual&key={$insert}\\', \\'detailsVault\\', \\'get\\');\">{$this->ldVault->codeGroup[$_GET['key']]['Details']['ItemName']} +{$this->ldVault->codeGroup[$_GET['key']]['Details']['ItemLevel']} +" . $this->ldVault->codeGroup[$_GET['key']]['Details']['ItemOption'] * 4 . "</li>');"; $this->ldVault->insertItemInSlot($this->ldVault->dbVersion > 2 ? str_repeat("F", 32) : str_repeat("F", 20), $_GET['key']); $this->ldVault->writeVault(true); throw new Exception("<script type=\"text/javascript\">\n jQuery(document).ready(function(){\n {$jqueryTmp} \n });\n </script>"); } else { throw new Exception(LDPU_VIRTUAL_VAULT_TEXT_SEND_ERROR); } break; case "game": if (is_numeric($_GET['key']) == false) { throw new Exception("loadOptionsVirtualVault() :: Invalid key"); } $getItemQ = $this->query("SELECT [Number],[Item],[dbVersion] FROM [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] WHERE [AccountId] = '{$_SESSION['LOGIN']}' AND [Number] = " . (int) $_GET['key']); if (mssql_num_rows($getItemQ) == 0) { throw new Exception(LDPU_VIRTUAL_VAULT_ITEM_NOT_FOUND); } $getItem = mssql_fetch_object($getItemQ); $this->ldVault = new ldVault($_SESSION['LOGIN']); $this->ldVault->getVault(); $this->ldVault->cutCode(); $this->ldVault->structureVault(); ldItemParse::parseHexItem(bin2hex($getItem->Item), $getItem->dbVersion); $slotFree = $this->ldVault->searchSlotsInVault(ldItemParse::$dumpTemp['Item']['X'], ldItemParse::$dumpTemp['Item']['Y']); if ($slotFree > -1) { $this->ldVault->insertItemInSlot(bin2hex($getItem->Item), $slotFree); if ($this->ldVault->writeVault(true) == true) { $this->query("DELETE FROM [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] WHERE [AccountId] = '{$_SESSION['LOGIN']}' AND [Number] = " . (int) $_GET['key']); throw new Exception("<script type=\"text/javascript\">\n jQuery(document).ready(function(){\n jQuery('#liItemVaultVirtual_{$_GET['key']}').fadeOut('slow', function() { jQuery(this).remove(); } );\n jQuery('#itemsVaultGame').fadeIn('slow').prepend('<li id=\"liItemVaultGame_{$slotFree}\" onclick=\"Verify(\\'?page=paneluser&option=VIRTUAL_VAULT&action=details&vault=game&key={$slotFree}\\', \\'detailsVault\\', \\'get\\');\">" . ldItemParse::$dumpTemp['ItemName'] . " +" . ldItemParse::$dumpTemp['ItemLevel'] . " +" . ldItemParse::$dumpTemp['ItemOption'] * 4 . "</li>');\n });\n </script>"); } } else { throw new Exception("<div class='qdestaques'>" . LDPU_VIRTUAL_VAULT_TEXT_SEND_ERROR_NO_SPACE . "</div>"); } break; } throw new Exception(""); } catch (Exception $e) { exit($e->getMessage()); } } else { $this->ldVault = new ldVault($_SESSION['LOGIN']); $this->ldVault->getVault(); $this->ldVault->cutCode(); $this->ldVault->structureVault(); foreach ($this->ldVault->codeGroup as $key => $item) { if ($item['Details']['IsItem'] == true) { $liItemsVaultGame .= "<li id=\"liItemVaultGame_{$key}\" onclick=\"Verify('?page=paneluser&option=VIRTUAL_VAULT&action=details&vault=game&key={$key}', 'detailsVault', 'get');\">{$item['Details']['ItemName']} +{$item['Details']['ItemLevel']} +" . $item['Details']['ItemOption'] * 4 . "</li>\n"; } } $getVirtualVaultQ = $this->query("SELECT [Number],[Item],[dbVersion] FROM [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] WHERE [AccountId] = '{$_SESSION['LOGIN']}' ORDER BY [Number] DESC"); while ($getVirtualVault = mssql_fetch_object($getVirtualVaultQ)) { ldItemParse::parseHexItem(bin2hex($getVirtualVault->Item), $getVirtualVault->dbVersion); $liItemsVaultVirtual .= "<li id=\"liItemVaultVirtual_{$getVirtualVault->Number}\" onclick=\"Verify('?page=paneluser&option=VIRTUAL_VAULT&action=details&vault=virtual&key={$getVirtualVault->Number}', 'detailsVault', 'get');\">" . ldItemParse::$dumpTemp['ItemName'] . " +" . ldItemParse::$dumpTemp['ItemLevel'] . " +" . ldItemParse::$dumpTemp['ItemOption'] * 4 . "</li>\n"; } } $ldTpl->set("liItemsVaultVirtual", $liItemsVaultVirtual); $ldTpl->set("liItemsVaultGame", $liItemsVaultGame); }
private function optionLoadGoldenArcher() { global $ldTpl; $tmpResponse = null; if ($_GET['action'] == "createSerial") { require_once "ldItemClass/ldItemOptionsDatabase.class.php"; require_once "ldItemClass/ldItemDatabase.class.php"; require_once "ldItemClass/ldItemMake.class.php"; // Gerar / Carregar banco de dados ldItemDatabase::setDatabases("modules/", "item.txt", "classes/ldItemClass/data/item.serialize.txt"); if (ldItemDatabase::checkDatabaseExists() == false) { ldItemDatabase::createDatabase(); } if (ldItemDatabase::checkDatabaseExists() == false) { exit(LDPU_VIRTUAL_VAULT_CANT_LOAD_DB); } //var_dump(ldItemDatabase::$dbItem); $tmpResponse .= "<div style='padding: 10px;'>"; $tmpResponse .= "<ul><li>Digite abaixo os dados do item que você deseja gerar.</li></ul><br />"; $tmpResponse .= "<form action='?page=paneladmin&option=GOLDEN_ARCHER&action=createSerialWrite' method='post'>"; $tmpResponse .= "<table style='width: 100%;'>"; $tmpResponse .= "<tr><td style='width: 150px;'><strong>O serial equivale ao item:</strong></td><td><select name='item'>"; foreach (ldItemDatabase::$dbItem as $indexCategorie => $categorie) { if (is_array($categorie) == false) { continue; } foreach ($categorie as $indexItem => $item) { $tmpResponse .= "<option value='" . $indexCategorie . "," . $indexItem . "'>" . $item["Name"] . "</option>\n"; } } $tmpResponse .= "</select></td></tr>"; $tmpResponse .= "<tr><td style='width: 150px;'><strong>Level:</strong></td><td><select name='itemLevel'>"; for ($iLevel = 0; $iLevel < 16; $iLevel++) { $tmpResponse .= "<option value='" . $iLevel . "'>+" . $iLevel . "</option>\n"; } $tmpResponse .= "</select></td></tr>"; $tmpResponse .= "<tr><td style='width: 150px;'><strong>Adicional:</strong></td><td><select name='itemOption'>"; for ($iOption = 0; $iOption < 8; $iOption++) { $tmpResponse .= "<option value='" . $iOption . "'>+" . $iOption * 4 . "</option>\n"; } $tmpResponse .= "</select></td></tr>"; $tmpResponse .= "<tr><td style='width: 150px;'><strong>Skill:</strong></td><td><input name='itemSkill' type='checkbox' value='1'></td></tr>"; $tmpResponse .= "<tr><td style='width: 150px;'><strong>Luck:</strong></td><td><input name='itemLuck' type='checkbox' value='1'></td></tr>"; $tmpResponse .= "<tr>\n <td style='width: 150px;'><strong>Excelente:</strong></td><td>\n <input name='excellent1' type='checkbox' value='1'> Opção excelente 1<br />\n <input name='excellent2' type='checkbox' value='1'> Opção excelente 2<br />\n <input name='excellent3' type='checkbox' value='1'> Opção excelente 3<br />\n <input name='excellent4' type='checkbox' value='1'> Opção excelente 4<br />\n <input name='excellent5' type='checkbox' value='1'> Opção excelente 5<br />\n <input name='excellent6' type='checkbox' value='1'> Opção excelente 6\n </td>\n </tr>"; $tmpResponse .= "<tr>\n <td style='width: 150px;'><strong>Anciente:</strong></td><td>\n <select name='ancient'>\n <option value='0'>Não</option>\n <option value='1'>Ancient 1</option>\n <option value='2'>Ancient 2</option>\n </select>\n </td>\n </tr>"; $tmpResponse .= "<tr><td style='width: 150px;'><strong>Refine:</strong></td><td><input name='refine' type='checkbox' value='1'></td></tr>"; $tmpResponse .= "<tr><td style='width: 150px;'><strong>Harmony:</strong></td><td><select name='harmony'>"; for ($iHarmonyFamily = 1; $iHarmonyFamily < 4; $iHarmonyFamily++) { for ($iHarmonyType = 0; $iHarmonyType < 16; $iHarmonyType++) { for ($iHarmonyLevel = 0; $iHarmonyLevel < 16; $iHarmonyLevel++) { $tmpResponse .= "<option value='" . $iHarmonyType . "," . $iHarmonyLevel . "'>" . ldItemOptionsDatabase::getHarmony($iHarmonyFamily, $iHarmonyType, $iHarmonyLevel) . "</option>\n"; } } } $tmpResponse .= "</select>(Atenção para não selecionar uma opção não suportada pelo item)</td></tr>"; $socketOptions = ldItemOptionsDatabase::getSocket(); foreach ($socketOptions["socketTypeNumber"] as $socketType => $socket) { for ($socketArgs = 1; $socketArgs <= 5; $socketArgs++) { if ($socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] == "No socket" || $socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] == "Empty socket") { continue; } $tmpSocket[$socketArgs] .= "<option value='" . ($socketType + ($socketArgs - 1) * 50) . "'>" . $socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$socketType]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$socketType]["socketsArgs"][$socketArgs] . "</option>\n"; } } $tmpResponse .= "<tr>\n <td style='width: 150px;'><strong>Sockets:</strong></td>\n <td>\n Socket 1: <select name='socket1'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[1]}</select><br />\n Socket 2: <select name='socket2'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[2]}</select><br />\n Socket 3: <select name='socket3'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[3]}</select><br />\n Socket 4: <select name='socket4'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[4]}</select><br />\n Socket 5: <select name='socket5'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[5]}</select><br />\n </td>\n </tr>"; $tmpResponse .= "<tr><td colspan='2'><strong>Tenha bastante atenção ao selecionar as opções acima para não selecionar alguma opção que o item desejado não tenha suporte para a mesma dentro do jogo.</strong></td></tr>"; $tmpResponse .= "<tr><td style='width: 150px;'><strong>Login contemplado:</strong></td><td><input name='memb___id' type='text' value='' maxlength='10'></td></tr>"; $tmpResponse .= "<tr><td colspan='2'><input type='submit' value='Criar serial' class='button' /></td></tr>"; $tmpResponse .= "</table>"; $tmpResponse .= "</form>"; $tmpResponse .= "</div>"; } elseif ($_GET['action'] == "createSerialWrite") { if (empty($_POST['memb___id']) == true) { $tmpResponse .= "<div style='padding: 10px;'>"; $tmpResponse .= "<ul>"; $tmpResponse .= "<li><strong>Preencha o login corretamente!</strong></li>"; $tmpResponse .= "</ul>"; $tmpResponse .= "</div>"; } else { $_POST['item'] = explode(",", $_POST['item']); $_POST['harmony'] = explode(",", $_POST['harmony']); $serialFinal = $this->createSerial(); $this->query("INSERT INTO [dbo].[webGoldenArcher] ([username],[pserial1],[pserial2],[pserial3],[status],[itemCategorie],[itemIndex],[itemLevel],[itemOption],[itemSkill],[itemLuck],[excellent1],[excellent2],[excellent3],[excellent4],[excellent5],[excellent6],[ancient],[refine],[harmonyType],[harmonyLevel],[socketOp1],[socketOp2],[socketOp3],[socketOp4],[socketOp5])\n VALUES\n ('" . $_POST['memb___id'] . "'\n ,'" . $serialFinal[0] . "'\n ,'" . $serialFinal[1] . "'\n ,'" . $serialFinal[2] . "'\n ,0\n ," . (int) $_POST['item'][0] . "\n ," . (int) $_POST['item'][1] . "\n ," . (int) $_POST['itemLevel'] . "\n ," . (int) $_POST['itemOption'] . "\n ," . (int) $_POST['itemSkill'] . "\n ," . (int) $_POST['itemLuck'] . "\n ," . (int) $_POST['excellent1'] . "\n ," . (int) $_POST['excellent2'] . "\n ," . (int) $_POST['excellent3'] . "\n ," . (int) $_POST['excellent4'] . "\n ," . (int) $_POST['excellent5'] . "\n ," . (int) $_POST['excellent6'] . "\n ," . (int) $_POST['ancient'] . "\n ," . (int) $_POST['refine'] . "\n ," . (int) $_POST['harmony'][0] . "\n ," . (int) $_POST['harmony'][1] . "\n ," . (int) $_POST['socket1'] . "\n ," . (int) $_POST['socket2'] . "\n ," . (int) $_POST['socket3'] . "\n ," . (int) $_POST['socket4'] . "\n ," . (int) $_POST['socket5'] . ")"); $tmpResponse .= "<div style='padding: 10px;'>"; $tmpResponse .= "<ul>"; $tmpResponse .= "<li><strong>Serial gerado com sucesso!</strong></li>"; $tmpResponse .= "<li>Serial: <strong>" . $serialFinal[0] . "-" . $serialFinal[1] . "-" . $serialFinal[2] . "</strong></li>"; $tmpResponse .= "</ul>"; $tmpResponse .= "</div>"; } } $ldTpl->set("RESPONSE_WRITE", $tmpResponse); }
public function loadSelect() { global $sqlManager; try { require_once "ldItem/ldItemDatabase.class.php"; require_once "ldItem/ldItemOptionsDatabase.class.php"; require_once "ldItem/ldItemMake.class.php"; require_once "ldItem/ldItemParse.class.php"; require_once "ldItem/ldVault.class.php"; require_once "ldItem/ldInventory.class.php"; ldItemDatabase::setDatabases("application/", "item.txt", "class/ldItem/data/item.serialize.txt"); if (ldItemDatabase::checkDatabaseExists() == false) { ldItemDatabase::createDatabase(); } if (ldItemDatabase::checkDatabaseExists() == false) { throw new Exception("DATABASE_CANT_LOAD"); } if (isset($_POST['type']) == true && $_POST['type'] == "item" && $_POST['value'] >= 0) { foreach (ldItemDatabase::$dbItem[$_POST['value']] as $item) { echo "<option value='{$item["Index"]}'>{$item["Name"]}</option>"; } } elseif (isset($_POST['type']) == true && $_POST['type'] == "details") { $jqueryTemp = NULL; $jqueryTemp .= "\$('#excText5').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt5 . "');"; $jqueryTemp .= "\$('#excText4').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt4 . "');"; $jqueryTemp .= "\$('#excText3').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt3 . "');"; $jqueryTemp .= "\$('#excText2').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt2 . "');"; $jqueryTemp .= "\$('#excText1').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt1 . "');"; $jqueryTemp .= "\$('#excText0').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt0 . "');"; for ($i = 0; $i < 16; $i++) { for ($il = 0; $il < 16; $il++) { $tempOption = ldItemOptionsDatabase::getHarmony($_POST['section'], $i, $il); if (substr($tempOption, 0, 9) == "No option") { continue; } $optHarmony .= "<option value=\\'" . $i . ":" . $il . "\\'>" . $tempOption . "</option>\\n"; } } $jqueryTemp .= "\$('#itemHarmony').html('<option value=\\'-1\\'>No effect</option>{$optHarmony}');"; $optionSocket = array(NULL, NULL, NULL, NULL, NULL); $socketOptions = ldItemOptionsDatabase::getSocket(); foreach ($socketOptions["socketTypeNumber"] as $socketType => $socket) { for ($socketArgs = 1; $socketArgs <= 5; $socketArgs++) { if ($socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] == "No socket" || $socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] == "Empty socket") { continue; } $optionSocket[$socketArgs] .= "<option value=\\'" . ($socketType + ($socketArgs - 1) * 50) . "\\'>" . $socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$socketType]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$socketType]["socketsArgs"][$socketArgs] . "</option>"; } } $jqueryTemp .= "\$('#socketOp0').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[1]}');"; $jqueryTemp .= "\$('#socketOp1').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[2]}');"; $jqueryTemp .= "\$('#socketOp2').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[3]}');"; $jqueryTemp .= "\$('#socketOp3').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[4]}');"; $jqueryTemp .= "\$('#socketOp4').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[5]}');"; $jqueryTemp .= "\$('#refineText').html('" . ldItemOptionsDatabase::getRefine($_POST['section'], $_POST['index'])->opt0 . " / " . ldItemOptionsDatabase::getRefine($_POST['section'], $_POST['index'])->opt1 . "');"; echo "<script type=\"text/javascript\">\n \$(document).ready(function(){\n {$jqueryTemp}\n });\n </script>"; } else { throw new Exception("Error"); } } catch (Exception $e) { echo $e->getMessage(); } }
/** * @desc get harmony option name from database. * @return null. */ public static function getHarmonyName($section, $index, $type, $level) { return ldItemOptionsDatabase::getHarmony($section, $type, $level); }