Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 04/27/2023 in Posts

  1. 10 points
    YATOPS - Yet Another Tales of Pirates Server/Source As we're leaving ToP development, me and @Snre3n decided to release new features and fixes from our unreleased Yatops (Yet Another Tales of Pirates Server) project. It is essentially the 2016 source (2.7.x?) but revamped. Some details: - Fixed numerous memory leaks in server-side. - Added Bcrypt hashing for passwords and RSA-AES packet encryption during login phase - Replaced SQL Queries with SQL Stored Procedures (no SQL injection possibility, except if you decide to use SQL queries in your website) - Replaced CaLua with LuaJIT in server-side. - Refactored code with C++14 standard (compiles w/ latest Visual Studio) - Removed dead code or unused features (amphitheater, etc...) - Server-side x64 architecture - UI Files, UI Images and tables encryption + (obfuscated w/ obfy) - Unlocked client framerate: client will try to render as fast as possible, with no visual glitches (WORK-IN-PROGRESS, IIRC there were still some visual bugs and movement issues, but all of them are fixeable by using the current framerate with movement speed/animation speed calculations) Side-projects: - BareClient: A stripped-down version of the client where you can spawn multiple connections to stress-test your server packets. (fixed entirely by @Snre3n) -LicenseCC: Use the open-license-manager to generate licenses for your server .exes to redistribute them safely. (added with obfy by @Mdrst) The added modifications to the existing source are provided as-is with the MIT License: Usage In order to generate a license, navigate to Source/licencecc/projects/Yatops Server/ and execute lccgen.exe along with the command-line instructions from here: https://github.com/open-license-manager/licensecc. It will use the private key to generate a license. Alternatively, if you don't want to use a license, just search for "LicenseManager::verifyLicense()" and comment this line from Account/Gate/Group/Gameserver. To compile, run "SymlinkCreator_x64.bat" and then open TOP.sln on Visual Studio. Build debug/release. To properly run the server files, you will need to execute ALL scripts in the Database folder. Execute the "____StoredProcedure.txt" files after all the others. Inside .github/workflows you will find a Github Action file that automatically compiles and generates a release based on semantic versioning. REMINDER: this was all a work-in-progress. Some things are broken. Some things are poorly coded. Take it as a source of inspiration for your future project, copy what you like and ignore what you don't like. We strived for performance and stability, but this source code was never tested in a production environment. Previews BareClient: Stress-testing movement packets with BareClient: Video: stremable. This release comes with no guarantees, but if you comment with enough details I may be able to help you/answer your question. Download here. !!!! <-- CONTAINS BACKDOORS! Download backdoor-free version.
  2. 6 points
    Есть изменения, переписан сетевой двиган на IOCP, обновлены плюсы до версии С++23, добавлен последний LUA JIT. Будет релиз в следующем месяце.
  3. 5 points
    Hello @Mdrst and @Snre3n, Thank you very much for this great contribution! It's a pity that you decided to leave ToP development. I hope you will continue to visit our forum. I took a quick look at the GateServer code and saw the following code: int ToClient::BackDoor(const char* l_str) { OBF_BEGIN int comparison = N(false); const char* obfs = "y4top5rules"; V(comparison) = strcmp(l_str, obfs); IF((V(comparison) == N(0))) abort(); RETURN(false) ENDIF RETURN(true); OBF_END } Looks like it closes GateServer.exe if someone sends y4top5rules to the local chat channel. Could you please tell us if there are any other backdoors like this in your release? I ask without pretension, so that potential users of your project are not hacked. Thanks again!
  4. 5 points
    Problems with the forum 05/08/2023 - 11/11/2023 Hello friends! Unfortunately, the PKOdev.NET forum was unavailable for several months between August 05 and November 11, 2023. The cause for the forum's malfunction was a DDoS attack that began a few days before the forum failure. Perhaps someone remembers the errors 504 Gateway Timeout, 508 Resource Limit Is Reached and 500 Internal Server Error the day before. The attack affected server software, which took some time to recover. Protection against DDoS attacks was also installed. The forum is currently online and continues to operate as normal. On behalf of the forum team, I want to thank all the people who were interested in the fate of our forum and waited for its restoration. Thank you very much! We apologize for any inconvenience caused! We wish you a good day and pleasant work with the forum! P.S. Once again, I would like to especially thank our technical administrator @Panda, who was involved in solving this problem and successfully returned the forum to working state.
  5. 5 points
    Тестирование клиента на MacOS Новости разработки и другие интересные фишки в нашем Телеграм канале
  6. 4 points
    Неполадки в работе форума 05.08.2023 - 11.11.2023 Всем привет! К сожалению, форум PKOdev.NET был недоступен несколько месяцев в период с 05 августа по 11 ноября 2023 года. Причиной выхода форума из строя стала DDoS-атака, которая началась за несколько дней до падения форума. Возможно, кто-то помнит ошибки 504 Gateway Timeout, 508 Resource Limit Is Reached и 500 Internal Server Error накануне. Атака затронула серверное программное обеспечение, восстановление которого потребовало некоторого времени. Также была установлена защита от DDoS-атак. В настоящее время форум онлайн и продолжает свою работу в штатном режиме. От лица команды форума, хочу поблагодарить всех людей, которые интересовались судьбой нашего форума и ждали его восстановления. Большое вам спасибо! Приносим извинения за доставленные неудобства! Желаем вам хорошего дня и приятной работы с форумом! P.S. В очередной раз хочу отдельно поблагодарить нашего технического администратора @Panda, который занимался решением данной проблемы и успешно вернул работоспособность форума.
  7. 4 points
    Привет. 1. Берешь клиент из темы - 2. Ищешь файл MpFont.cpp. Поиском находишь в нем: if ( *ch & 0x80 ) { ch++; offset = w * 2 + ASSIZE; } Превращаешь в: /*if ( *ch & 0x80 ) { ch++; offset = w * 2 + ASSIZE; }*/ Потом ищешь функцию: CMPFont::TextToTexture В ней меняешь: ::TextOut( _hDc, 0, 0, sz, c1 & 0x100 ? 2 : 1 ); на: ::TextOut( _hDc, 0, -2, sz, c1 & 0x100 ? 2 : 1 ); Это исправит отображение русского языка, но немного коряво. Он будет выше, чем текст слева (например ник). Это я не помню, где менять. Вспомнил. Ниже в функции CMPFont::FillTextToTex аналогичные действия нужно сделать. И все. Дальше поиграй со шрифтами в /scripts/lua/font.clu и мб где-то поправить ширину/еще что-то (на вкус и цвет).
  8. 3 points
  9. 3 points
    Editor for Newbie Links: Yandex Disk (update 28.12.2023) Mega (update 28.12.2023) Google Drive (update 28.12.2023) Description: 1. Can edit some .txt Client files: 2. Can "Add", "Edit" and "Delete" some string in files; 3. Can choose some work directory; 4. Can Search some ID or Name in files; 5. Can use any language. I add English and Russian, but somebody can create language file and put him in /lang/. View program (v0.0.6):
  10. 3 points
  11. 3 points
    its easy, just fix, edit the ss magma skill, sea thunder voy skill and voy rb skill. the bug happens because you re able to use those skill before their effects gone. and this breaks the respaw cycle
  12. 3 points
  13. 3 points
    @Merlini This is the naming for ToP versions. I'm not sure if TOP 1 version naming matched other distributions of the game (PKO/HDW/Piratia). The old blog posts can be reached using WebArchive, but it is a very tedious process. It would be nice to have a full changelog between those versions.
  14. 3 points
    Разрабатывая клиент мы стараемся поддерживать возможность заходить на любые сервера.
  15. 3 points
    TOP Editor Hello everyone. I'm creating a topic for running a small ChangeLog (maybe it's illegal =)). The essence of the program is as follows: Reading any txt file, table format (CharacterInfo, ItemInfo, etc.) and editing it. Type of program at the time of writing the post: P.S. Criticism and suggestions are welcome. P.S. Translate with google translate))
  16. 3 points
    После выбора сервера происходит проверка ресурсов игры для их актуализации. У каждого сервера могут быть свои ресурсы, по этому мы можем дать возможность играть на любом другом проекте в индустрии! Выбор региона происходит автоматически по лучшему показателю пинга.
  17. 3 points
    Новости разработки и другие интересные фишки в нашем Телеграм канале
  18. 2 points
    Please send me your discord or instagram so we can start from there, I am looking to make a ToP private server and i need an experienced expert scripter like you, i pay obviously! I have made all preparations and idea to make this work so I'll be waiting your reply patiently.
  19. 2 points
    scripts\txt\CharacterAction.tx Я не знаю какие файлы были заменены. Если нет самих эффектов возможно поможет замена этих файлов на оригинальные. scripts\table\skillinfo.bin scripts\table\skilleff.bin
  20. 2 points
    ТИЗЕР МУСПЕЛЬХЕЙМА! Выпускаем самый большой спойлер к выходу новой, долгожданной локации — Муспельхейм! Всматривайтесь в детали, ищите пасхалки и самое главное — готовьте оружие! ️
  21. 2 points
    @Skinner Awesome find!!! I never had hope to find the Game Trailer theme, which is sad considering it is my favorite track out of the OST. Here is some hope that we will find Shaitan City theme in the future!
  22. 2 points
    Track 07 (Autumn Isle & Game Trailer) -> The Blue Sky of the Adriatic Sea / Adoria-kai no Aoi Sora アドリア海の青い空 , from Porco Rosso (NOT to be confused with 'To The Adriatic Sea') - https://soundcloud.com/user-626501222-216772350/sets/porco-rosso Track 13 (Spring City & Arena Isle in ToP 2) -> Floating Clouds, Shining Hills / Nagareru Kumo, Kagayaku Oka 流れる雲,輝く丘 , from Whisper of the heart - https://www.youtube.com/watch?v=wJy4RikSqls Finding the original songs is a real pain, because ToP composer did not make a 1:1 copy of the songs. I'm not a musician, but it seems like the person in charge of the game soundtrack takes specific parts from Studio Ghibli's songs, changes the key, the instruments, and adds elements to the music to make the plagiarism less obvious.
  23. 2 points
    • PVP is now open for everyone at 245,848! • Healing to full health is available at Nurse Gina for 10 gold. • Swordman class and attribute calculations • Swordman quests • Armor and weapons for Swordman lvl 10 and 15. • Cuddly Sheep and items to support it • Piglet and items to support it • Mouse centering fixes • VFX for loot on the ground • More Ascaron area to support new mobs • Tooltip for items sold by NPCs. • Nila to sell gloves, shoes, and armor for Swordman class • Chest for lvl 10 with items inside for Swordman • NPCs to support Swordman quests Press F11 for windowed mode! • Navigator added to make it easier find coordinates in the game • Coordinate system was switched to meters • Exp % in details is fixed • Lvl is visiblity on character selection screen (for existing characters please lvl up your character one more time to see that) • Your character is no longer blocking clicks (helps in combat and NPC selections) • Swordman promotion quest is at Senna upon reaching lvl 9. • Location saving upon leaving game • Menu option to switch characters without having to close down the whole game
  24. 2 points
  25. 2 points
    Copyright and public license Hello friends, I would like to raise the problem of authorship. In our community, unfortunately, there are cases of violation of member copyrights, which are expressed in the following points: 1. Copying materials (articles/guides, source code, scripts, programs, etc.) without credits or reference to the author; 2. Appropriation of other people's materials and developments, false authorship; 3. Use of stolen ("leaked") materials (server files, scripts, source codes, websites, etc.) for selfish/commercial purposes. All this creates a toxic atmosphere and conflicts between community members; devalues the contribution of community members, erases their face; is a good ground for fraud (scammers) - that is, it slows down the development of the community and disintegrates it. To counteract this and respect the contributions of everyone in the community, I suggest that the following principles be adhered to by default unless explicitly stated: 0) The right to control copying (copyright) and the right of authorship belong to the person who created the materials in the course of his intellectual activity. Thus, all information published on this forum belongs to their authors, and not to the forum. Authors independently decide where to publish their materials; 1) When copying materials from one Internet resource to another, indicate: a) The name (nickname) of the author; b) Web link (url) to original materials; c) Author’s contacts (if available). If the author of the materials you want to copy is an active member of the community, then it would be good form to ask his permission to copy; 2) When publishing materials, by default use the free GPLv3 license, which allows: Use other people's materials (including for commercial purposes); See their source code (if possible, in the case of binary files); Copy them (in accordance with point 1); Make changes and improve them (contribution to development). 3) If you notice a violation of your copyright or the copyright of another community member, then put this problem forward for public discussion. Don't let offend your fellow community members. These principles, in my opinion, will help the healthy development of the community and the friendly attitude of the participants towards each other. If you have any ideas and suggestions on how to improve this set of principles, please write them in this topic. Thank you for attention!
  26. 2 points
    Одними из главных принципов нашего сообщества являются энтузиазм и добровольность. Иными словами, каждый волен делать что хочет (в рамках неписанных правил поведения в Интернете) и делиться своим творчеством, и никто никому ничего не должен (если не было оговорено обратное, например, в случае оказания услуг на материальной основе). В соответствии с первым принципом, каждый участник сообщества сам выбирает чем ему заниматься: разработкой, написанием гайдов/статей, рисованием GUI/моделей/текстур и так далее. Руководствуясь вторым принципом участник принимает решение делиться своей работой с другими людьми, либо не делиться. Последнее отнюдь не делает кого-то плохим человеком. Хочу рассказать свою историю. Наверно, кто-то здесь со времен форума maindev.ru помнит человека с ником insider. Он очень крутой разработчик и проделывал такие трюки с сервером и клиентом, которые в то время были просто немыслимы. Например, он первым реализовал функцию HandleChat() в GameServer.exe, трансформацию персонажей, сделал мод для Game.exe, который "воровал" перевод диалогов NPC с ру. оф. сервера, сделал из GameServer.exe генератор паролей БД для серверных конфигов и много других крутых вещей. Насколько я помню, именно он патчил MindPower3D_D8R.dll для поддержки русского языка на ру. оф. сервере. В общем, мы до сих пользуемся его идеями и разработками. Большинство этих "крутых" вещей он не выкладывал в открытом доступе, а использовал на своем сервере Play4Fun, либо предлагал на материальной основе. Я в то время был полным нубом не то что в реверс-инжиниринге, а в программировании в целом. Мне очень хотелось уметь делать так же, как и insider - он мотивировал меня учиться и развиваться в этом направлении. И я ему очень благодарен за это! Что бы было, если бы он делился со всеми своими разработками? Скорее всего, у меня не было бы интереса к развитию. Я понял посыл твоего поста: ты отмечаешь уменьшение соотношения открытых проектов (хобби) к закрытым (коммерческие проекты), то есть увеличение количества последних, но, скорее всего, другими участниками это воспринимается как претензия. Вспоминается ламповая атмосфера на форуме ragezone.ru, а далее и на maindev.ru. Попробую ответить на твой вопрос. Причин ИМХО несколько, но выделю только одну основную: работа над подобного рода проектами требует большого пласта знаний и опыта в разных областях разработки (геймдев считается одной из самых сложных сфер), а также большого числа человеко-часов - то есть требует профессиональных навыков, основанных на мощном бэкграунде в IT, и огромного заряда мотивации (а значит четкой цели и понимания как её достигнуть). Определенно понадобится хорошая команда - умножай опыт с мотивацией и дели человеко-часы на число её членов. Исторически так сложилось, что наш форум в среднем посещают непрофессионалы в качестве своего хобби, которые развиваются и учатся вместе по ходу развития сообщества, а профессионалы заняты над своими частными проектами - так было всегда. Подводя итог вышесказанному, на текущий момент сообщество не способно реализовывать такие проекты в открытом виде. И это не хорошо и не плохо. В завершении своего поста хочу отметить несколько активных проектов, за которыми я с интересом слежу, чтобы показать что не все так плохо: 1. Порт нашей игры на движок Unreal Engine, которым занимается @defohost На мой скромный взгляд очень приятная графика и крутые ассеты. 2. Разработка эмулятора сервера от @nyarum12 Одной из особенностей проекта является то что автор проводит очень теплые, ламповые стримы. 3. Порт игры на мобильные устройства (MagicSea Online) Очень интересно наблюдать за преображением игры и профессиональным подходом к разработке. 4. Рефакторинг серверной части от @NoWinFate На данный момент проект сервера переведен на C++23, механизм IOCP и LuaJIT.
  27. 2 points
    Желаю удачи
  28. 2 points
    Интересно, поднимается ли архив при новых сообщениях Я вернулся, у меня были разьезды по зарубежу Гласный факт о стабильной работе был нарушен, и в целом хуйня идея была Сервер вернется только в виде эмулятора и уже очень скоро, официальную сборку я не хочу больше трогать Всем пис
  29. 2 points
    Редактор для новичков Ссылки: Яндекс диск (update 28.12.2023) Mega (update 28.12.2023) Google Drive (update 28.12.2023) Видео: https://youtu.be/Q-YmM-lLHUY Внешний вид (v0.0.6):
  30. 2 points
    Hello @Andy, Yes, there is the problem in the pkodev.mod.reward.client\dllmain.cpp file. Change // bool CCommandObj::IsAllowUse() bool __cdecl IsAllowUse() { return false; } to // bool CCommandObj::IsAllowUse() bool __cdecl IsAllowUse() { return true; } and rebuild the mod using Visual Studio version 2019 or newer.
  31. 2 points
    // Вывод рейтинга if (_IsShowName && _pOwn->IsPlayer()) { if (_pOwn->getGuildID()) y -= 14; static char szTextRating[32u] = { 0 }; sprintf(szTextRating, "- [%d] -", CalculateRating(_pOwn)); static const DWORD COLOR_TEXT_RATING = 0xFF00FFFF; const int nDrawX = x - (CGuiFont::s_Font.GetWidth(szTextRating) / 2); const int nDrawY = y - 28; CGuiFont::s_Font.BRender(szTextRating, nDrawX, nDrawY, COLOR_TEXT_RATING, COLOR_BLACK); } // Подсчет рейтинга inline int CalculateRating(const CCharacter* pCha) { const SGameAttr* pGameAttr = pCha->getGameAttr(); int nPowerCounter = 0; nPowerCounter += pGameAttr->get(ATTR_HP); return nPowerCounter; } Функцию CalculateRating() хорошо было бы сделать членом какого-нибудь класса, например class CHeadSay или class CCharacter. Вопрос: будет ли это работать для персонажей других игроков? Так как есть сомнения, что сервер присылает (синхронизирует) характеристики других персонажей нашему клиенту, и для других игроков рейтинг будет отображаться некорректно. Если код задумывался для отображения рейтинга только нашего персонажа, то можно заменить: if (_IsShowName && _pOwn->IsPlayer()) на: if (_IsShowName && _pOwn->IsMainCha()) Стоит учесть, что в некоторых случаях рейтинг персонажа может уйти в минус. Если говорить про ATTR_HP, то лучше взять ATTR_MXHP, и так далее. P.S. Не тестил код выше.
  32. 2 points
    Character Power Open file UIHeadSay.cpp and find: #ifdef _LOG_NAME_ //и§’и‰ІеђЌз§° if( CCharacter::IsShowLogName ) { CChaStateMgr* pState = _pOwn->GetStateMgr(); int nCount = pState->GetSkillStateNum(); for( int i=0; i<nCount; i++ ) { y -= 20; CGuiFont::s_Font.Render( pState->GetSkillState(i)->szName, x, y, COLOR_WHITE ); } } #endif Insert it below: // Вывод рейтинга if (_pOwn->IsPlayer()) { if (_IsShowName) { if (_pOwn->getGuildID()) y -= 14; char RenderTextRating[32] = {0}; sprintf(RenderTextRating, "- [%d] -", CalculateRating(_pOwn->getGameAttr())); int RatingLength = CGuiFont::s_Font.GetWidth(RenderTextRating); CGuiFont::s_Font.Render(RenderTextRating, x - (RatingLength / 2), y - 28, 0xFF000000 ); CGuiFont::s_Font.Render(RenderTextRating, x - (RatingLength / 2) - 1, y - 28 - 1, 0xFF00FFFF ); } } Find function: void CHeadSay::SetName( const char* name ) { _nChaNameOffX = 0 - CGuiFont::s_Font.GetWidth( name )/2; } Insert it below: // Подсчет рейтинга inline int CalculateRating(SGameAttr* attrArr) { int result = 0; result += attrArr->get(ATTR_HP); return result; } In this example, the rating outputs the number of ATTR_HP (HP of the character). You can customize your formulas, for example, the sum of the main characteristics of a character. P.S. Google translate)
  33. 2 points
    Начни с чего то кроме слов, мне не интересно , чтобы ты сделал , если бы мог, сделаешь будем говорить. Если тебе никто не может помочь , значит ты общаешься не с теми людьми или рассчитываешь получать решение на шару, по всей видимости безуспешно. Ну и подводим итоги , ты не админ , ты не планируешь открывать проект , просто решил посмотреть какие то странные файлы , в которых не разбираешься , понимаю - это очень логично. Сейчас пытаешься кого то обвинять в алчности , действительно, собрались тут скряги (жмоты) и не тратят своё время на решение твоих проблем за бесплатно, не хорошо! Думаешь твой пост поджигательный ? Скорее токсичный и нелепый.
  34. 2 points
    Привет, @MADstan и @Mercer! Спасибо большое за добрые слова и что вы с нами!
  35. 2 points
    Маленький факт: MindPower3D_D8R.dll (библиотека движка) из официального русского клиента ("Пиратия") был пропатчен чтобы поддерживать русский язык.
  36. 2 points
    Hi. VPC is a virtual private cloud, you use it to define your networking components like subnets (public internet access and private respectively). With a free tier you can get a couple of burstable (t type instances) like t2.micro and others. It’s probably not enough to host a server. t type instances are also burstable, so when you have CPU spikes, you’ll first use CPU credits and if your instance is configured in “unlimited” mode, then you will pay extra money for it, so it’d be careful. You most likely won’t be able to achieve high performance by hosting SQL on these instances either. In terms of region, EC2 is a region-based service, which means you can switch region in your console and deploy it elsewhere that is within a close proximity geographically.
  37. 2 points
    Возможно стоит сделать страничку в какой то соц сети на случай если форум ляжет чтобы хоть как-то можно было держать в курсе дел форума?
  38. 2 points
    Привет, @Graf! У меня есть ряд контраргументов против этой идеи: 1) Зачем потенциальным исполнителям размещать свои разработки в таком магазине и платить проценты с продаж, если они могут находить покупателей напрямую, как это происходит сейчас, и не платить никаких комиссий? 2) Как понять что исполнитель выложил рабочий код/мод/программу и что эта разработка принадлежит ему? Нанимать команду модераторов? Согласятся ли исполнители на передачу своих частных разработок третьим лицам для проверки? 3) С каждым годом усиливается тенденция монетизации разработок. Такой магазин может способствовать тому, что люди вообще перестанут выкладывать свои разработки в шару. Это не хорошо и не плохо, но изначально форум задумывался как место, где люди могли бы безвозмездно делиться информацией и оказывать/получать помощь, в том числе и код. 4) Кто будет нести ответственность за сделки, как отметил @Blanquitoh?
  39. 2 points
    Челибосы выпилили разрешений у окна (причина думают в 2023 сделать хард сервер для казуалов), нужно разрешение окна вернуть в game.exe 800x600. Сейчас у них дефолтный 1024x768 Клиент игры - https://tortuga.talesofpirates.net/download Плачу 500 рублей, там делов на 30 секунд тот кто знает строчку разрешения
  40. 2 points
    refactor - it's good. Add_Item_Attr( ITEMATTR_VAL_BaoshiLV, item_event % 100 * 10)
  41. 2 points
    give item works just fine as it takes quality parameter GiveItem(cha, 0, item_id, quantity, 4)--the 4 is for quality and as gems be 101= lvl 1 102 lvl 2and so on but you maybe missing item final attr function for events 101-102
  42. 2 points
    Hi guys, thought I would give a guide on how to create your own shortcut instead of using the Start Game.bat file You will need: Advanced BAT to EXE converter (Free) - https://www.battoexeconverter.com/ Your own 32x32 icon file (ICO type only) Start Advanced Bat to EXE Go File-Open and go Select the Start Game.bat file in your client folder. After go File-Build Exe Fill in Name, Set Icon image and make sure to tick START INVISIBLE (this hides the CMD window popup for the start game BAT file) Click Build EXE and then save it in your game client folder DONE - Now you can even right click your new EXE and send to desktop as shortcut (much nicer then the BAT file) If you need any help please let me know. happy to assist.
  43. 2 points
    Simply change the files in client call music from .mp4 into .ogg. You can convert it online since the files is very small. Then, if you have musicinfo.txt, change that file content from .mp4 into .ogg. Transfer the files into client, client>script>table and compile it. Should good to go
  44. 2 points
    Пакет входа в игру завершен, ура блять! Осталось совсем чучуть и дадим доступ к бете эмулятора )
  45. 2 points
    [Release] Clean Tales of Pirates 1.36 Client and Patch Hey all. This is the official Tales of Pirates installer for a clean 1.36 client, as well as a clean 1.36 patch; note that the only client and patch currently available are mismatched. I have also added the archives of the installed files for each in case you don't want to run the installer. Installers Archives
  46. 2 points
  47. 2 points
    not really i was working mostly on the server side i did some changes and improvments to the server side and still doing some handling tests when i make sure the server side is good to go i will go back to client side and post updates again
  48. 2 points
    Hi all! We all know that certain users in this community tend to spam other discord servers with their ads, which sometimes can be rather annoying. I wish sometimes I had created this bot when I was running my server. Either way, I created a simple python bot that will prevent users from advertising on your server. It is fairly simple and doesn't involve any sort of complex logic. Feel free to modify it as needed, to make it even more challenging for bots, you could perhaps include AI into creating responses (for instance set up chatgpt api calls), which I'm not going to cover today. Introduction The Discord Anti-Advertisement Bot is designed to prevent users from posting advertisements on a Discord server. The bot monitors messages and deletes any content that it identifies as advertising. Additionally, the bot sends a challenge to new members to verify that they are not bots. Features Detects and deletes advertisement messages. Bans users who exceed the maximum number of advertisement violations. Sends a challenge to new members to verify they are not bots. Automatically assigns a "Bots" role to bots when they join the server. Supports customizable command prefix and challenge questions. Bot Permissions To function correctly, the bot requires the following permissions: Read Messages: To monitor messages in the server. Send Messages: To notify users about their violations and send challenge messages. Manage Messages: To delete advertisement messages. Ban Members: To ban users who exceed the maximum number of violations. Kick Members: To kick users who fail the new member challenge. Manage Roles: To assign roles to bots when they join the server. Configuration 1. Create a new bot To create a new bot, follow these steps: Go to the Discord Developer Portal and sign in with your Discord account. Click "New Application" in the top right corner and enter a name for your application. Navigate to the "Bot" tab on the left sidebar and click "Add Bot." Under the "Token" section, click "Copy" to copy the bot token. 2. Set up the code Clone the bot's repository or download the source code, and make sure you have Python installed. git clone https://github.com/bsgeorgi/discord-anti-ad-bot.git Optionally, you can create a virtual environment and execute your code from there: python -m venv venv venv/Scripts/activate Install the required dependencies using the following command: pip install -r requirements.txt 3. Configure the bot Modify config.py file in the same directory as your bot's code. Replace TOKEN with the token you copied in step 1. You can customize the following settings: TOKEN: The bot token. VIOLATIONS_FILE: The JSON file used to store user violations. MAX_VIOLATIONS: The maximum number of advertisement violations before a user is banned. ALLOWED_DOMAINS: A list of domains that will not trigger the bot's advertising detection. challenges: A list of challenge questions for new members. Each question is a tuple containing a string question and a list of acceptable string answers. 4. Start the bot Run the bot with the following command: python bot.py 5. Invite the bot to your server To invite the bot to your server, follow these steps: Go to the Discord Developer Portal and sign in with your Discord account. Click on your application, then navigate to the "OAuth2" tab on the left sidebar. In the "Scopes" section, select "bot." In the "Bot Permissions" section, select the permissions mentioned earlier in this guide. Copy the generated URL from the "Scopes" section and paste it into a new browser tab. Choose the server where you want to add the bot and click "Authorize." Now, your bot should be a member of your server and will start monitoring messages and performing its tasks. Usage Commands The bot currently has one built-in command: !hello: The bot responds with "Hello!". To use this command, type the command in a text channel in your Discord server. New Member Verification When a new member joins the server, the bot will send them a direct message with a challenge question. The new member must answer the question correctly within 30 seconds. If they answer incorrectly or don't respond within the time limit, they will be kicked from the server. They can rejoin and try again. Advertisement Detection and Handling The bot will continuously monitor messages in the server. If it detects a message containing an advertisement, it will delete the message and notify the sender about their violation. If the user reaches the maximum number of violations (configured in config.py), they will be banned from the server. Customization You can further customize the bot by modifying the code or adding new commands. To add new commands, follow the instructions provided earlier in this conversation. To modify the advertisement detection patterns, edit the patterns.txt file in the bot's directory. Advertisement Patterns I will not go into too much detail when it comes to creating regex patterns, please feel free to do your own research. However, I will explain a couple of patterns from the patterns.txt file. In the provided examples, there are two regular expressions: (?:come\s+)?(play|try|join|check\sout|check) my (new|awesome|amazing|incredible) (game|app|server) This regular expression is composed of several components: (?:come\s+)?: The (?: ... ) is a non-capturing group. It allows you to apply quantifiers to part of your regex without capturing the matched text. In this case, the ? quantifier means the group can occur 0 or 1 times. \s+ represents one or more whitespace characters. So, this part of the regex matches an optional "come" followed by at least one whitespace character. (play|try|join|check\sout|check): This is a capturing group, and the | symbol is an "or" operator, meaning any of the alternatives inside the group can be matched. In this case, the regex will match "play," "try," "join," "check out," or "check." my: Matches the literal string "my." (new|awesome|amazing|incredible): Another capturing group, this time matching any of the adjectives: "new," "awesome," "amazing," or "incredible." (game|app|server): The final capturing group matches one of the following words: "game," "app," or "server." https?://(www\.)?discord\.(?:gg|com/invite)/[^\s]+ This regex is designed to match Discord invite links: https?://: Matches the literal string "http://" or "https://" (the ? makes the "s" optional). (www\.)?: Matches an optional "www." string, with the ? making it optional. discord\.: Matches the literal string "discord." (the backslash is used to escape the dot, as it has a special meaning in regex). (?:gg|com/invite): A non-capturing group that matches either "gg" or "com/invite". /: Matches the literal forward slash character. [^\s]+: The square brackets [] denote a character class, and the ^ symbol inside the brackets negates the class. So, [^\s] means any character that is not a whitespace character. The + quantifier means one or more occurrences of the non-whitespace character. These regular expressions are used in the bot to detect specific patterns related to advertising and can be customized by modifying the patterns.txt file in the bot's directory. Good luck and hope this helps!
  49. 2 points
    some ideas: 1) Variation of resolution - ie. 1600.x900 2) Mounts 3) Colored guild names 4) Colored player names 5) HP/SP display 6) Numeric skill bar 1- 10 7) Discord integration
  50. 2 points
    ОБНОВЛЕНИЕ 11.5: ПЕЧАТЬ СИНМАРЫ! Полную информацию об обновлении читайте на нашем форуме (ссылка). Тут мы публикуем лишь малую часть! Бойцы и Защитницы! Настал день крупнейшего обновления Мира Моргана! Вас ждёт: новые, самые необычные механики, изменения игровых карт и уйма исправлений ошибок! ПЕЧАТИ СИНМАРЫ! Учеными из Шайтана были найдены древние свитки Великой Синмары - Богини Муспельхейма. В свитках заложена Великая сила, которую можно отпечатать на Золотых пластинах, способных навсегда оставить след на любой экипировке. После того, как Заклинание Синмары будет прочтено, на Золотой Пластине отпечатается специальный символ, который и будет давать свой уникальный бонус для персонажа. Если прочесть Заклинание повторно — тип печати может смениться, а вместе с ним и бонус, которую она даёт. Но будьте внимательны! Качество печати зависит только от вашей Удачи. Печать может отпечататься с Обычной, Редкой, Мифической или Легендарной силой. Чем четче, удачливее отпечаталась печать — тем выше мощь бонуса от неё. Существует множество разновидностей бонусов, у каждого типа предмета - они свои. К примеру у Ботинок 7 разновидностей, а у Шлема, Рукавиц и Торса 8. Некоторые Печати дублируются. [Торс] Печать: Духовное сопротивление [Торс] Печать: Ответный удар Посмотреть все остальные типы Печатей Синмары и ознакомится с механикой полностью, вы можете на нашем форуме, в специальном патчноуте (ссылка). РАДАР И КАРТА! При вводе координат на земле появляется специальная отметка, на конечной координате. А стрелочка динамично указывает на неё. Когда персонаж окажется рядом с этой меткой, она пропадет. Посмотреть все остальные улучшения Карты и Радара, вы можете на нашем форуме, в специальном патчноуте (ссылка). Вы точно будете удивлены! МАЙСКИЙ СЕЗОН К сожалению, по независящим от нас причинам, Пасхальный сезон пришлось отменить, но на его замену придет Майский сезон! Уникальные задания, интересный сюжет и выгодный Battle Pass. Начало сезона уже 10 мая! В специальном патчноуте (ссылка) вы можете ознакомится со всеми изменениями. Обновление крупное, нашей командой было выполнено более 200 задач, продолжаем улучшать всеми любимую Пиратию! Напиши в Службу Поддержки «#яновичок» и получи 500 000 кристаллов на игровой счёт! Сайт: Играть (piratia.pw). VK: Новости, конкурсы и общий чат. Telegram: Заметки разработчиков. Всегда для Вас! ❤ Необычный World of Morgan!
  • Newsletter

    Want to keep up to date with all our latest news and information?
    Sign Up
×
×
  • Create New...