Перейти к содержанию

†DeMoN†™

Постоялец
  • Публикаций

    509
  • Зарегистрирован

  • Посещение

  • Победитель дней

    4
  • Отзывы

    0%

Весь контент †DeMoN†™

  1. Азино добралось и до л2, что-то пошло не так. @OrmJevil они тебя проплатили?
  2. Интересно мнение других java-разработчиков (в т.ч. любительского уровня). Надеюсь найдутся люди, с которыми можно подискутировать на данную тему. На яве не программировал более года++, последний релиз, который я застал, была java 8. Это был реально прорыв в системном java-программировании. Те же монады, которые позволяли уменьшать и оптимизировать код в разы. Но, смотря на 9й релиз, ощущение чувства уныния. Более 90% проектов на яве - это системное программирование. В целом, в веб программировании, 80% занимает PHP, остальное: большую часть занимает python (django), ну и оставшиеся разделяют +- определенные %. Не понятно, зачем было тратить столько времени и ресурсов на поддержку веба, ведь и так понятно, что максимум, что там можно занять - какую-то небольшую нишу. Далеко не все хостинги предоставляют поддержку jvm, стоят такие хостинги, насколько мне известно, дороже. Java web community не такое уж и большое, в отличии от того же PHP. Есть, конечно, и улучшения в системной части, но на 9 реву ну это никак не тянет. Jshell, по моему мнению, самое большое разочарование. Тупо копипаст "php -r", который, опять же, на мой взгляд, не так уж и нужен. Для этого уже давненько существуют онлайн сервисы. Хотелось бы видеть чего-то большего... А какие у вас мысли, по данному релизу?
  3. Всё зависит от конкретной реализации. Если тупо фарм мобов - то да, в onKill будет наилучшим вариантом. Но, опять же, зависит от % дропа. Если маленький - то не особо вариант. Смысл обрабатывать каждого моба, если далеко не факт, что с него что-то упадёт. (Если реализация через обычный дроп). Если через скрипт - то да.
  4. Если уж просите помощи на форме - хотя бы предоставляйте полную информацию. Хроники, локализацию. Есть разные кодировки, разные параметры и т.д.
  5. Тоже вариант, но, О - оптимизация
  6. Да, та ещё ностальгия, где мои 20 лет) Тоже приятно видеть старых знакомых. Да ещё тех, которые тебя помнят спустя столько лет)
  7. Самый простой вариант, учитывающий все события (обмен между игроками, поднятие дропа и и.д.) - идём в функцию выдачи игроку предмета, добавляем проверку на ид предмета (чтобы лишний раз не делать тонну обработок), если ид нужный нам, берём пспоинты из инвентаря юзера, складываем с выдаваемым значением, если больше тысячи, то удаляем из инвентаря количество = 1000-count. Выдаём адену, например, и прерываем дальнейшую выдачу ретёрном. Можно дополнить формулой и динамической обработкой, чтобы менять все количество, в случае получения их в большем количестве.
  8. Ого. Макс, ты там не здох ещё? Блин, меня тут почти 5 лет не было, а ничего толком не меняется, всё те же знакомые личности и всё в той же старой доброй сфере л2. P.S. по теме, рекомендую данного человека, даже в неразвитые времена сферы л2 у него были отличные работы, думаю с годами он навыки ещё больше отточил
  9. На рабочих компах стоит убунта для разработки на вебе. GUI очень удобный. Если не нужен GUI - то debian ставлю. У убунты вечные проблемы (иногда не непосредственно у неё, а у софта), например, на хроме, при установке расширений, вся система начинает виснуть. Вначале думал возможно проблема только у меня, а оказалось, что у половины нашего офиса, пришлось всё вырубать. А так - вечные их баги и косяки с дровами. Но, даже с её недостатками, не променяю её
  10. Как вариант, можно сделать костыль. Сделайте классовые скиллы каждой рассе/классу, которые будут выравнивать характеристики
  11. В свое время разрабатывали мод по типу ГВЕ с подобной штукой на одной приватной сборке ХФ там статы были в xml файлах. Но так же присутствовала таблица с характеристиками, неактивная. Может у вас такая же ситуация. Либо "особенность" сборки.
  12. †DeMoN†™

    pw статистика

    Ещё в далёком 2к11 году обходились без исходников. А вы всё ещё над ними трясётесь. А по теме: 1. Берем декомпилятор (в те времена был крут JD-GUI, в нынешних реалиях уже не в курсе) 2. Декомпилим 3. Убираем ненужное 4. Правим косяки декомпила (ОПЦИОНАЛЬНО, если оные появились) 5. Компилим класс с указанием патча на изначальную либу 6. PROFIT.
  13. На некоторых сборках есть псевдо веб-сервер через протокол RPC. Хорошее решение в сочетании с кешем. Возможно и у вас такой есть. Либо подключить доп. библиотекой.
  14. Насколько помню, в л2 используется BGR формат цвета, в HTML - RGB. У вас в скрипте он устанавливается напрямую, преобразования там не увидел. Поменяйте 1-2 и 4-6 части кода цвета местами. А вообще, у РТ помню был хороший чейнджер с кучей цветов, но он там вроде генерацией в цикле делался.
  15. Просмотр файла aCis 371 Build, Source, Diff Changeset 371 (821) Datatype reorganization, Skill stuff, Misc Datatype reorganization - MapRegionTable > MapRegionData - Javadoc, extends XMLDocument, moved to data.xml, edit for mapRegions.xml. Drop useless methods. - PlayerNameTable > PlayerInfoTable - Javadoc, moved to data.sql, DataHolder > PlayerInfo. - DoorTable > DoorData - Javadoc, extends XMLDocument, moved to data.xml, StatsSet reuse, writting style. - RecipeTable > RecipeData - Javadoc, extends XMLDocument, moved to data.xml, StatsSet used for Recipe, RecipeList > Recipe. Extract RecipeItemMaker from RecipeData, and create model.craft package to store it. - The data is reparsed using L2OFF data. - Fix an issue with recipe name when destroying such recipe from book (was the case for Orcish Poleaxe for example). - Rework character_recipebook table, dropping one column. Datatypes are tweaked. - Fix an issue on complete recipe book destroy ; the deleted stuff wasn't saved on database. - Rework RecipeBookItemList packet. Add a missing use of it on Recipes itemhandler (refresh book or open it on recipe addition). - CharTemplateTable > PlayerData - Skill trees are now stored directly into player templates under a List, rather than SkillTreeTable. Most methods are moved into Player, since its a generic needed parameter. - We don't store anymore Item template list (for character creation items generation), but int array (since storing Item templates was pointless and not even used correctly). - All methods got a "single" and "all" versions to avoid to loop for nothing on all skills. - SkillTreeTable > SkillTreeData - Rework all skills holders, and move them on model.skillnode - All methods got a "single" and "all" versions to avoid to loop for nothing on all skills. - BufferTable > BufferManager - Use XMLDocument, move to data package, rename/cleanup. Data is edited to reflect changes. - Add an integrity check for available skills on player schemes loading to avoid NPE. Ty katara. Skill stuff - Drop getSkillLearningClassId / setSkillLearningClassId concept. - Drop _expertiseIndex. It is now directly calculated from skill 239 level, and can be found using getSkillLevel(). - Rework subclass skills addition. We only storeSkill the final List, leading to a massive drop of mid-operations. Ty vladalien for the initial workbench. - Cleanup removeSkill() / storeSkill(). - autoGet skills are handled by PlayerTemplate data (skills with getSpCost == 0), the stuff isn't hardcoded anymore. - getSkillLevel returns 0 instead of -1 if no skill is found, making checks easier to write. - hasSkill is used instead of getSkillLevel when skill existence is needed, but we don't specifically need the level. - Skill enchantable routes now handle level 79 and 80. Each route can be manually edited. - Fix a visual issue about shortcut refresh on failed enchant skill. Misc - Drop RATE_CONSUMABLE_COST && ALT_GAME_SHIELD_BLOCKS configs. Rename some players.properties configs. - Addition of StatsSet getIntIntHolder, getIntIntHolderList && getDoubleArray. - Fix an issue using a toggle when you run to a target with ATTACK intention. Ty Sahar. - getCurrentFolkNPC() -> getCurrentFolk(). The value retained is now a Folk, not a Npc. - Fix an issue on RequestAnswerJoinAlly introduced on rev 366, ty sahar. - Region size decreases from 4096 to 2048 (x4 WorldRegion amount, vision is reduced from 6k to 3k max). It now fits retail knownlist range. - Fist Weapon is moved from Player to PlayerTemplate (no calculation needed anymore on player login). - Formatting rule for lambdas && try-with-ressources. Use lambda writting style for all Runnable. - Cleanup L2Request > Request, keep a reference of the task to cancel it on onRequestResponse(). - RequestRestartPoint doesn't use anymore a Runnable for instant use. - Drop door onEvtAttacked behavior, which was adding a ridiculous amount of operations for nothing. - RequestCrystallizeItem packet is cleaned up (avoid getItemByObjectId x2, World.getInstance().removeObject is already handled). Добавил †DeMoN†™ Добавлено 05.12.2017 Категория Исходники серверов Автор Tryskell Хроники Interlude  
  16. 156 раз скачали

    Changeset 371 (821) Datatype reorganization, Skill stuff, Misc Datatype reorganization - MapRegionTable > MapRegionData - Javadoc, extends XMLDocument, moved to data.xml, edit for mapRegions.xml. Drop useless methods. - PlayerNameTable > PlayerInfoTable - Javadoc, moved to data.sql, DataHolder > PlayerInfo. - DoorTable > DoorData - Javadoc, extends XMLDocument, moved to data.xml, StatsSet reuse, writting style. - RecipeTable > RecipeData - Javadoc, extends XMLDocument, moved to data.xml, StatsSet used for Recipe, RecipeList > Recipe. Extract RecipeItemMaker from RecipeData, and create model.craft package to store it. - The data is reparsed using L2OFF data. - Fix an issue with recipe name when destroying such recipe from book (was the case for Orcish Poleaxe for example). - Rework character_recipebook table, dropping one column. Datatypes are tweaked. - Fix an issue on complete recipe book destroy ; the deleted stuff wasn't saved on database. - Rework RecipeBookItemList packet. Add a missing use of it on Recipes itemhandler (refresh book or open it on recipe addition). - CharTemplateTable > PlayerData - Skill trees are now stored directly into player templates under a List, rather than SkillTreeTable. Most methods are moved into Player, since its a generic needed parameter. - We don't store anymore Item template list (for character creation items generation), but int array (since storing Item templates was pointless and not even used correctly). - All methods got a "single" and "all" versions to avoid to loop for nothing on all skills. - SkillTreeTable > SkillTreeData - Rework all skills holders, and move them on model.skillnode - All methods got a "single" and "all" versions to avoid to loop for nothing on all skills. - BufferTable > BufferManager - Use XMLDocument, move to data package, rename/cleanup. Data is edited to reflect changes. - Add an integrity check for available skills on player schemes loading to avoid NPE. Ty katara. Skill stuff - Drop getSkillLearningClassId / setSkillLearningClassId concept. - Drop _expertiseIndex. It is now directly calculated from skill 239 level, and can be found using getSkillLevel(). - Rework subclass skills addition. We only storeSkill the final List, leading to a massive drop of mid-operations. Ty vladalien for the initial workbench. - Cleanup removeSkill() / storeSkill(). - autoGet skills are handled by PlayerTemplate data (skills with getSpCost == 0), the stuff isn't hardcoded anymore. - getSkillLevel returns 0 instead of -1 if no skill is found, making checks easier to write. - hasSkill is used instead of getSkillLevel when skill existence is needed, but we don't specifically need the level. - Skill enchantable routes now handle level 79 and 80. Each route can be manually edited. - Fix a visual issue about shortcut refresh on failed enchant skill. Misc - Drop RATE_CONSUMABLE_COST && ALT_GAME_SHIELD_BLOCKS configs. Rename some players.properties configs. - Addition of StatsSet getIntIntHolder, getIntIntHolderList && getDoubleArray. - Fix an issue using a toggle when you run to a target with ATTACK intention. Ty Sahar. - getCurrentFolkNPC() -> getCurrentFolk(). The value retained is now a Folk, not a Npc. - Fix an issue on RequestAnswerJoinAlly introduced on rev 366, ty sahar. - Region size decreases from 4096 to 2048 (x4 WorldRegion amount, vision is reduced from 6k to 3k max). It now fits retail knownlist range. - Fist Weapon is moved from Player to PlayerTemplate (no calculation needed anymore on player login). - Formatting rule for lambdas && try-with-ressources. Use lambda writting style for all Runnable. - Cleanup L2Request > Request, keep a reference of the task to cancel it on onRequestResponse(). - RequestRestartPoint doesn't use anymore a Runnable for instant use. - Drop door onEvtAttacked behavior, which was adding a ridiculous amount of operations for nothing. - RequestCrystallizeItem packet is cleaned up (avoid getItemByObjectId x2, World.getInstance().removeObject is already handled).

    Бесплатный

  17. Название: aCis 370 Build, Source, Diff Добавил: †DeMoN†™ Добавлен: 16 Oct 2017 Категория: Исходники серверов Автор: Tryskell Хроники: Interlude Changeset 370 (782) Datatype reorganization, Summon stuff, Skills edit, Revert, Misc Datatype reorganization - Creation of model.pledge package. Move ClanInfo, Clan (renamed from L2Clan) and ClanMember (renamed from L2ClanMember). Move ClanTable with really light edit to data.sql package. - Cleanup the Javadoc on all Table/Data types which have been already cleaned up. In the future, I will try to keep using {@link}, which I find useful. - BuyListTable > BuyListManager - Creation of BuyListTaskManager, a global task for all Products (avoid 1500+ running tasks, if all Products are under restock timer). - Javadoc + Reorganization (use of XMLDocument, Product uses a StatsSet, writting style, etc). - SQL data is removed on restock timer completion, not simply saved with 0 lenght. - decreaseCount result impacts on task schedule (negative result = no task launched). - NpcWalkerRoutesTable > WalkerRouteData - npcwalker_routes.xml > walkerRoutes.xml. The content is edited, to put content of a node on a single line. - Extends XMLDocument, proper Javadoc. - WalkerAI is fully rewrote to use generic AI logic (MOVE_TO intention, then we use onEvtArrived() to call the next point). - L2NpcWalkerNode > WalkerLocation, cleanup and extends Location (which is handy). - Addition of WalkerTaskManager, a global task handling WalkerNode delays. - Location - Location and all classes extending Location are moved to model.location package. - VehiclePathPoint > VehicleLocation, TowerSpawn > TowerSpawnLocation and both now extends (Spawn)Location. Summon stuff - The attack stance is activated even when a player hits the summon (not only Attackable). Attack stance doesn't work for Folk only. - Avoid behavior is reworked and implemented in an elegant and retail way. Ty RooT/Enyrgus for tests. - PetStatus is dropped (unused). - Summon attack damage is correctly shown (different messages for Pet/Servitor). Hitting a summon also fires the EVT_ATTACKED event. Skills edit - ty Sahar - Angelic Icon duration decreased from 120 seconds to 60 seconds. It has cAtk instead of cAtkAdd effect. - Archery range bonus reduced from 300 to 100. - Force Barrier reuse delay increased from 10 minutes to 15 minutes. - Mirage reuse delay increased from 5 minutes to 10 minutes. - Honor of Pa'agrio skill radius increased from 400 to 900. - Vortexes now use multi_debuff stackType instead of multi_debuff_x. - Chant of Victory stackOrder changed from 1 to 2. - Victories of Pa'agrio stackOrder changed from 1 to 2. - Whiplash reuse delay increased from 8 seconds to 30 seconds. - Tidal Wave power decreased from 228 to 81. - Salvation duration increased from 20 minutes to 1 hour. - Added missing SA effects to Shining Bows. - Blinding Blow lethal1 chance reduced from 5 to 4. - Blinding Blow lethal2 chance reduced from 2 to 0-1 (depending on skill level). - Hotfix for EffectBluff. Revert parts of rev 361 (changeset 562): - Toggle can be used while attacking. - You don't stop moving if skill is under reuse and you try to use it. Misc - Register a missing admin command, admin_knownlist_page. No clue why it was missing the whole time. - Delete admin_mons, which was MDT launch admincommand (no use). - Rework PlaySound packet, listing correct parameters and introduce new constructors (notably one with WorldObject). Ty RooT. - Fix the stuck behavior after requesting a movement when you're actually isMovementDisabled(). Ty Ipotonic. Нажмите здесь, чтобы скачать файл
  18. 431 раз скачали

    Changeset 370 (782) Datatype reorganization, Summon stuff, Skills edit, Revert, Misc Datatype reorganization - Creation of model.pledge package. Move ClanInfo, Clan (renamed from L2Clan) and ClanMember (renamed from L2ClanMember). Move ClanTable with really light edit to data.sql package. - Cleanup the Javadoc on all Table/Data types which have been already cleaned up. In the future, I will try to keep using {@link}, which I find useful. - BuyListTable > BuyListManager - Creation of BuyListTaskManager, a global task for all Products (avoid 1500+ running tasks, if all Products are under restock timer). - Javadoc + Reorganization (use of XMLDocument, Product uses a StatsSet, writting style, etc). - SQL data is removed on restock timer completion, not simply saved with 0 lenght. - decreaseCount result impacts on task schedule (negative result = no task launched). - NpcWalkerRoutesTable > WalkerRouteData - npcwalker_routes.xml > walkerRoutes.xml. The content is edited, to put content of a node on a single line. - Extends XMLDocument, proper Javadoc. - WalkerAI is fully rewrote to use generic AI logic (MOVE_TO intention, then we use onEvtArrived() to call the next point). - L2NpcWalkerNode > WalkerLocation, cleanup and extends Location (which is handy). - Addition of WalkerTaskManager, a global task handling WalkerNode delays. - Location - Location and all classes extending Location are moved to model.location package. - VehiclePathPoint > VehicleLocation, TowerSpawn > TowerSpawnLocation and both now extends (Spawn)Location. Summon stuff - The attack stance is activated even when a player hits the summon (not only Attackable). Attack stance doesn't work for Folk only. - Avoid behavior is reworked and implemented in an elegant and retail way. Ty RooT/Enyrgus for tests. - PetStatus is dropped (unused). - Summon attack damage is correctly shown (different messages for Pet/Servitor). Hitting a summon also fires the EVT_ATTACKED event. Skills edit - ty Sahar - Angelic Icon duration decreased from 120 seconds to 60 seconds. It has cAtk instead of cAtkAdd effect. - Archery range bonus reduced from 300 to 100. - Force Barrier reuse delay increased from 10 minutes to 15 minutes. - Mirage reuse delay increased from 5 minutes to 10 minutes. - Honor of Pa'agrio skill radius increased from 400 to 900. - Vortexes now use multi_debuff stackType instead of multi_debuff_x. - Chant of Victory stackOrder changed from 1 to 2. - Victories of Pa'agrio stackOrder changed from 1 to 2. - Whiplash reuse delay increased from 8 seconds to 30 seconds. - Tidal Wave power decreased from 228 to 81. - Salvation duration increased from 20 minutes to 1 hour. - Added missing SA effects to Shining Bows. - Blinding Blow lethal1 chance reduced from 5 to 4. - Blinding Blow lethal2 chance reduced from 2 to 0-1 (depending on skill level). - Hotfix for EffectBluff. Revert parts of rev 361 (changeset 562): - Toggle can be used while attacking. - You don't stop moving if skill is under reuse and you try to use it. Misc - Register a missing admin command, admin_knownlist_page. No clue why it was missing the whole time. - Delete admin_mons, which was MDT launch admincommand (no use). - Rework PlaySound packet, listing correct parameters and introduce new constructors (notably one with WorldObject). Ty RooT. - Fix the stuck behavior after requesting a movement when you're actually isMovementDisabled(). Ty Ipotonic.

    Бесплатный

  19. Название: aCis 369 Build, Source, Diff Добавил: †DeMoN†™ Добавлен: 12 Aug 2017 Категория: Исходники серверов Автор: Tryskell Хроники: Interlude Changeset 369 (762) Datatype reorganization, HTMs / NPCs behavior, Misc Datatype reorganization - "datatables" package is renamed "data". Creation of subpackages "xml", "sql" && "manager" inside it. - All tables are renamed/cleaned up - XML loading/storing data ends with "Data". - SQL loading/storing data keeps old "Table" denomination. - Tables using both types (xml/sql) or temporary data (such as fences) are stored as "Manager". - All XMLs are renamed and edited to follow new conventions. - XMLDocumentFactory is replace by XMLDocument, a light abstract layer enforcing writting style (parseDocument, loadDocument, load). - Biggest edits are following : AccessLevels / AdminCommandAccessRight / GmListTable > AdminData - AccessLevel uses a StatsSet to feed data, AdminCommandAccessRight model is entirely dropped. - All "datatables" are merged under AdminData. - All ranks are provided inside the XML (no more hardcoded rank). XML format has been modified. - Child access has been simplified (a unique child, instead of a array). - Default max rank is now 8, commands are set to 7 (Admin rank) ; all associated configs have been dropped. Colors have been edited to be unique (SweeTs will do a good Support GM ! :kappapride:) - A new Config has been added, DefaultAccessLevel, allowing you to set a unique access level to everyone (before, that config was a boolean and could only reward Master rank). - //reload acar is edited for //reload admin, which reloads accesses in same time than commands rights. TeleportLocationTable > TeleportLocationData - TeleportLocation is edited : drop L2 prefix, use a StatsSet to feed infos and extends Location. It doesn't hold anymore id (can be retrieved using the Map). FishTable > FishData - FishData is renamed Fish, while FishTable is renamed FishData. Use a StatsSet. XML edited. SoulCrystalsTable > SoulCrystalData - SoulCrystalData is renamed SoulCrystal, while SoulCrystalsTable is renamed SoulCrystalData. - Rework successs/fail rates using L2OFF, all chances are now using a base 1000 instead of 100. Ty Marcatu. - Data formatting has been edited. StaticObjects > StaticObjectData - System uses a getInstance(), like his brothers. - Store content back in a public List. HennaTable > HennaData - Edit XML name/parameters. - Handle getAvailableHennasFor/canBeUsedBy (previously getAvailableHenna/isForThisClass) differently (no more _hennaTrees). - Move the parsing from Characters to Items tab on server loading. - Cleanup + Javadoc. getAmountDyeRequire() > getRequiredDyeAmount() - still static. HelperBuffTable > NewbieBuffData - Edit XML and classes names (NewbieBuff, NewbieBuffData, newbieBuffs.xml). HTMs / NPCs behavior - Karma players can't speak to NPC anymore (default behavior). They STILL can speak when such NPC doesn't have an associated -pk HTM. - Add and fix all merchant HTMs (addition of all -pk, -bought, -sold, -empty : something like 300 HTMs). Implemented -empty (when your inventory is empty) and -bought (you just bought an item from a merchant). - Fix fisherman -sold behavior (was implemented but dysfunctional). - Addition of npcId 31075 HTMs and 5 buylists related to that NPC. Folk > Merchant edition. - Toma (the guard) got its real name, Thoma, set on XML. Misc - Edit respawn delay / respawn random formulas to avoid warning messages. - Rework the Optional uses for better performance, ty Sdw to pointing it out. - You can't pickup or use Intention.PICKUP during an attack. Ty IpotoniC. - Fix NPE on checkSide / checkSides. - Drop fake skills integrity checks. Ty Copyleft. - Fix ItemFilter, due to previous logger refactor. Ty Mellion. - Fix tax rate on multisell system. Ty vampir. - Fix a HTM typo on Q105. Ty Ipotonic. - Merge ALT_PARTY_RANGE && ALT_PARTY_RANGE2 configs for PARTY_RANGE. Value is set to 1500 by default (like all checks found on L2OFF AI scripts). - Addition of StatsSet.getDoubleArray. - Hotfix for skills resistance calculation. Ty Erlandys. Examples of skills calculation, before / after. The point is, the accumulation of different similar effects don't impact as much as before (not proportional anymore, follow what could be called a logarithmic curve : "more you got, less you get"). Sleep effect : NM Set : 16.85% / 16.31% - : 54.91% / 54.37% Mental shield : 27.73% / 27.18% NM Set + Mental shield : 1% / 8.16% Fire damage : Elemental resist (20) : 566 / 566 surrender fire (-30) : 920 / 1011 - : 707 surrender fire + elemental resist (-10) : 778 / 808 resist fire + elemental resist (+50) : 353 / 396 valakas passive resist + resist fire + elemental resist (+65) : 240 / 327 PS : most of this patch is part 1 of... 3-4. It's simply too long to make all changes in a single revision. Probably the SpawnManager will be delayed to, at least, the end of the cycle. Нажмите здесь, чтобы скачать файл
  20. Название: aCis 368 Build, Source, Diff Добавил: †DeMoN†™ Добавлен: 12 Aug 2017 Категория: Исходники серверов Автор: Tryskell Хроники: Interlude Changeset 368 (712) Chamberlain Manor's Certificates feature, Cleanup Config, Login, MMOCore, Instance rename && reorganization part II, Logging rework, Misc Chamberlain Manor's Certificates - Implement a missing castle chamberlain feature, the possibility to buy Manor's Certificates. HTMs and behavior is OFF-like. - Added "//reset_certificates castleName" admincommand. Integrate it on the castle panel (had to reorganize it a little). Cleanup Config - Drop DATABASE_MAX_IDLE_TIME time (set to 0 by default). - Re-order login/server .properties - Drop ACCEPT_ALTERNATE_ID / REQUEST_ID from login on Config.java (weren't existing on .properties, not used by login) Login - Drop external/internal hostnames system ; only one hostname is allowed. - LoginServerThread cleanup : - Drop _waitingClients (synchronized, check logic already handled by the other CHMap). - Drop some variables (7 were calling Config), some unused methods. Some rename are made. - Move some of the security check logic here and there to make it cleaner. - ServerStatus content is reorganized in both LS and GS sides. Addition of age limit / pvp server tags. - FloodProtectedListener connections are registered on a ConcurrentHashMap. - Creation of ServerData class (was part of ServerList packet). Cleanup of ServerList for easier proxy handler implementation. - Creation of GameServerInfo class (was part of GameServerTable). MMOCore - Avoid to crash on packet read buffer underflow (client connection is dropped instead). - Tweak MMOCore values to process packets x4 faster (5k packets = from 16s to 4s). - Tweak CLIENT_PACKET_QUEUE_MAX_PACKETS_PER_SECOND && CLIENT_PACKET_QUEUE_MAX_AVERAGE_PACKETS_PER_SECOND default values (x2 now). Instance rename && reorganization part II - L2Object is renamed WorldObject. - Character (previously L2Character) is renamed Creature due to class already defined on JDK (and making imports complicated). - AI models are renamed to fit with new naming convention (PlayerAI, PlayableAI, CreatureAI, etc). - The package gameserver.ai is now moved on gameserver.model.actor.ai (best location). ai.model is renamed ai.type (because gameserver.model.actor.ai.model was redundant). - Templates, Stat && Status models are renamed to fit with new naming convention. Logging rework - log.cfg is renamed logging.properties. - Drop 'audit' layer && associated IllegalPlayerAction system (all punishements are deleted, DefaultPunish && DefaultPunishParam configs are dropped). Reason : that's the point you write integrity checks. - Drop GMAudit, uses the default formatter/handler/filter (all GMs are written on the same file). - Whole logging system is moved into commons. Create 'filter', 'formatter' && 'handler' packages on log. Rename package 'log' to 'logging'. - All handlers got a limit and a count to avoid to flood server with logs. The log limit is set to 1mo instead of 500ko. The count is setted to 5 files. - All logs are now moved in their own folders (those folders are created by default). - Logs name pattern has been edited (typeName_count.txt), the extension is now .txt. - All formatters are based on same writting style. Misc - Merge math methods from Util with MathUtil. Delete Util. - banned_ip.cfg is renamed banned_ips.properties. - FloodProtectors class is moved from gameserver.util to gameserver.network. - Addition of SysUtil, holding system related methods. - L2Bookmark > Bookmark + basic cleanup of BookmarkTable. - Minor cleanup of GameServer and L2LoginServer (don't keep references when not needed, drop of "L2" > LoginServer). - MinionList cleanup, replace the CopyOnWriteArrayList (poor performance). - Minor cleanup of RaidBoss (drop a double isMovementDisabled() check). - Fix a typo error on query prior to sieges rework, ty HaddWik for report. Minor Siege class cleanup. - SevenSigns minor cleanup (drop 3 redundant static variables and one method). - Slight cleanup of RecipeShopSellList packet (avoid .get on a for loop). - villagemaster/30594.htm edit. PS: if you got better log writting style, I would eventually integrate it. PS2: build.xml is edited, some .properties are edited. Нажмите здесь, чтобы скачать файл
  21. Название: aCis 367 Build, Source, Diff Добавил: †DeMoN†™ Добавлен: 12 Aug 2017 Категория: Исходники серверов Автор: Tryskell Хроники: Interlude Changeset 367 (668) Reorganization ! You will hate me. Edit all instance types. All instances types are shortcuted as following : L2PetInstance > Pet (remove "L2" and "Instance" from naming convention, to shortcut checks and writing style). Mother classes simply lose the "L2" prefix (L2Attackable, L2Character, L2Playable,...). The previous rule doesn't apply exactly on following cases : - L2BufferInstance > SchemeBuffer (fits better with the role). - L2PcInstance > Player (I guess Pc stands for 'player character', so make it more intuitive). - L2SummonInstance > Servitor (to avoid confusion between L2Summon and L2SummonInstance ; the first being mother class of all summons and second being summoners servitors). - L2XMassTreeInstance > ChristmasTree (because we aren't #1337 #YOLO #Swag #doge). - L2WarehouseInstance > WarehouseKeeper (conflict with Warehouse, part of Inventory). - L2CastleWarehouseInstance > CastleWarehouseKeeper (to fit with above). - L2CabaleBufferInstance > CabalBuffer (cabal in english, not cabale). - L2ArtefactInstance > HolyThing (L2OFF naming). - L2ObservationInstance > BroadcastingTower (more proper name). - L2NpcInstance > Folk (because those are considered as non attackable targets). - L2MutedNpcInstance > MutedFolk (because they are based on Folk). - L2FriendlyMobInstance > FriendlyMonster (Monster not Mob). - L2NpcWalkerInstance > Walker (drop of Npc). - L2TeleporterInstance > Gatekeeper (fits better with the role). - L2DoormenInstance > Doorman (not plural). - L2CastleDoormenInstance > CastleDoorman (not plural). - L2ClanHallDoormenInstance > ClanHallDoorman (not plural). - L2GoldenRamInstance > GoldenRamMercenary (more informative). - L2CastleTeleporterInstance > CastleGatekeeper. - All "Manager" ending NPC types are followed by "Npc" to avoid any conflict with instancemanager (ex : L2ClanHallManagerInstance > ClanHallManagerNpc), even if there isn't any conflict (just respect same rule everytime). - Rename StaticObject serverpacket to StaticObjectInfo (after all we got CharInfo, PetInfo, UserInfo,...), to avoid conflict with StaticObject instance type. Misc - Fix //removecastle admincommand (owner was still listed). - Fix Christmas Trees (and cleanup the instance). Ty Azik for report. - Deletion of GNU headers. Reasons : - aCis uses its own licence. - There is more licence than actual code characters in 80% of classes (notably packets). - Faster search tool, lighweight-ier sources when distributed. - Edit of licence.htm with latest aCis ToA. PS : Since it's a complete mess, I will share, exceptionally, the complete pack on rev 367. For people who already owns a server, may Elmoroden gods pity you. I'm the best troll ever. Нажмите здесь, чтобы скачать файл
  22. Название: aCis 366 Build, Source, Diff Добавил: †DeMoN†™ Добавлен: 12 Aug 2017 Категория: Исходники серверов Автор: Tryskell Хроники: Interlude Changeset 366 (664) Castle, Siege part II, ZoneManager / zones, Clans, Misc Castle - Rename _zone > _siegeZone (getter included). - Move zones attributions to entity creation (instead of getters). Siege part II - Due to following ZoneManager and zones rework, we now support : - PKs are ported in the vicinity of second closest town (and not inside). - banished players are ported in the vicinity of the castle (and not on closest town). - Cleanup L2SiegeFlagInstance, it works even if clan parameter is broken. - Cleanup loadSiegeClan() uses, which were called on numerous useless places (called on startSiege(), approveSiegeDefenderClan(), removeSiegeClan(), startAutoTask()). - On castle siege end, if your clan is victorious versus former clan, you gain static 1K CRP instead of calculated amount based on former clan CRPs. - All CastleManager.getInstance().getCastle(player) used to only retrieve an ACTIVE siege are now replaced by CastleManager.getInstance().getSiege(player), as it is shorter and cleaner. - Drop SiegeClan layer. Siege flag is now registered on L2Clan. - Creation of SiegeSide enum. Store it under String format rather than int (similar to CabalType, SealType, etc). - CopyOnWriteArrayLists about attackers / defenders / pending defenders are replaced by a single ConcurrentHashMap (better performance and avoid heavy lists manipulations). - Creation of checkSide(L2Clan), checkSide(L2Clan, SiegeSide), checkSides(L2Clan, SiegeSide...) methods, which is now the center of sides checks (instead of getAttackerClan / getDefenderClan). - Drop the possiblity for a clan to hold numerous headquarters flags (it was producing a IOOBE when the first flag of the list was destroyed anyway). - L2Clan.isRegisteredOnSiege() method simply checks memory content rather than making a SQL query. - Fix following checks : - dissolve alliance now checks if ANY allied clans is registered on a active siege (before was only checking your clan status). - create alliance now checks if your clan is registered into an ACTIVE siege (avoid to stuck creation if you're castle lord). - join alliance now checks if the invited clan is registered as an opposite clan, on any active siege. The previous check checking both characters are on siege zone is dropped (pointless). ZoneManager / zones - Little cleanup of ZoneManager (drop of getArena(L2PcInstance), getOlympiadStadium(L2PcInstance), checkId(int) and getClosestZone(L2Object, Class<T>) methods). - L2SiegeZone zones are now considered L2SpawnZone, and hold following L2OFF lists : other_restart_village_list && chao_restart_point_list. Drop the isGM() exception from banishForeigners. Zones shape match with retail values. - L2CastleZone zones now hold banish_point_list. chao_restart_point_list is moved to L2SiegeZone, but still hold owner_restart_point_list. We drop _castle variable, which is pointless. Zones shape match with retail values. - L2CastleTeleportZone cleanup (isOnline() check is wrong, it basically means a offline shop can stay here). - L2ZoneType _characterList is edited from CopyOnWriteArrayList to ConcurrentHashMap (performance boost). The class is cleaned up (javadocs, comments, organization). - ZoneManager _debugItems is edited from List to ConcurrentHashMap (performance boost). - L2DynamicZone is deleted (no purpose). - //zone_visual adena drop count reflects zone id (for an instant overview). Their step spawn is also cutted by 2.5 (from 20 to 50) to faster the generation process. Clans - clans are registered into a ConcurrentHashMap to avoid ConcurrentException. Drop synchronized keywords. getClans() returns a Collection instead of array. - destroyClan() is reworked ; parameter is now a L2Clan, the clan is removed of ANY siege (before : only if you had a castle) - getClanAllies() returns a Collections.emptyList() if no alliance is found. - checkAllyJoinCondition is now static (as variables are setted up as parameters). Misc - RequestRestartPoint packet is cleaned up, jail location is now static. - Drop ALT_GAME_FREE_TELEPORT config, as HTMs can't scale with that config (were still displaying adena cost). - Fix L2TeleportLocation isForNoble() item consumption, ty Heinsenberg. - Fix skillId 1402 enchantlevel, ty Anarchy. - Fix TownPet instance task. Ty TreasureHuman for report. - Fix the merchant NPE due to Castle rework. - Random cleanup - MapRegionTable.getTeleToLocation renamed getLocationToTeleport (english plz). Method is cleaned up, MDT location is now static. - FIXED revive option uses player.getPosition() rather than generating a new Location object based on x/y/z. - RequestAnswerJoinAlly packet is secured (transaction is correctly cleaned up). PS : due to Sieges part II, sieges_clans is edited. I invite you to either drop the whole table and add the new one asking your players to register anew on sieges (castle owners are automatically registered), or you can query it to edit all int values to String values. Нажмите здесь, чтобы скачать файл
  23. 477 раз скачали

    Changeset 369 (762) Datatype reorganization, HTMs / NPCs behavior, Misc Datatype reorganization - "datatables" package is renamed "data". Creation of subpackages "xml", "sql" && "manager" inside it. - All tables are renamed/cleaned up - XML loading/storing data ends with "Data". - SQL loading/storing data keeps old "Table" denomination. - Tables using both types (xml/sql) or temporary data (such as fences) are stored as "Manager". - All XMLs are renamed and edited to follow new conventions. - XMLDocumentFactory is replace by XMLDocument, a light abstract layer enforcing writting style (parseDocument, loadDocument, load). - Biggest edits are following : AccessLevels / AdminCommandAccessRight / GmListTable > AdminData - AccessLevel uses a StatsSet to feed data, AdminCommandAccessRight model is entirely dropped. - All "datatables" are merged under AdminData. - All ranks are provided inside the XML (no more hardcoded rank). XML format has been modified. - Child access has been simplified (a unique child, instead of a array). - Default max rank is now 8, commands are set to 7 (Admin rank) ; all associated configs have been dropped. Colors have been edited to be unique (SweeTs will do a good Support GM ! :kappapride:) - A new Config has been added, DefaultAccessLevel, allowing you to set a unique access level to everyone (before, that config was a boolean and could only reward Master rank). - //reload acar is edited for //reload admin, which reloads accesses in same time than commands rights. TeleportLocationTable > TeleportLocationData - TeleportLocation is edited : drop L2 prefix, use a StatsSet to feed infos and extends Location. It doesn't hold anymore id (can be retrieved using the Map). FishTable > FishData - FishData is renamed Fish, while FishTable is renamed FishData. Use a StatsSet. XML edited. SoulCrystalsTable > SoulCrystalData - SoulCrystalData is renamed SoulCrystal, while SoulCrystalsTable is renamed SoulCrystalData. - Rework successs/fail rates using L2OFF, all chances are now using a base 1000 instead of 100. Ty Marcatu. - Data formatting has been edited. StaticObjects > StaticObjectData - System uses a getInstance(), like his brothers. - Store content back in a public List. HennaTable > HennaData - Edit XML name/parameters. - Handle getAvailableHennasFor/canBeUsedBy (previously getAvailableHenna/isForThisClass) differently (no more _hennaTrees). - Move the parsing from Characters to Items tab on server loading. - Cleanup + Javadoc. getAmountDyeRequire() > getRequiredDyeAmount() - still static. HelperBuffTable > NewbieBuffData - Edit XML and classes names (NewbieBuff, NewbieBuffData, newbieBuffs.xml). HTMs / NPCs behavior - Karma players can't speak to NPC anymore (default behavior). They STILL can speak when such NPC doesn't have an associated -pk HTM. - Add and fix all merchant HTMs (addition of all -pk, -bought, -sold, -empty : something like 300 HTMs). Implemented -empty (when your inventory is empty) and -bought (you just bought an item from a merchant). - Fix fisherman -sold behavior (was implemented but dysfunctional). - Addition of npcId 31075 HTMs and 5 buylists related to that NPC. Folk > Merchant edition. - Toma (the guard) got its real name, Thoma, set on XML. Misc - Edit respawn delay / respawn random formulas to avoid warning messages. - Rework the Optional uses for better performance, ty Sdw to pointing it out. - You can't pickup or use Intention.PICKUP during an attack. Ty IpotoniC. - Fix NPE on checkSide / checkSides. - Drop fake skills integrity checks. Ty Copyleft. - Fix ItemFilter, due to previous logger refactor. Ty Mellion. - Fix tax rate on multisell system. Ty vampir. - Fix a HTM typo on Q105. Ty Ipotonic. - Merge ALT_PARTY_RANGE && ALT_PARTY_RANGE2 configs for PARTY_RANGE. Value is set to 1500 by default (like all checks found on L2OFF AI scripts). - Addition of StatsSet.getDoubleArray. - Hotfix for skills resistance calculation. Ty Erlandys. Examples of skills calculation, before / after. The point is, the accumulation of different similar effects don't impact as much as before (not proportional anymore, follow what could be called a logarithmic curve : "more you got, less you get"). Sleep effect : NM Set : 16.85% / 16.31% - : 54.91% / 54.37% Mental shield : 27.73% / 27.18% NM Set + Mental shield : 1% / 8.16% Fire damage : Elemental resist (20) : 566 / 566 surrender fire (-30) : 920 / 1011 - : 707 surrender fire + elemental resist (-10) : 778 / 808 resist fire + elemental resist (+50) : 353 / 396 valakas passive resist + resist fire + elemental resist (+65) : 240 / 327 PS : most of this patch is part 1 of... 3-4. It's simply too long to make all changes in a single revision. Probably the SpawnManager will be delayed to, at least, the end of the cycle.

    Бесплатный

  24. 167 раз скачали

    Changeset 368 (712) Chamberlain Manor's Certificates feature, Cleanup Config, Login, MMOCore, Instance rename && reorganization part II, Logging rework, Misc Chamberlain Manor's Certificates - Implement a missing castle chamberlain feature, the possibility to buy Manor's Certificates. HTMs and behavior is OFF-like. - Added "//reset_certificates castleName" admincommand. Integrate it on the castle panel (had to reorganize it a little). Cleanup Config - Drop DATABASE_MAX_IDLE_TIME time (set to 0 by default). - Re-order login/server .properties - Drop ACCEPT_ALTERNATE_ID / REQUEST_ID from login on Config.java (weren't existing on .properties, not used by login) Login - Drop external/internal hostnames system ; only one hostname is allowed. - LoginServerThread cleanup : - Drop _waitingClients (synchronized, check logic already handled by the other CHMap). - Drop some variables (7 were calling Config), some unused methods. Some rename are made. - Move some of the security check logic here and there to make it cleaner. - ServerStatus content is reorganized in both LS and GS sides. Addition of age limit / pvp server tags. - FloodProtectedListener connections are registered on a ConcurrentHashMap. - Creation of ServerData class (was part of ServerList packet). Cleanup of ServerList for easier proxy handler implementation. - Creation of GameServerInfo class (was part of GameServerTable). MMOCore - Avoid to crash on packet read buffer underflow (client connection is dropped instead). - Tweak MMOCore values to process packets x4 faster (5k packets = from 16s to 4s). - Tweak CLIENT_PACKET_QUEUE_MAX_PACKETS_PER_SECOND && CLIENT_PACKET_QUEUE_MAX_AVERAGE_PACKETS_PER_SECOND default values (x2 now). Instance rename && reorganization part II - L2Object is renamed WorldObject. - Character (previously L2Character) is renamed Creature due to class already defined on JDK (and making imports complicated). - AI models are renamed to fit with new naming convention (PlayerAI, PlayableAI, CreatureAI, etc). - The package gameserver.ai is now moved on gameserver.model.actor.ai (best location). ai.model is renamed ai.type (because gameserver.model.actor.ai.model was redundant). - Templates, Stat && Status models are renamed to fit with new naming convention. Logging rework - log.cfg is renamed logging.properties. - Drop 'audit' layer && associated IllegalPlayerAction system (all punishements are deleted, DefaultPunish && DefaultPunishParam configs are dropped). Reason : that's the point you write integrity checks. - Drop GMAudit, uses the default formatter/handler/filter (all GMs are written on the same file). - Whole logging system is moved into commons. Create 'filter', 'formatter' && 'handler' packages on log. Rename package 'log' to 'logging'. - All handlers got a limit and a count to avoid to flood server with logs. The log limit is set to 1mo instead of 500ko. The count is setted to 5 files. - All logs are now moved in their own folders (those folders are created by default). - Logs name pattern has been edited (typeName_count.txt), the extension is now .txt. - All formatters are based on same writting style. Misc - Merge math methods from Util with MathUtil. Delete Util. - banned_ip.cfg is renamed banned_ips.properties. - FloodProtectors class is moved from gameserver.util to gameserver.network. - Addition of SysUtil, holding system related methods. - L2Bookmark > Bookmark + basic cleanup of BookmarkTable. - Minor cleanup of GameServer and L2LoginServer (don't keep references when not needed, drop of "L2" > LoginServer). - MinionList cleanup, replace the CopyOnWriteArrayList (poor performance). - Minor cleanup of RaidBoss (drop a double isMovementDisabled() check). - Fix a typo error on query prior to sieges rework, ty HaddWik for report. Minor Siege class cleanup. - SevenSigns minor cleanup (drop 3 redundant static variables and one method). - Slight cleanup of RecipeShopSellList packet (avoid .get on a for loop). - villagemaster/30594.htm edit. PS: if you got better log writting style, I would eventually integrate it. PS2: build.xml is edited, some .properties are edited.

    Бесплатный

  25. 69 раз скачали

    Changeset 367 (668) Reorganization ! You will hate me. Edit all instance types. All instances types are shortcuted as following : L2PetInstance > Pet (remove "L2" and "Instance" from naming convention, to shortcut checks and writing style). Mother classes simply lose the "L2" prefix (L2Attackable, L2Character, L2Playable,...). The previous rule doesn't apply exactly on following cases : - L2BufferInstance > SchemeBuffer (fits better with the role). - L2PcInstance > Player (I guess Pc stands for 'player character', so make it more intuitive). - L2SummonInstance > Servitor (to avoid confusion between L2Summon and L2SummonInstance ; the first being mother class of all summons and second being summoners servitors). - L2XMassTreeInstance > ChristmasTree (because we aren't #1337 #YOLO #Swag #doge). - L2WarehouseInstance > WarehouseKeeper (conflict with Warehouse, part of Inventory). - L2CastleWarehouseInstance > CastleWarehouseKeeper (to fit with above). - L2CabaleBufferInstance > CabalBuffer (cabal in english, not cabale). - L2ArtefactInstance > HolyThing (L2OFF naming). - L2ObservationInstance > BroadcastingTower (more proper name). - L2NpcInstance > Folk (because those are considered as non attackable targets). - L2MutedNpcInstance > MutedFolk (because they are based on Folk). - L2FriendlyMobInstance > FriendlyMonster (Monster not Mob). - L2NpcWalkerInstance > Walker (drop of Npc). - L2TeleporterInstance > Gatekeeper (fits better with the role). - L2DoormenInstance > Doorman (not plural). - L2CastleDoormenInstance > CastleDoorman (not plural). - L2ClanHallDoormenInstance > ClanHallDoorman (not plural). - L2GoldenRamInstance > GoldenRamMercenary (more informative). - L2CastleTeleporterInstance > CastleGatekeeper. - All "Manager" ending NPC types are followed by "Npc" to avoid any conflict with instancemanager (ex : L2ClanHallManagerInstance > ClanHallManagerNpc), even if there isn't any conflict (just respect same rule everytime). - Rename StaticObject serverpacket to StaticObjectInfo (after all we got CharInfo, PetInfo, UserInfo,...), to avoid conflict with StaticObject instance type. Misc - Fix //removecastle admincommand (owner was still listed). - Fix Christmas Trees (and cleanup the instance). Ty Azik for report. - Deletion of GNU headers. Reasons : - aCis uses its own licence. - There is more licence than actual code characters in 80% of classes (notably packets). - Faster search tool, lighweight-ier sources when distributed. - Edit of licence.htm with latest aCis ToA. PS : Since it's a complete mess, I will share, exceptionally, the complete pack on rev 367. For people who already owns a server, may Elmoroden gods pity you. I'm the best troll ever.

    Бесплатный

×
×
  • Создать...