[Release] Warehouse Changer in WebSite

EvoLuTioN

Active Member
Joined
May 3, 2008
Messages
815
Reaction score
164
Hello everybody, since we had problems with vault change command, I started to develop a better vault change system, well I developped this command by web, just pressing one button, let's see:

First:

- warehouse table: you must add column named: number(int)(4) default value (0)
- CharBaul table: you must create this table and columns like this: AccountID(VarChar)(19)(PrimaryKey) | Baul(Int)(4)(NULL) default value (0) | Items(VarBinary)(1920)(NULL) | Money(Int)(4)(NULL)
- ExtWarehouse table: obviusly you must have this table created.

About files:

baulextra.php file:
Code:
<form id="form1" name="form1" method="post" action="cambiobaul.php">
<table width="100%" border="1" bordercolor="#000000">
<td colspan="2">
<div></div>
</td>
<tr>
<td width="10%">
<div>ID</div>
</td>
<td width="90%">
<div><input name="id" type="text" maxlength="10" /></div>
</td>
</tr>
<tr>
<td>
<div>Password</div>
</td><td>
<div><input name="clave" type="password" class="Estilo86" maxlength="10" />
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div>Anti-Duppers System</div>
</td>
</tr>
<tr>
<td>
<div><input name="Submit" type="submit" value="Change Vault" />
</div>
</td>
</tr>
</table>
</form>
cambiobaul.php file:
Code:
<?
$conection = mssql_connect("ServerName","UserName","Password") or die("SQL connection fail, verify your connection config.");
mssql_select_db("MuOnline",$conection);
function anti_injection( $mensaje )
{
$banlist = array
("insert","select","drop","update","delete","distinct","having","truncate","replace",
"handler","like","procedure","limit","order by","group by","<",">","/","'"," ","=","*",",","-");
if ( eregi ( "[a-zA-Z0-9]+", $mensaje ) )
{
$mensaje = trim ( str_replace ( $banlist, '', strtolower ( $mensaje ) ) );
}
else
{
$mensaje = NULL;
}
return $mensaje;
}
if(trim($HTTP_POST_VARS["id"]) != "" && trim($HTTP_POST_VARS["clave"]) != "")
{
$sql = "SELECT memb___id FROM MEMB_INFO WHERE memb___id='".anti_injection($HTTP_POST_VARS["id"])."' and memb__pwd='".anti_injection($HTTP_POST_VARS["clave"])."'";
$result = mssql_query($sql);
if($row = mssql_fetch_array($result))
{
  $sqlexiste = "SELECT AccountID FROM EXTWAREHOUSE WHERE AccountID='".anti_injection($HTTP_POST_VARS["id"])."'";
  $resultexiste = mssql_query($sqlexiste);
  if($rowexiste = mssql_fetch_array($resultexiste))
  {
   $sqlchar = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='".anti_injection($HTTP_POST_VARS["id"])."'");
   $rschar = mssql_fetch_array($sqlchar);
   if(($rschar['ConnectStat'])==0)
   {
    $sqlbaul = mssql_query("SELECT number FROM WAREHOUSE WHERE AccountID='".anti_injection($HTTP_POST_VARS["id"])."'");
    $rsbaul = mssql_fetch_array($sqlbaul);
    if(($rsbaul['number'])==1)
    {
     /* If I want my original vault */
     /* Save 2nd vault in extwarehouse table */
     $sql ="update extwarehouse set items=(select items from warehouse where accountid='".anti_injection($HTTP_POST_VARS["id"])."') where accountid='".anti_injection($HTTP_POST_VARS["id"])."'";
     mssql_query($sql);
     $sql ="update extwarehouse set money=(select money from warehouse where accountid='".anti_injection($HTTP_POST_VARS["id"])."') where accountid='".anti_injection($HTTP_POST_VARS["id"])."'";
     mssql_query($sql);
     /* Update main vault to original content */
     $sql ="update warehouse set items=(select items from charbaul where accountid='".anti_injection($HTTP_POST_VARS["id"])."') where accountid='".anti_injection($HTTP_POST_VARS["id"])."'";
     mssql_query($sql);
     $sql ="update warehouse set money=(select money from charbaul where accountid='".anti_injection($HTTP_POST_VARS["id"])."') where accountid='".anti_injection($HTTP_POST_VARS["id"])."'";
     mssql_query($sql);
     /* Set vault number */
     $sql ="update warehouse set number=0 where accountid='".anti_injection($HTTP_POST_VARS["id"])."'";
     mssql_query($sql);
     /* Clean main vault last data  */
     $sql ="delete charbaul where accountid='".anti_injection($HTTP_POST_VARS["id"])."'";
     mssql_query($sql);
    }
    if(($rsbaul['number'])==0)
    {
     /* If I want 2nd vault */
     /* Save main vault data into charbaul table */
     $sql ="insert into charbaul(accountid, items, money)(select accountid, items, money from warehouse where accountid='".anti_injection($HTTP_POST_VARS["id"])."')";
     mssql_query($sql);
     /* Update main vault to 2nd vault data */
     $sql ="update warehouse set items=(select items from extwarehouse where accountid='".anti_injection($HTTP_POST_VARS["id"])."') where accountid='".anti_injection($HTTP_POST_VARS["id"])."'";
     mssql_query($sql);
     $sql ="update warehouse set money=(select money from extwarehouse where accountid='".anti_injection($HTTP_POST_VARS["id"])."') where accountid='".anti_injection($HTTP_POST_VARS["id"])."'";
     mssql_query($sql);
     /* Set vault number */
     $sql ="update warehouse set number=1 where accountid='".anti_injection($HTTP_POST_VARS["id"])."'";
     mssql_query($sql);
    }
    echo "-".anti_injection($HTTP_POST_VARS["id"])." vault changed successfully !!!";
   }
   else
   {
    echo "You must be off line, vault change not proceed !!!";
   }
  }
  else
  {
   echo "You don't have extravault, contact your administrator !!!";
  }
}
else
{
  echo "Login fail !!!";
}
mssql_free_result($result);
}
else
{
echo "You must to complete all field to login ok !!!";
}
mssql_close();
?>
About scripts:

1. Well this script add a trigger into memb_info table, then will be activated every time an account is INSERTED into this table. This trigger will add a new record into extwarehouse table using the new account ID created:
Code:
CREATE TRIGGER [extware] ON [dbo].[MEMB_INFO] 
FOR INSERT
AS
declare @cuenta varchar(10)
SELECT @cuenta=memb___id FROM INSERTED
insert into extwarehouse values(@cuenta,0,0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,0,0,0,'')
2. The complicated script:
Code:
ALTER TABLE warehouse ADD exist INTEGER NULL CONSTRAINT [DF_warehouses] DEFAULT ((0))
UPDATE warehouse SET exist=0
UPDATE warehouse SET exist=1 WHERE EXISTS ( SELECT extwarehouse.AccountID FROM extwarehouse WHERE extwarehouse.AccountID = warehouse.AccountID)
INSERT INTO extwarehouse(AccountID,Number,Items,Money,EndUseDate,DbVersion,pw)(select accountid,0,0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,0,0,0,'' from warehouse where exist=0)
UPDATE warehouse SET exist=1 WHERE EXISTS ( SELECT extwarehouse.AccountID FROM extwarehouse WHERE extwarehouse.AccountID = warehouse.AccountID)
Details:
Code:
ALTER TABLE warehouse ADD exist INTEGER NULL CONSTRAINT [DF_warehouses] DEFAULT ((0))
UPDATE warehouse SET exist=0
This two lines will add "exist" column into warehouse table and set default value to cero.
Code:
UPDATE warehouse SET exist=1 WHERE EXISTS ( SELECT extwarehouse.AccountID FROM extwarehouse WHERE extwarehouse.AccountID = warehouse.AccountID)
This line searching created vaults into extwarehouse table and update exist value from warehouse to 1 (the 2nd vault is alredy create).
Code:
INSERT INTO extwarehouse(AccountID,Number,Items,Money,EndUseDate,DbVersion,pw)(select accountid,0,0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,0,0,0,'' from warehouse where exist=0)
This line will add a record into extwarehouse table (make the 2nd vault) from all accounts with exist value = 0 (accounts don't have 2nd vault).

Code:
Code:
UPDATE warehouse SET exist=1 WHERE EXISTS ( SELECT extwarehouse.AccountID FROM extwarehouse WHERE extwarehouse.AccountID = warehouse.AccountID)
This line do the same as 2nd line, but update is necessary coz' you are created extra vaults.

The one detail is when you make the 2nd vault and you change it, and then you try edit with MuEdit, the vault look like this:
error1qb7.jpg

If you want edit you must reset warehouse first, that's the only details and the only time you have to do this (if you want use an editor), but in game the update is successfully.

Finally, sorry about my english I hope you understand me what I mean hahaha. See ya!

Note: The 2nd script must be used only one time, this only works if you have accounts created, if you start by 0, don't use it.

See ya! n' good luck!
 

PuMaTa

New Member
Joined
Aug 5, 2008
Messages
37
Reaction score
0
И за какво служи в случая?
 
Last edited:

PuMaTa

New Member
Joined
Aug 5, 2008
Messages
37
Reaction score
0
Каде се поставя сичко това? Как се настройва и т.н? Поясни малко
 

Lesh0

Active Member
Joined
Apr 22, 2008
Messages
705
Reaction score
89
и аз се питам ма като гледам няма да отговори :2:
 

Bupyc™

New Member
Joined
Jul 10, 2008
Messages
504
Reaction score
327
Като гледам първите два се слагат като .php фаил в саита ви .
А другите би тряяло в Sql Query и enterprise manager ...
 

FreestyleR

New Member
Joined
May 14, 2008
Messages
129
Reaction score
19
Абе той е копирал и не знае какво го питате :d
 

RhysFox

New Member
Joined
Jun 30, 2008
Messages
918
Reaction score
299
Има версии с команда която командва Vault Keeper-а. Поради това, че в 90% от версиите тази команда е повредена и отписана от списъкът с командите е създаден този така да се каже един вид "Едитор". Недейте да обвинявате EvoLuTioN, че е копирал. Найстина не е било честно, че не е сложил имената на хората чиято е заслугата за съсзадаването на "Едитора", но важното е, че се е постарал да го намери :;):. Следвашия път EvoLuTioN задъжително слагай Credits. Също така само си обяснил какво се съдържа в скриптовете а не как се слагат. Моля те да си оправиш поста.
 
Last edited:

Mephisto

New Member
Joined
Apr 10, 2008
Messages
451
Reaction score
240
1во това не е едитор е прост скрип за смяна на vault-a
2ро web site vault edit е около 1000+ реда (няма го никаде) това е едва 100
3то никои вече няма respect към работите на другите
 

RhysFox

New Member
Joined
Jun 30, 2008
Messages
918
Reaction score
299
3то никои вече няма respect към работите на другите

Е не чак никой... Аз специално имам respect към работата на всеки който си е направил нещо сам самичък, а и мисля, че всички други от DarksTeam имат.
 
  • Like
Reactions: RobZombie

darkkingh

New Member
Joined
Mar 1, 2009
Messages
803
Reaction score
267
Е не чак никой... Аз специално имам respect към работата на всеки който си е направил нещо сам самичък, а и мисля, че всички други от DarksTeam имат.
(y)
 

eXecuteR

Active Member
Joined
Nov 21, 2008
Messages
342
Reaction score
165
ало синко... ти май си нямаш работа и си решил да обходиш всички теми... и ей тъй да си пускаш коментарчета, че да се намираш на работа......

моля те все пак погледни датата... 18-08-2008, 15:46 2 години назад...
 

killar4eto

Well-Known Member
Joined
Apr 11, 2009
Messages
920
Reaction score
463
Този скрип да не се ползва... в него има стара информация, която вече не важи :)...

"eregi", го замести с "preg_match" и още някой работи..., но найстина това не е Vault Editor :)
 

Aragorn

Well-Known Member
Joined
Apr 11, 2008
Messages
1,257
Reaction score
312
30-06-2008, 22:20

и какво от това?? нали не е нужно само да се коментира когато е нова темата? значи според теб една тема или мнение устарее не трябва да се коментира?
 

DIEL

Member
Joined
Dec 1, 2008
Messages
65
Reaction score
5
1во това не е едитор е прост скрип за смяна на vault-a
2ро web site vault edit е около 1000+ реда (няма го никаде) това е едва 100
3то никои вече няма respect към работите на другите

така е въпреки, че има хора който разбират те не се уценяват правилно от неблагодарни пубери който не търсят нищо, или не разбират нищо, а влизат само за критизма..