Client und Datenbank

04/21/2013 21:37 SwordstaR88#1
Morgen,

ich habe folgendes Problem:

meine item_proto Serverside und item_proto Clientside stimmen nicht überein. (gleiches mit Mobproto). Nun habe ich die Locale entpackt und die Itemproto mittels einem Tool auf epvp als SQL umformatiert, doch wenn ich diese so nun einfüge startet mein Server nichtmehr. In der Datenbank ist als Name übrigens hashName="name der eigentlich stehen sollte" eingetragen.

Falls jemand von euch einen funktionierenden Konverter, gerne auch von sql -> xml kennt oder einen weg das mein Server trotzdem startet, wäre ich sehr dankbar.

+++ Habe jetzt einige Sachen ausprobiert, immernoch nicht funktioniert - bitte um Hilfe. +++
04/21/2013 21:57 .Leykas#2
Was genau stimmt den nicht überein?

Sonst würde ich an deiner stelle lieber selfmade rangehn und das wichtigste so ändern, das passt.
04/21/2013 22:01 SwordstaR88#3
Also eigentlich stimmt nichts überein, alle Werte wurden scheints nur Serverside geändert, Clientside ist alles total verschieden das würde so ewig dauern
04/21/2013 22:07 .Leykas#4
Welche Files und welchen Client nutzt du denn ?
04/21/2013 22:17 SwordstaR88#5
Sind die Sharvan2 FILES + DB + CLIENT,
hab die DB etwas bearbeitet sprich Logs und unnötige Tables gelöscht, nun ist das das einzigste, was mich stört.
04/21/2013 22:20 .Leykas#6
Hmm also ich wüsste sonst nichts außer, dass du alles für deinen server so veränderst wie du es möchtest, sprich also manuell von Hand
04/22/2013 12:25 monsterbacke778#7
Nimm einfach mal die^^
[Only registered and activated users can see links. Click Here To Register...]

Und dann kannste den Rest einfügen^^
04/22/2013 12:55 theo1990#8
also ich würde eine xml vom server ziehen und nicht umgekehrt. Das Problem ist aber auch, dass manche Wert in der db andere auswirkungen im client haben. Welche das sind weiß ich nicht mehr aber ich hatte damals riesen probleme deswegen.

den unten stehenden code kannst du in eine php datei speichern und von deinem Server (wenn du apache installiert hast) aufrufen und dann erstellt er dir im selben verzeichnis eine item_proto.xml

Quote:
<?php
//error_reporting(E_ALL);

//$tmpfname = tempnam ("/tmp", "FOO");

$fh = fopen('item_proto.xml', 'w');
//$fh = fopen($tmpfname, 'w');
fwrite($fh, '<item_proto extended="true" version="1">' . "\r\n");

$c = mysql_connect('DEINE IP', 'DEIN BENUTZER', 'DEIN PASSWORT');
$db = mysql_select_db('player');

$result = mysql_query('SELECT * FROM item_proto ORDER BY vnum ASC');
while ($row = mysql_fetch_object($result)) {
//$value = ($field !== 'name') ? $value = utf8_decode($value) : $value;
$tmp = array();
$tmp['vnum'] = $row->vnum;
$tmp['hashName'] = trim($row->name);
$tmp['name'] = trim($row->locale_name);
$tmp['type'] = $row->type;
$tmp['subtype'] = $row->subtype;
$tmp['weight'] = $row->weight;
$tmp['size'] = $row->size;
$tmp['antiflag'] = $row->antiflag;
$tmp['flag'] = $row->flag;
$tmp['wearflag'] = $row->wearflag;
$tmp['immuneflag'] = floatval($row->immuneflag);
$tmp['gold'] = $row->gold;
$tmp['buy_price'] = $row->shop_buy_price;
$tmp['limittype0'] = $row->limittype0;
$tmp['limitvalue0'] = $row->limitvalue0;
$tmp['limittype1'] = $row->limittype1;
$tmp['limitvalue1'] = $row->limitvalue1;
$tmp['applytype0'] = $row->applytype0;
$tmp['applyvalue0'] = $row->applyvalue0;
$tmp['applytype1'] = $row->applytype1;
$tmp['applyvalue1'] = $row->applyvalue1;
$tmp['applytype2'] = $row->applytype2;
$tmp['applyvalue2'] = $row->applyvalue2;
$tmp['value0'] = $row->value0;
$tmp['value1'] = $row->value1;
$tmp['value2'] = $row->value2;
$tmp['value3'] = $row->value3;
$tmp['value4'] = $row->value4;
$tmp['value5'] = $row->value5;
$tmp['socket0'] = $row->socket0;
$tmp['socket1'] = $row->socket1;
$tmp['socket2'] = $row->socket2;
$tmp['socket3'] = $row->socket3;
$tmp['socket4'] = $row->socket4;
$tmp['socket5'] = $row->socket5;
$tmp['refine_vnum'] = $row->refined_vnum;
$tmp['refine_set'] = $row->refine_set;
$tmp['magic_pct'] = $row->magic_pct;
$tmp['specular'] = $row->specular;
$tmp['socket_pct'] = $row->socket_pct;

$t = array();
foreach ($tmp as $key => $value) {
$t[] = $key . '="' . $value . '"';
}
unset($tmp);

fwrite($fh, "\t\t" . '<Item ' . implode(' ', $t) . ' />' . "\r\n");
unset($tmp);
}



fwrite($fh, '</item_proto>');
fclose($fh);

if (ini_get('zlib.output_compression')) {
ini_set('zlib.output_compression', 'Off');
}

readfile('item_proto.xml');

exit;