Авто выдача бонусов за время в игре.

Ginex1000

Свой человек
Участник
Сообщения
86
Розыгрыши
0
Репутация
-46
Реакции
6
Баллы
550
Хроники
  1. Chaotic Throne: High Five
Исходники
Присутствуют
Сборка
emurt
На скрайде реализована авто выдача голд и шилин за время в игре. Есть идеи как такое провернуть на HF емурт 10 ?
 

На скрайде реализована авто выдача голд и шилин за время в игре. Есть идеи как такое провернуть на HF емурт 10 ?
Конечно есть, смотрите в сторону начисления pc поинтов
 
Весело ответил тс Что Бл...... )))
 
Оффтоп:
а в чём собственно проблема? pcbang поинты как раз таки капают через какое-то время после захода в игру, и это на регулярной основе.

Ginex1000,
если не в курсе что такое pcbang-система или у вас её нету, просто после захода игрока в игру шедульте таску на выдачу бонуса, там в принципе всё просто, примеры в сборке найти проще простого.
PS: не забудьте обрабатывать эту тасочку в кейсах, когда персонаж уходит в офлайн (если у вас он в кэше остаётся) или дропается коннект
 
прочтите пост тса и мой, потом еще раз пост тса и опять мой, может быть дойдет
Смысл его смотреть если просто запускается пул при входе в игру??
Посмотришь как импортировать пул ?
 
Смысл его смотреть если просто запускается пул при входе в игру??
Посмотришь как импортировать пул ?
боже, какой же Вы упоротый... посмотреть и взять механизм в качестве примера религия не позволяет? или ограниченная фантазия? или еще есть какие-то причины?
 
боже, какой же Вы упоротый... посмотреть и взять механизм в качестве примера религия не позволяет? или ограниченная фантазия? или еще есть какие-то причины?
Что вы от механизма возьмёте? Так как минимум нужно проверки на получен ли уже бонус и ещё куча всего. Единственное что там есть это просто адд итем каждые н-сек
 
Что вы от механизма возьмёте? Так как минимум нужно проверки на получен ли уже бонус и ещё куча всего. Единственное что там есть это просто адд итем каждые н-сек
ясно понятно, а дописать имеющееся не вариант? реализовать на основе этого свое тоже? или Вы только копипастом моды делаете, а написать/дописать об этом даже не слышали?
 
Давай поразмыслим логически.
1) Мы имеем тьму игроков как новых так и старых, нам нужно контролить время проведения в игре каждого за сутки.
- Логично будет создать таблицу с двумя тремя(что б у нас модно в хмл выводилось общее время за день и время последней сессии) столбцами где мы будем хранить obj_id каждого игрока, время последней сессии и общее время за сутки.
2) Нужно как то запускать наш таймер.
- Тут нам подойдет класс EnterWorld в котором мы 1 методом можем запускать таск на вошедшего в игру.
3) Нам нужно как то прервать наш таймер если по какой либо причине игрок вышел из игры вылетел или [А по щам?] его знает что сделал и записать время общей сесии за сутки и последней.
- Пишем метод который будет вносить данные в нашу бд, и впиваем его в исполняемый метод закрытия коннекта(там где обнул соединения, обнул ключа и т д).

Вот и все, по хорошему нужно создать в бд еще + 2 колонки куда будем писать hwid и ip участников, дабы не крутили с разных чаров.

Еще вариант есть хранить все в памяти процесса до рестарта дабы не дергать лишний раз бд.


В результате мы имеем работы примерно на 2500 рублей.

Вспомнил,во всех сборках уже есть метод который пишет сессию по выходу в бд.
Вывод нужно всего лишь его дописать.
 
Вспомнил,во всех сборках уже есть метод который пишет сессию по выходу в бд.
Вывод нужно всего лишь его дописать.
мне кажется тут нужно уточнить немного, общее время онлайн или с момента входа в мир, просто реализация немного будет отличаться)
 
мне кажется тут нужно уточнить немного, общее время онлайн или с момента входа в мир, просто реализация немного будет отличаться)
если с момента сессии и неважен вход за день, то вообще чуток кода будет
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Для упоротых и гордых:
Данную систему можете в шармон исходнике Classic: Zaken - у скриптов взять (или мобиус)

Как работает:
Как только персонаж заходит в игру - ему выпадает таблица с предметами и пишет: можно забрать через 30 минут игры (и через 30 минту опять же пишет - заберите свой бонус)

Награда за посещение
# Attendance reward
# l2.ini
# [Localize]
# UseVIPAttendanceClassic=true
UseVIPAttendance = False

Так же мы имеем:
Система ежедневных наград за миссии
# l2.ini
# [Localize]
# UseToDoListClassic=true
UseToDoList = True

Взяли за пример - и делаем.
 
Ну или можно запилить по аналогии с выдачей награды раз в сутки премиальным агатионом, пока действует прем.

К примеру у меня при вызове этого агатиона стартует таск (при отзыве само собой стопается обратно), раз в 10 минут проверяющий - не выдали ли в эти сутки еще награду и если не выдали, то выдает и ставит пометку что в эти сутки уже была выдача.
Притом пометка банальнейшая - просто запоминаю в переменной для персонажа текущий день года и все.

пример
 
Кстати выше приведенная мной как пример реализация прем. агатиона уже давно безбожно устарела, т.к. я отказался от того чтобы каждому "особому" агатиону писать отдельные листенеры, управляющие выдачей предметов или выполнением еще каких-то действий. :)
Вобщем я уже пару лет как переписал вобще все связанное с агатионами, когда переписывал так же все что связано с кубиками. Ну и в итоге у меня как и на оффе агатионы - это по сути как бы те же самые кубики, просто с расширенным функционалом. И могут выполнять автоматически те же действия что и кубики + немного больше. Ну и сами кубики у меня по сути работают как особые суммоны, а не как невидимый бафф, как это сделано на многих сборках.

Ну и к примеру то же описание прем. агатиона выглядит так
XML:
    <agathion id="8626" level="1" slot="1" delay="300">    <!-- Баба Яга / Babayaga -->
        <skill id="23448" level="1" chance="100" action="TIME" target="MASTER" delay="600" reuse_type="DAILY" />    <!-- Подарок Избушки на Курьих Ножках / Blessed Three-headed Dragon's Egg -->
    </agathion>
Ну и для примера еще несколько других агатионов, которые что-то должны делать автоматически, пока вызваны
XML:
    <agathion id="1552" level="1" slot="1" delay="13">    <!-- Агатион Богиня Милосердия / Gwanseum Nyang Nyang Agathion -->
        <skill id="23126" level="1" chance="100" action="HEAL" target="MASTER">    <!-- Особое Умение Агатиона - Богиня Милосердия - Благословение Милосердия / Gwanseum Nyang Nyang Agathion Special Skill: Blessing of Mercy -->
            <chance min="0" max="30" value="53" />
            <chance min="31" max="60" value="33" />
            <chance min="61" max="90" value="13" />
        </skill>
    </agathion>

    <agathion id="1560" level="1" slot="1" delay="10">    <!-- Агатион Синий Пекинский Актер / Blue Opera Agathion -->
        <skill id="23129" level="1" chance="100;12" action="ATTACK" target="TARGET" attack_static_object="true" />    <!-- Особое Умение Агатиона - Китайский Актер - Водяной Меч / Blue Opera Agathion Special Skill: Sword of Water -->
    </agathion>

    <agathion id="16098" level="1" slot="1" delay="250">    <!-- Чревоугодник / Sin Eater -->
        <skill id="15325" level="1" chance="100" action="TIME" target="MASTER" delay="250" reuse_type="NORMAL" />    <!-- Время Покаяния / Hour of Penitence -->
    </agathion>

    <agathion id="16103" level="1" slot="1" delay="300">    <!-- Юная Кокорин / Jr. Cocoring -->
        <skill id="9783" level="1" chance="100" action="TIME" target="MASTER" delay="900" reuse_type="DAILY" />    <!-- Подарок Агатиона - Юный Кокорин / Agathion's Gift: Jr. Cocoring -->
        <skill id="9793" level="2" chance="100" action="TIME" target="MASTER" delay="1800" reuse_type="DAILY" />    <!-- Подарок Агатиона - Юный Кокорин / Agathion's Gift: Jr. Cocoring -->
        <skill id="9794" level="3" chance="100" action="TIME" target="MASTER" delay="2700" reuse_type="DAILY" />    <!-- Подарок Агатиона - Юный Кокорин / Agathion's Gift: Jr. Cocoring -->
        <skill id="9795" level="4" chance="100" action="TIME" target="MASTER" delay="3600" reuse_type="DAILY" />    <!-- Подарок Агатиона - Юный Кокорин / Agathion's Gift: Jr. Cocoring -->
        <skill id="9796" level="5" chance="100" action="TIME" target="MASTER" delay="4500" reuse_type="DAILY" />    <!-- Подарок Агатиона - Юный Кокорин / Agathion's Gift: Jr. Cocoring -->
    </agathion>
 
Последнее редактирование:
Назад
Сверху Снизу