Register for your free account! | Forgot your password?

You last visited: Today at 00:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Item_Proto Converter sql > xml/txt

Discussion on Item_Proto Converter sql > xml/txt within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
elite*gold: 65
Join Date: Apr 2010
Posts: 286
Received Thanks: 57
Item_Proto Converter sql > xml/txt

Da ich bisher keinen anständigen Converter gesehen habe, den ich für meinen Adminbereich verwenden kann, hab ich mir gestern einen eigenen geschrieben.
Das ist das komplette Modul für mein cms, ihr müsst es also an eure Page anpassen.
Bisher habe ich noch keine Fehler entdeckt und benutzte es so wie es ist.

Wenn bedarf besteht, werde ich eventuell noch einen Converter für die mob_proto schreiben.



PHP Code:
<?php

class Item_Proto_Converter extends Admin_Modul {
    
    
/*
     * Item AntiFlags
     * 0:       NONE
     * 1:       ANTI_FEMALE
     * 2:       ANTI_MALE
     * 4:       ANTI_MUSA
     * 8:       ANTI_ASSASSIN
     * 16:      ANTI_SURA
     * 32:      ANTI_MUDANG
     * 64:      ANTI_GET
     * 128:     ANTI_DROP
     * 256:     ANTI_SELL
     * 512:     ANTI_EMPIRE_A
     * 1024:    ANTI_EMPIRE_B
     * 2048:    ANTI_EMPIRE_C
     * 4096:    ANTI_SAVE
     * 8192:    ANTI_GIVE  
     * 16384:   ANTI_PKDROP 
     * 32768:   ANTI_STACK
     * 65536:   ANTI_MYSHOP
     * 131072:  ANTI_SAFEBOX
     */
    
const ITEM_ANTIFLAG_NONE 0;
    const 
ITEM_ANTIFLAG_FEMALE 1;
    const 
ITEM_ANTIFLAG_MALE 2;
    const 
ITEM_ANTIFLAG_WARRIOR 4;
    const 
ITEM_ANTIFLAG_ASSASSIN 8;
    const 
ITEM_ANTIFLAG_SURA 16;
    const 
ITEM_ANTIFLAG_SHAMAN 32;
    const 
ITEM_ANTIFLAG_GET 64;
    const 
ITEM_ANTIFLAG_DROP 128;
    const 
ITEM_ANTIFLAG_SELL 256;
    const 
ITEM_ANTIFLAG_EMPIRE_A 512;
    const 
ITEM_ANTIFLAG_EMPIRE_B 1024;
    const 
ITEM_ANTIFLAG_EMPIRE_C 2048;
    const 
ITEM_ANTIFLAG_SAVE 4096;
    const 
ITEM_ANTIFLAG_GIVE 8192;
    const 
ITEM_ANTIFLAG_PKDROP 16384;
    const 
ITEM_ANTIFLAG_STACK 32768;
    const 
ITEM_ANTIFLAG_MYSHOP 65536;
    const 
ITEM_ANTIFLAG_SAFEBOX 131072;

    
/*
     * Item Flags:
     * 0:       NONE
     * 1:       ITEM_TUNABLE
     * 2:       ITEM_SAVE
     * 4:       ITEM_STACKABLE
     * 8:       COUNT_PER_1GOLD
     * 16:      ITEM_SLOW_QUERY
     * 32:      ITEM_UNIQUE
     * 64:      ITEM_MAKECOUNT
     * 128:     ITEM_IRREMOVABLE
     * 256:     CONFIRM_WHEN_USE
     * 512:     QUEST_USE
     * 1024:    QUEST_USE_MULTIPLE
     * 2048:    QUEST_GIVE
     * 4096:    ITEM_QUEST
     * 8192:    LOG  
     * 16384:   ITEM_APPLICABLE
     */
    
const ITEM_FLAG_NONE 0;
    const 
ITEM_FLAG_ITEM_TUNABLE 1;
    const 
ITEM_FLAG_ITEM_SAVE 2;
    const 
ITEM_FLAG_ITEM_STACKABLE 4;
    const 
ITEM_FLAG_COUNT_PER_1GOLD 8;
    const 
ITEM_FLAG_ITEM_SLOW_QUERY 16;
    const 
ITEM_FLAG_ITEM_UNIQUE 32;
    const 
ITEM_FLAG_ITEM_MAKECOUNT 64;
    const 
ITEM_FLAG_ITEM_IRREMOVABLE 128;
    const 
ITEM_FLAG_CONFIRM_WHEN_USE 256;
    const 
ITEM_FLAG_QUEST_USE 512;
    const 
ITEM_FLAG_QUEST_USE_MULTIPLE 1024;
    const 
ITEM_FLAG_QUEST_GIVE 2048;
    const 
ITEM_FLAG_ITEM_QUEST 4096;
    const 
ITEM_FLAG_LOG 8192;
    const 
ITEM_FLAG_ITEM_APPLICABLE 16384;

    
/*
     * Item WearFlag 
     * 0:       NONE
     * 1:       WEAR_BODY
     * 2:       WEAR_HEAD
     * 4:       WEAR_FOOTS
     * 8:       WEAR_WRIST
     * 16:      WEAR_WEAPON
     * 32:      WEAR_NECK
     * 64:      WEAR_EAR
     * 128:     WEAR_SHIELD
     * 256:     WEAR_UNIQUE
     * 512:     WEAR_ARROW
     * 1024:    WEAR_HAIR
     * 2048:    WEAR_ABILITY
     */
    
const ITEM_WEARFLAG_NONE 0;
    const 
ITEM_WEARFLAG_ARMOR 1;
    const 
ITEM_WEARFLAG_HEAD 2;
    const 
ITEM_WEARFLAG_FOOT 4;
    const 
ITEM_WEARFLAG_WRIST 8;
    const 
ITEM_WEARFLAG_WEAPON 16;
    const 
ITEM_WEARFLAG_NECK 32;
    const 
ITEM_WEARFLAG_EAR 64;
    const 
ITEM_WEARFLAG_SPECIAL 128;
    const 
ITEM_WEARFLAG_SHIELD 256;
    const 
ITEM_WEARFLAG_ARROW 512;
    const 
ITEM_WEARFLAG_HAIR 1024;
    const 
ITEM_WEARFLAG_ABILITY 2048;

    public function 
__construct() {
        
parent::__construct("item_proto_converter");
        
$this->setTitle("Item Proto Converter");
        if (isset(
$_GET["mode"])) {
            switch (
$_GET["mode"]) {
                case 
"sql2xml":
                    
$this->setSubtitle("SQL zu XML");
                    
$this->convertSQLToXML();
                    break;
                case 
"sql2txt":
                    
$this->setSubtitle("SQL zu TXT");
                    
$this->convertSQLToTXT();
                    break;
                default:
                    
$this->setSubtitle("Übersicht");
                    
$this->loadOverview();
                    break;
            }
        } else {
            
$this->loadOverview();
        }

        
$this->setMenu();
    }

    private function 
setMenu() {
        
$this->createInnerMenu("Modus");
        
$this->addInnerMenuItem("Modus""SQL zu XML""&mode=sql2xml");
        
$this->addInnerMenuItem("Modus""SQL zu TXT""&mode=sql2txt");
    }

    private function 
loadOverview() {
        
$this->addHtmlTemplate("overview");
    }

    private function 
convertSQLToXML() {

        
$item_proto fopen("downloads/item_proto""w");
        if (!
$item_proto) {
            
$this->addHtml("Fehler beim erstellen/schreiben der Datei!");
            return 
0;
        }

        
$this->db->select_db("game""player");
        
$item_proto_abfrage $this->db->query("game""SELECT vnum, name, locale_name, type, subtype, weight, size, antiflag, flag, wearflag, immuneflag, gold, shop_buy_price, refined_vnum, refine_set, refine_set2, magic_pct, limittype0, limitvalue0, limittype1, limitvalue1, applytype0, applyvalue0, applytype1, applyvalue1, applytype2, applyvalue2, value0, value1, value2, value3, value4, value5, socket0, socket1, socket2, socket3, socket4, socket5, specular, socket_pct, addon_type FROM item_proto ORDER by vnum asc");
        
$item_proto_abfrage->bind_result($vnum$name$locale_name$type$subtype$weight$size$antiflag$flag$wearflag$immuneflag$gold$shop_buy_price$refined_vnum$refine_set$refine_set2$magic_pct$limittype0$limitvalue0$limittype1$limitvalue1$applytype0$applyvalue0$applytype1$applyvalue1$applytype2$applyvalue2$value0$value1$value2$value3$value4$value5$socket0$socket1$socket2$socket3$socket4$socket5$specular$socket_pct$addon_type);

        
fwrite($item_proto'<item_proto extended="true" version="1">' "\n");
        while (
$item_proto_abfrage->fetch()) {
            
fwrite($item_proto"\t<Item vnum=\"$vnum\" name=\"$name\" gb2312name=\"$locale_name\" type=\"$type\" subtype=\"$subtype\" weight=\"$weight\" size=\"$size\" antiflag=\"$antiflag\" flag=\"$flag\" wearflag=\"$wearflag\" immuneflag=\"$immuneflag\" gold=\"$gold\" buy_price=\"$shop_buy_price\" limittype0=\"$limittype0\" limitvalue0=\"$limitvalue0\" limittype1=\"$limittype1\" limitvalue1=\"$limitvalue1\" applytype0=\"$applytype0\" applyvalue0=\"$applyvalue0\" applytype1=\"$applytype1\" applyvalue1=\"$applyvalue1\" applytype2=\"$applytype2\" applyvalue2=\"$applyvalue2\" value0=\"$value0\" value1=\"$value1\" value2=\"$value2\" value3=\"$value3\" value4=\"$value4\" value5=\"$value5\" socket0=\"$socket0\" socket1=\"$socket1\" socket2=\"$socket2\" socket3=\"$socket3\" socket4=\"$socket4\" socket5=\"$socket5\" refine_vnum=\"$refined_vnum\" refine_set=\"$refine_set\" magic_pct=\"$magic_pct\" specular=\"$specular\" socket_pct=\"$socket_pct\"/>\n");
        }
        
fwrite($item_proto'</item_proto>');

        
fclose($item_proto);
        
$this->addHtml("Datei wurde erstellt.<br/>");
        
$this->addHtml('<a href="downloads/item_proto">Download Link</a>');
    }

    private function 
convertSQLToTXT() {
        
$item_proto_txt fopen("downloads/item_proto.txt""w");
        
$item_names_txt fopen("downloads/item_names.txt""w");
        if (!
$item_proto_txt) {
            
$this->addHtml("Fehler beim erstellen/schreiben der Datei (item_proto.txt)!");
            return 
0;
        }
        if (!
$item_names_txt) {
            
$this->addHtml("Fehler beim erstellen/schreiben der Datei (item_names.txt)!");
            return 
0;
        }

        
$this->db->select_db("game""player");
        
$item_proto_abfrage $this->db->query("game""SELECT vnum, name, locale_name, type, subtype, weight, size, antiflag, flag, wearflag, immuneflag, gold, shop_buy_price, refined_vnum, refine_set, refine_set2, magic_pct, limittype0, limitvalue0, limittype1, limitvalue1, applytype0, applyvalue0, applytype1, applyvalue1, applytype2, applyvalue2, value0, value1, value2, value3, value4, value5, socket0, socket1, socket2, socket3, socket4, socket5, specular, socket_pct, addon_type FROM item_proto ORDER by vnum asc");
        
$item_proto_abfrage->bind_result($vnum$name$locale_name$type$subtype$weight$size$antiflag$flag$wearflag$immuneflag$gold$shop_buy_price$refined_vnum$refine_set$refine_set2$magic_pct$limittype0$limitvalue0$limittype1$limitvalue1$applytype0$applyvalue0$applytype1$applyvalue1$applytype2$applyvalue2$value0$value1$value2$value3$value4$value5$socket0$socket1$socket2$socket3$socket4$socket5$specular$socket_pct$addon_type);

        
fwrite($item_proto_txt'"Vnum"    "Name"    "Type"    "SubType"    "Size"    "AntiFlags"    "Flags"    "WearFlags"    "ImmuneFlags"    "Gold"    "ShopBuyPrice"    "RefinedVnum"    "RefineSet"    "AlterToMagicItemPercent"    "LimitType0"    "LimitValue0"    "LimitType1"    "LimitValue1"    "ApplyType0"    "ApplyValue0"    "ApplyType1"    "ApplyValue1"    "ApplyType2"    "ApplyValue2"    "Value0"    "Value1"    "Value2"    "Value3"    "Value4"    "Value5"    "Specular"    "GainSocketPercent"    "AddonType"' "\r\n");
        
fwrite($item_names_txt"VNUM\tLOCALE_NAME\n");
        while (
$item_proto_abfrage->fetch()) {
            
$item_string "";
            
$item_string .= $vnum;
            
$item_string .= "\t";
            
$item_string .= "\"$name\"";
            
$item_string .= "\t";
            
$item_string .= $this->getTypeString($type);
            
$item_string .= "\t";
            
$item_string .= $this->getSubtypeString($type$subtype);
            
$item_string .= "\t";
            
$item_string .= $size;
            
$item_string .= "\t";
            
$item_string .= $this->getAntiFlagString($antiflag);
            
$item_string .= "\t";
            
$item_string .= $this->getFlagString($flag);
            
$item_string .= "\t";
            
$item_string .= $this->getWearFlagString($wearflag);
            
$item_string .= "\t";
            
$item_string .= (strlen($immuneflag) == 0) ? '"NONE"' $immuneflag;
            
$item_string .= "\t";
            
$item_string .= $gold;
            
$item_string .= "\t";
            
$item_string .= $shop_buy_price;
            
$item_string .= "\t";
            
$item_string .= $refined_vnum;
            
$item_string .= "\t";
            
$item_string .= $refine_set;
            
$item_string .= "\t";
            
$item_string .= $magic_pct;
            
$item_string .= "\t";
            
$item_string .= $this->getLimitType($limittype0);
            
$item_string .= "\t";
            
$item_string .= $limitvalue0;
            
$item_string .= "\t";
            
$item_string .= $this->getLimitType($limittype1);
            
$item_string .= "\t";
            
$item_string .= $limitvalue1;
            
$item_string .= "\t";
            
$item_string .= $this->getApplyType($applytype0);
            
$item_string .= "\t";
            
$item_string .= $applyvalue0;
            
$item_string .= "\t";
            
$item_string .= $this->getApplyType($applytype1);
            
$item_string .= "\t";
            
$item_string .= $applyvalue1;
            
$item_string .= "\t";
            
$item_string .= $this->getApplyType($applytype2);
            
$item_string .= "\t";
            
$item_string .= $applyvalue2;
            
$item_string .= "\t";
            
$item_string .= $value0;
            
$item_string .= "\t";
            
$item_string .= $value1;
            
$item_string .= "\t";
            
$item_string .= $value2;
            
$item_string .= "\t";
            
$item_string .= $value3;
            
$item_string .= "\t";
            
$item_string .= $value4;
            
$item_string .= "\t";
            
$item_string .= $value5;
            
$item_string .= "\t";
            
$item_string .= $specular;
            
$item_string .= "\t";
            
$item_string .= $socket_pct;
            
$item_string .= "\t";
            
$item_string .= $addon_type;
            
$item_string .= "\r\n";
            
fwrite($item_proto_txt$item_string);
            
fwrite($item_names_txt"$vnum\t$locale_name\r\n");
        }

        
fclose($item_proto_txt);
        
fclose($item_names_txt);
        
$this->addHtml("Dateien wurden erstellt.<br/>");
        
$this->addHtml('<a href="downloads/item_proto.txt">Download Link Item_Proto</a><br/>');
        
$this->addHtml('<a href="downloads/item_names.txt">Download Link Item_Names</a>');
    }

    private function 
getTypeString($type) {
        switch (
$type) {
            case 
0// ITEM_NONE
                
return '"ITEM_NONE"';
                break;
            case 
1// ITEM_WEAPON
                
return '"ITEM_WEAPON"';
                break;
            case 
2// ITEM_ARMOR
                
return '"ITEM_ARMOR"';
                break;
            case 
3//ITEM_USE
                
return '"ITEM_USE"';
                break;
            case 
5// ITEM_MATERIAL
                
return '"ITEM_MATERIAL"';
                break;
            case 
6// ITEM_SPECIAL
                
return '"ITEM_SPECIAL"';
                break;
            case 
8// ITEM_LOTTERY
                
return '"ITEM_LOTTERY"';
                break;
            case 
9// ITEM_ELK
                
return '"ITEM_ELK"';
                break;
            case 
10// ITEM_METIN
                
return '"ITEM_METIN"';
                break;
            case 
11// ITEM_CONTAINER
                
return '"ITEM_CONTAINER"';
                break;
            case 
12// ITEM_FISH
                
return '"ITEM_FISH"';
                break;
            case 
13// ITEM_ROD
                
return '"ITEM_ROD"';
                break;
            case 
14// ITEM_RESOURCE
                
return '"ITEM_RESOURCE"';
                break;
            case 
15//ITEM_CAMPFIRE
                
return '"ITEM_CAMPFIRE"';
                break;
            case 
16// ITEM_UNIQUE
                
return '"ITEM_UNIQUE"';
                break;
            case 
17// ITEM_SKILLBOOK
                
return '"ITEM_SKILLBOOK"';
                break;
            case 
18// ITEM_QUEST
                
return '"ITEM_QUEST"';
                break;
            case 
19// ITEM_POLYMORPH
                
return '"ITEM_POLYMORPH"';
                break;
            case 
20// ITEM_TREASURE_BOX
                
return '"ITEM_TREASURE_BOX"';
                break;
            case 
21// ITEM_TREASURE_KEY
                
return '"ITEM_TREASURE_KEY"';
                break;
            case 
22// ITEM_SKILLFORGET
                
return '"ITEM_SKILLFORGET"';
                break;
            case 
23// ITEM_GIFTBOX
                
return '"ITEM_GIFTBOX"';
                break;
            case 
24// ITEM_PICK
                
return '"ITEM_PICK"';
                break;
            case 
27// ITEM_BLEND
                
return '"ITEM_BLEND"';
                break;
            case 
28// ITEM_COSTUME
                
return '"ITEM_COSTUME"';
                break;
            default: 
// Alles andere, falls welche vergessen wurden
                
$this->addHtml("TYPE $type konnte nicht zugeordnet werden!<br/>");
                break;
        }
    }

    private function 
getSubtypeString($type$subtype) {
        switch (
$type) {
            case 
0// ITEM_NONE
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
1// ITEM_WEAPON
                
switch ($subtype) {
                    case 
0// WEAPON_SWORD
                        
return '"WEAPON_SWORD"';
                        break;
                    case 
1// WEAPON_DAGGER
                        
return '"WEAPON_DAGGER"';
                        break;
                    case 
2// WEAPON_BOW
                        
return '"WEAPON_BOW"';
                        break;
                    case 
3// WEAPON_TWO_HANDED
                        
return '"WEAPON_TWO_HANDED"';
                        break;
                    case 
4// WEAPON_BELL
                        
return '"WEAPON_BELL"';
                        break;
                    case 
5// WEAPON_FAN
                        
return '"WEAPON_FAN"';
                        break;
                    case 
6// WEAPON_ARROW
                        
return '"WEAPON_ARROW"';
                        break;
                    case 
7// WEAPON_MOUNT_SPEAR
                        
return '"WEAPON_MOUNT_SPEAR"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
            case 
2// ITEM_ARMOR
                
switch ($subtype) {
                    case 
0// ARMOR_BODY
                        
return '"ARMOR_BODY"';
                        break;
                    case 
1// ARMOR_HEAD
                        
return '"ARMOR_HEAD"';
                        break;
                    case 
2// ARMOR_SHIELD
                        
return '"ARMOR_SHIELD"';
                        break;
                    case 
3// ARMOR_WRIST
                        
return '"ARMOR_WRIST"';
                        break;
                    case 
4// ARMOR_FOOTS
                        
return '"ARMOR_FOOTS"';
                        break;
                    case 
5// ARMOR_NECK
                        
return '"ARMOR_NECK"';
                        break;
                    case 
6// ARMOR_EAR
                        
return '"ARMOR_EAR"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
3//ITEM_USE
                
switch ($subtype) {
                    case 
0// USE_POTION
                        
return '"USE_POTION"';
                        break;
                    case 
1// USE_TALISMAN
                        
return '"USE_TALISMAN"';
                        break;
                    case 
2// USE_TUNING
                        
return '"USE_TUNING"';
                        break;
                    case 
6// USE_BAIT
                        
return '"USE_BAIT"';
                        break;
                    case 
7// USE_ABILITY_UP
                        
return '"USE_ABILITY_UP"';
                        break;
                    case 
8// USE_AFFECT
                        
return '"USE_AFFECT"';
                        break;
                    case 
9// USE_CREATE_STONE
                        
return '"USE_CREATE_STONE"';
                        break;
                    case 
10// USE_SPECIAL
                        
return '"USE_SPECIAL"';
                        break;
                    case 
11// USE_POTION_NODELAY
                        
return '"USE_POTION_NODELAY"';
                        break;
                    case 
12// USE_CLEAR
                        
return '"USE_CLEAR"';
                        break;
                    case 
13// USE_INVISIBILITY
                        
return '"USE_INVISIBILITY"';
                        break;
                    case 
14// USE_DETACHMENT
                        
return '"USE_DETACHMENT"';
                        break;
                    case 
15// USE_BUCKET
                        
return '"USE_BUCKET"';
                        break;
                    case 
17// USE_CLEAN_SOCKET
                        
return '"USE_CLEAN_SOCKET"';
                        break;
                    case 
18// USE_CHANGE_ATTRIBUTE
                        
return '"USE_CHANGE_ATTRIBUTE"';
                        break;
                    case 
19// USE_ADD_ATTRIBUTE
                        
return '"USE_ADD_ATTRIBUTE"';
                        break;
                    case 
20// USE_ADD_ACCESSORY_SOCKET
                        
return '"USE_ADD_ACCESSORY_SOCKET"';
                        break;
                    case 
21// USE_PUT_INTO_ACCESSORY_SOCKET
                        
return '"USE_PUT_INTO_ACCESSORY_SOCKET"';
                        break;
                    case 
22// USE_ADD_ATTRIBUTE2
                        
return '"USE_ADD_ATTRIBUTE2"';
                        break;
                    case 
23// USE_RECIPE
                        
return '"USE_RECIPE"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
5// ITEM_MATERIAL
                
switch ($subtype) {
                    case 
0// MATERIAL_LEATHER
                        
return '"MATERIAL_LEATHER"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
6// ITEM_SPECIAL
                
switch ($subtype) {
                    case 
0// SPECIAL_MAP
                        
return '"SPECIAL_MAP"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
8// ITEM_LOTTERY
                
switch ($subtype) {
                    case 
0// LOTTERY_TICKET
                        
return '"LOTTERY_TICKET"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
9// ITEM_ELK
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
10// ITEM_METIN
                
switch ($subtype) {
                    case 
0// METIN_NORMAL
                        
return '"METIN_NORMAL"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
11//ITEM_CONTAINER
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
            case 
12// ITEM_FISH
                
switch ($subtype) {
                    case 
0// FISH_ALIVE
                        
return '"FISH_ALIVE"';
                        break;
                    case 
1// FISH_DEAD
                        
return '"FISH_DEAD"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
13// ITEM_ROD
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
14// ITEM_RESOURCE
                
switch ($subtype) {
                    case 
0// RESOURCE_FISHBONE
                        
return '"RESOURCE_FISHBONE"';
                        break;
                    case 
1// RESOURCE_WATERSTONEPIECE
                        
return '"RESOURCE_WATERSTONEPIECE"';
                        break;
                    case 
2// RESOURCE_WATERSTONE
                        
return '"RESOURCE_WATERSTONE"';
                        break;
                    case 
3// RESOURCE_BLOOD_PEARL
                        
return '"RESOURCE_BLOOD_PEARL"';
                        break;
                    case 
4// RESOURCE_BLUE_PEARL
                        
return '"RESOURCE_BLUE_PEARL"';
                        break;
                    case 
5// RESOURCE_WHITE_PEARL
                        
return '"RESOURCE_WHITE_PEARL"';
                        break;
                    case 
6// RESOURCE_BUCKET
                        
return '"RESOURCE_BUCKET"';
                        break;
                    case 
7// RESOURCE_CRYSTAL
                        
return '"RESOURCE_CRYSTAL"';
                        break;
                    case 
8// RESOURCE_GEM
                        
return '"RESOURCE_GEM"';
                        break;
                    case 
9// RESOURCE_STONE
                        
return '"RESOURCE_STONE"';
                        break;
                    case 
10// RESOURCE_METIN
                        
return '"RESOURCE_METIN"';
                        break;
                    case 
11// RESOURCE_ORE
                        
return '"RESOURCE_ORE"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
15//ITEM_CAMPFIRE
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                }
            case 
16// ITEM_UNIQUE
                
switch ($subtype) {
                    case 
0// UNIQUE_NONE
                        
return '"UNIQUE_NONE"';
                        break;
                    case 
2// UNIQUE_SPECIAL_RIDE
                        
return '"UNIQUE_SPECIAL_RIDE"';
                    case 
10// USE_SPECIAL
                        
return '"USE_SPECIAL"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
17// ITEM_SKILLBOOK
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
18// ITEM_QUEST
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
19// ITEM_POLYMORPH
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
20// ITEM_TREASURE_BOX
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
21// ITEM_TREASURE_KEY
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
22// ITEM_SKILLFORGET
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
23// ITEM_GIFTBOX
                
switch ($subtype) {
                    case 
0// ANTI_DROP
                        
return '"ANTI_DROP"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
24// ITEM_PICK
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
27// ITEM_BLEND
                
switch ($subtype) {
                    case 
0// (int) 0
                        
return (int) 0;
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            case 
28// ITEM_COSTUME
                
switch ($subtype) {
                    case 
0// COSTUME_HAIR
                        
return '"COSTUME_BODY"';
                        break;
                    case 
1// COSTUME_BODY
                        
return '"COSTUME_HAIR"';
                        break;
                    default:
                        
$this->addHtml("TYPE::$type SUBTYPE::$subtype konnte nicht zugeordnet werden!<br/>");
                        break;
                }
                break;
            default: 
// Alles andere, falls welche vergessen wurden
                
$this->addHtml("TYPE $type konnte nicht zugeordnet werden!<br/>");
                break;
        }
    }

    private function 
getAntiFlagString($flag) {

        
$anti_flag_string_arr = array();
        
$anti_flag_string "";

        if (
$flag == self::ITEM_ANTIFLAG_NONE) {
            return 
'"NONE"';
        }
        if (
$flag self::ITEM_ANTIFLAG_FEMALE) {
            
$anti_flag_string_arr[] = "ANTI_FEMALE";
        }
        if (
$flag self::ITEM_ANTIFLAG_MALE) {
            
$anti_flag_string_arr[] = "ANTI_MALE";
        }
        if (
$flag self::ITEM_ANTIFLAG_WARRIOR) {
            
$anti_flag_string_arr[] = "ANTI_MUSA";
        }
        if (
$flag self::ITEM_ANTIFLAG_ASSASSIN) {
            
$anti_flag_string_arr[] = "ANTI_ASSASSIN";
        }
        if (
$flag self::ITEM_ANTIFLAG_SURA) {
            
$anti_flag_string_arr[] = "ANTI_SURA";
        }
        if (
$flag self::ITEM_ANTIFLAG_SHAMAN) {
            
$anti_flag_string_arr[] = "ANTI_MUDANG";
        }
        if (
$flag self::ITEM_ANTIFLAG_GET) {
            
$anti_flag_string_arr[] = "ANTI_GET";
        }
        if (
$flag self::ITEM_ANTIFLAG_DROP) {
            
$anti_flag_string_arr[] = "ANTI_DROP";
        }
        if (
$flag self::ITEM_ANTIFLAG_SELL) {
            
$anti_flag_string_arr[] = "ANTI_SELL";
        }
        if (
$flag self::ITEM_ANTIFLAG_EMPIRE_A) {
            
$anti_flag_string_arr[] = "ANTI_EMPIRE_A";
        }
        if (
$flag self::ITEM_ANTIFLAG_EMPIRE_B) {
            
$anti_flag_string_arr[] = "ANTI_EMPIRE_B";
        }
        if (
$flag self::ITEM_ANTIFLAG_EMPIRE_C) {
            
$anti_flag_string_arr[] = "ANTI_EMPIRE_C";
        }
        if (
$flag self::ITEM_ANTIFLAG_SAVE) {
            
$anti_flag_string_arr[] = "ANTI_SAVE";
        }
        if (
$flag self::ITEM_ANTIFLAG_GIVE) {
            
$anti_flag_string_arr[] = "ANTI_GIVE";
        }
        if (
$flag self::ITEM_ANTIFLAG_PKDROP) {
            
$anti_flag_string_arr[] = "ANTI_PKDROP";
        }
        if (
$flag self::ITEM_ANTIFLAG_STACK) {
            
$anti_flag_string_arr[] = "ANTI_STACK";
        }
        if (
$flag self::ITEM_ANTIFLAG_MYSHOP) {
            
$anti_flag_string_arr[] = "ANTI_MYSHOP";
        }
        if (
$flag self::ITEM_ANTIFLAG_SAFEBOX) {
            
$anti_flag_string_arr[] = "ANTI_SAFEBOX";
        }

        
$anti_flag_string .= '"';
        for (
$i 0$i count($anti_flag_string_arr); $i++) {
            
$anti_flag_string .= ($i count($anti_flag_string_arr)) ? "$anti_flag_string_arr[$i] | " "$anti_flag_string_arr[$i]\"";
        }
        if (
count($anti_flag_string_arr) == 0) {
            
$anti_flag_string_arr .= '"';
        }
        return 
$anti_flag_string;
    }

    private function 
getFlagString($flag) {

        
$flag_string_arr = array();
        
$flag_string "";

        if (
$flag == self::ITEM_FLAG_NONE) {
            return 
'"NONE"';
        }
        
        if (
$flag self::ITEM_FLAG_ITEM_TUNABLE) {
            
$flag_string_arr[] = "ITEM_TUNABLE";
        }

        if (
$flag self::ITEM_FLAG_ITEM_SAVE) {
            
$flag_string_arr[] = "ITEM_SAVE";
        }

        if (
$flag self::ITEM_FLAG_ITEM_STACKABLE) {
            
$flag_string_arr[] = "ITEM_STACKABLE";
        }

        if (
$flag self::ITEM_FLAG_COUNT_PER_1GOLD) {
            
$flag_string_arr[] = "COUNT_PER_1GOLD";
        }

        if (
$flag self::ITEM_FLAG_ITEM_SLOW_QUERY) {
            
$flag_string_arr[] = "ITEM_SLOW_QUERY";
        }

        if (
$flag self::ITEM_FLAG_ITEM_UNIQUE) {
            
$flag_string_arr[] = "ITEM_UNIQUE";
        }

        if (
$flag self::ITEM_FLAG_ITEM_MAKECOUNT) {
            
$flag_string_arr[] = "ITEM_MAKECOUNT";
        }

        if (
$flag self::ITEM_FLAG_ITEM_IRREMOVABLE) {
            
$flag_string_arr[] = "ITEM_IRREMOVABLE";
        }

        if (
$flag self::ITEM_FLAG_CONFIRM_WHEN_USE) {
            
$flag_string_arr[] = "CONFIRM_WHEN_USE";
        }

        if (
$flag self::ITEM_FLAG_QUEST_USE) {
            
$flag_string_arr[] = "QUEST_USE";
        }

        if (
$flag self::ITEM_FLAG_QUEST_USE_MULTIPLE) {
            
$flag_string_arr[] = "QUEST_USE_MULTIPLE";
        }

        if (
$flag self::ITEM_FLAG_QUEST_GIVE) {
            
$flag_string_arr[] = "QUEST_GIVE";
        }

        if (
$flag self::ITEM_FLAG_ITEM_QUEST) {
            
$flag_string_arr[] = "ITEM_QUEST";
        }

        if (
$flag self::ITEM_FLAG_LOG) {
            
$flag_string_arr[] = "LOG";
        }

        if (
$flag self::ITEM_FLAG_ITEM_APPLICABLE) {
            
$flag_string_arr[] = "ITEM_APPLICABLE";
        }

        
$flag_string .= '"';
        for (
$i 0$i count($flag_string_arr); $i++) {
            
$flag_string .= ($i count($flag_string_arr)) ? "$flag_string_arr[$i] | " "$flag_string_arr[$i]\"";
        }
        if (
count($flag_string_arr) == 0) {
            
$flag_string .= '"';
        }
        return 
$flag_string;
    }

    private function 
getWearFlagString($flag) {

        
$wear_flag_string_arr = array();
        
$wear_flag_string "";

        if (
$flag == self::ITEM_WEARFLAG_NONE) {
            return 
'"NONE"';
        }
        
        if (
$flag self::ITEM_WEARFLAG_ARMOR) {
            
$wear_flag_string_arr[] = "WEAR_BODY";
        }

        if (
$flag self::ITEM_WEARFLAG_HEAD) {
            
$wear_flag_string_arr[] = "WEAR_HEAD";
        }

        if (
$flag self::ITEM_WEARFLAG_FOOT) {
            
$wear_flag_string_arr[] = "WEAR_FOOTS";
        }

        if (
$flag self::ITEM_WEARFLAG_WRIST) {
            
$wear_flag_string_arr[] = "WEAR_WRIST";
        }

        if (
$flag self::ITEM_WEARFLAG_WEAPON) {
            
$wear_flag_string_arr[] = "WEAR_WEAPON";
        }

        if (
$flag self::ITEM_WEARFLAG_NECK) {
            
$wear_flag_string_arr[] = "WEAR_NECK";
        }

        if (
$flag self::ITEM_WEARFLAG_EAR) {
            
$wear_flag_string_arr[] = "WEAR_EAR";
        }

        if (
$flag self::ITEM_WEARFLAG_SPECIAL) {
            
$wear_flag_string_arr[] = "WEAR_SHIELD";
        }

        if (
$flag self::ITEM_WEARFLAG_SHIELD) {
            
$wear_flag_string_arr[] = "WEAR_UNIQUE";
        }

        if (
$flag self::ITEM_WEARFLAG_ARROW) {
            
$wear_flag_string_arr[] = "WEAR_ARROW";
        }

        if (
$flag self::ITEM_WEARFLAG_HAIR) {
            
$wear_flag_string_arr[] = "WEAR_HAIR";
        }

        if (
$flag self::ITEM_WEARFLAG_ABILITY) {
            
$wear_flag_string_arr[] = "WEAR_ABILITY";
        }
        
$wear_flag_string .= '"';
        for (
$i 0$i count($wear_flag_string_arr); $i++) {
            
$wear_flag_string .= ($i count($wear_flag_string_arr)) ? "$wear_flag_string_arr[$i] | " "$wear_flag_string_arr[$i]\"";
        }
        if (
count($wear_flag_string_arr) == 0) {
            
$wear_flag_string .= '"';
        }
        return 
$wear_flag_string;
    }

    private function 
getLimitType($type) {
        switch (
$type) {
            case 
0// LIMIT_NONE
                
return '"LIMIT_NONE"';
                break;
            case 
1// LEVEL
                
return '"LEVEL"';
                break;
            case 
6// PC_BANG
                
return '"PC_BANG"';
                break;
            case 
7// REAL_TIME
                
return '"REAL_TIME"';
                break;
            case 
8// REAL_TIME_FIRST_USE
                
return '"REAL_TIME_FIRST_USE"';
                break; 
#
            
case 9// TIMER_BASED_ON_WEAR
                
return '"TIMER_BASED_ON_WEAR"';
                break;
            default:
                
$this->addHtml("Unbekannter Limit Type::$type<br/>");
                break;
        }
    }

    private function 
getApplyType($apply_type) {
        switch (
$apply_type) {
            case 
0// APPLY_NONE
                
return '"APPLY_NONE"';
                break;
            case 
1// APPLY_MAX_HP
                
return '"APPLY_MAX_HP"';
                break;
            case 
2// APPLY_MAX_SP
                
return '"APPLY_MAX_SP"';
                break;
            case 
3// APPLY_CON
                
return '"APPLY_CON"';
                break;
            case 
4// APPLY_INT
                
return '"APPLY_INT"';
                break;
            case 
5// APPLY_STR
                
return '"APPLY_STR"';
                break;
            case 
6// APPLY_DEX
                
return '"APPLY_DEX"';
                break;
            case 
7// APPLY_ATT_SPEED
                
return '"APPLY_ATT_SPEED"';
                break;
            case 
8// APPLY_MOV_SPEED
                
return '"APPLY_MOV_SPEED"';
                break;
            case 
9// APPLY_CAST_SPEED
                
return '"APPLY_CAST_SPEED"';
                break;
            case 
10// APPLY_HP_REGEN
                
return '"APPLY_HP_REGEN"';
                break;
            case 
11// APPLY_SP_REGEN
                
return '"APPLY_SP_REGEN"';
                break;
            case 
12// APPLY_POISON_PCT
                
return '"APPLY_POISON_PCT"';
                break;
            case 
13// APPLY_STUN_PCT
                
return '"APPLY_STUN_PCT"';
                break;
            case 
14// APPLY_SLOW_PCT
                
return '"APPLY_SLOW_PCT"';
                break;
            case 
15// APPLY_CRITICAL_PCT
                
return '"APPLY_CRITICAL_PCT"';
                break;
            case 
16// APPLY_PENETRATE_PCT
                
return '"APPLY_PENETRATE_PCT"';
                break;
            case 
17// APPLY_ATTBONUS_HUMAN
                
return '"APPLY_ATTBONUS_HUMAN"';
                break;
            case 
18// APPLY_ATTBONUS_ANIMAL
                
return '"APPLY_ATTBONUS_ANIMAL"';
                break;
            case 
19// APPLY_ATTBONUS_ORC
                
return '"APPLY_ATTBONUS_ORC"';
                break;
            case 
20// APPLY_ATTBONUS_MILGYO
                
return '"APPLY_ATTBONUS_MILGYO"';
                break;
            case 
21// APPLY_ATTBONUS_UNDEAD
                
return '"APPLY_ATTBONUS_UNDEAD"';
                break;
            case 
22// APPLY_ATTBONUS_DEVIL
                
return '"APPLY_ATTBONUS_DEVIL"';
                break;
            case 
23// APPLY_STEAL_HP
                
return '"APPLY_STEAL_HP"';
                break;
            case 
24// APPLY_STEAL_SP
                
return '"APPLY_STEAL_SP"';
                break;
            case 
25// APPLY_MANA_BURN_PCT
                
return '"APPLY_MANA_BURN_PCT"';
                break;
            case 
26// APPLY_DAMAGE_SP_RECOVER
                
return '"APPLY_DAMAGE_SP_RECOVER"';
                break;
            case 
27// APPLY_BLOCK
                
return '"APPLY_BLOCK"';
                break;
            case 
28// APPLY_DODGE
                
return '"APPLY_DODGE"';
                break;
            case 
29// APPLY_RESIST_SWORD
                
return '"APPLY_RESIST_SWORD"';
                break;
            case 
30// APPLY_RESIST_TWOHAND
                
return '"APPLY_RESIST_TWOHAND"';
                break;
            case 
31// APPLY_RESIST_DAGGER
                
return '"APPLY_RESIST_DAGGER"';
                break;
            case 
32// APPLY_RESIST_BELL
                
return '"APPLY_RESIST_BELL"';
                break;
            case 
33// APPLY_RESIST_FAN
                
return '"APPLY_RESIST_FAN"';
                break;
            case 
34// APPLY_RESIST_BOW
                
return '"APPLY_RESIST_BOW"';
                break;
            case 
35// APPLY_RESIST_FIRE
                
return '"APPLY_RESIST_FIRE"';
                break;
            case 
36// APPLY_RESIST_ELEC
                
return '"APPLY_RESIST_ELEC"';
                break;
            case 
37// APPLY_RESIST_MAGIC
                
return '"APPLY_RESIST_MAGIC"';
                break;
            case 
38// APPLY_RESIST_WIND
                
return '"APPLY_RESIST_WIND"';
                break;
            case 
39// APPLY_REFLECT_MELEE
                
return '"APPLY_REFLECT_MELEE"';
                break;
            case 
40// APPLY_REFLECT_CURSE
                
return '"APPLY_REFLECT_CURSE"';
                break;
            case 
41// APPLY_POISON_REDUCE
                
return '"APPLY_POISON_REDUCE"';
                break;
            case 
42// APPLY_KILL_SP_RECOVER
                
return '"APPLY_KILL_SP_RECOVER"';
                break;
            case 
43// APPLY_EXP_DOUBLE_BONUS
                
return '"APPLY_EXP_DOUBLE_BONUS"';
                break;
            case 
44// APPLY_GOLD_DOUBLE_BONUS
                
return '"APPLY_GOLD_DOUBLE_BONUS"';
                break;
            case 
45// APPLY_ITEM_DROP_BONUS
                
return '"APPLY_ITEM_DROP_BONUS"';
                break;
            case 
46// APPLY_POTION_BONUS
                
return '"APPLY_POTION_BONUS"';
                break;
            case 
47// APPLY_KILL_HP_RECOVER
                
return '"APPLY_KILL_HP_RECOVER"';
                break;
            case 
48// APPLY_IMMUNE_STUN
                
return '"APPLY_IMMUNE_STUN"';
                break;
            case 
49// APPLY_IMMUNE_SLOW
                
return '"APPLY_IMMUNE_SLOW"';
                break;
            case 
50// APPLY_IMMUNE_FALL
                
return '"APPLY_IMMUNE_FALL"';
                break;
            case 
51// APPLY_SKILL
                
return '"APPLY_SKILL"';
                break;
            case 
52// APPLY_BOW_DISTANCE
                
return '"APPLY_BOW_DISTANCE"';
                break;
            case 
53// APPLY_ATT_GRADE_BONUS
                
return '"APPLY_ATT_GRADE_BONUS"';
                break;
            case 
54// APPLY_DEF_GRADE_BONUS
                
return '"APPLY_DEF_GRADE_BONUS"';
                break;
            case 
55// APPLY_MAGIC_ATT_GRADE
                
return '"APPLY_MAGIC_ATT_GRADE"';
                break;
            case 
56// APPLY_MAGIC_DEF_GRADE
                
return '"APPLY_MAGIC_DEF_GRADE"';
                break;
            case 
57// APPLY_CURSE_PCT
                
return '"APPLY_CURSE_PCT"';
                break;
            case 
58// APPLY_MAX_STAMINA
                
return '"APPLY_MAX_STAMINA"';
                break;
            case 
59// APPLY_ATTBONUS_WARRIOR
                
return '"APPLY_ATTBONUS_WARRIOR"';
                break;
            case 
60// APPLY_ATTBONUS_ASSASSIN
                
return '"APPLY_ATTBONUS_ASSASSIN"';
                break;
            case 
61// APPLY_ATTBONUS_SURA
                
return '"APPLY_ATTBONUS_SURA"';
                break;
            case 
62// APPLY_ATTBONUS_SHAMAN
                
return '"APPLY_ATTBONUS_SHAMAN"';
                break;
            case 
63// APPLY_ATTBONUS_MONSTER
                
return '"APPLY_ATTBONUS_MONSTER"';
                break;
            case 
64// APPLY_MALL_ATTBONUS
                
return '"APPLY_MALL_ATTBONUS"';
                break;
            case 
65// APPLY_MALL_DEFBONUS
                
return '"APPLY_MALL_DEFBONUS"';
                break;
            case 
66// APPLY_MALL_EXPBONUS
                
return '"APPLY_MALL_EXPBONUS"';
                break;
            case 
67// APPLY_MALL_ITEMBONUS
                
return '"APPLY_MALL_ITEMBONUS"';
                break;
            case 
68// APPLY_MALL_GOLDBONUS
                
return '"APPLY_MALL_GOLDBONUS"';
                break;
            case 
69// APPLY_MAX_HP_PCT
                
return '"APPLY_MAX_HP_PCT"';
                break;
            case 
70// APPLY_MAX_SP_PCT
                
return '"APPLY_MAX_SP_PCT"';
                break;
            case 
71// APPLY_SKILL_DAMAGE_BONUS
                
return '"APPLY_SKILL_DAMAGE_BONUS"';
                break;
            case 
72// APPLY_NORMAL_HIT_DAMAGE_BONUS
                
return '"APPLY_NORMAL_HIT_DAMAGE_BONUS"';
                break;
            case 
73// APPLY_SKILL_DEFEND_BONUS
                
return '"APPLY_SKILL_DEFEND_BONUS"';
                break;
            case 
74// APPLY_NORMAL_HIT_DEFEND_BONUS
                
return '"APPLY_NORMAL_HIT_DEFEND_BONUS"';
                break;
            case 
75// APPLY_PC_BANG_EXP_BONUS
                
return '"APPLY_PC_BANG_EXP_BONUS"';
                break;
            case 
76// APPLY_PC_BANG_DROP_BONUS
                
return '"APPLY_PC_BANG_DROP_BONUS"';
                break;
            case 
77// APPLY_EXTRACT_HP_PCT
                
return '"APPLY_EXTRACT_HP_PCT"';
                break;
            case 
78// APPLY_RESIST_WARRIOR
                
return '"APPLY_RESIST_WARRIOR"';
                break;
            case 
79// APPLY_RESIST_ASSASSIN
                
return '"APPLY_RESIST_ASSASSIN"';
                break;
            case 
80// APPLY_RESIST_SURA
                
return '"APPLY_RESIST_SURA"';
                break;
            case 
81// APPLY_RESIST_SHAMAN
                
return '"APPLY_RESIST_SHAMAN"';
                break;
            case 
82// APPLY_ENERGY
                
return '"APPLY_ENERGY"';
                break;
            case 
83// APPLY_DEF_GRADE
                
return '"APPLY_DEF_GRADE"';
                break;
            case 
84// APPLY_COSTUME_ATTR_BONUS
                
return '"APPLY_COSTUME_ATTR_BONUS"';
                break;
            case 
85// APPLY_MAGIC_ATTBONUS_PER
                
return '"APPLY_MAGIC_ATTBONUS_PER"';
                break;
            case 
86// APPLY_MELEE_MAGIC_ATTBONUS_PER
                
return '"APPLY_MELEE_MAGIC_ATTBONUS_PER"';
                break;
            default:
                
$this->addHtml("Unbekannter Apply Type::$type<br/>");
                break;
        }
    }

    
/*
     * Limit Types
     * 0:   LIMIT_NONE
     * 1:   LEVEL
     * 6:   PC_BANG
     * 7:   REAL_TIME
     * 8:   REAL_TIME_FIRST_USE
     * 9:   TIMER_BASED_ON_WEAR
     */

    /*
     * Types:
     * 0:   ITEM_NONE
     *      0:  NONE
     * 1:   ITEM_WEAPON
     *      0:  WEAPON_SWORD
     *      1:  WEAPON_DAGGER
     *      2:  WEAPON_BOW
     *      3:  WEAPON_TWO_HANDED
     *      4:  WEAPON_BELL
     *      5:  WEAPON_FAN
     *      6:  WEAPON_ARROW
     *      7:  WEAPON_MOUNT_SPEAR
     * 2:   ITEM_ARMOR
     *      0:  ARMOR_BODY
     *      1:  ARMOR_HEAD
     *      2:  ARMOR_SHIELD
     *      3:  ARMOR_WRIST
     *      4:  ARMOR_FOOTS
     *      5:  ARMOR_NECK
     *      6:  ARMOR_EAR
     * 3:   ITEM_USE
     *      0:  USE_POTION
     *      1:  USE_TALISMAN
     *      2:  USE_TUNING
     *      6:  USE_BAIT
     *      7:  USE_ABILITY_UP
     *      8:  USE_AFFECT
     *      9:  USE_CREATE_STONE
     *      10: USE_SPECIAL
     *      11: USE_POTION_NODELAY
     *      12: USE_CLEAR
     *      13: USE_INVISIBILITY
     *      14: USE_DETACHMENT
     *      15: USE_BUCKET
     *      17: USE_CLEAN_SOCKET
     *      18: USE_CHANGE_ATTRIBUTE
     *      19: USE_ADD_ATTRIBUTE
     *      20: USE_ADD_ACCESSORY_SOCKET
     *      21: USE_PUT_INTO_ACCESSORY_SOCKET
     *      22: USE_ADD_ATTRIBUTE2
     *      23: USE_RECIPE
     * 5:   ITEM_MATERIAL
     *      0:  MATERIAL_LEATHER
     * 6:   ITEM_SPECIAL
     *      0:  SPECIAL_MAP
     * 8:   ITEM_LOTTERY
     *      0:  LOTTERY_TICKET
     * 9:   ITEM_ELK
     *      0:  (int) 0
     * 10:  ITEM_METIN
     *      0:  METIN_NORMAL
     * 12:  ITEM_FISH
     *      0:  FISH_ALIVE
     *      1:  FISH_DEAD
     * 13:  ITEM_ROD
     * 14:  ITEM_RESOURCE
     *      1:  RESOURCE_WATERSTONEPIECE
     *      2:  RESOURCE_WATERSTONE
     *      3:  RESOURCE_BLOOD_PEARL
     *      4:  RESOURCE_BLUE_PEARL
     *      5:  RESOURCE_WHITE_PEARL
     *      6:  RESOURCE_BUCKET
     *      7:  RESOURCE_CRYSTAL
     *      8:  RESOURCE_GEM
     *      9:  RESOURCE_STONE
     *      10: RESOURCE_METIN
     *      11: RESOURCE_ORE
     * 16:  ITEM_UNIQUE
     *      0:  UNIQUE_NONE
     *      10: USE_SPECIAL
     * 17:  ITEM_SKILLBOOK
     *      0: (int) 0
     * 18:  ITEM_QUEST
     *      0:  (int) 0
     * 19:  ITEM_POLYMORPH
     *      0: (int) 0
     * 20:  ITEM_TREASURE_BOX
     *      0: (int) 0
     * 21:  ITEM_TREASURE_KEY
     *      0: (int) 0
     * 22:  ITEM_SKILLFORGET
     *      0: (int) 0
     * 23:  ITEM_GIFTBOX
     *      0:  ANTI_DROP
     * 24:  ITEM_PICK
     * 27:  ITEM_BLEND
     *      0: (int) 0
     * 28:  ITEM_COSTUME
     *      0:  COSTUME_BODY
     *      1:  COSTUME_HAIR
     */
}

?>
Fr33ak is offline  
Thanks
6 Users
Old 07/21/2013, 22:03   #2
 
elite*gold: 0
Join Date: Nov 2011
Posts: 395
Received Thanks: 29
thanks a lot

so really need too mob proto converters because you already see not working any program for it

so request
Laben is offline  
Thanks
1 User
Old 07/21/2013, 22:15   #3
 
Terenzo's Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 42
Received Thanks: 95
My program very well works, but thanks for share. :}
Terenzo is offline  
Thanks
1 User
Old 07/22/2013, 11:26   #4

 
.MaisKolben™'s Avatar
 
elite*gold: 24
Join Date: May 2009
Posts: 1,165
Received Thanks: 1,222
A very nice program from my friend is already released:

but thanks for the PHP-Script release!
Thanks for share .

Kind regards
.MaisKolben™ is offline  
Thanks
1 User
Old 07/22/2013, 11:32   #5
 
elite*gold: 65
Join Date: Apr 2010
Posts: 286
Received Thanks: 57
Es gibt ein paar gute Anwendungen, aber ich brauchte es wie oben geschrieben für meinen Adminbereich.

Fr33ak
Fr33ak is offline  
Old 07/22/2013, 14:24   #6


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,220
Received Thanks: 6,758
Warum brauch man sowas? Soll nicht als Angriff zählen, verstehe nur den Sinn von sowas nicht auf der Homepage. Man konvertiert für gewöhnlich eh nur EINMAL seine alte Proto und dann war's das.
#SoNiice is offline  
Old 07/22/2013, 14:52   #7
 
elite*gold: 65
Join Date: Apr 2010
Posts: 286
Received Thanks: 57
Schätze mal es macht das gleiche wie jeder andere Converter auch.
Ich muss nur nicht erst die Tabelle aus der Datenbank laden und die Datei dann umwandeln, sondern mache es direkt aus der Datenbank.
Wenn ich an neuen Items arbeite oder rumprobiere dann will ich das auch möglichst schnell im Client haben und konvertiere da nicht nur einmal.

Über Sinn und Nutzen kann man sich aber streiten, jeder macht es anders und findet seine Methode besser.
Fr33ak is offline  
Old 07/22/2013, 15:31   #8
 
elite*gold: 0
Join Date: Mar 2013
Posts: 13
Received Thanks: 0
Fatal error: Class 'Admin_Modul' not found in /directory/gherusio/CONVERTER/index.php on line 3

Help
[Gherusio] is offline  
Old 07/22/2013, 15:56   #9
 
elite*gold: 260
Join Date: Jan 2013
Posts: 178
Received Thanks: 104
Thank you !!

Nice release .. I want to convert my item_proto table and test then

edit -> convert -> test | add -> convert -> test

that's really nice thank you.

Quote:
Warum brauch man sowas? Soll nicht als Angriff zählen, verstehe nur den Sinn von sowas nicht auf der Homepage. Man konvertiert für gewöhnlich eh nur EINMAL seine alte Proto und dann war's das.
Metin2 Team is offline  
Thanks
1 User
Old 07/22/2013, 17:11   #10


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,220
Received Thanks: 6,758
Quote:
Originally Posted by Metin2 Team View Post
Thank you !!

Nice release .. I want to convert my item_proto table and test then

edit -> convert -> test | add -> convert -> test

that's really nice thank you.



You can put your facepalm into any holes of your body - srsly.
__

Wie bereits gesagt, war kein Angriff und es ging mir nicht darum, dass mein Tool besser sei - Ich sehe nur keinen Sinn darin seine Items mehr als einmal zu konvertieren. Für gewöhnlich konvertiert man seine Proto einmal zur neuen und arbeitet von dann an auch nur noch in der Textdatei, nicht? So mache ich es zumindest.
#SoNiice is offline  
Old 07/22/2013, 19:54   #11
 
callmax's Avatar
 
elite*gold: 20
Join Date: Mar 2010
Posts: 1,166
Received Thanks: 684
Wofür braucht man sowas überhaupt noch seit der lib von eimer?
callmax is offline  
Old 07/22/2013, 21:31   #12
 
elite*gold: 65
Join Date: Apr 2010
Posts: 286
Received Thanks: 57
Nicht jeder sieht nur Nachteile in solchen Dateien, es gibt auch Vorteile.
Aber auch das sieht denk ich mal Jeder anders.
Fr33ak is offline  
Old 07/22/2013, 21:41   #13
 
elite*gold: 0
Join Date: Feb 2010
Posts: 1,183
Received Thanks: 746
Ehm, der Converter tut es auch.
Attached Files
File Type: rar Converter.rar (8.6 KB, 158 views)
dopeness' is offline  
Old 07/22/2013, 21:50   #14
 
elite*gold: 65
Join Date: Apr 2010
Posts: 286
Received Thanks: 57
Lest doch bitte erst bevor ihr was schreibt.
Fr33ak is offline  
Old 07/23/2013, 11:18   #15
 
elite*gold: 0
Join Date: Aug 2010
Posts: 232
Received Thanks: 71
Quote:
const ITEM_FLAG_NONE = 0;
const ITEM_FLAG_ITEM_TUNABLE = 1;
const ITEM_FLAG_ITEM_SAVE = 2;
const ITEM_FLAG_ITEM_STACKABLE = 4;
const ITEM_FLAG_COUNT_PER_1GOLD = 8;
const ITEM_FLAG_ITEM_SLOW_QUERY = 16;
const ITEM_FLAG_ITEM_UNIQUE = 32;
const ITEM_FLAG_ITEM_MAKECOUNT = 64;
const ITEM_FLAG_ITEM_IRREMOVABLE = 128;
const ITEM_FLAG_CONFIRM_WHEN_USE = 256;
const ITEM_FLAG_QUEST_USE = 512;
const ITEM_FLAG_QUEST_USE_MULTIPLE = 1024;
const ITEM_FLAG_QUEST_GIVE = 2048;
const ITEM_FLAG_ITEM_QUEST = 4096;
const ITEM_FLAG_LOG = 8192;
const ITEM_FLAG_ITEM_APPLICABLE = 16384;
wenn ich richtig informiert bin , wäre der converter jedoch nur für die 2089 und kleiner tauglich.

da sich bei der 34083 die flag ein wenig geändert haben.
flags aus dem db_core

Quote:
ITEM_TUNABLE = 1
ITEM_SAVE = 2
ITEM_STACKABLE = 4
COUNT_PER_1GOLD = 8
ITEM_SLOW_QUERY = 16
ITEM_UNIQUE = 32
ITEM_MAKECOUNT = 64
ITEM_IRREMOVABLE = 128
CONFIRM_WHEN_USE = 256
QUEST_USE = 512
QUEST_USE_MULTIPLE = 1024
QUEST_GIVE = 2048
ITEM_QUEST = 4096
LOG = 8192
135185801 =
135185832
REFINEABLE = 65536
135185863
ITEM_APPLICABLE = 262144
135145111
wie man sieht ist das item_applicate doch erheblich anders,was zu problemen
beim einfügen des 6/7 bonus kommt.

hat die lösung schon veröffentlich.

wenn man dies so einfügt sieht man auch in der DB dann den unterschied.
huhu2010 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Item_proto Converter
12/28/2012 - Metin2 Private Server - 3 Replies
Hei Com, Ich suche ein Script/Programm mit dem man ne Clientside item_proto zu einer Serverside machen kann... Und kommt bitte nicht mit "Sowas gibts es nicht"! Sowas gibt es xPit z.b hatte mal eine Homepage auf der man es machen konnte, zwar hat es manche werte wie z.B bewegungsspeed nicht richtig übernommen aber sonst ging alles :) danke im voraus
PHP Item_Proto Converter
11/16/2012 - Metin2 Private Server - 0 Replies
#Solved
[Suche] Converter item_proto.xml -> item_proto.sql
06/23/2012 - Metin2 Private Server - 1 Replies
Hi. Ich suche converter Item_proto.xml -> item_proto.sql
[Help]Item_Proto Converter
05/09/2012 - Metin2 Private Server - 5 Replies
Ich hätte da mal ne frage und zwar ob der ''Item_Proto Converter'' auch sql dateien in xml dateien verwandeln kann ?! Wenn ja könnte mir jemand da was empfehlen?! Oder könnte mir jemand ein How To schicken wo erklärt wird , wie ich Server Side Itemproto und Mobproto im Clienten übernehmen kann :D
[S]Item_proto.sql to xml converter
05/12/2011 - Metin2 Private Server - 2 Replies
Guten Tag, da ich im forum nur ein Release von "metin2" gefunden hab, das aber nicht funktioniert wollte ich mal fragen ob jemand ein vernünftiges tool für mich hat :) Mfg Hr4rjuku



All times are GMT +1. The time now is 00:21.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.