finfan 14 Опубликовано 30 декабря, 2017 Праздник едет, пора врываться с шарами своего говна, может кому-то пригодится? Исходник: aCis 340 (20) modifiedКлиент: Interlude (modified)Java: 8.0 (base memory use: 2GB) Скачать исходник .RARСкачать исходник .ZIPСкачать клиентPassword: ff7 Внимание! Core.dll запакован темидой, Windows Defender и другие антивирусники рассматривают его как вирус, но в любом случае, решать вам. Main Design Programming: FinFan (y2016-2017)3S (Single Special Systems) Programming: Pointer*Rage (y2016) Описание: События происходили спустя 20-лет после событий Interlude. Развязка и завязка сюжетной основы должны были вбирать в себя эпоху Последнего Восхода, в которой деятельность Shillien (Goddes of Destruction) была бы пресечена союзом Орденов Восхода (Final Rising). В связи с чем, текущие на тот момент события Goddess of Destruction имели бы конкретное объяснение в том, что они не сбылись (будущего нет Карл!). Мир должен был выбрать иную ветвь развития, в котором индивидуальность каждого обитателя Elmore-Aden была бы превыше всего. Цель: 1. Уничтожение рандома в большей его части, чтобы в PvP не было побед исключительно из-за везения у 2-ух одинаковых игровых классов. 2. Исполнение отравлений и кровотечений на RPG-логическом уровне, который подразумевает увеличение наносимого ими урона и других манипуляций. 3. Создание фракционной системы, которая бы состояла из 4-ёх Орденов с разными целями и задачами. Смысл вступления в Ордена остаётся загадкой, поэтому система не была реализована, но какие-то куски наработок там валялись. 4. Реализация Боссовых "влияний" - это такая штука, когда каждый босс влияет на ту "плоскость" в которой находится. Для теста были реализованы "Ядовитые поля Orfen" войдя в которые, игрок начинал заражаться ядом в течение 60-ти секунд, после чего, нахождение на территории Orfen наносило ежесекундный урон и лишь её гибель отменяла данный эффект. Если Босса не было в живых, то зона была доступна для нормального исследования и охоты. EXP/SP в таких зонах удваивался а то и утраивался вне зависимости от силы самих монстров в ней. 5. Мощная реализация уникальный скилов, которые были бы атмосферны по отношению к именам классов родословной. Эта же задача включала в себя и полный анализ- доскональное изменение скиловой системы персонажей. Такие вещи позволяют более свободно чувствовать себя в плане создания собственного билда и единственного/неповторимого стиля игры. Внимание! Самой основной задачей была прокачка LVL'а в разделе программирование игр и геймдизайна, что в дальнейшем помогло перебазироваться на C++ (не совсем с головой) и продолжать изучение Java уже в более широком кругу её спектра. Документация Итак, создав нового персонажа и войдя в игру, первое что попадётся вам на глаза, это HTML страница. Это не новости сайта, это апдейты версий, который выпуливаются из датапака согласно последнему обновлению. Всё что вы делаете - это заполняете его ручками и суёте .\data\data\html\updates\ откуда и происходит обработка (какой апдейт брать). Чтобы понять работу искать здесь: package finalrising.updates; Её можно и удалить ибо это была практическая частица большой мечты, можно просто вручную всё делать. Отображение апдейтов происходит по их дате, так же их можно пульнуть с сортировкой и созда NPC книжную полку, которую можно разместить в любом здании (магазины, церкви и т.д.) где игрок сможет прсомтаривать все апдейты сервера, т.к. в коде хранится лист этих вот хренотеней. Когда вы решите убить гремлина, вы увидите что-то на подобии вот такого: . Это не повышенные рейты, это новая система прокачки, которая берёт за основу коэффициент силы монстра. Найти его калькуляцию можно тут Это отсылка к основной из целей проекта, сделать прокачку динамической в зависимости от игрового класса, статов монстра и сложности его AI. Говоря о коэффициенте силы, вы так же заметите, что у некоторых монстров есть странные показатели статов: Статы гремлина: Статы келтира: Все знают, что начальные параметры монстров исключая боссов, имеют стандартные показатели, но здесь всё чуть изменилось. Чем сильнее монстр, тем выше у него один из ведущих показателей, а свой параметры он вообще склонен получать случайно в зависимости от своего AI. Поэтому при каждой перезагрузке сервера параметры спавнящихся монстров будут разными. Максимальная разница в 20 ед., и редактируется это в NpcTemplate.java. След. что вы заметите начиная бежать в первую деревню, это что при убийстве гварда - вам начислят карму, а гвард может высказать всё что думает. Внимание! карма начисляет лишь за одно убийство, мне не нужно было давать карму на постоянной основе как за игроков, поэтому она выдаётся в случайном кол-ве лишь при первом убийстве гварда и только в том условии, что вы чисты (без кармы). Это просто фан-нежданчик часть. Не более того. Редактируется в L2GuardInstance.java. Телепортация теперь является мостов из одного гороад в другой. Она не ТПшит на локи, этим занимается другая система передвижения. Телепорты стоят очень дорого и все они - целевые. Для дворян они бесплатные, для бомжей - недоступные, для богатых - им решать. Чтобы попасть на нужные локи, телепортёров заменяют страйдеры и их менеджер, которые стоят не дорого и позволяют накапливать EXP при передвжиении на них. Редактирование всех этих дел проходит здесь: Изначально планировалось создать систему передвижений из поездов, но это сделать не получилось, так как расстановка рельс это долгий процесс, поэтому было решено сделать возможность передвижения на двух видах траспорта: Виверны - для труднодоступных мест вроде ToI, пещеры антараса и т.д. Страйдеры - для остальных мест. В конечном итоге были сделаны только страйдеры, но загатовки ест ьи для виверн, т.е. всё что надо, это путь маршрута из точки А до точки Б и соответствующий вызов маунта у инстанции. Редактирование дороги езды страйдера: \data\xml\travel_routes При открытии CBB (Alt + вы увидите вот такую хрень: Это окно статуса персонажа - дополнительное. Там можно: Прокачивать параметры (STR/DEX/CON etc...) за очки GPP (получаются с уровнем) (Так же можно сбросить один раз за игру) Вкачивать мастерство для профессии, используя MAPO (mastery points) (начиная со 2-ой профы, даются с повышением уровня) (Так же можно сбросить один раз за игру) Наблюдать за скрытыми в игре (ранее) параметрами, такими как регенерация HP, MP и т.д. Наблюдать за всем видами сопротивлений Наблюдать за ментальной силой и защитой персонажа Касаемо сопротивлений, сюда я тоже добрался. Теперь все эффекты (большинство их) имеет параметр с окончанием Vuln, есть так же сопротивления с окончанием Res и вот об этих двух кандидатах мы поговорим чуть ниже. FearVuln - снижает время действия эффектов Fear. FearRes - снижает шанс получить эффект Fear. Как упоминалось ранее, проект вёл главной цель - уничтожение рандома, но где-то, этот рандом мне был необходим (файты с боссами). Для таких целей, была создана система сопротивлений, которая снижает время действия эффектов. Т.е. базовый шанс прохождения всех эффектов становится 100%, а сопротивление лишь уменьшает их время действия на персонажах, но есть особенный вариант резиста, который снижает шанс их прохождения (тот самый, использующийся в ла2) В связи с данными изменениями, все скилы персонажей и баферов были переработаны с Res составляющей на Vuln. Res - очень редкий параметр, который на деревьях не растёт! В игру введены две полнцоенные и новые профы. Одна из них Характеризует хз какое направление, вторая исполняет чётко поставленную задачу в саппорте. После изменения эффект системы, было решено оставит ьв игре одного и единственного бафера - Prophet, который получил все бафы от своих коллег эльфов. Эльфийские профы Elven Elder и Shillien Elder были изменены. SHillien Elder -> Apostate/Alchemist/Biolog Он умеет кидаться зельями, усиливать все эффекты от зелий, создавать Эксусов (прототип саммонов с механикой покемонов (вторая форма и т.д.)). Профессия может трансмутировать вещи, превращая их в первозданные источники - ломает меч и получает материалы его изготовления (может ломать любой предмет у который в игре можно изготовить имея рецепт и ресурсы). Профессия тестировалась в 4 рыла и получилась играбельно-крутая профессия, которая больше исполняет роль саппорта, но так же может и надрать задницу врага. Броски зелий можно реализовать через Respect, тогда броски потишенов получатся совсем красивыми и реалистичными по максимуму. Для бросков зелий, вам надо будет выставить их на Soulshots авто режим на панели скилов и юзнуть скилл Throw Potion. Теги данной профы: #хилкивсем #крафтзелий #пикачувбой #трансмутациянормробит #пламенноезельеврыло Elven ELder -> Oracle/Scholar/Priest Данная родословная показывает себя плюсом в PvP системе. Она умеет воровать бафы, скилы, канселить скилы, канселить бафы, давать щит на союзника котоырй поглощает магический урон, давать щит на поглощение физического (что-то одно), создавать ситуацию мультикаста (кастуя 1 скилл, после завершения накастовывается ещё один такой же со скоростью 0.5 сек) и т.д. Теги данной профы: #нужнамана #манынет #немогуиззаманы #сранаямана Внимание! Данная профа не сбалансирована, она делалась первой, но из-за того что идея изначально была Друид, я потерял боевой дух и вдохновение, поэтому сделал её такой какая она будет сейчас. Кокнретно изменений клиента, я выделю основные. Классы скилов .usk и т.д. лучше не удалять Изменено окно постановки тату, так как вместо тату приехала новая система материй (вы сможете найти её в datapack с одной единственной тестовой рабочей тату) Кокнретно, там были убраны STR/DEX модификации (показыаемые клиентом), вы можете попросить Moveton об услугах и он всё замутит по феншую. И это далеко не всё, на рассказа обо всём мне пришлось бы писать целую книгу из 500 страниц, чтобы детально объяснить зачем я это делал. Поэтому выкладываю документы, которыми я руководствовался на протяжении всей разработки. Дизайн документ Final Rising, который не совсем совпадает с оригиналом реализации, но там есть многие вещи, которые надо знать. Так же документ с изменения скилов и будущими планировками, не всеми но частью. Шара с разрешения поинтера и меня. Разработка данного проекта была ведена с душой и логикой в совокупе, столько часов общения с поинтером и его помощь в целом не может быть описана никакими словами, это тот момент, когда программист уровня НГ++ (дарк соулс сложность :)) любит своё дело и делает это ради фана. Так же стоит отметить, что за всё время его помощи, он ни разу не взял с меня ни копейки и (по сути к моему делу) относился как к своему родному, за что ему - Большое! Огромнейшее! Человеческое! Спасибо! В моменты разработки я чувствовал себя геймдизайнером и программистом в одном лице, и это самое охренительное чувство, которое я когда-либо испытывал (оргазм тут и рядом не валялся FeelsAmazingMan)! P.S. Без сомнений, этот опыт проектирования и разработки, останется для меня самым запоминаемым и самым весёлым в моей жизни nichoci! P.S.2. Внимание! при старте проекта у вас может быть косячок в виде не прогруженых материй, но это норма, просто большинство из них не реализованы, вот он и ругается. Можно ли его ставить на лив? На свой страх и риск, спустя 2 года я бы много чего там переписал касательно кода, однако если его доработать в плане древа мастерств у классов, то для PvP сервака сгодится с головой. Если вы не программист, то ни о каких ливах и речи быть не может. Легаси там всё же осталось + мусор от меня остался, который бы желательно почистить. Всем добра и приятных праздников. Здоровья всем! P.S.3 присутствует остров Хеллбоунд от deMEV который там просто хз чё делает ;). Удалите его из клиента и будет вам счасть (замените оригинальными файлами водных квадратов) или закажите у deMEV геодату на это дело с запилом своих ствистоперделок. ПО изначальной задумке там должен был сидеть Гильгамешь со своей братвой и бить морду игрокам. 3 10 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
PointerRage 132 Опубликовано 30 декабря, 2017 С наступающим и приятной шары:) В комплекте есть также скомпиленная библиотека fork2-commons, большую часть ее исходного кода можно найти тут. 1 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vLb2IsCj 0 Опубликовано 26 января, 2018 Это потрясающе! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
operks 1 Опубликовано 27 января, 2018 отличненько Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты