2.1.3 # # Character Converter # # by # # Alex/AT # # -modified by- # # indomit & EleGoS # ########################## define('DB_SERVER', 'localhost'); define('DB_USER', 'mangos'); define('DB_PASS', 'password'); define('DB_DB', 'mangos'); define('SQL_SCREEN',0); # 1 for output an SQL query, 0 for writing an sql file error_reporting(0); set_time_limit(0); function echobr($s) { echo $s.""; } function error($s) { echobr("".$s.""); } function success($s) { echobr("".$s.""); } if (!mysql_connect(DB_SERVER, DB_USER, DB_PASS)) { die("Cannot connect to mysql server ".DB_SERVER." with user ".DB_USER.". Please check defines inside php script."); } if (!mysql_select_db(DB_DB)) { die("Cannot find database ".DB_DB.". Please check defines inside php script."); } $r = mysql_query('select `guid`, `name`, `data` from `character`'); if (!$r) { die("Cannot find table `character`, or it is broken"); } if(!SQL_SCREEN) $fh = fopen('2_0_12-to-2_1_3.sql', 'wb'); echo ""; echo ""; while ($row = mysql_fetch_assoc($r)) { echo ""; $guid = $row['guid']; $name = $row['name']; $data = explode(' ', trim($row['data'])); echo "
GuidNameMessage
$guid$name"; if ($data[count($data) - 1] === '') unset($data[count($data) - 1]); if (!is_array($data)) { error("has invalid data field"); continue; } if (count($data) == 0x59C) { success("is already converted"); continue; } if (count($data) != 0x58E) { error("has unknown version of data field (count = ".count($data).", must be = ". 0x58E.")"); continue; } # convert for ($i = 0x358; $i < 0x58E; $i++) $data[$i - 2] = $data[$i]; for ($i = 0x58B; $i >= 0x586; $i--) $data[$i + 6] = $data[$i]; $data[0x59B] = $data[0x591]; for ($i = 0x57D; $i <= 0x58B; $i++) $data[$i] = 0; for ($i = 0x591; $i <= 0x59A; $i++) $data[$i] = 0; ksort($data); if (count($data) != 0x59C) { error("encountered conversion error"); continue; } $output .= 'UPDATE `character` SET `data` = "'.implode(' ', $data).'" WHERE `guid` = '.$guid.";\n"; success("converted succesfully"); } mysql_close(); echo "


"; if(!SQL_SCREEN) { fwrite($fh, $output); fclose($fh); echo "Execute 2_0_12-to-2_1_3.sql from folder of this script
"; } else { echo "Execute this sql-query:

"; } echo "
Do not forget backup your characters!"; ?>