useless69
Inactive Member-
Posts
56 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by useless69
-
Give item after kill monster [c++]
useless69 replied to Doose's topic in Community Support - Questions & Answers
search void CHARACTER::Dead(LPCHARACTER pkKiller, bool bImmediateDead) add something like this, and change mobvnum and ITEM if (true == IsMonster() && MOBVNUM == GetMobTable().dwVnum) { if (pkKiller->IsPC() ) { pkKiller->AutoGiveItem(ITEM); } } -
Arrows with another weapons
useless69 replied to Cunoo's topic in Community Support - Questions & Answers
step by step, this is for range. iDam = number(pkBow->GetValue(3)+pkArrow->GetValue(3), pkBow->GetValue(4)) +pkArrow->GetValue(4); arrow value 3 = 10 value = 20 -
Arrows with another weapons
useless69 replied to Cunoo's topic in Community Support - Questions & Answers
where do you have function pkArrow->GetValue -
Arrows with another weapons
useless69 replied to Cunoo's topic in Community Support - Questions & Answers
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. -
Game Login and teleport CPU boost %13-15
useless69 replied to ProBrain's topic in Community Support - Questions & Answers
while teleporting cpu going for moment +1.4% (less like 0.3 second), then go back to the cca 0.8 -
Warp loop problem
useless69 replied to Jimmermania's topic in Community Support - Questions & Answers
how much inv do you have? search guide how to 4 inv and check all files or try make 5 inv, just for testing -
Game Login and teleport CPU boost %13-15
useless69 replied to ProBrain's topic in Community Support - Questions & Answers
i have 0.8% cpu with three persons in game, 2gb and 1vcpu (vps) -
Problem with hyperlinked item
useless69 replied to Jimmermania's topic in Community Support - Questions & Answers
show uichat.py -
Soul stone in items issue.
useless69 replied to Tado's topic in Community Support - Questions & Answers
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) -
Grade status points bug
useless69 replied to Metin2 Dev's topic in Community Support - Questions & Answers
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, ) -
Visual Bug-EXP,LEVEL,DMG
useless69 replied to Sneaky Sneaky's topic in Community Support - Questions & Answers
download character window from another client and try it , i had similar problem and error was in packet in client source, so first be sure its not client problem then look somewhere else. -
Visual Bug-EXP,LEVEL,DMG
useless69 replied to Sneaky Sneaky's topic in Community Support - Questions & Answers
if you dont have backup, give whatever you removed back and remove it step by step -
Grade status points bug
useless69 replied to Metin2 Dev's topic in Community Support - Questions & Answers
uicharacter.py show function RefreshAlignment , something in sysser? -
what hosting for patcher service
useless69 replied to useless69's topic in Community Support - Questions & Answers
thanks for answer, you mentioned webhosting plan on OVH it won't be too slow with multiple connections? -
what hosting for patcher service
useless69 posted a topic in Community Support - Questions & Answers
hello, what hosting is good for patcher? what properties are important, or what are you using? Thanks for any ideas -
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 syslog it doesnt kick me from game, so i can play but i dont like it. Thanks for any help, have a nice day
-
offline shop add item dragon soul
useless69 replied to useless69's topic in Community Support - Questions & Answers
up -
offline shop add item dragon soul
useless69 replied to useless69's topic in Community Support - Questions & Answers
up, some help please -
offline shop add item dragon soul
useless69 replied to useless69's topic in Community Support - Questions & Answers
update: when i change LPITEM pkItem = ch->GetInventoryItem(bPos); to LPITEM pkItem = ch->GetDragonSoulInventoryItem(bPos); its work, but only for alchemy, how i can combine these two functions? Thanks -
check root dragon_soul_refine_settings and dragon_soul_table.txt in sf
-
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.
-
flying sura woman?
useless69 replied to useless69's topic in Community Support - Questions & Answers
up -
flying sura woman?
useless69 replied to useless69's topic in Community Support - Questions & Answers
UP , please help