-
Posts
305 -
Joined
-
Last visited
-
Days Won
2 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by FlorinMarian
-
-
FreeBSD version doesn't matter at all if you compile your source on simmilar version.
About specs, if u can afford, you should buy a dedicated server instead of a VPS Server due of :
- Game AntiDDoS filter;
- NVMe Storage;
- Pure performance (on VPS NVMe it's limited and it works more like a SATA SSD not really like a NVMe);
If you want something between them, you're welcome to browse my website and check for VPS Game packages.
Best regards, Florin.
-
Hello!
I would like to ask for GF quests newer than 2014 version.
Thank you!
-
-
-
Hi guys and Happy new year!
I encounter a stupid BUG related to character window + teleport.
It was introduced once with app.ENABLE_DETAILS_UI (Gameforge Bonus Page).
To reproduce this BUG need only to keep character window open during warp.
What happen? The window will not be distroyed but also it doesn't work as expected (cannot close it, object itself become nonetype) and can be only moved.
I've compared my root with GF and other servers and didn't found the hotfix for this.
Any tip will be appreciated.
Best regards, Florin.
#Fixed. Don't trust OWSAP leaked files.
- 1
- 2
-
#UP
Today at 20:00 UTC+2 will have OX Events (2 rounds).
We're waiting for you!
-
Website: https://www.forgottenworld2.com
Register: https://www.forgottenworld2.com/users/register
Download: https://www.forgottenworld2.com/download
Board: http://board.forgottenworld2.com/
Our server become international few days ago, it is already 100% translated client-side in all 10 languages and server-side about 50% each language. (in progress..)
We're waiting for you!
- 1
-
Version of Files : 40250
Hello!
1. Description of the problem / Question :
Can anyone share GF quests ? (I remember they we're released in 2014 but I cannot find them anymore).
2. SysErr ( Client / Server ) / SysLog ( Server )
None
3. How to reproduce it ?
Text lines based like this gameforge.dragon_lair_access
4. Screenshots ?
Not necesarry
Thanks, Sincerly,
Florin.#Solved.
#CloseRequest.
-
Hi!
I have a weird bug about exp rings sales in private shops (normal and offline aswell).
You cannot add it to shop because it is locked by "ANTI_SELL | ANTI_MYSHOP" flags, but they're not present in item_proto client or server side.
You can sell it once with that bug about changing item position but when you get buy it from shop or get it back from offline shop you cannot sell it anymore because it's locked by same rule but serverside this time.
How it is possible to look like have ANTI_SELL | ANTI_MYSHOP antiflags as long it isn't present for real.
Thank you!
item_proto.txt
39002 °æÇèÀǹÝÁö ITEM_UNIQUE UNIQUE_NONE 1 ANTI_STACK CONFIRM_WHEN_USE WEAR_SHIELD NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 60 0 0 0 0 0 0 0 0
-
Hello!
Anyone who succesfully implemented dungeon rejoin for demon tower can share coords. for last 3 levels?
I've tried coords from questliblua but doesn't work for them.
Thank you!
-
Hello!
It doesn't causes Item duplicate but it's still strange how "if (pkItem->IsEquipped() == true)" it's bypassed.
Doing same thing to Normal Shop Opening doesn't work at all, it always says "You cannot sell equipped items".
Normal Shop Function:
Spoilervoid CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE bItemCount) { if (!CanHandleItem()) // @fixme149 { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´Ù¸¥ °Å·¡Áß(â°í,±³È¯,»óÁ¡)¿¡´Â °³ÀλóÁ¡À» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.")); return; } #ifndef ENABLE_OPEN_SHOP_WITH_ARMOR if (GetPart(PART_MAIN) > 2) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("°©¿ÊÀ» ¹þ¾î¾ß °³ÀÎ »óÁ¡À» ¿ ¼ö ÀÖ½À´Ï´Ù.")); return; } #endif if (GetMyShop()) // ÀÌ¹Ì ¼¥ÀÌ ¿·Á ÀÖÀ¸¸é ´Ý´Â´Ù. { CloseMyShop(); return; } #ifdef __INVENTORY_PROTECT_SYSTEM__ if (GetQuestFlag("abs.INVENTORY_LOCK") == 1) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("INVENTORY_LOCK_SYSTEM_TEXT_01")); return; } #endif // ÁøÇàÁßÀÎ Äù½ºÆ®°¡ ÀÖÀ¸¸é »óÁ¡À» ¿ ¼ö ¾ø´Ù. quest::PC * pPC = quest::CQuestManager::instance().GetPCForce(GetPlayerID()); // GetPCForce´Â NULLÀÏ ¼ö ¾øÀ¸¹Ç·Î µû·Î È®ÀÎÇÏÁö ¾ÊÀ½ if (pPC->IsRunning()) return; if (bItemCount == 0) return; int64_t nTotalMoney = 0; for (int n = 0; n < bItemCount; ++n) { nTotalMoney += static_cast<int64_t>((pTable+n)->price); } nTotalMoney += static_cast<int64_t>(GetGold()); if (GOLD_MAX <= nTotalMoney) { sys_err("[OVERFLOW_GOLD] Overflow (GOLD_MAX) id %u name %s", GetPlayerID(), GetName()); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("20¾ï ³ÉÀ» ÃÊ°úÇÏ¿© »óÁ¡À» ¿¼ö°¡ ¾ø½À´Ï´Ù")); return; } char szSign[SHOP_SIGN_MAX_LEN+1]; strlcpy(szSign, c_pszSign, sizeof(szSign)); m_stShopSign = szSign; if (m_stShopSign.length() == 0) return; if (CBanwordManager::instance().CheckString(m_stShopSign.c_str(), m_stShopSign.length())) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ºñ¼Ó¾î³ª Àº¾î°¡ Æ÷ÇÔµÈ »óÁ¡ À̸§À¸·Î »óÁ¡À» ¿ ¼ö ¾ø½À´Ï´Ù.")); return; } // MYSHOP_PRICE_LIST std::map<DWORD, DWORD> itemkind; // ¾ÆÀÌÅÛ Á¾·ùº° °¡°Ý, first: vnum, second: ´ÜÀÏ ¼ö·® °¡°Ý // END_OF_MYSHOP_PRICE_LIST std::set<TItemPos> cont; for (BYTE i = 0; i < bItemCount; ++i) { if (cont.find((pTable + i)->pos) != cont.end()) { sys_err("MYSHOP: duplicate shop item detected! (name: %s)", GetName()); return; } // ANTI_GIVE, ANTI_MYSHOP check LPITEM pkItem = GetItem((pTable + i)->pos); if (pkItem) { const TItemTable * item_table = pkItem->GetProto(); if (item_table && (IS_SET(item_table->dwAntiFlags, ITEM_ANTIFLAG_GIVE | ITEM_ANTIFLAG_MYSHOP))) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("À¯·áÈ ¾ÆÀÌÅÛÀº °³ÀλóÁ¡¿¡¼ ÆǸÅÇÒ ¼ö ¾ø½À´Ï´Ù.")); return; } if (pkItem->IsEquipped() == true) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÀåºñÁßÀÎ ¾ÆÀÌÅÛÀº °³ÀλóÁ¡¿¡¼ ÆǸÅÇÒ ¼ö ¾ø½À´Ï´Ù.")); return; } if (true == pkItem->isLocked()) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("»ç¿ëÁßÀÎ ¾ÆÀÌÅÛÀº °³ÀλóÁ¡¿¡¼ ÆǸÅÇÒ ¼ö ¾ø½À´Ï´Ù.")); return; } // MYSHOP_PRICE_LIST itemkind[pkItem->GetVnum()] = (pTable + i)->price / pkItem->GetCount(); // END_OF_MYSHOP_PRICE_LIST } cont.insert((pTable + i)->pos); } // MYSHOP_PRICE_LIST // º¸µû¸® °³¼ö¸¦ °¨¼Ò½ÃŲ´Ù. if (CountSpecifyItem(71049)) { // ºñ´Ü º¸µû¸®´Â ¾ø¾ÖÁö ¾Ê°í °¡°ÝÁ¤º¸¸¦ ÀúÀåÇÑ´Ù. // // ¾ÆÀÌÅÛ °¡°ÝÁ¤º¸¸¦ ÀúÀåÇϱâ À§ÇØ ¾ÆÀÌÅÛ °¡°ÝÁ¤º¸ ÆÐŶÀ» ¸¸µé¾î DB ij½Ã¿¡ º¸³½´Ù. // // @fixme403 BEGIN TItemPriceListTable header; memset(&header, 0, sizeof(TItemPriceListTable)); header.dwOwnerID = GetPlayerID(); header.byCount = itemkind.size(); size_t idx=0; for (itertype(itemkind) it = itemkind.begin(); it != itemkind.end(); ++it) { header.aPriceInfo[idx].dwVnum = it->first; header.aPriceInfo[idx].dwPrice = it->second; idx++; } db_clientdesc->DBPacket(HEADER_GD_MYSHOP_PRICELIST_UPDATE, GetDesc()->GetHandle(), &header, sizeof(TItemPriceListTable)); // @fixme403 END } // END_OF_MYSHOP_PRICE_LIST else if (CountSpecifyItem(50200)) RemoveSpecifyItem(50200, 1); else return; // º¸µû¸®°¡ ¾øÀ¸¸é Áß´Ü. if (m_pkExchange) m_pkExchange->Cancel(); TPacketGCShopSign p; p.bHeader = HEADER_GC_SHOP_SIGN; p.dwVID = GetVID(); strlcpy(p.szSign, c_pszSign, sizeof(p.szSign)); PacketAround(&p, sizeof(TPacketGCShopSign)); m_pkMyShop = CShopManager::instance().CreatePCShop(this, pTable, bItemCount); if (IsPolymorphed() == true) { RemoveAffect(AFFECT_POLYMORPH); } if (GetHorse()) { HorseSummon( false, true ); } // new mount ÀÌ¿ë Áß¿¡, °³ÀÎ »óÁ¡ ¿¸é ÀÚµ¿ unmount // StopRidingÀ¸·Î ´º¸¶¿îÆ®±îÁö ó¸®Çϸé ÁÁÀºµ¥ ¿Ö ±×·¸°Ô ¾ÈÇسù´ÂÁö ¾Ë ¼ö ¾ø´Ù. else if (GetMountVnum()) { RemoveAffect(AFFECT_MOUNT); RemoveAffect(AFFECT_MOUNT_BONUS); } SetPolymorph(30000, true); }
Offline Shop
Spoilervoid CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE bItemCount, DWORD id) { if (g_ShopCosts.find(id) == g_ShopCosts.end()) { sys_log(0, "Shop days error %s %d", c_pszSign, id); return; } int days = g_ShopCosts[id].days; long long price = g_ShopCosts[id].price; if (price > 0 && GetGold() < price) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "SHOP_NEED_MONEY"), price); return; } if (days == 0 && GetPart(PART_MAIN) > 2) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("°©¿ÊÀ» ¹þ¾î¾ß °³ÀÎ »óÁ¡À» ¿ ¼ö ÀÖ½À´Ï´Ù.")); return; } if (GetMyShop()) { CloseMyShop(); return; } #ifdef __INVENTORY_PROTECT_SYSTEM__ if (GetQuestFlag("abs.INVENTORY_LOCK") == 1) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("INVENTORY_LOCK_SYSTEM_TEXT_01")); return; } #endif int gShopMax = quest::CQuestManager::Instance().GetEventFlag("shop_max"); if (m_mapshops.size() >= (gShopMax ? gShopMax : 2)) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "SHOP_MAX_ERR")); return; } if (g_ShopIndexCount.count(GetMapIndex())>0) { int shop_max = g_ShopIndexCount[GetMapIndex()]; bool block = false; #ifdef SHOP_ONLY_ALLOWED_INDEX if (shop_max > 0) { #else if (shop_max == 0) block = true; else{ #endif std::auto_ptr<SQLMsg> pkMsg(DBManager::instance().DirectQuery("SELECT map_index from player_shop WHERE channel=%d and status='OK' and map_index=%d", g_bChannel, GetMapIndex())); SQLResult * pRes = pkMsg->Get(); if (pRes->uiNumRows >= shop_max) block = true; } if (block) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "SHOP_MAP_MAX")); return; } } #ifdef SHOP_ONLY_ALLOWED_INDEX else { ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "SHOP_CANNOT_OPEN_HERE")); return; } #endif if (GetMyShop()) // AI1I 1YAI ?·Á AÖA¸¸é ´Ý´Â´U. { CloseMyShop(); return; } #ifndef FULL_YANG int64_t nTotalMoney = 0; for (int n = 0; n < bItemCount; ++n) { nTotalMoney += static_cast<int64_t> ((pTable + n)->price); } nTotalMoney += static_cast<int64_t> (GetGold()); if (GOLD_MAX <= nTotalMoney) { sys_err("[OVERFLOW_GOLD] Overflow (GOLD_MAX) id %u name %s", GetPlayerID(), GetName()); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("20¾ï ³ÉÀ» ÃÊ°úÇÏ¿© »óÁ¡À» ¿¼ö°¡ ¾ø½À´Ï´Ù")); return; } #endif #ifdef __SASH_SYSTEM__ if(IsSashOpen()) CloseSash(); #endif quest::PC * pPC = quest::CQuestManager::instance().GetPCForce(GetPlayerID()); if (pPC->IsRunning()) return; std::vector<TShopItemTable *> map_shop; for (BYTE i = 0; i < bItemCount; ++i) { // ANTI_GIVE, ANTI_MYSHOP check LPITEM pkItem = GetItem((pTable + i)->pos); if (pkItem) { const TItemTable * item_table = pkItem->GetProto(); if (item_table && (IS_SET(item_table->dwAntiFlags, ITEM_ANTIFLAG_GIVE | ITEM_ANTIFLAG_MYSHOP))) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "À¯·áÈ ¾ÆÀÌÅÛÀº °³ÀλóÁ¡¿¡¼ ÆǸÅÇÒ ¼ö ¾ø½À´Ï´Ù.")); return; } if (pkItem->IsEquipped() == true) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "ÀåºñÁßÀÎ ¾ÆÀÌÅÛÀº °³ÀλóÁ¡¿¡¼ ÆǸÅÇÒ ¼ö ¾ø½À´Ï´Ù.")); return; } if (pkItem->isLocked()) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "»ç¿ëÁßÀÎ ¾ÆÀÌÅÛÀº °³ÀλóÁ¡¿¡¼ ÆǸÅÇÒ ¼ö ¾ø½À´Ï´Ù.")); return; } if (pkItem->GetOwner() != this) { return; } #ifdef SOULBIND_SYSTEM if (pkItem->IsSoulBind()) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT( "You can't sell in private shop item with soul bind.")); return; } #endif } if (days != 0) map_shop.push_back(pTable++); } if (days != 0 && map_shop.size() == 0) return; char szName[256]; DBManager::instance().EscapeString(szName, 256, c_pszSign, strlen(c_pszSign)); m_stShopSign = szName; boost::replace_all(m_stShopSign, "%", "%%"); if (m_stShopSign.length()>30) m_stShopSign.resize(30); if (m_stShopSign.length() == 0) return; #ifdef STRING_PROTECTION if (CBanwordManager::instance().CheckString(m_stShopSign.c_str(), m_stShopSign.length()) != "") { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ºñ¼Ó¾î³ª Àº¾î°¡ Æ÷ÇÔµÈ »óÁ¡ À̸§À¸·Î »óÁ¡À» ¿ ¼ö ¾ø½À´Ï´Ù.")); return; } #else if (CBanwordManager::instance().CheckString(m_stShopSign.c_str(), m_stShopSign.length())) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ºñ¼Ó¾î³ª Àº¾î°¡ Æ÷ÇÔµÈ »óÁ¡ À̸§À¸·Î »óÁ¡À» ¿ ¼ö ¾ø½À´Ï´Ù.")); return; } #endif if (m_pkExchange) m_pkExchange->Cancel(); if (price > 0) #ifdef FULL_YANG_OWN ChangeGold(-price); #else PointChange(POINT_GOLD, -price); #endif if (days != 0) { CShopManager::instance().CreateOfflineShop(this, m_stShopSign.c_str(), map_shop, id); m_stShopSign.clear(); return; } TPacketGCShopSign p; p.bHeader = HEADER_GC_SHOP_SIGN; p.dwVID = GetVID(); strlcpy(p.szSign, m_stShopSign.c_str(), sizeof(p.szSign)); PacketAround(&p, sizeof(TPacketGCShopSign)); m_pkMyShop = CShopManager::instance().CreatePCShop(this, pTable, bItemCount); if (!m_pkMyShop) { sys_err("Cannot open normal shop %s %s", GetName(), m_stShopSign.c_str()); return; } if (IsPolymorphed() == true) { RemoveAffect(AFFECT_POLYMORPH); } if (GetHorse()) { HorseSummon(false, true); } else if (GetMountVnum()) { RemoveAffect(AFFECT_MOUNT); RemoveAffect(AFFECT_MOUNT_BONUS); } SetPolymorph(30000, true); }
Thank you all !
- 1
-
-
Hi guys!
I've implemented Render Target System and everything going well to me and most of players but some of them have this problem when going with mouse over armour/weapon/costume/hair:
Any idea?
Syserr:
0718 23:00:00679 :: Loading UIScript/PopupDialog.py (PopupDialog True) 0718 23:00:00972 :: Loading locale/ro/ui/LoginWindow.py (LoginWindow False) 0718 23:01:34341 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0718 23:01:34341 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0718 23:01:34341 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=170, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:34341 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=171, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:34341 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=172, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:34341 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=173, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:34341 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=174, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:34342 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=175, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:34463 :: Loading locale/ro/ui/selectcharacterwindow.py (selectcharacterwindow False) 0718 23:01:34574 :: Loading uiscript/questiondialog.py (questiondialog True) 0718 23:01:36387 :: Loading locale/ro/ui/SelectEmpireWindow.py (SelectEmpireWindow False) 0718 23:01:39011 :: Loading locale/ro/ui/createcharacterwindow.py (createcharacterwindow False) 0718 23:01:51633 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0718 23:01:51634 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0718 23:01:51634 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=170, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:51634 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=171, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:51634 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=172, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:51634 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=173, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:51634 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=174, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:51634 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=175, strType=wolfman).STRANGE_SKILL_TYPE 0718 23:01:51682 :: Loading locale/ro/ui/selectcharacterwindow.py (selectcharacterwindow False) 0718 23:01:51689 :: Loading uiscript/questiondialog.py (questiondialog True) 0718 23:01:57705 :: Loading locale/ro/ui/LoadingWindow.py (LoadingWindow False) 0718 23:01:03616 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc2/warrior/action/dance_7.msa) ERROR 0718 23:01:03616 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc2/warrior/action/dance_7.msa) ERROR 0718 23:01:03845 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc2/warrior/action/dance_7.msa) ERROR 0718 23:01:03845 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc2/warrior/action/dance_7.msa) ERROR 0718 23:01:05164 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc/assassin/action/dance_7.msa) ERROR 0718 23:01:05164 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc/assassin/action/dance_7.msa) ERROR 0718 23:01:05415 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc/assassin/action/dance_7.msa) ERROR 0718 23:01:05415 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc/assassin/action/dance_7.msa) ERROR 0718 23:02:14302 :: Loading UIScript/CharacterWindow.py (CharacterWindow True) 0718 23:02:14331 :: Loading UIScript/InventoryWindowEx.py (InventoryWindowEx True) 0718 23:02:14389 :: Loading UIScript/PickMoneyDialog.py (PickMoneyDialog True) 0718 23:02:14390 :: Loading uiscript/questiondialog2.py (questiondialog2 True) 0718 23:02:14391 :: Loading uiscript/refinedialog.py (refinedialog True) 0718 23:02:14393 :: Loading uiscript/attachstonedialog.py (attachstonedialog True) 0718 23:02:14399 :: Loading locale/ro/ui/dragonsoulwindow.py (dragonsoulwindow False) 0718 23:02:14443 :: Loading uiscript/questiondialog.py (questiondialog True) 0718 23:02:14444 :: Loading uiscript/questiondialog2.py (questiondialog2 True) 0718 23:02:14445 :: Loading UIScript/PopupDialog.py (PopupDialog True) 0718 23:02:14446 :: Loading locale/ro/ui/dragonsoulrefinewindow.py (dragonsoulrefinewindow False) 0718 23:02:14461 :: Loading UIScript/PopupDialog.py (PopupDialog True) 0718 23:02:14467 :: Loading UIScript/AtlasWindow.py (AtlasWindow True) 0718 23:02:14468 :: Loading UIScript/SafeboxWindow.py (SafeboxWindow True) 0718 23:02:14469 :: Loading UIScript/PickMoneyDialog.py (PickMoneyDialog True) 0718 23:02:14470 :: Loading uiscript/popupdialog.py (popupdialog True) 0718 23:02:14471 :: Loading uiscript/changepassworddialog.py (changepassworddialog True) 0718 23:02:14473 :: Loading UIScript/MallWindow.py (MallWindow True) 0718 23:02:14479 :: Loading UIScript/exchangedialog.py (exchangedialog True) 0718 23:02:14482 :: Loading UIScript/PickMoneyDialog.py (PickMoneyDialog True) 0718 23:02:14483 :: Loading UIScript/dicesystem.py (dicesystem True) 0718 23:02:14485 :: Loading uiscript/questiondialog2.py (questiondialog2 True) 0718 23:02:14485 :: Loading uiscript/questiondialog2.py (questiondialog2 True) 0718 23:02:14488 :: Loading UIScript/shopdialog.py (shopdialog True) 0718 23:02:14490 :: Loading uiscript/restartdialog.py (restartdialog True) 0718 23:02:14490 :: Loading locale/ro/ui/SystemDialog.py (SystemDialog False) 0718 23:02:14493 :: Loading locale/ro/ui/passworddialog.py (passworddialog False) 0718 23:02:14496 :: Loading uiscript/passworddialog_inventory.py (passworddialog_inventory True) 0718 23:02:14497 :: Loading UIScript/PrivateShopBuilder.py (PrivateShopBuilder True) 0718 23:02:14499 :: Loading locale/ro/ui/TaskBar.py (TaskBar False) 0718 23:02:14533 :: Loading UIScript/MouseButtonWindow.py (MouseButtonWindow True) 0718 23:02:14536 :: Loading UIScript/RightMouseButtonWindow.py (RightMouseButtonWindow True) 0718 23:02:14537 :: Loading locale/ro/ui/giftbox.py (giftbox False) 0718 23:02:14540 :: Loading locale/ro/ui/ExpandedTaskBar.py (ExpandedTaskBar False) 0718 23:02:14544 :: Loading locale/ro/ui/EnergyBar.py (EnergyBar False) 0718 23:02:14547 :: Loading UIScript/gamewindow.py (gamewindow True) 0718 23:02:14549 :: Loading UIScript/HelpWindow.py (HelpWindow True) 0718 23:02:14556 :: Loading locale/ro/ui/WebWindow.py (WebWindow False) 0718 23:02:14558 :: Loading uiscript/changelookwindow.py (changelookwindow True) 0718 23:02:14566 :: Loading uiscript/sash_combinewindow.py (sash_combinewindow True) 0718 23:02:14573 :: Loading uiscript/sash_absorbwindow.py (sash_absorbwindow True) 0718 23:02:14579 :: Loading UIScript/CubeWindow.py (CubeWindow True) 0718 23:02:14602 :: Loading UIScript/CubeResultWindow.py (CubeResultWindow True) 0718 23:02:14603 :: Loading UIScript/selectitemwindow.py (selectitemwindow True) 0718 23:02:14605 :: Loading UIScript/MiniMap.py (MiniMap True) 0718 23:02:14646 :: Loading uiscript/pvp_advanced.py (pvp_advanced True) 0718 23:02:14653 :: Loading uiscript/pvp_advanced_informations.py (pvp_advanced_informations True) 0718 23:02:14656 :: Loading uiscript/AdminTool.py (AdminTool True) 0718 23:02:04131 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:02:09306 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:04:40787 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:04:51219 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:04:53339 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:04:54998 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:04:57037 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:04:11443 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:04:13290 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:06:20137 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:06:36054 :: CInstanceBase::PushTCPState You can't send move packets to yourself! 0718 23:06:37842 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:06:00037 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:07:15352 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:07:09253 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:08:33034 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:08:39023 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:08:45658 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:08:49994 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:08:54436 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:08:13328 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:09:39582 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:10:33863 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:11:24428 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:11:09032 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:11:11690 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:12:20546 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:12:32136 :: Loading uiscript/refinedialog.py (refinedialog True) 0718 23:12:03750 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:12:07297 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:12:07331 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:12:07496 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:12:07710 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:12:07843 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:12:08023 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:13:47624 :: Loading uiscript/newquestiondialogitem.py (newquestiondialogitem True) 0718 23:14:49112 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:14:55894 :: Loading uiscript/questdialog.py (questdialog True) 0718 23:15:34035 :: Loading uiscript/questiondialog.py (questiondialog True) 0718 23:15:45708 :: Loading UIScript/WhisperDialog.py (WhisperDialog True) 0718 23:15:48273 :: ELTimer_GetMSec() - m_dwEmoticonTime 0718 23:17:12749 :: Loading uiscript/questiondialog.py (questiondialog True) 0718 23:17:12751 :: Loading uiscript/questiondialog2.py (questiondialog2 True) 0718 23:19:31895 :: Loading uiscript/questiondialog.py (questiondialog True) 0718 23:19:31896 :: Loading uiscript/questiondialog2.py (questiondialog2 True)
-
Hi guys!
I have this scale problem on jigsaw event and i guess it's a client-side bug.
I've compared my own files with two different source files where this system it's perfectly working but i just didn't found the solution.
Any point?
Thank you!
- 1
- 2
-
FreeBSD 9.7 coming from future?
I cannot see it on FreeBSD database.
- 2
- 2
-
Acum 17 minute, tierrilopes a spus:
I would like to give you this to be a reference for yourself:
Currently its the best in its category, so its a good way to compare vs your service.
Thank you theri !
After lots of reviews about TS3 protection (so UDP connection) isn't so good as OVH GAME.
Probably that's why is not so popular as long they have cheaper prices.
-
Hi guys !
I would like to buy first dedicated Game Server (https://www.ovh.ie/dedicated_servers/hg/1801mhg03.xml) and starting selling first KVM Game Servers.
Please answer to these questions:
1. How those KVM packages are for you ?
1 vCPU
2 GB RAM
20 GB SSD
---------------
5 Euro/month
2 vCPU
4 GB RAM
30 GB SSD
---------------
8 Euro/month
4 vCPU
8 GB RAM
40 GB SSD
---------------
13 Euro/month
4 vCPU
16 GB RAM
50 GB SSD
---------------
16 Euro/month
8 vCPU
32 GB RAM
100 GB SSD
---------------
30 Euro/month
2. If you will ever try our services, what location you would like to have ?
3. Do you think it's important to attach in our sales page also CPanel hosting with NVMe storage?
4. Do you think GameCP based services will reach your needs?
Thank you for feedback!
-
As all of us know, damage hacks send always same packet (eg. combo1, combo2, etc). It will be nice to send attack command client-server with attack type attached as variable and serverside to null them if they are identical in a short time.
Best regards, Florin.
-
Already solved myself moving those "flying" variables to each character.
Used:
- 1 variable to store Dicenumber (initialized 0)
- SetDiceNumber() -> random(1,100)
- GetDicenumber() -> return variable.
Best regards, Florin.
Acum 4 ore, Ken a spus:Sorry but this is not a challenge or something else. You just want someone to solve your problem without pay in your own way. (Challenge). If this is a challenge, then you can put some money. That's my option
Best Regards
Ken
Hi Ken !
I respect you and your work, i know how great are you but this time you fail interpreting my message.
in my mind challenge has been to find how to exploit this system and after this, as you mentioned, it's normal to get paid for solving the problem.
I didn't bet money for 2 reasons:
- who can guarantee that it's code will solve the problem while i don't have idea how to exploit the system?
- i sent this request in public, so, for everyone
Best regards.
-
Hi there !
Abou 1 year ago I bought Dice System C++ by Fahtibab34, it was working well till few days ago when I've discovered that someone can exploit this system.
I have my own log system and there I saw that this player got 60/60 matches won.
I'm not a genius in client-game communications, maybe there it's something wrong and he can send numbers from client to game, not reversal?
Who knowns?
Let the party begin !
System files: #deleted
- 1
-
La 20.08.2018 la 0:15, IceShiva a spus:
desc_client.cpp in void CLIENT_DESC::SetPhase(int iPhase) edit
if (!bSentBoot) { bSentBoot = true; TPacketGDBoot p; p.dwItemIDRange[0] = 0; p.dwItemIDRange[1] = 0; memcpy(p.szIP, g_szPublicIP, 16); // set you external ip instead g_szPublicIP DBPacket(HEADER_GD_BOOT, 0, &p, sizeof(p)); }
or you can do it in client side at NetAddress.cpp
void CNetworkAddress::GetIP(char* szIP, int len) { BYTE IPs[4]; *((DWORD*)IPs)=m_sockAddrIn.sin_addr.s_addr; _snprintf(szIP, len, "%d.%d.%d.%d", IPs[0], IPs[1], IPs[2], IPs[3]); // replace with you external server ip }
Thank you very much but in this way doesn't work because cannot bind on this IP.
-
DNS Server means ns1/ns2 of a domain.
Your question is not related to topic title.
-
Hi guys !
Anyone managed iptables rules or something similar to stop kicking character after selecting character in that situation when Metin2 server runs behind a internal ip ?(separate VPS)
best regards.
- 1
-
Hi guys !
I have a little problem with LeNNt's quvier system.
There is that blue effect on each type of arrow, not only for Quiver items.
Any idea where should i look?
Dragon soul slot emply
in Community Support - Questions & Answers
Posted
There could be lot of issues caused by multiple pages inventory, special storage or other slots implemented.
You should add debug messages on MoveItem /CreateItem functions to get ChatPackets with slots involved when you try to access newly created item or to move something in Dragon Soul Inventory.