[Help] Модул за изчистване на инвентори ми чисти и предметите по героя

Holder

New Member
Joined
Dec 27, 2010
Messages
434
Reaction score
43
Значи инвентар доколкото знам е, мястото за склад на предметите, което носи самия герой и не се отнася за предметите по него.. може и да бъркам нз.. та може ли тоя модул да се направи така, че да премахва само инвентара без предметите по героя ?

Code:
<?
/* 
   MFS Team Web 0.5
   by Diablo
   http://*********************/
*/
?>
<?php
if(isset($_POST['submit'])) { clear_inventara(); }
?>
<table border=0 cellspacing=5 cellpadding=0>
<td width='280'>
<form name="" method="post" action="">
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr> 
<td width="70"><font color=>Character Name :</td><td width="100">
<input name="character" type="text" id="character" maxlength="10">
</td>
</tr>
<tr> 
<td width="70"><font color=>Login ID :</td>
<td>
<input name="login" type="text" id="login" maxlength="10">
</td>
</tr>
<tr> 
<td width="70"><font color=>Password :</td>
<td><input name="password" type="password" id="password" maxlength="16">
</td>
</tr>
<tr> 
<td width="70">&nbsp;</td>

</tr>
<tr>
<tr> 
<td width="100" align="right"><input type="submit" class=button name="submit" value="Submit"></td>
<td><input type="reset" class=button name="Submit2" value="Reset"></td>
</tr>
</table>
</form>
</div>
</td>
</table>
 
Last edited:
Не разбирам от PHP,но само аз ли не виждам къде е кода за триене на инвентара (не ми се смейте ако греша :D: ) ?

Виждам само 2 полета за Login и Password,бутон Reset и Character Name.
 
Не разбирам от PHP,но само аз ли не виждам къде е кода за триене на инвентара (не ми се смейте ако греша :D: ) ?

Виждам само 2 полета за Login и Password,бутон Reset и Character Name.

Не. Този е кода но иска лека поправка така като го гледам....
(wonder)
 
  • Like
Reactions: GTI
това не е кода това е само формата
намери тази функция clear_inventara(); и я постни тук
 
ето ти кода за mucore е но можеш да видиш функците
PHP:
<?
/**
* @+===========================================================================+
* @¦ MuCore 1.0.8 English.       					       ¦
* @¦ Credits: Isumeru & MaryJo  					       ¦
* @¦ +=======================================================================+ ¦
* @¦ ¦  "He who Copy/Pastes Shall Inherit My Mistakes But Not My Knowledge"  ¦ ¦
* @¦ +=======================================================================+ ¦
* @¦ Official Site:   http://bizarre-networks.net                              ¦
* @+===========================================================================+
* @¦ Our Allied Site: http://chileplanet.org                                   ¦
* @+===========================================================================+
*/
$config = simplexml_load_file('engine/config_mods/clear_inventory_settings.xml');
$active = trim($config->active);
if ($active == '0') {
    echo msg('0', text_sorry_feature_disabled);
} else {
    if (isset($_GET['cid'])) {
        echo '<div style="margin-top: 10px;">';
        $id = safe_input($_GET['cid'], '');
        if (empty($id) || !is_numeric($id)) {
            header('Location: ' . $core_run_script . '');
            exit();
        } else {
            if (character_and_account($id, $user_auth_id) === false) {
                header('Location: ' . $core_run_script . '');
                exit();
            } else {
                if (account_online($user_auth_id) === true) {
                    echo msg('0', text_clearinventory_t1);
                } else {
                    $clear = $core_db->Execute("Update character set [inventory]=CONVERT(varbinary(1080), null) where mu_id=?", array(
                        $id
                    ));
                    if ($clear) {
                        echo msg('1', text_clearinventory_t2);
                    } else {
                        echo msg('0', text_clearinventory_t3);
                    }
                }
            }
        }
    }
    echo '<div style="margin-top: 20px;">
<fieldset><legend>' . text_clearinventory_t4 . '</legend>
<table border="0" cellspacing="4" cellpadding="0" width="100%" style="padding-left: 10px;">
<tr>
<td align="left">' . text_clearinventory_t5 . '
</td>
</tr>
</table>
</fieldset>
</div>';
    $characters = $core_db->Execute("Select mu_id,name,class from character where accountid=? order by clevel desc ", array(
        $user_auth_id
    ));
    
    echo '<table border="0" cellspacing="4" cellpadding="0" width="100%" style="margin-top: 10px; margin-bottom: 10px;">';
    while (!$characters->EOF) {
        echo '  <tr>
    <td width="66" rowspan="2"><img src="template/' . $core['config']['template'] . '/images/class/' . decode_class($characters->fields[2], '2') . '" width="66" height="66" title="Class"></td>
     <td align="left" class="iR_name" width="100">' . htmlentities($characters->fields[1]) . '</td>
    <td rowspan="2" class="iR_func_status" align="left"><input type="button" value="' . button_clear_inventory . '" onclick="ask_url(\'' . text_clearinventory_t6 . '\',\'' . $core_run_script . '&cid=' . $characters->fields[0] . '\');"></td>
  </tr>
  <tr>
    <td algin="left" class="iR_class">' . decode_class($characters->fields[2]) . '</td>
  </tr>
      <tr>
    <td colspan="3" class="iRg_line_top">&nbsp;</td>
  </tr>
  ';
        
        $characters->MoveNext();
    }
    echo '</table>';
    
    
}
/**
* @+===========================================================================+
* @¦ MuCore 1.0.8 English.       					       ¦
* @¦ Credits: Isumeru & MaryJo  					       ¦
* @¦ +=======================================================================+ ¦
* @¦ ¦  "He who Copy/Pastes Shall Inherit My Mistakes But Not My Knowledge"  ¦ ¦
* @¦ +=======================================================================+ ¦
* @¦ Official Site:   http://bizarre-networks.net                              ¦
* @+===========================================================================+
* @¦ Our Allied Site: http://chileplanet.org                                   ¦
* @+===========================================================================+
*/
?>
 
Ето го, но май няма да стане, то търси inventory таблицата и изтрива всичко в нея на този герой, за целта трябва да се сложат 2 таблици и самата база данни на сървъра трябва да записва в 2 таблици предметите по героя, доста ще е сложно или се лъжа ?

Code:
/* Clear Inventory */
function clear_inventara()
{
$character = secure($_POST['character']);
$account = secure($_POST['login']);
$password = secure($_POST['password']);

check_inject();

$queryonline = mssql_query("Select * from MEMB_STAT where memb___id='$account' and connectstat='1'");
$onlinecheck = mssql_num_rows($queryonline);

$queryaccount = mssql_query("Select * from MEMB_INFO where memb___id='$account'");
$accountcheck = mssql_num_rows($queryaccount);

$querypassword = mssql_query("Select * from MEMB_INFO where memb___id='$account' and memb__pwd='$password'");
$passwordcheck = mssql_num_rows($querypassword);

$querychar = mssql_query("Select * from Character where Name='$character'");
$charcheck = mssql_num_rows($querychar);

if(empty($character) or empty($account) or empty($password)) { echo"<font color='red'>You cannot leave any fields blank!</font><br>"; $error=1; }
elseif($accountcheck <= 0) { echo"<font color='red'>Your Login does not exist in our database. Please go back and try again!</font><br>"; $error=1; }
elseif($passwordcheck <= 0) { echo"<font color='red'>Your Password does not exist in our database. Please go back and try again!</font><br>"; $error=1; }
elseif($charcheck <= 0) { echo"<font color='red'>Your Character does not exist in our database. Please go back and try again!</font><br>"; $error=1; }
elseif($onlinecheck  >= 1) { echo"<font color='red'>Account $account is online!Please LogOff First!</font><br>"; $error=1;}

if($error != 1) {

echo"<font color='green'>Character $character Inventory has been succesfully cleared.</font><br>";

$a = mssql_query("UPDATE Character SET [inventory]=CONVERT(varbinary(1560), null) WHERE Name='$character'");

}
}
 
Last edited:
Смени този ред:
PHP:
$a = mssql_query("UPDATE Character SET [inventory]=CONVERT(varbinary(1560), null) WHERE Name='$character'");
със:
PHP:
$a = mssql_query("UPDATE Character SET [inventory]=CONVERT(varbinary(1080), null) WHERE Name='$character'");

Би трябвало да се получи... (yawn)
 
  • Like
Reactions: Holder
Толкова ли е трудно да напишете 2 реда...
 
Толкова ли е трудно да напишете 2 реда...

Не всеки може нали,или си мислиш че ти като можеш и другите могат?
 
Смени този ред:
PHP:
$a = mssql_query("UPDATE Character SET [inventory]=CONVERT(varbinary(1560), null) WHERE Name='$character'");
със:
PHP:
$a = mssql_query("UPDATE Character SET [inventory]=CONVERT(varbinary(1080), null) WHERE Name='$character'");

Би трябвало да се получи... (yawn)

Не за жалост, отново ми оголи героят.. и предметите по него и инвентара
 
PHP:
$inventory_length = 1728;

$rs = mssql_query("declare @@items varbinary($inventory_length); set @@items = (Select [Inventory] From [Character] Where [Name]='!!PROMENLIVA ZA IMETO NA GEROQ!!') print @@items;");
$r = mssql_get_last_message();
$items = substr($r, 2);

//Нови версии
$new_items = "0x" . substr_replace($items, str_repeat("F", (($inventory_length - (12*16))*2)), (12*32));
//Стари версии
$new_items = "0x" . substr_replace($items, str_repeat("F", (($inventory_length - (12*10))*2)), (12*20));

mssql_query("Update Character Set [Inventory]=$new_items Where [Name]='!!PROMENLIVA ZA IMETO NA GEROQ!!'");
Където:
$inventory_length - дължината на колоната Inventory в Character

16, 32 - за новите версии
10, 20 - за старите