Пишу код java

MrKirill1232

Прославленный
Проверенный
Победитель в номинации 2023
Мастер реакций
Неукротимое пламя
Медаль Благодарности
Победитель в номинации 2022
Старожил I степени
Сообщения
1 789
Розыгрыши
0
Решения
34
Репутация
1 025
Реакции
1 383
Баллы
1 408
Привет!
Тема создана для продвижения моих услуг написания скриптов/дополнений к сборкам Lineage 2 на базе Java.
Сразу чем точно не буду заниматься:
- гео-двиг (geodata-engine);
- сетевая составляющая (а перепиши мне с Netty на MMO-CORE);
- боты (телеграмм/дискорд);
- фейковые игрока (напиши нам движок фейковых игроков, поправь нам фейковых игроков);
Причины 4х составляющих выше просты - каждая сборка "уникальная" и просто понять что это займет уйму времени, не говоря о поисках иголки (проблемы). Это чисто мое виденье.

Имеется опыта работы со следующими сборками:
  • L2j-Mobius;
  • L2-Scripts;
  • Pain-Team;

Что я могу предложить:
- Написание скриптов, от простеньких до средненьких;
- Сложные скрипты лучше рассписывать отдельным ТЗ с указанием всех ньюансов;
- Исправление ошибок в исходном коде (если таков есть, если нету - тогда тут будет сложно);
- Отдельные готовые позиции для продажи/установки:
НазваниеВерсия игрыПротоколСтраница [ru]Страница [en]Цена
Система ДропаЛюбаяЛюбой150$
Гача БероаESSENCE/MAIN418+ ШАРА
Девочки со СпичкамиESSENCE/MAINЛюбая? 25$
Снежный КаньонESSENCE362+ 25$
Рыцари БалтусаESSENCE/MAIN110+ 50$
Черный КупонESSENCE (?main?)311+ 100$
Тренировочное подземельеESSENCE228?+ 20$
Система коллекцийESSENCE/MAIN40$
L2JScripts
Подвязка событий через [?] в чатеЛюбаяЛюбой--От 5$
К сожалению я большую часть времени работал с L2Jmobius, по-этому здесь только он:
* Шара ивента "Собиратель Карт" - Скрипт - [Ивент] Собиратель Карт
* Написанный для сборки l2jmobius ивент "Собиратель Буков" -
* Конвертатор геодаты из любых форматов в l2j -

Контакты для связи:
- Дискорд - hecate_index
- Телеграм -
 
Последнее редактирование модератором:

1701792739560.png

Тильт конечно за последние 4 дня я поймал знатный... Ну а до тильта занимался вот такой вот штукой... Если кому интересно - пишите в дискорд :) Если кому не интересно - не пишите :(

На локалке выглядит как-то так:

1701792953390.png

Ранкинг там очень слабенько написан, но по-шустрее чем у мобиуса будет. Проверок написано черезщур много, но надеюсь не будет каких либо дырок, которые все любят искать через отрицательные значения.
 
Ех, взяли слили на форум мобиуса золотое колесо которые писалось год назад...
Ну а чем я не лучше?
 

Вложения

  • Golden_Wheel_v2.7z
    8,6 КБ · Просмотры: 34
Sarcasm:
Что это такое? Обычной мало чтоли? Я щас скриптом все напишу.

Ну расмотрим по ближе что же предлагаю я...
Начнем со структуры:
XML:
    <npcList name="DUMMY">
        <npc id="1"/>
        <npc id="2"/>
        <npc ids="3;4;5"/>
    </npcList>
    
    <npc group="DUMMY">
        <dropList type="DROP">
            <group chance="100" min="1" max="1">
                <item id="91663" min="1" max="1" chance="100" />
            </group>
        </dropList>
    </npc>
npcList - позволяет обьявить групу НПС, к которым следует применять дроп-группы.
<npc group="DUMMY"> - указатель к каким группам НПС применять дроп-группы. Если указать ALL - будет пытаться применить ко всем НПС.
Вся система делится на группы, в которых сумарный шанс получения предмета тоже должен быть 100% иначе будет сума всех шансов и как не крути будет шанс 100% от всех предметов.
Внутри группы есть несколько параметров, которые делают интересные вещи:
1. period - позвляет указывать период как и такого типа - "12 02 2023", так и "day="MONDAY", startHour="11", endHour="12"";
2. rate - позволяет ограничить бонус модификатора для ШАНСА и КОЛЛИЧЕСТВА, благодоря параметрам "min", "max";
3. subType - позволяет определить дроп группе распледение на следующие типы:
- REGULAR - самое обычно распределение дропа.
- BY_PARTY - попытка выдачи дропа всей группе. Условно 5 человек в одной группе бьют одного моба и условно все 5 смогу получить Л Монеты после убийства монстра в зависимости от их уровня;
- BY_DAMAGE_DEALER - распледеление дропа на игроков, которые внесли наибольший урон и получение предметов в зависимости от него;
4. variable - это перменные для построения/подстановки значений <item min="value" max="value" /> во время просчета дропа.
- defaultValue - значение при невыполнении условий.
- generalValue - значение при выполнении условий для обычных игроков.
- premiumValue - значение при выполнении условий для игроков с премиум статусом.
- name - название переменной, которая указывается min/max. Не рекомендую использовать что-то типо skil и skill, если min/max будет содержать одну из этих перемененных.
- id - условный идентификатор для type.
- value - условное значение для type.
- type - имеет много заготовленных функций с условиями. Если нужно просто значение для премиума и без премиум - используем GENERAL_VALUE.
Все типы, которые начинаются на "REQUIRED_" будут подставлять в значение min/max именно то значение которое они имеют.
Пример:
<variable name="test" type="REQUIRED_ACTIVE_BUFF_LEVEL" defaultValue="0" id="1040" /> - подставит значение уровня бафа 1040 на персонаже, если бафа нет - generalValue.
Другие же типы в большенстве будут смотреть на значение "value", которое может быть и -1 если не требуется определенный уровень.
Пример:
<variable name="test" type="ACTIVE_BUFF" defaultValue="0" id="1040" value="1" generalValue="1" premiumValue="2" />
При наличии на персонаже бафа 1040 с уровнем 1 - будут применяться значения 1 или 2, если бафа нет - 0.
PASSIVE_SKILL
REQUIRED_PASSIVE_SKILL_LEVEL
ACTIVE_SKILL
REQUIRED_ACTIVE_SKILL_LEVEL
ACTIVE_BUFF
REQUIRED_ACTIVE_BUFF_LEVEL
ACTIVE_FLAG
ACTIVE_ABNORMAL
REQUIRED_ACTIVE_ABNORMAL_LEVEL
ACTIVE_ABNORMAL_VISUAL_EFFECT
CONTAIN_ITEM
REQUIRED_CONTAIN_ITEM_ENCHANT_LEVEL
PLAYER_LEVEL
REQUIRED_PLAYER_LEVEL
MONSTER_LEVEL
REQUIRED_MONSTER_LEVEL
CHAMPION_LEVEL
REQUIRED_CHAMPION_LEVEL
GENERAL_VALUE
5. parameter - нода, которая имеет 2 параметра - name - value.
limitCount - ограничение на колличество. Используется для проверки колличества уже полученых предметов.
limitReset - переменная, которая определяет когда именно нужно сбросить значение limitCount. Применяет "ALWAYS, DAYLY, WEEKLY, MONTHLY";
minLevel - минимальный требуемый уровень игрока для получения возможности получить предметы.
maxLevel - максимально требуемый уровень игрока для получения возможности получить предметы.
dropInterval - время в секундах для ограчения возможности получить предмет, пока время до следующего получения не пришло.
autoGet - будут ли предметы автоматически падать в инвентарь;
autoGetOnAutoLoot - будут ли предметы автоматически падать в инвентарь при включенном параметре в автохоте "авто-подбор".;
includeNpcTemplate - используется для отделение требуемых НПС при парсинге;
minMonsterLevel - используется для отделение требуемых НПС при парсинге;
maxMonsterLevel - используется для отделение требуемых НПС при парсинге;
customChampionLevel - кастомная фича;
instanceTemplateID - привязка дропа к монстрам, которые находятся в инстанс зоне;
6. item - ну просто получаемый предмет...
<item id="91663" min="1" max="{some expression}" chance="100" />
id - применяет значение получаемого предмета...
min - минимальное колличество получаемых предметов;
max - максимально колличество получаемых предметов;
min и max могут так же применять значения variable если оно одно или целой формулы.
chance - шанс в числе с точкой

Вывода дропа как отдельный генерируемой на ходу страницы пока нет, но пока в планах.

Ну надеюсь стало понятно что тут у меня за тараканы бегают и что такое этот "Дроп система".
 
Привет!
С новым годом и все дела.
Вообщем, пока кто-то думал что я сижу пинаю что-то, я потихоньку выполнял работу, которая накопилась.

Если кому надоела система коллекций по мобиуса, могу предоставить альтеранативу.
Почему альтернатива востребована с моей стороно...
1. Система коллекций, которая у мобиуса, очень медленная. При увеличении числа записей, она будет все дольше и дольше сохраняться...
2. Вся информация о коллекционных предметах разбросаны по разным ечейкам, может норм, но сделал что информация об одной коллекции хранится в одном поле, а не в шести.
3. Из-за более "продуманого" подхода, закрыты парочку дырок, который сейчас присуствуют в системе от морбиууса; (отсутсвия индексов как минимум);
4. Поддержка выдачи предметов / умений при закрытии коллекций;
5. Поддержка временных коллекций;
6. Миграция со старой версии коллекций в предлагаему мной;

Вообщем если захотите - пишите по контактами:
- Дискорд - hecate_index
- Телеграм -
Цена - пусть будет 40$. За неделю моего времени - думаю вполне правильная сума.

1704842431632.png

1704841881908.png
 
/** шара удалена **/
Телеграм аккаунт временно закрыт.
Пишгите или сюда или в дискорд - hecate_index
 
Последнее редактирование:
Ех, взяли слили на форум мобиуса золотое колесо которые писалось год назад...
Ну а чем я не лучше?
И еще зашарили... Спасибо некому "Meliodas", даже авторство ото-всюду убрал :(
Гача БероаESSENCE/MAIN418+ 100$
 

Вложения

  • UniqueGacha.zip
    27,6 КБ · Просмотры: 28
  • Ха-ха-ха
Реакции: kick
Прошло аж несколько месяцев (3 вроде) с нормально поста с какими-то деталями/информацией.

1. Дроп продолжаю писать, пытаюсь какие-то PTS фишки внедрить. Из последнего:
- Так как дроп писался под Ессенс версию игры (первоначально) - то на ней нету как таквого штрафа от "синевы" монстра. Есть 2 состояния - или дроп падает или дроп не падает. Ну при переходе на менй версию нужно было добавлять. Формула взята с ПТС Gracia Final;
- Просмотр дропа был таки реализован в 2 вариантах:
* Вариант [Список категорий] и [Список получаемых предметов из Категории];
* Вариант все в одном [Все получаемые предметы с монстров] (Шансы группы / Шанс получения предмета);
- Переписаны проверки разные, теперь их больше и добавлять легче;
- Добавлено выпадение предметов после убийства Н-ого количества монстров;
- Добавлено выпадение предметов после убийства игроков;

2. Коллекции, о которых писалось выше:
- Исправлены проблемы с временными коллекциями;
- Добавлена возможность заменить "Добавить в Избранное" на "Купить коллекцию":

3.
Подвязка событий через [?] в чате
- Пришлось дополнить базовую реализацию для упрощения "отслеживания" событий, привязаных к игроку.

Вот и все... Остальные время я занимался приватными задачами и выполнялись они исключительно по ТЗ.

Сейчас нахожусь в относительно свободном статусе, по-этому могу быстро выполнить какие-то заказы.
Контакты для связи:
- Дискорд - hecate_index
- Телеграм -
Просьба не искать во мне друга или собеседника по интересам, я уже напоролся на эти грабли и сам сейчас в очень плохой ситуации нахожусь. Какой же дурак...
 

    jois

    Баллов: 1
    Хорошо, хоть осознал, что всем подряд помогать не стоит. Разве что по-человечески тем, кто достоин этого, при наличии возможности у самого на это.

    KATE

    Баллов: 20
    (выше)
Назад
Сверху Снизу