Domanda Convertitore SQL TXT

Stato
Discussione chiusa ad ulteriori risposte.
Assicurati di aver installato python2.7, poi crei un file .sh e ci incolli dentro questo, all'inizio metti i dati del tuo Mysql e lo lanci.
Comprende item/mob proto.

import MySQLdb
host_mysql = 'tuo-ip'
user_mysql = 'root'
passwd_mysql = 'PASSWsql'
def mob_proto():
rank = {
1: "S_PAWN",
2: "KNIGHT",
3: "S_KNIGHT",
4: "BOSS",
5: "KING",
}

typeee = {
1: "NPC",
2: "STONE",
3: "WARP",
4: "DOOR",
5: "BUILDING",
7: "POLYMORPH_PC",
8: "HORSE",
9: "GOTO",
}

battletype = {
2: "RANGE",
3: "MAGIC",
4: "SPECIAL",
5: "POWER",
6: "TANKER",
}

def get_rank(level):
if level in rank:
return "\"" + rank[level] + "\""
else:
return "\"PAWN\""

def get_type(typee):
if typee in typeee:
return "\"" + typeee[typee] + "\""
else:
return "\"MONSTER\""

def get_battletype(battle):
if battle in battletype:
return "\"" + battletype[battle] + "\""
else:
return "\"MELEE\""

def get_flag(flag):
if flag == "":
return flag
else:
return "\"" + flag + "\""

def get_race(race):
if race == "":
return race
else:
return "\"" + race + "\""

def get_immune(immune):
if immune == "":
return immune
else:
return "\"" + immune + "\""

def get_folder(folder):
if folder == "":
return "\"wolf\""
else:
return "\"" + folder + "\""

print "Connecting to database proto..."
data = "player"
db = MySQLdb.connect(host_mysql,user_mysql,passwd_mysql,data)
cur = db.cursor()
print "Connected."
cur.execute("select * from mob_proto")
rows = cur.fetchall()
out_file_mobproto = open("mob_proto.txt", "w")
out_file_mobnames = open("mob_names.txt", "w")
print "Converting mob_proto..."
for row in rows:
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])
mob_names_line = "%s\t%s" % (row[0], row[2])
out_file_mobproto.write(mob_proto_line + "\r\n")
out_file_mobnames.write(mob_names_line + "\r\n")
out_file_mobproto.close()
return "Mob proto converted!"

def item_proto():
item_type = {
0: "ITEM_NONE",
1: "ITEM_WEAPON",
2: "ITEM_ARMOR",
3: "ITEM_USE",
4: "ITEM_AUTOUSE",
5: "ITEM_MATERIAL",
6: "ITEM_SPECIAL",
7: "ITEM_TOOL",
8: "ITEM_LOTTERY",
9: "ITEM_ELK",
10: "ITEM_METIN",
11: "ITEM_CONTAINER",
12: "ITEM_FISH",
13: "ITEM_ROD",
14: "ITEM_RESOURCE",
15: "ITEM_CAMPFIRE",
16: "ITEM_UNIQUE",
17: "ITEM_SKILLBOOK",
18: "ITEM_QUEST",
19: "ITEM_POLYMORPH",
20: "ITEM_TREASURE_BOX",
21: "ITEM_TREASURE_KEY",
22: "ITEM_SKILLFORGET",
23: "ITEM_GIFTBOX",
24: "ITEM_PICK",
25: "ITEM_HAIR",
26: "ITEM_TOTEM",
27: "ITEM_BLEND",
28: "ITEM_COSTUME",
29: "ITEM_DS",
30: "ITEM_SPECIAL_DS",
31: "ITEM_EXTRACT",
32: "ITEM_SECONDARY_COIN",
33: "ITEM_RING",
34: "ITEM_BELT"
}

item_subtype = {
1: {
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",
8: "WEAPON_NUM_TYPES",
},
2: {
0: "ARMOR_BODY",
1: "ARMOR_HEAD",
2: "ARMOR_SHIELD",
3: "ARMOR_WRIST",
4: "ARMOR_FOOTS",
5: "ARMOR_NECK",
6: "ARMOR_EAR",
7: "ARMOR_NUM_TYPES",
},
3 : {
0: "USE_POTION",
1: "USE_TALISMAN",
2: "USE_TUNING",
3: "USE_MOVE",
4: "USE_TREASURE_BOX",
5: "USE_MONEYBAG",
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",
16: "USE_POTION_CONTINUE",
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",
24: "USE_CHANGE_ATTRIBUTE2",
25: "USE_BIND",
26: "USE_UNBIND",
27: "USE_TIME_CHARGE_PER",
28: "USE_TIME_CHARGE_FIX",
29: "USE_PUT_INTO_BELT_SOCKET",
30: "USE_PUT_INTO_RING_SOCKET",
},
4: {
0: "AUTOUSE_POTION",
1: "AUTOUSE_ABILITY_UP",
2: "AUTOUSE_BOMB",
3: "AUTOUSE_GOLD",
4: "AUTOUSE_MONEYBAG",
5: "AUTOUSE_TREASURE_BOX",
},
5: {
0: "MATERIAL_LEATHER",
1: "MATERIAL_BLOOD",
2: "MATERIAL_ROOT",
3: "MATERIAL_NEEDLE",
4: "MATERIAL_JEWEL",
5: "MATERIAL_DS_REFINE_NORMAL",
6: "MATERIAL_DS_REFINE_BLESSED",
7: "MATERIAL_DS_REFINE_HOLLY",
},
6: {
0: "SPECIAL_MAP",
1: "SPECIAL_KEY",
2: "SPECIAL_DOC",
3: "SPECIAL_SPIRIT",
},
7: {
0 : "TOOL_FISHING_ROD",
},
8: {
0: "LOTTERY_TICKET",
1: "LOTTERY_INSTANT",
},
10: {
0: "METIN_NORMAL",
1: "METIN_GOLD",
},
12: {
0: "FISH_ALIVE",
1: "FISH_DEAD",
},
14: {
0: "RESOURCE_FISHBONE",
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: {
0: "UNIQUE_NONE",
1: "UNIQUE_BOOK",
2: "UNIQUE_SPECIAL_RIDE",
3: "UNIQUE_3",
4: "UNIQUE_4",
5: "UNIQUE_5",
6: "UNIQUE_6",
7: "UNIQUE_7",
8: "UNIQUE_8",
9: "UNIQUE_9",
10: "USE_SPECIAL",
},
28: {
0: "COSTUME_BODY",
1: "COSTUME_HAIR",
},
29: {
0: "DS_SLOT1",
1: "DS_SLOT2",
2: "DS_SLOT3",
3: "DS_SLOT4",
4: "DS_SLOT5",
5: "DS_SLOT6",
},
31: {
0: "EXTRACT_DRAGON_SOUL",
1: "EXTRACT_DRAGON_HEART",
},
}

wearflag = {
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",
}

limittype = {
1: "LEVEL",
2: "STR",
3: "DEX",
4: "INT",
5: "CON",
6: "PC_BANG",
7: "REAL_TIME",
8: "REAL_TIME_FIRST_USE",
9: "TIMER_BASED_ON_WEAR",
}

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

addon_type = {
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
1130,
1131,
1132,
1133,
1134,
1135,
1136,
1137,
1138,
1139,
1170,
1171,
1172,
1173,
1174,
1175,
1176,
1177,
1178,
1179,
2150,
2151,
2152,
2153,
2154,
2155,
2156,
2157,
2158,
2159,
2170,
2171,
2172,
2173,
2174,
2175,
2176,
2177,
2178,
2179,
3160,
3161,
3162,
3163,
3164,
3165,
3166,
3167,
3168,
3169,
3210,
3211,
3212,
3213,
3214,
3215,
3216,
3217,
3218,
3219,
5110,
5111,
5112,
5113,
5114,
5115,
5116,
5117,
5118,
5119,
5120,
5121,
5122,
5123,
5124,
5125,
5126,
5127,
5128,
5129,
7160,
7161,
7162,
7163,
7164,
7165,
7166,
7167,
7168,
7169,
65159,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
1300,
1301,
1302,
1303,
1304,
1305,
1306,
1307,
1308,
1309,
2340,
2341,
2342,
2343,
2344,
2345,
2346,
2347,
2348,
2349,
3330,
3331,
3332,
3333,
3334,
3335,
3336,
3337,
3338,
3339,
5290,
5291,
5292,
5293,
5294,
5295,
5296,
5297,
5298,
5299,
}

errors = ""

def get_item_type(type, vnum):
errors = ""
global errors
if type in item_type:
return item_type[type]
else:
errors += "Strange type in item %s\r\n" % vnum
return item_type[0]

def get_item_subtype(type, subtype, vnum):
errors = ""
global errors
if type in item_subtype:
if subtype in item_subtype[type]:
return item_subtype[type][subtype]
else:
errors += "Strange subtype in item %s\r\n" % vnum
return "NONE"

def get_antiflag(antiflag, vnum):
global errors
str = ""
if antiflag >= 131072:
antiflag -= 131072
if len(str) <= 0:
str = "ANTI_SAFEBOX"
else:
str = "ANTI_SAFEBOX | " + str
if antiflag >= 65536:
antiflag -= 65536
if len(str) <= 0:
str = "ANTI_MYSHOP"
else:
str = "ANTI_MYSHOP | " + str
if antiflag >= 32768:
antiflag -= 32768
if len(str) <= 0:
str = "ANTI_STACK"
else:
str = "ANTI_STACK | " + str
if antiflag >= 16384:
antiflag -= 16384
if len(str) <= 0:
str = "ANTI_PKDROP"
else:
str = "ANTI_PKDROP | " + str
if antiflag >= 8192:
antiflag -= 8192
if len(str) <= 0:
str = "ANTI_GIVE"
else:
str = "ANTI_GIVE | " + str
if antiflag >= 4096:
antiflag -= 4096
if len(str) <= 0:
str = "ANTI_SAVE"
else:
str = "ANTI_SAVE | " + str
if antiflag >= 2048:
antiflag -= 2048
if len(str) <= 0:
str = "ANTI_EMPIRE_C"
else:
str = "ANTI_EMPIRE_C | " + str
if antiflag >= 1024:
antiflag -= 1024
if len(str) <= 0:
str = "ANTI_EMPIRE_B"
else:
str = "ANTI_EMPIRE_B | " + str
if antiflag >= 512:
antiflag -= 512
if len(str) <= 0:
str = "ANTI_EMPIRE_A"
else:
str = "ANTI_EMPIRE_A | " + str
if antiflag >= 256:
antiflag -= 256
if len(str) <= 0:
str = "ANTI_SELL"
else:
str = "ANTI_SELL | " + str
if antiflag >= 64:
antiflag -= 64
if len(str) <= 0:
str = "ANTI_GET"
else:
str = "ANTI_GET | " + str
if antiflag >= 32:
antiflag -= 32
if len(str) <= 0:
str = "ANTI_MUDANG"
else:
str = "ANTI_MUDANG | " + str
if antiflag >= 16:
antiflag -= 16
if len(str) <= 0:
str = "ANTI_SURA"
else:
str = "ANTI_SURA | " + str
if antiflag >= 8:
antiflag -= 8
if len(str) <= 0:
str = "ANTI_ASSASSIN"
else:
str = "ANTI_ASSASSIN | " + str
if antiflag >= 4:
antiflag -= 4
if len(str) <= 0:
str = "ANTI_MUSA"
else:
str = "ANTI_MUSA | " + str
if antiflag >= 2:
antiflag -= 2
if len(str) <= 0:
str = "ANTI_MALE"
else:
str = "ANTI_MALE | " + str
if antiflag >= 1:
antiflag -= 1
if len(str) <= 0:
str = "ANTI_FEMALE"
else:
str = "ANTI_FEMALE | " + str
if antiflag == 0 and len(str) > 0:
return "\"" + str + "\""
else:
errors += "Strange antiflag in item %s\r\n" % vnum
return "\"NONE\""

def get_flag(flag, vnum):
global errors
str = ""
if flag >= 32768:
flag -= 32768
if len(str) <= 0:
str = "ITEM_APPLICABLE"
else:
str = "ITEM_APPLICABLE | " + str
if flag >= 16384:
flag -= 16384
if len(str) <= 0:
str = "REFINEABLE"
else:
str = "REFINEABLE | " + str
if flag >= 8192:
flag -= 8192
if len(str) <= 0:
str = "LOG"
else:
str = "LOG | " + str
if flag >= 4096:
flag -= 4096
if len(str) <= 0:
str = "ITEM_QUEST"
else:
str = "ITEM_QUEST | " + str
if flag >= 2048:
flag -= 2048
if len(str) <= 0:
str = "QUEST_GIVE"
else:
str = "QUEST_GIVE | " + str
if flag >= 1024:
flag -= 1024
if len(str) <= 0:
str = "QUEST_USE_MULTIPLE"
else:
str = "QUEST_USE_MULTIPLE | " + str
if flag >= 512:
flag -= 512
if len(str) <= 0:
str = "QUEST_USE"
else:
str = "QUEST_USE | " + str
if flag >= 256:
flag -= 256
if len(str) <= 0:
str = "CONFIRM_WHEN_USE"
else:
str = "CONFIRM_WHEN_USE | " + str
if flag >= 128:
flag -= 128
if len(str) <= 0:
str = "ITEM_IRREMOVABLE"
else:
str = "ITEM_IRREMOVABLE | " + str
if flag >= 64:
flag -= 64
if len(str) <= 0:
str = "ITEM_MAKECOUNT"
else:
str = "ITEM_MAKECOUNT | " + str
if flag >= 32:
flag -= 32
if len(str) <= 0:
str = "ITEM_UNIQUE"
else:
str = "ITEM_UNIQUE | " + str
if flag >= 16:
flag -= 16
if len(str) <= 0:
str = "ITEM_SLOW_QUERY"
else:
str = "ITEM_SLOW_QUERY | " + str
if flag >= 8:
flag -= 8
if len(str) <= 0:
str = "COUNT_PER_1GOLD"
else:
str = "COUNT_PER_1GOLD | " + str
if flag >= 4:
flag -= 4
if len(str) <= 0:
str = "ITEM_STACKABLE"
else:
str = "ITEM_STACKABLE | " + str
if flag >= 2:
flag -= 2
if len(str) <= 0:
str = "ITEM_SAVE"
else:
str = "ITEM_SAVE | " + str
if flag >= 1:
flag -= 1
if len(str) <= 0:
str = "ITEM_TUNABLE"
else:
str = "ITEM_TUNABLE | " + str
if flag == 0 and len(str) > 0:
return "\"" + str + "\""
else:
errors += "Strange flag in item %s\r\n" % vnum
return "\"NONE\""

def get_wearflag(wear, vnum):
global errors
if wear in wearflag:
return "\"" + wearflag[wear] + "\""
else:
errors += "Strange wearflag in item %s\r\n" % vnum
return "\"NONE\""

def get_immuneflag(immune):
return "\"NONE\""

def get_limittype(limit):
if limit in limittype:
return "\"" + limittype[limit] + "\""
else:
return "\"LIMIT_NONE\""

def get_apply(apply):
if apply in bonus:
return "\"" + bonus[apply] + "\""
else:
return "\"APPLY_NONE\""

def socket(sockett):
if sockett == 127:
return 0
else:
return sockett


print "Connecting to database proto..."
data = "player"
db = MySQLdb.connect(host_mysql,user_mysql,passwd_mysql,data)
cur = db.cursor()
print "Connected."
cur.execute("select * from item_proto")
rows = cur.fetchall()
out_file_itemproto = open("item_proto.txt", "w")
out_file_itemnames = open("item_names.txt", "w")
print "Converting item_proto..."
for row in rows:
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])
item_names_line = "%s\t%s" % (row[0], row[2])
out_file_itemproto.write(item_proto_line + "\r\n")
out_file_itemnames.write(item_names_line + "\r\n")
out_file_itemproto.close()
print "Item provo converted!"
"""if len(errors) != 0:
print "Errors during conversion:"
print errors"""

print item_proto()
print mob_proto()
 
  • Mi piace
Reazioni: SkScreenS
Stato
Discussione chiusa ad ulteriori risposte.