Jump to content

niokio

Bronze
  • Posts

    42
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by niokio

  1. Good job. Here are some more small additions. You can add to the post 1. file: DragonSoul.cpp sys_err ("Cannot create DRAGON_HEART(%d).", DRAGON_HEART_VNUM); return NULL; replace to: sys_err ("Cannot create DRAGON_HEART(%d).", DRAGON_HEART_VNUM); return false; 2. file utils.cpp return thecore_random() / (RAND_MAX + 1.f) * (b - a) + a; replace to: return thecore_random() / ((double)RAND_MAX + 1.f) * (b - a) + a;
  2. Hi dev. Why use such a bad method? Why is there "HairDataCount" there? Let's fix this. Because specifying 999 is a bad decision. Since our loop costs 999 iterations (although that much is not required). Group HairData { PathName "d:/ymir Work/pc2/assassin/" HairDataCount 999 Group HairData00 { HairIndex 0 Model "hair/hair_1_1.gr2" SourceSkin "hair/hair_1_1.dds" TargetSkin "assassin_hair_01.dds" } 1. Go to GameLib->RaceDataFile.cpp 2. looking for a string "if (TextFileLoader.SetChildNode("shapedata"))" 3. look for "FIX_SHAPE_GROUP_COUNT" and do how if (TextFileLoader.SetChildNode("shapedata")) { std::string strPathName; DWORD dwShapeDataCount = 0; if ( TextFileLoader.GetTokenString("pathname", &strPathName) #ifndef FIX_SHAPE_GROUP_COUNT && TextFileLoader.GetTokenDoubleWord("shapedatacount", &dwShapeDataCount) #endif ) { #ifdef FIX_SHAPE_GROUP_COUNT while (TextFileLoader.SetChildNode("shapedata", dwShapeDataCount)) #else for (DWORD i = 0; i < dwShapeDataCount; ++i) #endif { #ifndef FIX_SHAPE_GROUP_COUNT if (!TextFileLoader.SetChildNode("shapedata", i)) { continue; } #endif ///////////////////////// // Temporary - АМєҐЖ®ё¦ А§ЗС АУЅГ ±вґЙ TextFileLoader.GetTokenString("specialpath", &strPathName); ///////////////////////// DWORD dwShapeIndex; if (!TextFileLoader.GetTokenDoubleWord("shapeindex", &dwShapeIndex)) { #ifdef FIX_SHAPE_GROUP_COUNT dwShapeDataCount++; #endif continue; } // LOCAL_PATH_SUPPORT std::string strModel; if (TextFileLoader.GetTokenString("model", &strModel)) { SetShapeModel(dwShapeIndex, (strPathName + strModel).c_str()); } else { if (!TextFileLoader.GetTokenString("local_model", &strModel)) { #ifdef FIX_SHAPE_GROUP_COUNT dwShapeDataCount++; #endif continue; } SetShapeModel(dwShapeIndex, strModel.c_str()); } // END_OF_LOCAL_PATH_SUPPORT std::string strSourceSkin; std::string strTargetSkin; // LOCAL_PATH_SUPPORT if (TextFileLoader.GetTokenString("local_sourceskin", &strSourceSkin) && TextFileLoader.GetTokenString("local_targetskin", &strTargetSkin)) { AppendShapeSkin(dwShapeIndex, 0, strSourceSkin.c_str(), strTargetSkin.c_str()); } // END_OF_LOCAL_PATH_SUPPORT if (TextFileLoader.GetTokenString("sourceskin", &strSourceSkin) && TextFileLoader.GetTokenString("targetskin", &strTargetSkin)) { AppendShapeSkin(dwShapeIndex, 0, (strPathName + strSourceSkin).c_str(), (strPathName + strTargetSkin).c_str()); } if (TextFileLoader.GetTokenString("sourceskin2", &strSourceSkin) && TextFileLoader.GetTokenString("targetskin2", &strTargetSkin)) { AppendShapeSkin(dwShapeIndex, 0, (strPathName + strSourceSkin).c_str(), (strPathName + strTargetSkin).c_str()); } #ifdef FIX_SHAPE_GROUP_COUNT dwShapeDataCount++; #endif TextFileLoader.SetParentNode(); } } TextFileLoader.SetParentNode(); } 4. and do the same with hair part if (TextFileLoader.SetChildNode("hairdata")) { std::string strPathName; DWORD dwHairDataCount = 0; if ( TextFileLoader.GetTokenString("pathname", &strPathName) #ifndef FIX_HAIR_GROUP_COUNT && TextFileLoader.GetTokenDoubleWord("hairdatacount", &dwHairDataCount) #endif ) { #ifdef FIX_HAIR_GROUP_COUNT while(TextFileLoader.SetChildNode("hairdata", dwHairDataCount)) #else for (DWORD i = 0; i < dwHairDataCount; ++i) #endif { #ifndef FIX_HAIR_GROUP_COUNT if (!TextFileLoader.SetChildNode("hairdata", i)) { continue; } #endif ///////////////////////// // Temporary - АМєҐЖ®ё¦ А§ЗС АУЅГ ±вґЙ TextFileLoader.GetTokenString("specialpath", &strPathName); ///////////////////////// DWORD dwShapeIndex; if (!TextFileLoader.GetTokenDoubleWord("hairindex", &dwShapeIndex)) { #ifdef FIX_HAIR_GROUP_COUNT dwHairDataCount++; #endif continue; } std::string strModel; std::string strSourceSkin; std::string strTargetSkin; if (TextFileLoader.GetTokenString("model", &strModel) && TextFileLoader.GetTokenString("sourceskin", &strSourceSkin) && TextFileLoader.GetTokenString("targetskin", &strTargetSkin)) { SetHairSkin(dwShapeIndex, 0, (strPathName + strModel).c_str(), (strPathName + strSourceSkin).c_str(), (strPathName + strTargetSkin).c_str()); } #ifdef FIX_HAIR_GROUP_COUNT dwHairDataCount++; #endif TextFileLoader.SetParentNode(); } } TextFileLoader.SetParentNode(); } 5. Add to Userinterface->Locale_inc.h #define FIX_SHAPE_GROUP_COUNT #define FIX_HAIR_GROUP_COUNT 6. And most importantly, you need to have the correct sequence of groups. For example: Group ShapeData08 { ShapeIndex 9 Model "assassin_yonga.GR2" SourceSkin "assassin_yonga.DDS" TargetSkin "assassin_yonga.DDS" } Group ShapeData09 { ShapeIndex 10 Model "assassin_yonga.GR2" SourceSkin "assassin_yonga.DDS" TargetSkin "assassin_salpung.DDS" } Group ShapeData10 { ShapeIndex 11 Model "assassin_bihyeon.GR2" SourceSkin "assassin_bihyeon.DDS" TargetSkin "assassin_bihyeon.DDS" } (if, for example, after ShapeData08 there is ShapeData11, then the loop will end on ShapeData08 and finish its work.) If anyone has any ideas on how to improve the code, please share.
  3. Great system. Is it intended? GameLib -> ItemManager.cpp if (!CCrypt::Instance().Decompress(zObj, pbData, CryptationTypes::LZO, s_adwItemProtoKey)) change to if (!CCrypt::Instance().Decompress(zObj, pbData, types, s_adwItemProtoKey))
  4. Hi devs, some times a go, I remove a billing system from my source. But after i found errors in auth core. and these errors are repeated every time you connect to the server. Maybe someone knows why this is and how to fix it?
  5. Hey guys, i have the bug with inventory. Can anyone know where i could make a mistake? ItemData.h: GameType.h: length.h: inventorywindow.py:
  6. New, add latest update (i think). Add: - little fix (from binary) - upload src PS: I'm new and my code is not perfect, if it seems to you that you could write better, write in the comments to this post. Thank you in advance
  7. Yep, but u need put folders without space (ymir work)
  8. This converter convert all .gr2 in a folder and subfolder... What u mean?
  9. #Update 0.2 - Added change log. - Writes paths to all files (on "granny_list"). - Converter goes through all folders and subfolders. - The converter is written in C++ - Recompile preprocessor. - Removed .bat bullshit Note: The folder name can not contain spaces. Example: "...\converter\old\ymir work\monster" -> "...\converter\old\monster"
  10. Hi DEV, I decided to update all and encountered a problem. After update Devil to 1.8.0 icons of guilds ceased to work. Can anyone knows how to fix it, I will be grateful. Thank you in advance.
  11. @z35 Try install granny 2.11.8 (link). And u are right, your english is better than mine
  12. Do you use last version? Try download from my github, again
  13. u have 2 folder: "new" and "old". You put your files on folder "old" and then start "run.bat". If u dont have this folder -> create. try
  14. M2 Download Center Download Here ( Internal ) Password: metin2.dev Hi guys, its small release Granny Converter to 2.11.8 version Download: Github Src: Github Virustotal click Note: The folder name can not contain spaces. Example: "...\converter\old\ymir work\monster" -> "...\converter\old\monster" If you find any shortcomings write in the comments... sorry for my english
  15. Hi dev, i have some problem. I can not insert stones into the items... Mb some one know how fix it?
  16. New Link Hi, recently released a new version of llvm (6) and I decided to update the source of vanilla 70220. (NOT TESTED) Download Cryptopp 5.6.5 Boost 1.65.1 Minilzo 2.09 MariaDB 101 DevIL 1.8.7 To install, you will need several packages. pkg install gmake pkg install subversion pkg install clang-devel Compiled on freebsd 11.1 i386 Best regard
  17. yep, packet "Uknown packet header fixed 100% all"
  18. Hi dev, i have the problem with source. I took "ira src" and compiled, but when i try to connect nothing happens, but writes that the channel is available. All the syserr are empty (no mistakes). Help me plz... Thanks in advance.
  19. Hi, i found how fixed your problem, its very easy. Change on Visual Studio your platform to the same, only with "_xp". For example you use "vc120", you need change to "vc120_xp".Good luck: D
  20. Hi dev, when i try compile a game core. I have this error. Boost version 1.62, i try 1.64, 1.65 (beta), 1.43. And none works... Help please, thanks in advance.
×
×
  • 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.