Sultan 68 Report post Posted September 9, 2018 (edited) Hello, I have a problem as you can see people -NPCs, Models, Character models, etc disappear... I am not using Swings, Does anyone have a solution or idea? What have I tried: -I tried deleting almost all model/effect and still error occurs -I tried using old sceneeffectinfo and same problem Does it have to be to the "current" online players? or something that client get buggy? Edited September 9, 2018 by Sultan Quote Share this post Link to post Share on other sites
mkhzaleh 131 Report post Posted September 9, 2018 try to use @V3ct0r swing bug fix tool if are you using swing models Quote Share this post Link to post Share on other sites
Sultan 68 Report post Posted September 10, 2018 I also tried doing that (forgot to mention), still no fix. V3ctor's swing bug fix tool deletes the unused models in effects (which I deleted all of them and still problem exists)... and no, I do not use Swing's models nor I have them in my Client. Quote Share this post Link to post Share on other sites
aleksandr 21 Report post Posted September 10, 2018 (edited) @Sultan, did you use the map editor on this map? If yes, then i dissapoint you, edit the map only with an official game client (IGG, etc). Modified map editors lead to such consequences. Edited September 10, 2018 by aleksandr Quote Share this post Link to post Share on other sites
Fisal Moha 21 Report post Posted September 16, 2018 (edited) On 9/10/2018 at 10:19 PM, aleksandr said: @Sultan, did you use the map editor on this map? If yes, then i dissapoint you, edit the map only with an official game client (IGG, etc). Modified map editors lead to such consequences. it happen because of the amount of objects does not matter what kind of map i think max objects in certain area when your Char move on like 100 object or something of the sort!@Sultan your problem properly because of your Graphic Driver or the objects were deleted (exceed number of obj in map) Edited September 16, 2018 by Fisal Moha Quote Share this post Link to post Share on other sites
Sultan 68 Report post Posted May 11, 2020 bump... i still couldn't figure out the problem :( Quote Share this post Link to post Share on other sites
d3ux 23 Report post Posted May 11, 2020 I experienced something like this when i was trying new lgo model (could be apparel model, buildings...) So some models that you added into your client could be the problem, thing is finding which ones. you could re-do your client using a clean one and add what you had before slowly Quote Share this post Link to post Share on other sites
Sultan 68 Report post Posted May 30, 2020 (edited) On 5/11/2020 at 8:40 PM, d3ux said: I experienced something like this when i was trying new lgo model (could be apparel model, buildings...) So some models that you added into your client could be the problem, thing is finding which ones. you could re-do your client using a clean one and add what you had before slowly I think I have found the issue. It seems its from model/character/ and model/effect The only problem now is I don't know which file(s) are bugged. Uhhh it's gonna be rough to find em... Is there anyone solved this problem can kindly help me out? Edited May 30, 2020 by Sultan Quote Share this post Link to post Share on other sites
champ 147 Report post Posted May 30, 2020 (edited) I believe Vector has figured the issue was being in the unused models, an easy fix (considering that it is the problem), would be to implement a script to remove files that are not used within the client. Edited May 30, 2020 by patrick13 Quote Share this post Link to post Share on other sites
Sultan 68 Report post Posted May 31, 2020 22 hours ago, patrick13 said: I believe Vector has figured the issue was being in the unused models, an easy fix (considering that it is the problem), would be to implement a script to remove files that are not used within the client. Who would have such fix? I tried V3ctors one it's not suitable as it deletes "all" effect models only. Quote Share this post Link to post Share on other sites
champ 147 Report post Posted May 31, 2020 1 minute ago, Sultan said: Who would have such fix? I tried V3ctors one it's not suitable as it deletes "all" effect models only. I can make one, will have a look later. 1 1 Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted June 3, 2020 Hello @Sultan and @patrick13! Maybe the source code of my program will help you: #include <iostream> #include <fstream> #include <string> #include <vector> #include <stdexcept> #include <cstdio> #include <Windows.h> #include "Shlwapi.h" // Напечатать приветственное сообщение void Welcome(); // Получить директорию, в которой находится программа std::string GetBaseDir(); // Прочитать .bin файл void ReadBinaryFile(const std::string& path, std::vector<std::string>& list); // Получить список файлов в директории void GetFilesInDir(const std::string& path, std::vector<std::string>& list); // Получить название файла без расширения std::string ExtractFileName(const std::string& name); // Проверить, что программа находится в корневой папке с игрой bool CheckClient(const std::string& base_path); // Точка входа int main(int argc, char *argv[]) { // Список файлов моделей в sceneeffectinfo.bin std::vector<std::string> models; // Список файлов в директории Client\model\effect std::vector<std::string> client_models; // Базовый путь std::string base_path = GetBaseDir(); // Печатаем привественное сообщение Welcome(); // Проверим, что программа находится в папке с игрой if (!CheckClient(base_path)) { std::cout << "[error] Please place the program in the root directory of the game client!" << std::endl << std::endl; system("PAUSE"); return 0; } // Читаем .bin файлы try { ReadBinaryFile(base_path + "\\scripts\\table\\sceneffectinfo.bin", models); } catch (const std::runtime_error& e) { std::cout << "[error] " << e.what() << std::endl; } catch (...) { std::cout << "[error] Unknown error!" << std::endl; } // Получаем список файлов в клиенте GetFilesInDir(base_path + "\\model\\effect\\", client_models); // Ищем файлы, которые можно удалить unsigned int n = 0; for (unsigned int i = 0; i < client_models.size(); i++) { auto it = std::find(models.begin(), models.end(), client_models[i]); if (it == models.end()) { std::string file_path = base_path + "\\model\\effect\\" + client_models[i] + ".lgo"; if (remove(file_path.c_str())) { std::cout << "[error] Can't remove model: " << client_models[i] << std::endl; } else { std::cout << "[ok] Model removed: " << client_models[i] << std::endl; n++; } } } std::cout << n << " files removed!" << std::endl; system("PAUSE"); return 0; } // Напечатать приветственное сообщение void Welcome() { std::cout << "Swings Fixer by V3ct0r from PkoDEV.NET" << std::endl; std::cout << "Version 1.0 (05.05.2018)" << std::endl << std::endl; } // Получить директорию, в которой находится программа std::string GetBaseDir() { TCHAR path[MAX_PATH]; GetModuleFileName(NULL, path, MAX_PATH); PathRemoveFileSpec(path); return std::string(path); } // Прочитать .bin файл void ReadBinaryFile(const std::string& path, std::vector<std::string>& list) { std::cout << "Reading file: " << path << " . . . " << std::endl; // Открываем файл std::ifstream file(path, std::ios::binary); if (file.is_open() == false) { throw std::runtime_error("Can't open file " + path + "!"); } // Получим размер файла size_t file_size = 0; file.seekg(0, file.end); file_size = static_cast<size_t>(file.tellg()); file.seekg(0, file.beg); // Выделяем память под файл char *file_mem = nullptr; try { file_mem = new char[file_size]; } catch (const std::bad_alloc&) { throw std::runtime_error("Can't allocate memory for file " + path + "!"); } // Читаем файл в память file.read(file_mem, file_size); if (file.gcount() != file_size) { delete[] file_mem; throw std::runtime_error("Error while reading file " + path + "!"); } // Закрываем файл file.close(); // Получаем размер блока unsigned int block_size = 0; std::memcpy(reinterpret_cast<char *>(&block_size), file_mem, sizeof(block_size)); // Определяем количество файлов unsigned int n = (file_size - sizeof(block_size)) / block_size; // Читаем файлы char name[72]; std::memset(name, 0x00, sizeof(name)); for (unsigned int i = 0; i < n; i++) { unsigned int offset = sizeof(block_size) + 8 + i * block_size; std::memcpy(name, file_mem + offset, sizeof(name)); list.push_back(ExtractFileName(name)); } // Освобождаем память delete[] file_mem; std::cout << n << " objects read!" << std::endl; } // Получить список файлов в директории void GetFilesInDir(const std::string& path, std::vector<std::string>& list) { std::cout << "Reading directory: " << path << " . . . " << std::endl; WIN32_FIND_DATA fd; HANDLE hFind = ::FindFirstFile((path + "*.*").c_str(), &fd); unsigned int n = 0; if (hFind != INVALID_HANDLE_VALUE) { do { if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { } else { list.push_back(ExtractFileName(fd.cFileName)); n++; } } while(::FindNextFile(hFind, &fd)); ::FindClose(hFind); } std::cout << n << " files found! " << std::endl; } // Получить название файла без расширения std::string ExtractFileName(const std::string& name) { size_t pos = name.find_last_of('.'); return name.substr(0, pos); } // Проверить, что программа находится в корневой папке с игрой bool CheckClient(const std::string& base_path) { bool ok = false; std::ifstream file(base_path + "\\system\\MindPower3D_D8R.dll"); if (file.is_open()) { ok = true; file.close(); } return ok; } 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
Sultan 68 Report post Posted May 17, 2022 Apologize for reviving this very old topic but I noticed something regarding this topic, maybe gonna help the community or maybe towards a fix for this problem.... Using a custom map (as a main map) will cause this issue, this what I've figured out. I've been working on TOP/PKO development for the past month and I have wanted to try out one of Alias maps released to use a main-town, while adding the main-town I noticed most of the objects disappeared. I assume the main reason is the custom maps itself, I have been working on my test server in all three main maps (argent, shaitan, icicle) and I didn't notice anything disappears at all. Thanks. 1 Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted May 18, 2022 On 5/17/2022 at 11:21 AM, Sultan said: Apologize for reviving this very old topic but I noticed something regarding this topic, maybe gonna help the community or maybe towards a fix for this problem.... Using a custom map (as a main map) will cause this issue, this what I've figured out. I've been working on TOP/PKO development for the past month and I have wanted to try out one of Alias maps released to use a main-town, while adding the main-town I noticed most of the objects disappeared. I assume the main reason is the custom maps itself, I have been working on my test server in all three main maps (argent, shaitan, icicle) and I didn't notice anything disappears at all. Thanks. Hello @Sultan, What are the sizes of the custom map? (in game sizes (examples: 4096 x 4096, 128 x 256) and size on disk in bytes) How was the map made? With YAMMI? Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
Sultan 68 Report post Posted May 19, 2022 On 5/18/2022 at 5:03 PM, V3ct0r said: Hello @Sultan, What are the sizes of the custom map? (in game sizes (examples: 4096 x 4096, 128 x 256) and size on disk in bytes) How was the map made? With YAMMI? Hello @V3ct0r, 1. I don't really know the map size exactly but I don't think it's big sized map. I'll have to check on that when I get back home. 2. Yes, it was made by YAMMI and map-editor in client for the objects. Quote Share this post Link to post Share on other sites
d3ux 23 Report post Posted May 20, 2022 On 9/10/2018 at 5:19 PM, aleksandr said: @Sultan, did you use the map editor on this map? If yes, then i dissapoint you, edit the map only with an official game client (IGG, etc). Modified map editors lead to such consequences. I guess you can try that, but the only thing is that to replicate and test the error you will have to re-do and edit the map using the normal game editor without any modification. Which map are you trying to use? Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted May 20, 2022 @Sultan, Also try to use this program: Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
Over Dramatic 1 Report post Posted May 20, 2022 On 5/17/2022 at 10:21 AM, Sultan said: Apologize for reviving this very old topic but I noticed something regarding this topic, maybe gonna help the community or maybe towards a fix for this problem.... Using a custom map (as a main map) will cause this issue, this what I've figured out. I've been working on TOP/PKO development for the past month and I have wanted to try out one of Alias maps released to use a main-town, while adding the main-town I noticed most of the objects disappeared. I assume the main reason is the custom maps itself, I have been working on my test server in all three main maps (argent, shaitan, icicle) and I didn't notice anything disappears at all. Thanks. As some of the replies mentioned, the issue is related to the buffer holding the data related to the objects, all u gotta do is removing all the objects that aren't being used from the client, the map doesn't really have to be small as long as the objects loaded are minimal (exculding unnecessary/unused models), rendering the same object mutiple times in a map, doesn't really produce an issue, I put like half of the swing's models before in a client and it was working fine until I started adding more models Quote Share this post Link to post Share on other sites
champ 147 Report post Posted May 22, 2022 I think removing objects is a bad solution, logically it would make size to increase buffer size to get rid of buffer overflow @Over Dramatic Not sure if it matters but I am also pretty certain Alias’ map sizes were never even (she would alter the size in the end and increase it by 1, for instance from 4096x4096 to 4097x4097) - it’s a shot in the dark, really, but could perhaps be a problem? Quote Share this post Link to post Share on other sites
Over Dramatic 1 Report post Posted May 22, 2022 5 hours ago, champ said: I think removing objects is a bad solution, logically it would make size to increase buffer size to get rid of buffer overflow @Over Dramatic Not sure if it matters but I am also pretty certain Alias’ map sizes were never even (she would alter the size in the end and increase it by 1, for instance from 4096x4096 to 4097x4097) - it’s a shot in the dark, really, but could perhaps be a problem? Well not so sure, but regarding the models that's the only solution for the already compiler exes Quote Share this post Link to post Share on other sites