Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/23/19 in all areas

  1. M2 Download Center Download Here ( Internal ) [Hidden Content] Enjoy
    1 point
  2. Try to search "Depend" file and rename for "Depend.bak" and gmake again
    1 point
  3. Just include the boost headers inside to ClientManager.h #include <boost/unordered_map.hpp> ... ?
    1 point
  4. If you want to do it like @Alphax Wolf, you can do a update query and copy the vnum to name just if the vnum from item_proto exists inside of mob_proto.drop_item by a specific mob. UPDATE player.item_proto SET name = vnum WHERE vnum IN (SELECT drop_item FROM player.mob_proto WHERE drop_item > 0); # Affected rows: 83 # Time: 35.919ms And if you want to see what monsters are using etc_drop_item, there's a ex select query. SELECT DISTINCT drop_item FROM player.mob_proto where drop_item > 0; Btw, i would change the structure of reading the file instead of doing this, here's a hint.
    1 point
  5. 2019-04-16 14:54:48 Tuesday (Video - Click) - 345 additions and 160 deletions. Added a check for attr types and values min - max. You can't insert wrong bonuses into a specific item. Eg. Add 2000 MAX_HP on your Sword+9, was possible, now not. Eg. Add +500 INT to your shield, now there's a check for min-max value of player.item_attr Lv.1 - Lv.5 and your 500 INT value will be replaced with max value from lvl5 of bonus, like 12 (lv5), that happen with all the bonuses, same thing with the values lower than lvl1, like 5 HP_REGEN on your neck, when the minimum (lv1) is 10, the value will be replaced with 10. If the bonus type can't be added into a specific item, the bonus will be ignored > deleted. (example: critical pct to armor) Refactorized all the code and moved all features into ItemAwardManager.cpp (Click). C++11 or higher is required for checking attributes.
    1 point
  6. There is something wrong here. I have the same problem.
    1 point
  7. Copy the vnum and paste it to > name. Then edit in etc_drop_item.txt > 30006[TAB]2.0 item_proto etc_drop_item.txt For me, it worked.
    1 point
  8. M2 Download Center Download Here ( Internal ) hi guys, I did this for you today, I hope for some either useful or enlightening... Thank you for the attention and sorry for the bad English search in locale_service.cpp bool LocaleService_Init(const std::string& c_rstServiceName) replace like this bool LocaleService_Init(const std::string& c_rstServiceName) { #ifdef ENABLE_MULTY_LANG //or it set local from db column #else if (!g_stServiceName.empty()) { sys_err("ALREADY exist service"); return false; } g_stServiceName = c_rstServiceName; //or it set local from db column #endif if ( "japan" == g_stServiceName) { __LocaleService_Init_JAPAN(); } search for using namespace std; extern string g_stQuestDir; extern set<string> g_setQuestObjectDir; add replace string g_stServiceName; like this #ifdef ENABLE_MULTY_LANG // Raziel |maked a new Token for Global Lang| extern string g_stServiceName; #else string g_stServiceName; #endif then search in config.h enum { ADDRESS_MAX_LEN = 15 }; add later #ifdef ENABLE_MULTY_LANG // Raziel |maked a new Token for Global Lang| extern std::string g_stServiceName; #endif so search in config.cpp char g_szPublicIP[16] = "0"; char g_szInternalIP[16] = "0"; bool g_bSkillDisable = false; int g_iFullUserCount = 2000; int g_iBusyUserCount = 200; //Canada and add later #ifdef ENABLE_MULTY_LANG string g_stServiceName = ""; #endif now in config.cpp search TOKEN("channel") { str_to_number(g_bChannel, value_string); continue; } and add later #ifdef ENABLE_MULTY_LANG TOKEN("LANG_GLOBAL") // Raziel |maked a new Token for Global Lang| { g_stServiceName = value_string; fprintf(stdout, "g_stServiceName: %s\n", g_stServiceName.c_str()); continue; } #endif and the last change in service.h add this #define ENABLE_MULTY_LANG // Raziel |maked a new Token for Global Lang| sintax |LANG_GLOBAL: germany| config from core Now you can use different Language for a each channel and you choose all from config ! 1 server 1 database but not only one locale for each channel Bye ! enjoy . RazieL You can put like ! is FREE !!
    1 point
  9. I must say I stopped reading on the first code-block, but thanks for the contribution!
    1 point
  10. Open ../game/src/regen.cpp and search: else if (p->m_table.bType == CHAR_TYPE_NPC || p->m_table.bType == CHAR_TYPE_WARP || p->m_table.bType == CHAR_TYPE_GOTO) { SECTREE_MANAGER::instance().InsertNPCPosition(lMapIndex, p->m_table.bType, p->m_table.szLocaleName, (regen->sx+regen->ex) / 2 - base_x, (regen->sy+regen->ey) / 2 - base_y); } And do some like that: else if (p->m_table.bType == CHAR_TYPE_NPC || p->m_table.bType == CHAR_TYPE_WARP || p->m_table.bType == CHAR_TYPE_GOTO) { if (regen->vnum != 9004) { SECTREE_MANAGER::instance().InsertNPCPosition(lMapIndex, p->m_table.bType, p->m_table.szLocaleName, (regen->sx+regen->ex) / 2 - base_x, (regen->sy+regen->ey) / 2 - base_y); } } Or if you want to hide more than one npc, you can do something like that: else if (p->m_table.bType == CHAR_TYPE_NPC || p->m_table.bType == CHAR_TYPE_WARP || p->m_table.bType == CHAR_TYPE_GOTO) { int hideList[] = {9004,9099}; // here you must add the vnums std::vector<int> H(hideList, hideList + sizeof(hideList)/sizeof(hideList[0])); if (find(H.begin(),H.end(),regen->vnum) == H.end()) { SECTREE_MANAGER::instance().InsertNPCPosition(lMapIndex, p->m_table.bType, p->m_table.szLocaleName, (regen->sx+regen->ex) / 2 - base_x, (regen->sy+regen->ey) / 2 - base_y); } }
    1 point
  11. same [Hidden Content]
    0 points
×
×
  • 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.