Jump to content

useless69

Inactive Member
  • Posts

    56
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by useless69

  1. arrows damage taking from function CalcArrowDamage but if you using sword this should take from function CalcMeleeDamage, i dont think its connected, check and compare calcarrowdamage and calcmeleedamage function

    This is function arrow iDam = number(pkBow->GetValue(3), pkBow->GetValue(4)) * 2 + pkArrow->GetValue(3); but its only count when you wear bow.

    • Love 1
  2. you cant find something what you dont have. add this before def OverOutItem(self):
    
    	def AttachMetinToItem(self, metinSlotPos, targetSlotPos):
    		metinIndex = player.GetItemIndex(metinSlotPos)
    		targetIndex = player.GetItemIndex(targetSlotPos)
    
    		item.SelectItem(metinIndex)
    		itemName = item.GetItemName()
    
    		result = player.CanAttachMetin(metinIndex, targetSlotPos)
    
    		if player.ATTACH_METIN_NOT_MATCHABLE_ITEM == result:
    			chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_CAN_NOT_ATTACH(itemName))
    
    		if player.ATTACH_METIN_NO_MATCHABLE_SOCKET == result:
    			chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_SOCKET(itemName))
    
    		elif player.ATTACH_METIN_NOT_EXIST_GOLD_SOCKET == result:
    			chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_GOLD_SOCKET(itemName))
    
    		elif player.ATTACH_METIN_CANT_ATTACH_TO_EQUIPMENT == result:
    			chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_EQUIP_ITEM)
    
    		if player.ATTACH_METIN_OK != result:
    			return
    
    		self.attachMetinDialog.Open(metinSlotPos, targetSlotPos)

     

    • Love 1
  3. official function, try replace there 3 fuctions
    
    def RefreshAlignment(self):
    		point, grade = player.GetAlignmentData()
    
    		import colorInfo
    		COLOR_DICT = {	0 : colorInfo.TITLE_RGB_GOOD_4,
    						1 : colorInfo.TITLE_RGB_GOOD_3,
    						2 : colorInfo.TITLE_RGB_GOOD_2,
    						3 : colorInfo.TITLE_RGB_GOOD_1,
    						4 : colorInfo.TITLE_RGB_NORMAL,
    						5 : colorInfo.TITLE_RGB_EVIL_1,
    						6 : colorInfo.TITLE_RGB_EVIL_2,
    						7 : colorInfo.TITLE_RGB_EVIL_3,
    						8 : colorInfo.TITLE_RGB_EVIL_4, }
    		colorList = COLOR_DICT.get(grade, colorInfo.TITLE_RGB_NORMAL)
    		gradeColor = ui.GenerateColor(colorList[0], colorList[1], colorList[2])
    
    		self.toolTipAlignment.ClearToolTip()
    		self.toolTipAlignment.AutoAppendTextLine(localeInfo.TITLE_NAME_LIST[grade], gradeColor)
    		self.toolTipAlignment.AutoAppendTextLine(localeInfo.ALIGNMENT_NAME + str(point))
    		self.toolTipAlignment.AlignHorizonalCenter()
    
    
    
    def GetAlignmentTitleName(alignment):
    	if alignment >= 12000:
    		return TITLE_NAME_LIST[0]
    	elif alignment >= 8000:
    		return TITLE_NAME_LIST[1]
    	elif alignment >= 4000:
    		return TITLE_NAME_LIST[2]
    	elif alignment >= 1000:
    		return TITLE_NAME_LIST[3]
    	elif alignment >= 0:
    		return TITLE_NAME_LIST[4]
    	elif alignment > -4000:
    		return TITLE_NAME_LIST[5]
    	elif alignment > -8000:
    		return TITLE_NAME_LIST[6]
    	elif alignment > -12000:
    		return TITLE_NAME_LIST[7]
    
    	return TITLE_NAME_LIST[8]
    
    
    
    
    
    TITLE_NAME_LIST = ( PVP_LEVEL0, PVP_LEVEL1, PVP_LEVEL2, PVP_LEVEL3, PVP_LEVEL4, PVP_LEVEL5, PVP_LEVEL6, PVP_LEVEL7, PVP_LEVEL8, )
    

     

  4. 40k

    Hello, can i ask about this error what i have in syserr/syslog in db

    if its dangerous or from where comes it, some fix for it.

    syserr

    Quote

    SYSERR: May 22 18:57:04 :: Process: FDWATCH: peer null in event: ident 25

     

    syslog 

    Quote

    May 22 18:57:04 :: Connection closed. (host: 141.98.83.11)
    May 22 18:57:04 :: ItemIDRange: returned. 0 ~ 0
    May 22 18:57:04 :: ItemIDRange: Build 0 ~ 0 start: 0    NOT USE remain count is below 10000
    SYSERR: May 22 18:57:04 :: Process: FDWATCH: peer null in event: ident 25
     

    it doesnt kick me from game, so i can play but i dont like it.

     

    Thanks for any help, have a nice day :)

  5. Version of Files XXX

    Hello i have one problem with offline shop, i cant add dragon soul there, after i add core down, sysser, syslog dont say anything.
    if somebody can look for this code what i have i will be thankfull

     

    void COfflineShopManager::AddItem(LPCHARACTER ch, BYTE bDisplayPos, BYTE bPos, long long iPrice, long long iPricem)
    {
    	if (!ch)
    		return;
    
    	// Fixed bug 6.21.2015
    	if (bDisplayPos >= OFFLINE_SHOP_HOST_ITEM_MAX_NUM)
    	{
    		sys_err("Overflow offline shop slot count [%s]", ch->GetName());
    		return;
    	}
    	// End Of fixed bug 6.21.201
    	// End Of Check player has offline shop or not
    
    
    
    	LPITEM pkItem = ch->GetInventoryItem(bPos);
    	
    	
    	const char* nameseller = ch->GetName(); 
    	const char* nameitem = pkItem->GetName(); 
    	int iItemRefine = pkItem->GetRefineLevel(); 
    	int iItemLevel; 
    	int iItemType = pkItem->GetType();
    	int iItemSubtype = pkItem->GetSubType(); 
    	DWORD iItemAntiflag = pkItem->GetAntiFlag();
    
    	if (pkItem->GetLimitType(0))
    		iItemLevel = pkItem->GetLimitValue(0);
    	else
    		iItemLevel = 0;
    	
    	if (!pkItem)
    		return;
    
    	// Check
    	const TItemTable * itemTable = pkItem->GetProto();
    	if (IS_SET(itemTable->dwAntiFlags, ITEM_ANTIFLAG_GIVE | ITEM_ANTIFLAG_MY_OFFLINE_SHOP))
    	{
    		ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("OFFLINEANTIFLAG."));
    		return;
    	}
    
    	if (pkItem->isLocked())
    		return;
    
    	if (pkItem->IsEquipped())
    	{
    		ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("OFFLINEEQIUP."));
    		return;
    	}
    
    	char szColumns[QUERY_MAX_LEN], szValues[QUERY_MAX_LEN];
    
    	int iLen = snprintf(szColumns, sizeof(szColumns), "id,owner_id,pos,count,price,pricem,vnum,owner_name,meno_itemu,item_level,item_refine, item_type, item_subtype, item_antiflag");
    	int iUpdateLen = snprintf(szValues, sizeof(szValues), "%u,%u,%d,%u,%lld,%lld,%u,'%s','%s',%d,%d,%d,%d,%d", pkItem->GetID(), ch->GetPlayerID(), bDisplayPos, pkItem->GetCount(), iPrice, iPricem, pkItem->GetVnum(),nameseller, nameitem, iItemLevel, iItemRefine,iItemType, iItemSubtype, iItemAntiflag);
    
    	if (g_bOfflineShopSocketMax == 3)
    	{
    		iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ",socket0,socket1,socket2");
    		iUpdateLen += snprintf(szValues + iUpdateLen, sizeof(szValues) - iUpdateLen, ",%ld,%ld,%ld", pkItem->GetSocket(0), pkItem->GetSocket(1), pkItem->GetSocket(2));
    	}
    	else if(g_bOfflineShopSocketMax == 4)
    	{
    		iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ",socket0,socket1,socket2,socket3");
    		iUpdateLen += snprintf(szValues + iUpdateLen, sizeof(szValues) - iUpdateLen, ",%ld,%ld,%ld,%ld", pkItem->GetSocket(0), pkItem->GetSocket(1), pkItem->GetSocket(2), pkItem->GetSocket(3));		
    	}
    	else if(g_bOfflineShopSocketMax == 5)
    	{
    		iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ",socket0,socket1,socket2,socket3,socket4");
    		iUpdateLen += snprintf(szValues + iUpdateLen, sizeof(szValues) - iUpdateLen, ",%ld,%ld,%ld,%ld,%ld", pkItem->GetSocket(0), pkItem->GetSocket(1), pkItem->GetSocket(2), pkItem->GetSocket(3), pkItem->GetSocket(4));		
    	}
    	else if(g_bOfflineShopSocketMax == 6)
    	{
    		iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ",socket0,socket1,socket2,socket3,socket4,socket5");
    		iUpdateLen += snprintf(szValues + iUpdateLen, sizeof(szValues) - iUpdateLen, ",%ld,%ld,%ld,%ld,%ld,%ld", pkItem->GetSocket(0), pkItem->GetSocket(1), pkItem->GetSocket(2), pkItem->GetSocket(3), pkItem->GetSocket(4), pkItem->GetSocket(5));		
    	}
    
    	iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ", attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6,attrtype7, attrvalue7, attrtype8, attrvalue8");
    	iUpdateLen += snprintf(szValues + iUpdateLen, sizeof(szValues) - iUpdateLen, ",%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
    		pkItem->GetAttributeType(0), pkItem->GetAttributeValue(0),
    		pkItem->GetAttributeType(1), pkItem->GetAttributeValue(1),
    		pkItem->GetAttributeType(2), pkItem->GetAttributeValue(2),
    		pkItem->GetAttributeType(3), pkItem->GetAttributeValue(3),
    		pkItem->GetAttributeType(4), pkItem->GetAttributeValue(4),
    		pkItem->GetAttributeType(5), pkItem->GetAttributeValue(5),
    		pkItem->GetAttributeType(6), pkItem->GetAttributeValue(6),
    		pkItem->GetAttributeType(7), pkItem->GetAttributeValue(7),
    		pkItem->GetAttributeType(8), pkItem->GetAttributeValue(8));
    
    	char szInsertQuery[QUERY_MAX_LEN];
    	snprintf(szInsertQuery, sizeof(szInsertQuery), "INSERT INTO player.offline_shop_item (%s) VALUES (%s)", szColumns, szValues);
    	InsertInMysql(ch, pkItem, bPos, iPrice, iPricem);
    	std::auto_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery(szInsertQuery));
    	pkItem->RemoveFromCharacter();
    	
    	LPCHARACTER npc = CHARACTER_MANAGER::instance().Find(FindMyOfflineShop(ch->GetPlayerID()));
    	if (!npc)
    		return;
    
    	LPOFFLINESHOP pkOfflineShop = FindOfflineShop(npc->GetVID());
    	if (!pkOfflineShop)
    		return;
    
    	pkOfflineShop->BroadcastUpdateItem(bDisplayPos, ch->GetPlayerID());
    	LogManager::instance().ItemLog(ch, pkItem, "ADD ITEM OFFLINE SHOP", "");
    }

     

     

    Thanks very much.

     

×
×
  • 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.