Как редактировать систему Промо кодов

Включение:
gameserver/config/services.properties
##### Сервис промо кодов #####
# Для конфигурации и промо кодов нужно редактировать файл data/promocodes.xml
# Байпас для НПЦ <a action="bypass -h scripts_services.PromoCodeService:showPromo">Активировать промо код</a>
PromoCodeServiceEnable = False
# Вызов промо кода командой .promo .promocode
PromoCodeCommandEnable = False

Местонахождение:
gameserver/data/promocodes.xml

Теперь рассмотрим разные варианты настроек:

1. Базовый
Code:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE list SYSTEM "promocodes.dtd">
<list>
    <code name="HELLO" limitByUser="false">
        <date from="12:00 12.12.2012" to="12:00 13.13.2013" /> <!-- format HH:mm dd.MM.yyyy -->
        <item id="57" count="212" /> <!-- Min: 1 Max: 2147483647 -->
        <exp val="11" /> <!-- Min: 1 Max: 2147483647 -->
        <sp val="111" /> <!-- Min: 1 Max: 2147483647 -->
        <addLevel val="1" /> <!-- Min: 1 Max: 80 -->
    </code>
</list>

name="HELLO" - сам промо код который вы будете распространять и который будет вводить игрок
limitByUser="false" - если выставить в True тогда промо код будет действовать на аккаунты которые вы вручную добавите в таблицу promocode_users
date from="12:00 12.12.2012" to="12:00 13.13.2013" - время с которого начинает действовать промо код и когда завершиться
<item id="57" count="212" /> Предмет который будет выдан
<exp val="11" /> Сколько будет начислено Exp
<sp val="111" /> Сколько будет начислено SP
<addLevel val="1" /> Сколько будет добавлено к текущему уровню
2. Расширенный
Code:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE list SYSTEM "promocodes.dtd">
<list>
    <code name="HELLO" limitByUser="false" limit="100">
        <date from="12:00 12.12.2012" to="12:00 13.13.2013" /> <!-- format HH:mm dd.MM.yyyy -->
        <item id="57" count="212" /> <!-- Min: 1 Max: 2147483647 -->
        <exp val="11" /> <!-- Min: 1 Max: 2147483647 -->
        <sp val="111" /> <!-- Min: 1 Max: 2147483647 -->
        <setLevelval="80" /> <!-- Min: 1 Max: 80 -->
    </code>
</list>
<code name="HELLO" limitByUser="false" limit="100"> при таком условии данный промо код смогут игроки использовать только 100 раз суммарно, на разных аккаунтах. 1 аккаунт может его использовать только 1 раз.
<code name="HELLO" limitByUser="false" limit="100" minLevel="76"> при таком условии данный промо код смогут игроки достигшие 76 и более уровня.
<setLevelval="80" /> - при таком параметре не будет надбавляться уровень, а сразу устанавливать указанный. Допустим игрок ввел код и у него был 1 уровень, он станет 80 уровня.
<item id="7575" count="1" enchant="3"/> - Теперь пример с выдачей заточенного оружия. В данном варианте будет выдан Draconic Bow с заточкой +3
 
Last edited:
Есть же базовая защита от разраба ))) а остальное по желанию
А на топ серверах походу админы настолько зажиточные, что покупают Смартгуард и АА просто так
 
а чем тебе уровень не подходит ?
ну наверно тем, что по уровню старые игроки тоже проходят, в таком случае нужен параметр на максимальный уровень, а не на минимальный
 
ну наверно тем, что по уровню старые игроки тоже проходят, в таком случае нужен параметр на максимальный уровень, а не на минимальный
Так с таким же успехом у старых игроков будет наигранное время для доступа к промокоду
 
Так с таким же успехом у старых игроков будет наигранное время для доступа к промокоду
ну у меня допустим концепция одного окна, если я условно выставлю максимальный лвл для получения награды в 20, то старые игроки ради промика вряд ли пойдут качать новых чаров
смысл в том, что бы привлечь новых игроков
 
ну у меня допустим концепция одного окна, если я условно выставлю максимальный лвл для получения награды в 20, то старые игроки ради промика вряд ли пойдут качать новых чаров
смысл в том, что бы привлечь новых игроков
я тебе задаю вопрос - каким образом тебе поможет наигранное время ? Используй тогда запрет по IP или HWID, в любом ином случаи тебе нужен уровень. Наигранное время фактически ни чем не отличается от уровня в данной концепции
 
я тебе задаю вопрос - каким образом тебе поможет наигранное время ? Используй тогда запрет по IP или HWID, в любом ином случаи тебе нужен уровень. Наигранное время фактически ни чем не отличается от уровня в данной концепции
причем здесь наигранное время? я тебе об одном, ты о другом
мне нужно что бы челики с уровнем выше 20 не могли получить награду
либо я из твоих объяснений не догоняю что ты мне пытаешься сказать, либо ты мою задумку не понимаешь
 
причем здесь наигранное время? я тебе об одном, ты о другом
мне нужно что бы челики с уровнем выше 20 не могли получить награду
либо я из твоих объяснений не догоняю что ты мне пытаешься сказать, либо ты мою задумку не понимаешь
ну так и пиши, нужна проверка на maxLvl
 
ну так и пиши, нужна проверка на maxLvl
ну наверно тем, что по уровню старые игроки тоже проходят, в таком случае нужен параметр на максимальный уровень, а не на минимальный
я вроде это уже и пытался сказать
 
Как можно дать игроку "Premium" 2 часа через промокод?
Создать отдельный премиум на 2 часа и добавить его в промокод. Как добавить уже отвечали тут.
 
Создать отдельный премиум на 2 часа и добавить его в промокод. Как добавить уже отвечали тут.
<bonus_days value="1" /> какое значение поставить, чтобы было кол-во часов?
 
Можете кодом показать?
<rate_bonus id="5" consume_item_id="4037" consume_item_amount="250">
<exp value="1.2" />
<sp value="1.2" />
<exp_raid value="1.2" />
<sp_raid value="1.2" />
<quest_reward value="1.2" />
<quest_adena_reward value="1.2" />
<quest_drop value="1.2" />
<drop_adena value="1.2" />
<drop_items value="1.2" />
<drop_seal_stones value="1"/>
<drop_raid_item value="1.0" />
<drop_spoil value="1.2" />
<enchant_item_mul value="1.0" />
<enchant_skill_mul value="1.0" />
<bonus_days value="0.2" />
<!-- additional reward -->
<!-- <reward item_id="4037" item_count="1" />
<reward item_id="57" item_count="100" />
<name_color value="00FCA0" />
<hwid_limits value="1" />
-->
</rate_bonus>

2 часа <bonus_days value="0.2" />
id выдачи 5
 
Back
Top