useless69
-
Posts
56 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by useless69
-
-
try to change szmasterbonusypoly to "1000" if you dont have just f*** up formula
-
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
- 1
-
where do you have function pkArrow->GetValue
-
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.- 1
-
while teleporting cpu going for moment +1.4% (less like 0.3 second), then go back to the cca 0.8
-
how much inv do you have? search guide how to 4 inv and check all files or try make 5 inv, just for testing
-
i have 0.8% cpu with three persons in game, 2gb and 1vcpu (vps)
-
show uichat.py
-
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)
- 1
-
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, )
-
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.
-
-
if you dont have backup, give whatever you removed back and remove it step by step
-
uicharacter.py show function RefreshAlignment , something in sysser?
-
1 hour ago, iamMercury said:
I'd suggest you using OVH for that just because they do good with their L7 mitigation service. Either by hosting your patcher on a vps using apache or just by buying a plan for webhosting there.
thanks for answer, you mentioned webhosting plan on OVH it won't be too slow with multiple connections?
-
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.
syserrQuoteSYSERR: May 22 18:57:04 :: Process: FDWATCH: peer null in event: ident 25
syslog
QuoteMay 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
-
-
up, some help please
-
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 thankfullvoid 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.
-
-
UP , please help
Give item after kill monster [c++]
in Community Support - Questions & Answers
Posted
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);
}
}