Advertisement
Strixx

database.py

Mar 18th, 2018
613
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 18.35 KB | None | 0 0
  1. #Creat de xSaG
  2.  
  3. #Date MySqL Server
  4. ##############################
  5. host_mysql = 'ip db //'
  6. user_mysql = 'user //'           
  7. passwd_mysql = 'parola //'       
  8. ##############################
  9.  
  10. import MySQLdb
  11.  
  12. def mob_proto():
  13.     rank = {
  14.         1: "S_PAWN",
  15.         2: "KNIGHT",
  16.         3: "S_KNIGHT",
  17.         4: "BOSS",
  18.         5: "KING",
  19.     }
  20.    
  21.     typeee = {
  22.         1: "NPC",
  23.         2: "STONE",
  24.         3: "WARP",
  25.         4: "DOOR",
  26.         5: "BUILDING",
  27.         7: "POLYMORPH_PC",
  28.         8: "HORSE",
  29.         9: "GOTO",
  30.     }
  31.    
  32.     battletype = {
  33.         2: "RANGE",
  34.         3: "MAGIC",
  35.         4: "SPECIAL",
  36.         5: "POWER",
  37.         6: "TANKER",
  38.     }
  39.    
  40.     def get_rank(level):
  41.         if level in rank:
  42.             return "\"" + rank[level] + "\""
  43.         else:
  44.             return "\"PAWN\""
  45.    
  46.     def get_type(typee):
  47.         if typee in typeee:
  48.             return "\"" + typeee[typee] + "\""
  49.         else:
  50.             return "\"MONSTER\""
  51.            
  52.     def get_battletype(battle):
  53.         if battle in battletype:
  54.             return "\"" + battletype[battle] + "\""
  55.         else:
  56.             return "\"MELEE\""
  57.            
  58.     def get_flag(flag):
  59.         if flag == "":
  60.             return flag
  61.         else:
  62.             return "\"" + flag + "\""
  63.            
  64.     def get_race(race):
  65.         if race == "":
  66.             return race
  67.         else:
  68.             return "\"" + race + "\""
  69.            
  70.     def get_immune(immune):
  71.         if immune == "":
  72.             return immune
  73.         else:
  74.             return "\"" + immune + "\""
  75.            
  76.     def get_folder(folder):
  77.         if folder == "":
  78.             return "\"wolf\""
  79.         else:
  80.             return "\"" + folder + "\""
  81.    
  82.     data = "player"
  83.     db = MySQLdb.connect(host_mysql,user_mysql,passwd_mysql,data)
  84.     cur = db.cursor()
  85.     print "Ma conectez la baza de date...\n"
  86.     cur.execute("select * from mob_proto")
  87.     rows = cur.fetchall()
  88.     out_file_mobproto = open("mob_proto.txt", "w")
  89.     out_file_mobnames = open("mob_names.txt", "w")
  90.     print "mob_proto se converteste."
  91.     for row in rows:
  92.         mob_proto_line = "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (row[0], "\"" + row[1] + "\"", get_rank(row[3]), get_type(row[4]), get_battletype(row[5]), row[6], row[7], get_flag(row[8]), row[9], get_race(row[10]), get_immune(row[11]), row[12], get_folder(row[13]), row[14], row[15], row[16], row[17], row[18], row[19], row[20], row[21], row[22], row[23], row[24], row[25], row[26], row[27], row[28], row[29], row[30], row[31], row[32], row[33], row[34], row[35], row[36], row[37], row[38], row[39], row[40], row[41], row[42], row[43], row[44], row[45], row[46], row[47], row[48], row[49], row[50], row[51], row[52], row[53], row[54], row[55], row[56], row[57], row[58], row[59], row[60], row[61], row[62], row[63], row[64], row[65], row[66], row[67], row[68], row[69], row[70], row[71])
  93.         mob_names_line = "%s\t%s" % (row[0], row[2])
  94.         out_file_mobproto.write(mob_proto_line + "\r\n")
  95.         out_file_mobnames.write(mob_names_line + "\r\n")
  96.     out_file_mobproto.close()
  97.     return "mob_proto a fost convertit."
  98.    
  99. def item_proto():
  100.     item_type = {
  101.         0: "ITEM_NONE",
  102.         1: "ITEM_WEAPON",
  103.         2: "ITEM_ARMOR",
  104.         3: "ITEM_USE",
  105.         4: "ITEM_AUTOUSE",
  106.         5: "ITEM_MATERIAL",
  107.         6: "ITEM_SPECIAL",
  108.         7: "ITEM_TOOL",
  109.         8: "ITEM_LOTTERY",
  110.         9: "ITEM_ELK",
  111.         10: "ITEM_METIN",
  112.         11: "ITEM_CONTAINER",
  113.         12: "ITEM_FISH",
  114.         13: "ITEM_ROD",
  115.         14: "ITEM_RESOURCE",
  116.         15: "ITEM_CAMPFIRE",
  117.         16: "ITEM_UNIQUE",
  118.         17: "ITEM_SKILLBOOK",
  119.         18: "ITEM_QUEST",
  120.         19: "ITEM_POLYMORPH",
  121.         20: "ITEM_TREASURE_BOX",
  122.         21: "ITEM_TREASURE_KEY",
  123.         22: "ITEM_SKILLFORGET",
  124.         23: "ITEM_GIFTBOX",
  125.         24: "ITEM_PICK",
  126.         25: "ITEM_HAIR",
  127.         26: "ITEM_TOTEM",
  128.         27: "ITEM_BLEND",
  129.         28: "ITEM_COSTUME",
  130.         29: "ITEM_DS",
  131.         30: "ITEM_SPECIAL_DS",
  132.         31: "ITEM_EXTRACT",
  133.         32: "ITEM_SECONDARY_COIN",
  134.         33: "ITEM_RING",
  135.         34: "ITEM_BELT"
  136.     }
  137.  
  138.     item_subtype = {
  139.         1: {
  140.             0: "WEAPON_SWORD",
  141.             1: "WEAPON_DAGGER",
  142.             2: "WEAPON_BOW",
  143.             3: "WEAPON_TWO_HANDED",
  144.             4: "WEAPON_BELL",
  145.             5: "WEAPON_FAN",
  146.             6: "WEAPON_ARROW",
  147.             7: "WEAPON_MOUNT_SPEAR",
  148.             8: "WEAPON_NUM_TYPES",
  149.         },
  150.         2: {
  151.             0: "ARMOR_BODY",
  152.             1: "ARMOR_HEAD",
  153.             2: "ARMOR_SHIELD",
  154.             3: "ARMOR_WRIST",
  155.             4: "ARMOR_FOOTS",
  156.             5: "ARMOR_NECK",
  157.             6: "ARMOR_EAR",
  158.             7: "ARMOR_NUM_TYPES",
  159.         },
  160.         3 : {
  161.             0: "USE_POTION",
  162.             1: "USE_TALISMAN",
  163.             2: "USE_TUNING",
  164.             3: "USE_MOVE",
  165.             4: "USE_TREASURE_BOX",
  166.             5: "USE_MONEYBAG",
  167.             6: "USE_BAIT",
  168.             7: "USE_ABILITY_UP",
  169.             8: "USE_AFFECT",
  170.             9: "USE_CREATE_STONE",
  171.             10: "USE_SPECIAL",
  172.             11: "USE_POTION_NODELAY",
  173.             12: "USE_CLEAR",
  174.             13: "USE_INVISIBILITY",
  175.             14: "USE_DETACHMENT",
  176.             15: "USE_BUCKET",
  177.             16: "USE_POTION_CONTINUE",
  178.             17: "USE_CLEAN_SOCKET",
  179.             18: "USE_CHANGE_ATTRIBUTE",
  180.             19: "USE_ADD_ATTRIBUTE",
  181.             20: "USE_ADD_ACCESSORY_SOCKET",
  182.             21: "USE_PUT_INTO_ACCESSORY_SOCKET",
  183.             22: "USE_ADD_ATTRIBUTE2",
  184.             23: "USE_RECIPE",
  185.             24: "USE_CHANGE_ATTRIBUTE2",
  186.             25: "USE_BIND",
  187.             26: "USE_UNBIND",
  188.             27: "USE_TIME_CHARGE_PER",
  189.             28: "USE_TIME_CHARGE_FIX",
  190.             29: "USE_PUT_INTO_BELT_SOCKET",
  191.             30: "USE_PUT_INTO_RING_SOCKET",
  192.         },
  193.         4: {
  194.             0: "AUTOUSE_POTION",
  195.             1: "AUTOUSE_ABILITY_UP",
  196.             2: "AUTOUSE_BOMB",
  197.             3: "AUTOUSE_GOLD",
  198.             4: "AUTOUSE_MONEYBAG",
  199.             5: "AUTOUSE_TREASURE_BOX",
  200.         },
  201.         5: {
  202.             0: "MATERIAL_LEATHER",
  203.             1: "MATERIAL_BLOOD",
  204.             2: "MATERIAL_ROOT",
  205.             3: "MATERIAL_NEEDLE",
  206.             4: "MATERIAL_JEWEL",
  207.             5: "MATERIAL_DS_REFINE_NORMAL",
  208.             6: "MATERIAL_DS_REFINE_BLESSED",
  209.             7: "MATERIAL_DS_REFINE_HOLLY",
  210.         },
  211.         6: {
  212.             0: "SPECIAL_MAP",
  213.             1: "SPECIAL_KEY",
  214.             2: "SPECIAL_DOC",
  215.             3: "SPECIAL_SPIRIT",
  216.         },
  217.         7: {
  218.             0 : "TOOL_FISHING_ROD",
  219.         },
  220.         8: {
  221.             0: "LOTTERY_TICKET",
  222.             1: "LOTTERY_INSTANT",
  223.         },
  224.         10: {
  225.             0: "METIN_NORMAL",
  226.             1: "METIN_GOLD",
  227.         },
  228.         12: {
  229.             0: "FISH_ALIVE",
  230.             1: "FISH_DEAD",
  231.         },
  232.         14: {
  233.             0: "RESOURCE_FISHBONE",
  234.             1: "RESOURCE_WATERSTONEPIECE",
  235.             2: "RESOURCE_WATERSTONE",
  236.             3: "RESOURCE_BLOOD_PEARL",
  237.             4: "RESOURCE_BLUE_PEARL",
  238.             5: "RESOURCE_WHITE_PEARL",
  239.             6: "RESOURCE_BUCKET",
  240.             7: "RESOURCE_CRYSTAL",
  241.             8: "RESOURCE_GEM",
  242.             9: "RESOURCE_STONE",
  243.             10: "RESOURCE_METIN",
  244.             11: "RESOURCE_ORE",
  245.         },
  246.         16: {
  247.             0: "UNIQUE_NONE",
  248.             1: "UNIQUE_BOOK",
  249.             2: "UNIQUE_SPECIAL_RIDE",
  250.             3: "UNIQUE_3",
  251.             4: "UNIQUE_4",
  252.             5: "UNIQUE_5",
  253.             6: "UNIQUE_6",
  254.             7: "UNIQUE_7",
  255.             8: "UNIQUE_8",
  256.             9: "UNIQUE_9",
  257.             10: "USE_SPECIAL",
  258.         },
  259.         28: {
  260.             0: "COSTUME_BODY",
  261.             1: "COSTUME_HAIR",
  262.             2: "COSTUME_SASH",
  263.             3: "COSTUME_WEAPON",
  264.         },
  265.         29: {
  266.             0: "DS_SLOT1",
  267.             1: "DS_SLOT2",
  268.             2: "DS_SLOT3",
  269.             3: "DS_SLOT4",
  270.             4: "DS_SLOT5",
  271.             5: "DS_SLOT6",
  272.         },
  273.         31: {
  274.             0: "EXTRACT_DRAGON_SOUL",
  275.             1: "EXTRACT_DRAGON_HEART",
  276.         },
  277.     }
  278.  
  279.     wearflag = {
  280.         1: "WEAR_BODY",
  281.         2: "WEAR_HEAD",
  282.         4: "WEAR_FOOTS",
  283.         8: "WEAR_WRIST",
  284.         16: "WEAR_WEAPON",
  285.         32: "WEAR_NECK",
  286.         64: "WEAR_EAR",
  287.         128: "WEAR_SHIELD",
  288.         256: "WEAR_UNIQUE",
  289.         512: "WEAR_ARROW",
  290.         1024: "WEAR_HAIR",
  291.         2048: "WEAR_ABILITY",
  292.         4096: "WEAR_COSTUME_SASH",
  293.         8192: "WEAR_COSTUME_WEAPON",
  294.        
  295.     }
  296.  
  297.     limittype = {
  298.         1: "LEVEL",
  299.         2: "STR",
  300.         3: "DEX",
  301.         4: "INT",
  302.         5: "CON",
  303.         6: "PC_BANG",
  304.         7: "REAL_TIME",
  305.         8: "REAL_TIME_FIRST_USE",
  306.         9: "TIMER_BASED_ON_WEAR",
  307.     }
  308.  
  309.     bonus = {
  310.         1: "APPLY_MAX_HP",
  311.         2: "APPLY_MAX_SP",
  312.         3: "APPLY_CON",
  313.         4: "APPLY_INT",
  314.         5: "APPLY_STR",
  315.         6: "APPLY_DEX",
  316.         7: "APPLY_ATT_SPEED",
  317.         8: "APPLY_MOV_SPEED",
  318.         9: "APPLY_CAST_SPEED",
  319.         10: "APPLY_HP_REGEN",
  320.         11: "APPLY_SP_REGEN",
  321.         12: "APPLY_POISON_PCT",
  322.         13: "APPLY_STUN_PCT",
  323.         14: "APPLY_SLOW_PCT",
  324.         15: "APPLY_CRITICAL_PCT",
  325.         16: "APPLY_PENETRATE_PCT",
  326.         17: "APPLY_ATTBONUS_HUMAN",
  327.         18: "APPLY_ATTBONUS_ANIMAL",
  328.         19: "APPLY_ATTBONUS_ORC",
  329.         20: "APPLY_ATTBONUS_MILGYO",
  330.         21: "APPLY_ATTBONUS_UNDEAD",
  331.         22: "APPLY_ATTBONUS_DEVIL",
  332.         23: "APPLY_STEAL_HP",
  333.         24: "APPLY_STEAL_SP",
  334.         25: "APPLY_MANA_BURN_PCT",
  335.         26: "APPLY_DAMAGE_SP_RECOVER",
  336.         27: "APPLY_BLOCK",
  337.         28: "APPLY_DODGE",
  338.         29: "APPLY_RESIST_SWORD",
  339.         30: "APPLY_RESIST_TWOHAND",
  340.         31: "APPLY_RESIST_DAGGER",
  341.         32: "APPLY_RESIST_BELL",
  342.         33: "APPLY_RESIST_FAN",
  343.         34: "APPLY_RESIST_BOW",
  344.         35: "APPLY_RESIST_FIRE",
  345.         36: "APPLY_RESIST_ELEC",
  346.         37: "APPLY_RESIST_MAGIC",
  347.         38: "APPLY_RESIST_WIND",
  348.         39: "APPLY_REFLECT_MELEE",
  349.         40: "APPLY_REFLECT_CURSE",
  350.         41: "APPLY_POISON_REDUCE",
  351.         42: "APPLY_KILL_SP_RECOVER",
  352.         43: "APPLY_EXP_DOUBLE_BONUS",
  353.         44: "APPLY_GOLD_DOUBLE_BONUS",
  354.         45: "APPLY_ITEM_DROP_BONUS",
  355.         46: "APPLY_POTION_BONUS",
  356.         47: "APPLY_KILL_HP_RECOVER",
  357.         48: "APPLY_IMMUNE_STUN",
  358.         49: "APPLY_IMMUNE_SLOW",
  359.         50: "APPLY_IMMUNE_FALL",
  360.         51: "APPLY_SKILL",
  361.         52: "APPLY_BOW_DISTANCE",
  362.         53: "APPLY_ATT_GRADE_BONUS",
  363.         54: "APPLY_DEF_GRADE_BONUS",
  364.         55: "APPLY_MAGIC_ATT_GRADE",
  365.         56: "APPLY_MAGIC_DEF_GRADE",
  366.         57: "APPLY_CURSE_PCT",
  367.         58: "APPLY_MAX_STAMINA",
  368.         59: "APPLY_ATTBONUS_WARRIOR",
  369.         60: "APPLY_ATTBONUS_ASSASSIN",
  370.         61: "APPLY_ATTBONUS_SURA",
  371.         62: "APPLY_ATTBONUS_SHAMAN",
  372.         63: "APPLY_ATTBONUS_MONSTER",
  373.         64: "APPLY_MALL_ATTBONUS",
  374.         65: "APPLY_MALL_DEFBONUS",
  375.         66: "APPLY_MALL_EXPBONUS",
  376.         67: "APPLY_MALL_ITEMBONUS",
  377.         68: "APPLY_MALL_GOLDBONUS",
  378.         69: "APPLY_MAX_HP_PCT",
  379.         70: "APPLY_MAX_SP_PCT",
  380.         71: "APPLY_SKILL_DAMAGE_BONUS",
  381.         72: "APPLY_NORMAL_HIT_DAMAGE_BONUS",
  382.         73: "APPLY_SKILL_DEFEND_BONUS",
  383.         74: "APPLY_NORMAL_HIT_DEFEND_BONUS",
  384.         75: "APPLY_PC_BANG_EXP_BONUS",
  385.         76: "APPLY_PC_BANG_DROP_BONUS",
  386.         77: "APPLY_EXTRACT_HP_PCT",
  387.         78: "APPLY_RESIST_WARRIOR",
  388.         79: "APPLY_RESIST_ASSASSIN",
  389.         80: "APPLY_RESIST_SURA",
  390.         81: "APPLY_RESIST_SHAMAN",
  391.         82: "APPLY_ENERGY",
  392.         83: "APPLY_DEF_GRADE",
  393.         84: "APPLY_COSTUME_ATTR_BONUS",
  394.         85: "APPLY_MAGIC_ATTBONUS_PER",
  395.         86: "APPLY_MELEE_MAGIC_ATTBONUS_PER",
  396.         87: "APPLY_RESIST_ICE",
  397.         88: "APPLY_RESIST_EARTH",
  398.         89: "APPLY_RESIST_DARK",
  399.         90: "APPLY_ANTI_CRITICAL_PCT",
  400.         91: "APPLY_ANTI_PENETRATE_PCT",
  401.     }
  402.  
  403.     addon_type = {
  404.         180,
  405.         181,
  406.         182,
  407.         183,
  408.         184,
  409.         185,
  410.         186,
  411.         187,
  412.         188,
  413.         189,
  414.         190,
  415.         191,
  416.         192,
  417.         193,
  418.         194,
  419.         195,
  420.         196,
  421.         197,
  422.         198,
  423.         199,
  424.         290,
  425.         291,
  426.         292,
  427.         293,
  428.         294,
  429.         295,
  430.         296,
  431.         297,
  432.         298,
  433.         299,
  434.         1130,
  435.         1131,
  436.         1132,
  437.         1133,
  438.         1134,
  439.         1135,
  440.         1136,
  441.         1137,
  442.         1138,
  443.         1139,
  444.         1170,
  445.         1171,
  446.         1172,
  447.         1173,
  448.         1174,
  449.         1175,
  450.         1176,
  451.         1177,
  452.         1178,
  453.         1179,
  454.         2150,
  455.         2151,
  456.         2152,
  457.         2153,
  458.         2154,
  459.         2155,
  460.         2156,
  461.         2157,
  462.         2158,
  463.         2159,
  464.         2170,
  465.         2171,
  466.         2172,
  467.         2173,
  468.         2174,
  469.         2175,
  470.         2176,
  471.         2177,
  472.         2178,
  473.         2179,
  474.         3160,
  475.         3161,
  476.         3162,
  477.         3163,
  478.         3164,
  479.         3165,
  480.         3166,
  481.         3167,
  482.         3168,
  483.         3169,
  484.         3210,
  485.         3211,
  486.         3212,
  487.         3213,
  488.         3214,
  489.         3215,
  490.         3216,
  491.         3217,
  492.         3218,
  493.         3219,
  494.         5110,
  495.         5111,
  496.         5112,
  497.         5113,
  498.         5114,
  499.         5115,
  500.         5116,
  501.         5117,
  502.         5118,
  503.         5119,
  504.         5120,
  505.         5121,
  506.         5122,
  507.         5123,
  508.         5124,
  509.         5125,
  510.         5126,
  511.         5127,
  512.         5128,
  513.         5129,
  514.         7160,
  515.         7161,
  516.         7162,
  517.         7163,
  518.         7164,
  519.         7165,
  520.         7166,
  521.         7167,
  522.         7168,
  523.         7169,
  524.         65159,
  525.         350,
  526.         351,
  527.         352,
  528.         353,
  529.         354,
  530.         355,
  531.         356,
  532.         357,
  533.         358,
  534.         359,
  535.         360,
  536.         361,
  537.         362,
  538.         363,
  539.         364,
  540.         365,
  541.         366,
  542.         367,
  543.         368,
  544.         369,
  545.         1300,
  546.         1301,
  547.         1302,
  548.         1303,
  549.         1304,
  550.         1305,
  551.         1306,
  552.         1307,
  553.         1308,
  554.         1309,
  555.         2340,
  556.         2341,
  557.         2342,
  558.         2343,
  559.         2344,
  560.         2345,
  561.         2346,
  562.         2347,
  563.         2348,
  564.         2349,
  565.         3330,
  566.         3331,
  567.         3332,
  568.         3333,
  569.         3334,
  570.         3335,
  571.         3336,
  572.         3337,
  573.         3338,
  574.         3339,
  575.         5290,
  576.         5291,
  577.         5292,
  578.         5293,
  579.         5294,
  580.         5295,
  581.         5296,
  582.         5297,
  583.         5298,
  584.         5299,
  585.     }
  586.  
  587.     errors = ""
  588.  
  589.     def get_item_type(type, vnum):
  590.         global errors
  591.         errors = ""
  592.         if type in item_type:
  593.             return item_type[type]
  594.         else:
  595.             errors += "Strange type in item %s\r\n" % vnum
  596.             return item_type[0]
  597.  
  598.     def get_item_subtype(type, subtype, vnum):
  599.         global errors
  600.         errors = ""
  601.         if type in item_subtype:
  602.             if subtype in item_subtype[type]:
  603.                 return item_subtype[type][subtype]
  604.         else:
  605.             errors += "Strange subtype in item %s\r\n" % vnum
  606.             return "None"
  607.  
  608.     def get_antiflag(antiflag, vnum):
  609.         global errors
  610.         str = ""
  611.         if antiflag >= 131072:
  612.             antiflag -= 131072
  613.             if len(str) <= 0:
  614.                 str = "ANTI_SAFEBOX"
  615.             else:
  616.                 str = "ANTI_SAFEBOX | " + str
  617.         if antiflag >= 65536:
  618.             antiflag -= 65536
  619.             if len(str) <= 0:
  620.                 str = "ANTI_MYSHOP"
  621.             else:
  622.                 str = "ANTI_MYSHOP | " + str
  623.         if antiflag >= 32768:
  624.             antiflag -= 32768
  625.             if len(str) <= 0:
  626.                 str = "ANTI_STACK"
  627.             else:
  628.                 str = "ANTI_STACK | " + str
  629.         if antiflag >= 16384:
  630.             antiflag -= 16384
  631.             if len(str) <= 0:
  632.                 str = "ANTI_PKDROP"
  633.             else:
  634.                 str = "ANTI_PKDROP | " + str
  635.         if antiflag >= 8192:
  636.             antiflag -= 8192
  637.             if len(str) <= 0:
  638.                 str = "ANTI_GIVE"
  639.             else:
  640.                 str = "ANTI_GIVE | " + str
  641.         if antiflag >= 4096:
  642.             antiflag -= 4096
  643.             if len(str) <= 0:
  644.                 str = "ANTI_SAVE"
  645.             else:
  646.                 str = "ANTI_SAVE | " + str
  647.         if antiflag >= 2048:
  648.             antiflag -= 2048
  649.             if len(str) <= 0:
  650.                 str = "ANTI_EMPIRE_C"
  651.             else:
  652.                 str = "ANTI_EMPIRE_C | " + str
  653.         if antiflag >= 1024:
  654.             antiflag -= 1024
  655.             if len(str) <= 0:
  656.                 str = "ANTI_EMPIRE_B"
  657.             else:
  658.                 str = "ANTI_EMPIRE_B | " + str
  659.         if antiflag >= 512:
  660.             antiflag -= 512
  661.             if len(str) <= 0:
  662.                 str = "ANTI_EMPIRE_A"
  663.             else:
  664.                 str = "ANTI_EMPIRE_A | " + str
  665.         if antiflag >= 256:
  666.             antiflag -= 256
  667.             if len(str) <= 0:
  668.                 str = "ANTI_SELL"
  669.             else:
  670.                 str = "ANTI_SELL | " + str
  671.         if antiflag >= 64:
  672.             antiflag -= 64
  673.             if len(str) <= 0:
  674.                 str = "ANTI_GET"
  675.             else:
  676.                 str = "ANTI_GET | " + str
  677.         if antiflag >= 32:
  678.             antiflag -= 32
  679.             if len(str) <= 0:
  680.                 str = "ANTI_MUDANG"
  681.             else:
  682.                 str = "ANTI_MUDANG | " + str
  683.         if antiflag >= 16:
  684.             antiflag -= 16
  685.             if len(str) <= 0:
  686.                 str = "ANTI_SURA"
  687.             else:
  688.                 str = "ANTI_SURA | " + str
  689.         if antiflag >= 8:
  690.             antiflag -= 8
  691.             if len(str) <= 0:
  692.                 str = "ANTI_ASSASSIN"
  693.             else:
  694.                 str = "ANTI_ASSASSIN | " + str
  695.         if antiflag >= 4:
  696.             antiflag -= 4
  697.             if len(str) <= 0:
  698.                 str = "ANTI_MUSA"
  699.             else:
  700.                 str = "ANTI_MUSA | " + str
  701.         if antiflag >= 2:
  702.             antiflag -= 2
  703.             if len(str) <= 0:
  704.                 str = "ANTI_MALE"
  705.             else:
  706.                 str = "ANTI_MALE | " + str
  707.         if antiflag >= 1:
  708.             antiflag -= 1
  709.             if len(str) <= 0:
  710.                 str = "ANTI_FEMALE"
  711.             else:
  712.                 str = "ANTI_FEMALE | " + str
  713.         if antiflag == 0 and len(str) > 0:
  714.             return "\"" + str + "\""
  715.         else:
  716.             errors += "Strange antiflag in item %s\r\n" % vnum
  717.             return "\"NONE\""
  718.        
  719.     def get_flag(flag, vnum):
  720.         global errors
  721.         str = ""
  722.         if flag >= 32768:
  723.             flag -= 32768
  724.             if len(str) <= 0:
  725.                 str = "ITEM_APPLICABLE"
  726.             else:
  727.                 str = "ITEM_APPLICABLE | " + str
  728.         if flag >= 16384:
  729.             flag -= 16384
  730.             if len(str) <= 0:
  731.                 str = "REFINEABLE"
  732.             else:
  733.                 str = "REFINEABLE | " + str
  734.         if flag >= 8192:
  735.             flag -= 8192
  736.             if len(str) <= 0:
  737.                 str = "LOG"
  738.             else:
  739.                 str = "LOG | " + str
  740.         if flag >= 4096:
  741.             flag -= 4096
  742.             if len(str) <= 0:
  743.                 str = "ITEM_QUEST"
  744.             else:
  745.                 str = "ITEM_QUEST | " + str
  746.         if flag >= 2048:
  747.             flag -= 2048
  748.             if len(str) <= 0:
  749.                 str = "QUEST_GIVE"
  750.             else:
  751.                 str = "QUEST_GIVE | " + str
  752.         if flag >= 1024:
  753.             flag -= 1024
  754.             if len(str) <= 0:
  755.                 str = "QUEST_USE_MULTIPLE"
  756.             else:
  757.                 str = "QUEST_USE_MULTIPLE | " + str
  758.         if flag >= 512:
  759.             flag -= 512
  760.             if len(str) <= 0:
  761.                 str = "QUEST_USE"
  762.             else:
  763.                 str = "QUEST_USE | " + str
  764.         if flag >= 256:
  765.             flag -= 256
  766.             if len(str) <= 0:
  767.                 str = "CONFIRM_WHEN_USE"
  768.             else:
  769.                 str = "CONFIRM_WHEN_USE | " + str
  770.         if flag >= 128:
  771.             flag -= 128
  772.             if len(str) <= 0:
  773.                 str = "ITEM_IRREMOVABLE"
  774.             else:
  775.                 str = "ITEM_IRREMOVABLE | " + str
  776.         if flag >= 64:
  777.             flag -= 64
  778.             if len(str) <= 0:
  779.                 str = "ITEM_MAKECOUNT"
  780.             else:
  781.                 str = "ITEM_MAKECOUNT | " + str
  782.         if flag >= 32:
  783.             flag -= 32
  784.             if len(str) <= 0:
  785.                 str = "ITEM_UNIQUE"
  786.             else:
  787.                 str = "ITEM_UNIQUE | " + str
  788.         if flag >= 16:
  789.             flag -= 16
  790.             if len(str) <= 0:
  791.                 str = "ITEM_SLOW_QUERY"
  792.             else:
  793.                 str = "ITEM_SLOW_QUERY | " + str
  794.         if flag >= 8:
  795.             flag -= 8
  796.             if len(str) <= 0:
  797.                 str = "COUNT_PER_1GOLD"
  798.             else:
  799.                 str = "COUNT_PER_1GOLD | " + str
  800.         if flag >= 4:
  801.             flag -= 4
  802.             if len(str) <= 0:
  803.                 str = "ITEM_STACKABLE"
  804.             else:
  805.                 str = "ITEM_STACKABLE | " + str
  806.         if flag >= 2:
  807.             flag -= 2
  808.             if len(str) <= 0:
  809.                 str = "ITEM_SAVE"
  810.             else:
  811.                 str = "ITEM_SAVE | " + str
  812.         if flag >= 1:
  813.             flag -= 1
  814.             if len(str) <= 0:
  815.                 str = "ITEM_TUNABLE"
  816.             else:
  817.                 str = "ITEM_TUNABLE | " + str
  818.         if flag == 0 and len(str) > 0:
  819.             return "\"" + str + "\""
  820.         else:
  821.             errors += "Strange flag in item %s\r\n" % vnum
  822.             return "\"NONE\""
  823.  
  824.     def get_wearflag(wear, vnum):
  825.         global errors
  826.         if wear in wearflag:
  827.             return "\"" + wearflag[wear] + "\""
  828.         else:
  829.             errors += "Strange wearflag in item %s\r\n" % vnum
  830.             return "\"NONE\""
  831.            
  832.     def get_immuneflag(immune):
  833.             return "\"NONE\""
  834.            
  835.     def get_limittype(limit):
  836.         if limit in limittype:
  837.             return "\"" + limittype[limit] + "\""
  838.         else:
  839.             return "\"LIMIT_NONE\""
  840.            
  841.     def get_apply(apply):
  842.         if apply in bonus:
  843.             return "\"" + bonus[apply] + "\""
  844.         else:
  845.             return "\"APPLY_NONE\""
  846.  
  847.     def socket(sockett):
  848.         if sockett == 127:
  849.             return 0
  850.         else:
  851.             return sockett
  852.  
  853.     data = "player"
  854.     db = MySQLdb.connect(host_mysql,user_mysql,passwd_mysql,data)
  855.     cur = db.cursor()
  856.     cur.execute("select * from item_proto")
  857.     rows = cur.fetchall()
  858.     out_file_itemproto = open("item_proto.txt", "w")
  859.     out_file_itemnames = open("item_names.txt", "w")
  860.     print "item_proto se converteste."
  861.     for row in rows:
  862.         item_proto_line = "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (row[0], "\"" + row[1] + "\"", "\""  + get_item_type(row[3], row[0]) + "\"" , "\""  + get_item_subtype(row[3], row[4], row[0]) + "\"", row[6] , get_antiflag(row[7], row[0]), get_flag(row[8], row[0]), get_wearflag(row[9], row[0]), get_immuneflag(row[10]), row[11], row[12], row[13], row[14], row[16], get_limittype(row[17]), row[18], get_limittype(row[19]), row[20], get_apply(row[21]), row[22], get_apply(row[23]), row[24], get_apply(row[25]), row[26], row[27], row[28], row[29], row[30], row[31], row[32], row[39], row[40], row[41])
  863.         item_names_line = "%s\t%s" % (row[0], row[2])
  864.         out_file_itemproto.write(item_proto_line + "\r\n")
  865.         out_file_itemnames.write(item_names_line + "\r\n")
  866.     out_file_itemproto.close()
  867.     print "item_proto a fost convertit."
  868.     """if len(errors) != 0:
  869.         print "Au aparut erori in timpul conversiei:"
  870.         print errors"""
  871.        
  872. print item_proto()
  873. print mob_proto()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement