Jump to content

metin2team

Inactive Member
  • Posts

    429
  • Joined

  • Last visited

  • Days Won

    15
  • Feedback

    0%

Everything posted by metin2team

  1. why do you use server-side while you can do it only using client-side?
  2. else if (!SECTREE_MANAGER::instance().IsValidLocation(lMapIndex, lPosX, lPosY, lEmpire)) { lMapIndex = EMPIRE_START_MAP(lEmpire); lPosX = EMPIRE_START_X(lEmpire); lPosY = EMPIRE_START_Y(lEmpire); } isn't that enough? why do you need to do all of this shit for something simple + why the fuck do you have invalid maps? or bugged ones if you've already done them the right way?! you always keep amazing me
  3. should be named granny2.dll not granny29.dll also you should check all other granny dlls to know which one you're using otherwise, just check the granny.h in the extern/include and try to find out which version you're using and use the matching dll. good luck
  4. You didn't provide any answers and also you used a language that is not allowed .. English ONLY is Allowed. Anyways, the answer to your problem Marwan is that you didn't add the GetNewAttributeValue to (item.cpp/item.h) good luck. btw, the error is self-explanatory.
  5. I just stopped replying on such topics because 89% of the members are "devs-like" and try to be smart and the other 10% are not even in the dev scene "leechers". I don't like the way this topic is going but Mali61 what you did is a great job no one had the guts to do the same. "hours of coding -> releasing" I have seen even code that can be lower than this code being sold so it's pretty decent for someone if it's not for you. So bottom line is a release means "say thank you or get the hell out of the topic". The same attacks has happened in another forum in 2009-2012 until those who release has left the scene or gone inactive and that forum is now dead weeks without any releases. This forum's members are going down the same path. The rule is "If I'm not going to release anything, at least I'm not going to criticize anyone that releases anything." Thanks for releasing that system.
  6. can you add an example of what you've added?
  7. first you need to add a raceflag with the new race "DRAGON" you should check an existing raceflag and add it like it. example: RACE_FLAG_ANIMAL next you need to add the bonus you should check an existing apply example: APPLY_ATTBONUS_ANIMAL POINT_ATTBONUS_ANIMAL and add it like it. it's a matter of copy/paste. also you need to add it to the client's source and the python part, too. tip: after adding them. you should link them together within this function battle.cpp int CalcAttBonus good luck.
  8. and you accessed your safebox and clicked on the "restore items" button? if yes, then try to check your syserr in both core and db
  9. do you have a window in player.item? SAFEBOX_OFFLINE_SHOP ? if not you should add it.
  10. try CTRL + SHIFT + B Build -> Build Solution.
  11. all of that just one word? xD he probably can't answer because he didn't think about that
  12. omg you have no idea at all. man why not trying to repair the damn table rather than delete it? [Hidden Content]
  13. and you call that a "fix"? shame on you! you should stop trying to ruin the system and stop accusing others. unlike you, koray had an idea about it when he did it. please don't try to fix anything else. If you're really willing to fix this system you should separate items from shops. I've done it but I'm not going to share any fixes because I don't recommend anyone to implement it. -- ---------------------------- -- Table structure for offline_shop -- ---------------------------- DROP TABLE IF EXISTS `offline_shop`; CREATE TABLE `offline_shop` ( `pid` int(11) DEFAULT NULL, `x` int(11) DEFAULT NULL, `y` int(11) DEFAULT NULL, `map_index` int(11) DEFAULT NULL, `channel` int(11) DEFAULT NULL, `color` int(11) DEFAULT NULL, `size` int(11) DEFAULT NULL, `duration` int(11) DEFAULT NULL, `installtime` int(11) DEFAULT NULL, `gold` bigint(44) DEFAULT '0', `sign` varbinary(40) DEFAULT NULL, `sign_type` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for offline_shop_items -- ---------------------------- DROP TABLE IF EXISTS `offline_shop_items`; CREATE TABLE `offline_shop_items` ( `pid` int(11) NOT NULL, `x` int(11) NOT NULL, `y` int(11) NOT NULL, `map_index` int(11) NOT NULL, `channel` int(11) NOT NULL, `item_id` int(11) NOT NULL, `pos` int(11) NOT NULL, `price` bigint(20) unsigned NOT NULL DEFAULT '0', `price2` bigint(20) NOT NULL DEFAULT '0', `price3` bigint(20) unsigned NOT NULL DEFAULT '0', `price4` bigint(20) unsigned NOT NULL DEFAULT '0', UNIQUE KEY `ShopDetails&ItemID` (`pid`,`x`, `y`, `map_index`,`item_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  14. omg I told you that's not a bug and please try to read my posts. there's a REAL bug with the cache. that needs to be fixed not the one that doesn't even exist xD
  15. you're retarded bro .. please don't use his code because if the player is not online he won't get any items ... void CShop::Remove() { if (!HasOwner()) return; m_bIsLocked = true; TOfflineShopTable p; memset(&p, 0, sizeof(p)); p.dwAID = m_dwOwnerAID; p.dwPID = m_dwOwnerPID; p.dwX = m_pkPC->GetX(); p.dwY = m_pkPC->GetY(); p.dwMapIndex = m_pkPC->GetMapIndex(); p.dwChannel = g_bChannel; p.ullMoney = m_Money; p.dwSize = m_bSize; p.dwColor = m_bColor; strlcpy(p.szSign, m_pkPC->GetShopSign().c_str(), sizeof(p.szSign)); for (DWORD i = 0; i < m_itemVector.size() && i < SHOP_HOST_ITEM_MAX_NUM; ++i) { SHOP_ITEM& item = m_itemVector[i]; if (item.pkItem == NULL) continue; p.items2[i] = item.itemid; p.price[i] = item.price; LPITEM item2=item.pkItem; if (item.isSold != 1) { LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(m_dwOwnerPID); LPITEM item3 = ITEM_MANAGER::instance().CreateItem(item2->GetVnum(), 1, 0, false); ITEM_MANAGER::CopyAllAttrTo(item2, item3); int Slot=ch->GetEmptyInventory(item2->GetSize()); item3->AddToCharacter(ch, TItemPos(INVENTORY, Slot)); ITEM_MANAGER::instance().FlushDelayedSave(item3); item3->AttrLog(); }else{ item.pkItem->SetWindow(SAFEBOX_OFFLINE_SHOP); ITEM_MANAGER::instance().SaveSingleItem(item.pkItem); item.pkItem->SetSkipSave(true); M2_DESTROY_ITEM(item.pkItem); memset(&item, 0, sizeof(item)); } } db_clientdesc->DBPacket(HEADER_GD_OFFLINE_SHOP_REMOVE, 0, &p, sizeof(p)); } what if this (LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(m_dwOwnerPID);) returns null (an offline player) and the shop's time is up. what's going to happen? the SAFEBOX_OFFLINE_SHOP is just an item in the item.window enum so you've implemented the whole thing and can't add a new line to the enum? wtf is wrong with you?!
  16. actually they don't disappear at all but they disappear because you have no idea about the system Not sold items go to a safebox called (SAFEBOX_OFFLINE_SHOP) should be added there and that safebox will hold them there until you click on the button in the safebox window "restore items". although there is a position problem with it but it works fine. for me it works like that.
  17. you should look for what you need first. here it is.
×
×
  • 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.