Jump to content

Agator

Inactive Member
  • Posts

    3
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Agator

  1. On 10/16/2016 at 8:48 AM, Wakanim said:

    and there is same problem, we can't search weapon and equipement 

    If i search weapon or equipment i have this popup's : c411970e16164848a051878222d38d15.png

     

    Any solution ?

    i have this probloem, and pls reupload file sql fix crash pls.

  2. and i have this problem

     

    0509 18:27:28288 :: Traceback (most recent call last):

    0509 18:27:28288 ::   File "ui.py", line 1590, in OnSelectEmptySlot

    0509 18:27:28288 ::   File "ui.py", line 89, in __call__

    0509 18:27:28289 ::   File "ui.py", line 80, in __call__

    0509 18:27:28289 ::   File "uiswitch.py", line 114, in __OnSelectEmptySlot

    0509 18:27:28289 :: IndexError
    0509 18:27:28289 :: : 
    0509 18:27:28289 :: list index out of range
    0509 18:27:28289 :: 

    0509 18:27:28289 :: Traceback (most recent call last):

    0509 18:27:28289 ::   File "uiswitch.py", line 163, in OnUpdate

    0509 18:27:28289 ::   File "uiswitch.py", line 154, in refresh

    0509 18:27:28290 :: IndexError
    0509 18:27:28290 :: : 
    0509 18:27:28290 :: list index out of range
    0509 18:27:28290 :: 

  3. Hello everyone I found on another community a converter for item_proto 40k, but when I open me from this problem ... 

    this is the source of the file

    import MySQLdb
    
    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",
    }
    
    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_SPECIAL",
    		28: "USE_SPECIAL",
    		29: "AUTOUSE_BOMB",
    		30: "AUTOUSE_GOLD",
    	},
    	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",
    		4: "SPECIAL_MAP",
    	},
    	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",
    	},
    }
    
    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):
    	global errors
    	if type in item_type:
    		return item_type[type]
    	else:
    		errors += "Strange type in item %srn" % vnum
    		return item_type[0]
    
    def get_item_subtype(type, subtype, vnum):
    	global errors
    	if type in item_subtype:
    		if subtype in item_subtype[type]:
    			return item_subtype[type][subtype]
    	else:
    		errors += "Strange subtype in item %srn" % vnum
    		return "NONE"
    
    def get_antiflag(antiflag, vnum):
    	global errors
    	str = ""
    	if antiflag >= 131072:
    		antiflag -= 131072
    		if len(str) = 65536:
    		antiflag -= 65536
    		if len(str) = 32768:
    		antiflag -= 32768
    		if len(str) = 16384:
    		antiflag -= 16384
    		if len(str) = 8192:
    		antiflag -= 8192
    		if len(str) = 4096:
    		antiflag -= 4096
    		if len(str) = 2048:
    		antiflag -= 2048
    		if len(str) = 1024:
    		antiflag -= 1024
    		if len(str) = 512:
    		antiflag -= 512
    		if len(str) = 256:
    		antiflag -= 256
    		if len(str) = 64:
    		antiflag -= 64
    		if len(str) = 32:
    		antiflag -= 32
    		if len(str) = 16:
    		antiflag -= 16
    		if len(str) = 8:
    		antiflag -= 8
    		if len(str) = 4:
    		antiflag -= 4
    		if len(str) = 2:
    		antiflag -= 2
    		if len(str) = 1:
    		antiflag -= 1
    		if len(str)  0:
    		return """ + str + """
    	else:
    		errors += "Strange antiflag in item %srn" % vnum
    		return ""NONE""
    	
    def get_flag(flag, vnum):
    	global errors
    	str = ""
    	if flag >= 32768:
    		flag -= 32768
    		if len(str) = 16384:
    		flag -= 16384
    		if len(str) = 8192:
    		flag -= 8192
    		if len(str) = 4096:
    		flag -= 4096
    		if len(str) = 2048:
    		flag -= 2048
    		if len(str) = 1024:
    		flag -= 1024
    		if len(str) = 512:
    		flag -= 512
    		if len(str) = 256:
    		flag -= 256
    		if len(str) = 128:
    		flag -= 128
    		if len(str) = 64:
    		flag -= 64
    		if len(str) = 32:
    		flag -= 32
    		if len(str) = 16:
    		flag -= 16
    		if len(str) = 8:
    		flag -= 8
    		if len(str) = 4:
    		flag -= 4
    		if len(str) = 2:
    		flag -= 2
    		if len(str) = 1:
    		flag -= 1
    		if len(str)  0:
    		return """ + str + """
    	else:
    		errors += "Strange flag in item %srn" % vnum
    		return ""NONE""
    
    def get_wearflag(wear, vnum):
    	global errors
    	if wear in wearflag:
    		return """ + wearflag[wear] + """
    	else:
    		errors += "Strange wearflag in item %srn" % 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..."
    db = MySQLdb.connect(host="MYIP", user="root", passwd="PASS", db="player")
    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 = "%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%st%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 = "%st%s" % (row[0], row[2])
    	out_file_itemproto.write(item_proto_line + "rn")
    	out_file_itemnames.write(item_names_line + "rn")
    out_file_itemproto.close()
    print "Item_proto converted!"
    """if len(errors) != 0:
    	print "Errors during conversion:"
    	print errors"""

    Sorry fo my english...

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.