Jump to content

Ken

Inactive Member
  • Posts

    726
  • Joined

  • Last visited

  • Days Won

    44
  • Feedback

    0%

Everything posted by Ken

  1. Nigga vs Evie.
  2. At first, you don't have to pay anyone for vanilla source files. She already posted the source files on the forum and I'm pretty sure someone still got the files. She did many things for this forum, but they didn't understand her value. At least, she was the best girl developer on this forum. I wish that anybody open the topic like that after this post. Thank you Vanilla for everything. At least someone understands your value. https://mega.nz/#!cENiVSDZ!6ejHG_MMVMIOg63p8B1sPRwyCMTCB1QmP1TMnFOcVT0
  3. He's a f**k nigga, not a real player
  4. Windows XP is the best one for those jobs all the time.
  5. Ken

    Twerk

    Poor guy
  6. Ken

    Twerk

    It's funny to watch those things sometime. I hope that I'm not the only like those videos ^^
  7. At first, My answer will be OVH. (I'm not customer of OVH but I like their features) About OVH Gameforge's test server, Webzen & YMIR Games' developer server are using OVH too. Kind Regards ~ Ken
  8. At first, Webzen & YMIR Games won't do anything about this anymore. At least, the source files already published on the internet and they can't do anything after this accident. I talked to one of them about this. They played the private servers a long time ago, but they didn't like and back to official servers. They just want to protect creator of this game. That's all. As I've heard from my friend, TEC Interactive did something about this a long time ago. For now, everyone is free to open a private server and earn money. Feel to free about this. Kind Regards Ken
  9. Yellow mother f**king claw! (Just close your eyes and listen to the music)
  10. ACMD(do_unmount) { LPITEM pItem = ch->GetWear(WEAR_UNIQUE1); LPITEM pItem2 = ch->GetWear(WEAR_UNIQUE2); if (pItem && pItem->IsRideItem()) ch->UnequipItem(pItem) else if (pItem2 && pItem2->IsRideItem()) ch->UnequipItem(pItem2); if (ch->UnequipSpecialRideUniqueItem()) { ch->RemoveAffect(AFFECT_MOUNT); ch->RemoveAffect(AFFECT_MOUNT_BONUS); if (ch->IsHorseRiding()) ch->StopRiding(); } else ch->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("Àκ¥Å丮°¡ ²Ë Â÷¼­ ³»¸± ¼ö ¾ø½À´Ï´Ù.")); } ///////////////////////////////////////////////////////////////////////////////////////////////// LPITEM pItem = ch->GetWear(WEAR_UNIQUE1); LPITEM pItem2 = ch->GetWear(WEAR_UNIQUE2); if (pItem && pItem->IsRideItem()) UnequipItem(pItem) else if (pItem2 && pItem2->IsRideItem()) UnequipItem(pItem2); Much better and thank you for share this fix with us. Kind Regards ~ Ken
  11. if (ITEM_BELT == item->GetType()) ERROR_MSG(CBeltInventoryHelper::IsExistItemInBeltInventory(this), "Error text"); if (item->GetType() == ITEM_BELT && CBeltInventoryHelper::IsExistItemInBeltInventory(this)) ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이는에러 메시지 이다")); At first, ERROR_MSG define is useless here for me. This condition will be helpful for everyone. Kind Regards ~ Ken
  12. COSTUME_WEAPON added in the source files for Item Proto. I didn't analyze the newest binary file yet because I'm on holiday. Thanks for your patient. Have a nice day.
  13. At first, I'm having some problems with my internet connection. That means, my grandmother can walk fast than my internet connection right now. I can't login my skype address or metin2dev since two days. Let me clarity about one thing again. I talked to my internet provider five times and they're saying same things about this. We'll fix it, we'll fix it. At least i'm going to talk them about this. If they're saying same things about this, i'm going to refuse the agreement and find a new internet provider for myself. Thanks for your patient again. Kind Regards ~ Ken
  14. Close your eyes and listen to the music
  15. bool CPythonNetworkStream::SendShopSellPacketNew(WORD bySlot, BYTE byCount) { if (!__CanActMainInstance()) return true; TPacketCGShop PacketShop; PacketShop.header = HEADER_CG_SHOP; PacketShop.subheader = SHOP_SUBHEADER_CG_SELL2; if (!Send(sizeof(TPacketCGShop), &PacketShop)) { Tracef("SendShopSellPacket Error\n"); return false; } if (!Send(sizeof(WORD), &bySlot)) { Tracef("SendShopAddSellPacket Error\n"); return false; } if (!Send(sizeof(BYTE), &byCount)) { Tracef("SendShopAddSellPacket Error\n"); return false; } Tracef(" SendShopSellPacketNew(bySlot=%d, byCount=%d)\n", bySlot, byCount); return SendSequence(); } int CInputMain::Shop(LPCHARACTER ch, const char * data, size_t uiBytes) { TPacketCGShop * p = (TPacketCGShop *) data; if (uiBytes < sizeof(TPacketCGShop)) return -1; if (test_server) sys_log(0, "CInputMain::Shop() ==> SubHeader %d", p->subheader); const char * c_pData = data + sizeof(TPacketCGShop); uiBytes -= sizeof(TPacketCGShop); switch (p->subheader) { case SHOP_SUBHEADER_CG_END: sys_log(1, "INPUT: %s SHOP: END", ch->GetName()); CShopManager::instance().StopShopping(ch); return 0; case SHOP_SUBHEADER_CG_BUY: { if (uiBytes < sizeof(WORD) + sizeof(BYTE)) return -1; WORD bPos = *(c_pData + 1); sys_log(1, "INPUT: %s SHOP: BUY %u", ch->GetName(), bPos); CShopManager::instance().Buy(ch, bPos); return (sizeof(WORD) + sizeof(BYTE)); } case SHOP_SUBHEADER_CG_SELL: { if (uiBytes < sizeof(WORD)) { #ifdef __DEBUG__ ch->ChatPacket(CHAT_TYPE_INFO, "Return -1"); #endif return -1; } WORD pos = *c_pData; sys_log(0, "INPUT: %s SHOP: SELL", ch->GetName()); CShopManager::instance().Sell(ch, pos); #ifdef __DEBUG__ ch->ChatPacket(CHAT_TYPE_INFO, "return pos: %u", pos); ch->ChatPacket(CHAT_TYPE_INFO, "return sizeof(WORD)"); #endif return sizeof(WORD); } case SHOP_SUBHEADER_CG_SELL2: { if (uiBytes < sizeof(WORD)+sizeof(BYTE)) { #ifdef __DEBUG__ ch->ChatPacket(CHAT_TYPE_INFO, "return -1"); #endif return -1; } WORD pos = *(c_pData++); BYTE count = *(c_pData); sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName()); CShopManager::instance().Sell(ch, pos, count); #ifdef __DEBUG__ ch->ChatPacket(CHAT_TYPE_INFO, "return pos: %u, count: %d", pos, count); ch->ChatPacket(CHAT_TYPE_INFO, "return sizeof(BYTE) + sizeof(BYTE)"); #endif return sizeof(WORD)+sizeof(BYTE); } default: sys_err("CInputMain::Shop : Unknown subheader %d : %s", p->subheader, ch->GetName()); break; } return 0; } Kind Regards ~ Ken
  16. #Updated You can convert beta server's item_proto with this proto reader. #NextFeatures Next version, you can convert beta server's mob_proto with the proto reader. Next version, you can use XML and SQL option for proto reader. You can convert item_proto/mob_proto to item_proto.sql/mob_proto.sql You can convert item_proto/mob_proto to item_proto.xml/mob_proto.xml Kind Regards ~ Ken
×
×
  • 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.