Jump to content

Zonni

Premium
  • Posts

    165
  • Joined

  • Last visited

  • Days Won

    4
  • Feedback

    0%

Everything posted by Zonni

  1. Can you tell me for what I can use this? I haven't any idea, so please tell me. For what a player would block dropping items? Anyway, nice idea for use quest flag to set something in source
  2. cd /usr/ports/graphics/devil/ && make -DBATCH install clean Enjoy
  3. You can find exporter in novaline branch in Tools/Rad Game Tools.
  4. I upgraded Granny Converter to 1.1 version. Converter can now convert all gr2 from selected directory (and subdirectories etc.) to File format 7.
  5. You can just replace basic metin2 items... And translate rest.
  6. 6 hours? that's too much... I'm already translating the item and mob_proto from spanish to english, and some quests too... If i included the locale_string on it, it would take like weeks to do '-' Thank you very much man! You're my hero :$ Greetz, RachadoPT translate mob_proto & item_proto to english? Is really hard to download metin2.co.uk/metin2.sg client and extract both files and then convert it?
  7. Snoop Lion - Smoke The Weed ft. Collie Buddz LUNIZ - I GOT 5 ON IT
  8. It works for me Use it from cmd no by drag&drop file.
  9. It depends on bsd, if someone compile source on FreeBSD 8 this error will be fixed. Bind public ip depends on socket.h from your BSD source.
  10. Translate it. It took me only 6 hours to translate from german to polish.
  11. Rap Nobody faster than Rap God (Eminem) - MC Silk raps in 7 languages feat. L.U.C
  12. ... omg guy. Start with this [Hidden Content] ...
  13. Um, you can't unpack root & locale_pl and check by yourself what's wrong?
  14. Aww, I compiled mainline without problems, just fixed errors. Fixing errors isn't hard because compiler says to you what's wrong dude ;p Easy way for fixing: copy your error & google it. (no whole text, just error definition)
  15. Sign a petition here: https://ec.europa.eu/citizens-initiative/REQ-ECI-2013-000023/public/ You're smoking a weed? Feel free to sign it.
  16. You must check your clientside packets and compare it with serverside packets.
  17. Old bug, Can Baran noticed him, but no fix at this moment I think. BTW, only 1x dammage. No , on my server x3 damage . I will make a vide . Then make it.
  18. iMer posted on ePvP code from his lib. It can be used in 40k without many modifications. It replacing functions responsible for loading item_proto. As we know since 34k we must using text protos. I don't like text protos so i edited function to work in 40k (when YMIR start using vnum range for DSS) and load vnum_range from database. I can't explain this better, really xd
  19. If you want to use actuall DE Drops and want to have full working DSS system you need to apply this. Vnum_range binds every item from range as item witch have identical parameters but changed vnum. If you using text files you can find record like this "110000~99". It binds every vnum from 110000 to 110099 as 110000 item but with changed vnum. bool CClientManager::InitializeItemTable() { std::ostringstream query; query << "SELECT vnum, type, subtype, name, " << g_stLocaleNameColumn << ", gold, shop_buy_price, weight, size, flag, wearflag, antiflag, immuneflag+0, refined_vnum, refine_set, magic_pct, socket_pct, addon_type, limittype0, limitvalue0, limittype1, limitvalue1, applytype0, applyvalue0, applytype1, applyvalue1, applytype2, applyvalue2, value0, value1, value2, value3, value4, value5, vnum_range, socket0, socket1, socket2 FROM item_proto ORDER BY vnum"; std::auto_ptr<SQLMsg> sqlMsg(CDBManager::instance().DirectQuery(query.str().c_str(), SQL_PLAYER)); if (sqlMsg == NULL) { sys_err("ClientManagerBoot::InitializeItemTable", __LINE__, "Could not load item_proto. Query failed!"); return false; } MYSQL_RES* pRes = sqlMsg->vec_pkResult[0]->pSQLResult; if (pRes == NULL) { sys_err("ClientManagerBoot::InitializeItemTable", __LINE__, "Could not load item_proto. No result!"); return 0; } if (!m_vec_itemTable.empty()) { sys_log(__LINE__, " Reloading item_proto"); m_vec_itemTable.clear(); } MYSQL_ROW row; while ((row = mysql_fetch_row(pRes))) { //SItemTable temp = {}; SItemTable temp; memset(&temp, 0, sizeof(temp)); if (row[0]&&*row[0]) temp.dwVnum = strtoul(row[0], NULL, 10); if (row[1]&&*row[1]) temp.bType = strtoul(row[1], NULL, 10); if (row[2]&&*row[2]) temp.bSubType = strtoul(row[2], NULL, 10); if (row[3]&&*row[3]) snprintf(temp.szName, 25, "%s", row[3]); if (row[4]&&*row[4]) snprintf(temp.szLocaleName, 25, "%s", row[4]); if (row[5]&&*row[5]) temp.dwGold = strtoul(row[5], NULL, 10); if (row[6]&&*row[6]) temp.dwShopBuyPrice = strtoul(row[6], NULL, 10); if (row[7]&&*row[7]) temp.bWeight = strtoul(row[7], NULL, 10); if (row[8]&&*row[8]) temp.bSize = strtoul(row[8], NULL, 10); if (row[9]&&*row[9]) temp.dwFlags = strtoul(row[9], NULL, 10); if (row[10]&&*row[10]) temp.dwWearFlags = strtoul(row[10], NULL, 10); if (row[11]&&*row[11]) temp.dwAntiFlags = strtoul(row[11], NULL, 10); if (row[12]&&*row[12]) temp.dwImmuneFlag = strtoul(row[12], NULL, 10); if (row[13]&&*row[13]) temp.dwRefinedVnum = strtoul(row[13], NULL, 10); if (row[14]&&*row[14]) temp.wRefineSet = strtoul(row[14], NULL, 10); if (row[15]&&*row[15]) temp.bAlterToMagicItemPct = strtoul(row[15], NULL, 10); if (row[16]&&*row[16]) temp.bGainSocketPct = strtoul(row[16], NULL, 10); if (row[17]&&*row[17]) temp.sAddonType = strtoul(row[17], NULL, 10); if (row[18]&&*row[18]) temp.aLimits[0].bType = strtoul(row[18], NULL, 10); if (row[19]&&*row[19]) temp.aLimits[0].lValue = strtoul(row[19], NULL, 10); if (row[20]&&*row[20]) temp.aLimits[1].bType = strtoul(row[20], NULL, 10); if (row[21]&&*row[21]) temp.aLimits[1].lValue = strtoul(row[21], NULL, 10); if (row[22]&&*row[22]) temp.aApplies[0].bType = strtoul(row[22], NULL, 10); if (row[23]&&*row[23]) temp.aApplies[0].lValue = strtoul(row[23], NULL, 10); if (row[24]&&*row[24]) temp.aApplies[1].bType = strtoul(row[24], NULL, 10); if (row[25]&&*row[25]) temp.aApplies[1].lValue = strtoul(row[25], NULL, 10); if (row[26]&&*row[26]) temp.aApplies[2].bType = strtoul(row[26], NULL, 10); if (row[27]&&*row[27]) temp.aApplies[2].lValue = strtoul(row[27], NULL, 10); if (row[28]&&*row[28]) temp.alValues[0] = strtoul(row[28], NULL, 10); if (row[29]&&*row[29]) temp.alValues[1] = strtoul(row[29], NULL, 10); if (row[30]&&*row[30]) temp.alValues[2] = strtoul(row[30], NULL, 10); if (row[31]&&*row[31]) temp.alValues[3] = strtoul(row[31], NULL, 10); if (row[32]&&*row[32]) temp.alValues[4] = strtoul(row[32], NULL, 10); if (row[33]&&*row[33]) temp.alValues[5] = strtoul(row[33], NULL, 10); if (row[34]&&*row[34]) temp.dwVnumRange = strtoul(row[34], NULL, 10); temp.cLimitRealTimeFirstUseIndex = -1; temp.cLimitTimerBasedOnWearIndex = -1; for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i) { if (LIMIT_REAL_TIME_START_FIRST_USE == temp.aLimits[i].bType) temp.cLimitRealTimeFirstUseIndex = (char) i; if (LIMIT_TIMER_BASED_ON_WEAR == temp.aLimits[i].bType) temp.cLimitTimerBasedOnWearIndex = (char) i; } m_vec_itemTable.push_back(temp); } std::cout << "CClientManager::InitializeItemTable:: " << m_vec_itemTable.size() << " items loaded." << std::endl; mysql_free_result(pRes); m_map_itemTableByVnum.clear(); itertype(m_vec_itemTable) it = m_vec_itemTable.begin(); while (it != m_vec_itemTable.end()) { TItemTable * item_table = &(*(it++)); sys_log(1, "ITEM: #%-5lu %-24s %-24s VAL: %ld %ld %ld %ld %ld %ld WEAR %lu ANTI %lu IMMUNE %lu REFINE %lu REFINE_SET %u MAGIC_PCT %u", item_table->dwVnum, item_table->szName, item_table->szLocaleName, item_table->alValues[0], item_table->alValues[1], item_table->alValues[2], item_table->alValues[3], item_table->alValues[4], item_table->alValues[5], item_table->dwWearFlags, item_table->dwAntiFlags, item_table->dwImmuneFlag, item_table->dwRefinedVnum, item_table->wRefineSet, item_table->bAlterToMagicItemPct); m_map_itemTableByVnum.insert(std::map<DWORD, TItemTable *>::value_type(item_table->dwVnum, item_table)); } sort(m_vec_itemTable.begin(), m_vec_itemTable.end(), FCompareVnum()); return true; } You need add vnum_range column to player.item_protoThis is my structure of item_proto Moreover, if you have actuall item_proto in your database you need to run this queries to fix DSS system
  20. Packet - Serverside & Clientside Every related with POINT_GOLD in client and everything related with gold limit serverside. Moreover you need change in database player.player.gold type to bigint
  21. This file have 7k lines. But i compare it with my own. You didn't make hudge fixes... Also you removed stun really bad because you removed effect too. Anyway thanks for release! Some of members can use it.
  22. Hello everyone. Often I resolve many things myself but now i'm powerless. Really powerless because i tried everything i think. I can't see list of objects in WorldEditor. I have worldeditor in d:ymir work zone unpacked in d:ymir workzone So, why i having error - -? It can be caused by Windows or something (I actually using a little bit modded Windows)? Of course i give some screens to you. And WorldEditor_remix Debug Log 0829 03:23:00036 :: WorldEditorConfig: VIEW_CHAR_OUTPUT_BY_DEFAULT 1 0829 03:23:00036 :: WorldEditorConfig: VIEW_SHADOW_OUTPUT_BY_DEFAULT 1 0829 03:23:00036 :: WorldEditorConfig: VIEW_WATER_OUTPUT_BY_DEFAULT 1 0829 03:23:00036 :: WorldEditorConfig: WINDOW_FOV_SIZE 45 0829 03:23:00037 :: WorldEditorConfig: WASD_MINIMAL_MOVE 100 0829 03:23:00037 :: WorldEditorConfig: NO_GOTO_AFTER_INSERT 1 0829 03:23:00037 :: WorldEditorConfig: NOMAI_ATLAS_DUMP 1 0829 03:23:00037 :: WorldEditorConfig: NOMINIMAP_RAWALPHA 1 0829 03:23:00037 :: WorldEditorConfig: DETECT_MDATR_HEIGHT 1 0829 03:23:00037 :: WorldEditorConfig: NOFOG_ONMAPLOAD 1 0829 03:23:00037 :: WorldEditorConfig: REFRESHALL_ONUPDATEUI 0 0829 03:23:00037 :: WorldEditorConfig: NEWMAP_TEXTURESETSAVEASMAPNAME 1 0829 03:23:00037 :: WorldEditorConfig: NEWMAP_TEXTURESETLOADPATH texturesetmetin2_a1.txt 0829 03:23:00480 :: CActorInstance::GetMotionDuration - Cannot get motion: 0 / 0 0829 03:23:00528 :: fFar value changed to : 50000.000 -> 50000.000000 0829 03:23:00528 :: fNear value read from : -> 0.000000 0829 03:23:00528 :: fFar set : 50000.000000 0829 03:23:00528 :: fFar value changed to : 50000.000 -> 50000.000000 0829 03:23:00528 :: fNear value read from : -> 0.000000 0829 03:23:00528 :: fFar set : 50000.000000 0829 03:23:00529 :: fNear value changed to : 20000.000 -> 20000.000000 0829 03:23:00529 :: fFar value read from : 50000.000 -> 50000.000000 0829 03:23:00529 :: fNear set : 20000.000000 0829 03:23:00529 :: fNear value changed to : 20000.000 -> 20000.000000 0829 03:23:00529 :: fFar value read from : 50000.000 -> 50000.000000 0829 03:23:00530 :: fNear set : 20000.000000 0829 03:23:00642 :: CSoundManager::Create - Sound3D::Initialize - FAILURE 0829 03:23:04393 :: SYSERR: CANNOT_FIND_PACK_FILE [zonni_1/regen.txt] 0829 03:23:04404 :: LoadWaterMapFile zonni_1000000water.wtr 0 0829 03:23:04405 :: LoadRawHeightMapFile zonni_1000000height.raw 0829 03:23:04412 :: LoadHeightMap::CalculateNormal 5 ms 0829 03:23:04413 :: LoadAttrMapFile zonni_1000000attr.atr 0829 03:23:04413 :: 1 0829 03:23:04414 :: LoadSplatFile zonni_1000000tile.raw 0829 03:23:04420 :: CTerrain::RAW_AllocateSplats 5 0829 03:23:04420 :: SYSERR: CResourceManager::GetResourcePointer: File not exist zonni_1000000shadowmap.dds 0829 03:23:04421 :: SYSERR: CANNOT_FIND_PACK_FILE [zonni_1/000000/shadowmap.dds] 0829 03:23:04422 :: CResource::Load file not exist zonni_1000000shadowmap.dds 0829 03:23:04422 :: SYSERR: CTerrain::LoadShadowTexture - ShadowTexture is Empty 0829 03:23:04423 :: CTerrain::LoadShadowTexture 2 ms 0829 03:23:04423 :: LoadShadowMap zonni_1000000shadowmap.raw 0829 03:23:04424 :: SYSERR: CANNOT_FIND_PACK_FILE [zonni_1/000000/shadowmap.raw] 0829 03:23:04424 :: SYSERR: CTerrain::LoadShadowMap - zonni_1000000shadowmap.raw OPEN ERROR 0829 03:23:04428 :: CMapOutdoor::LoadArea 1 0829 03:23:04429 :: Update::Load spent 25 ms
×
×
  • 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.