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

Включение:
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:
Если 1 это 24, то 0,2 =4,8? Не?) 0.5=12 или там логика другая, пока не улавливаю
 
хм а можно ввести такой параметр который будет удерживать оставшееся у ПА время если игрок оффлайн?
 
хм а можно ввести такой параметр который будет удерживать оставшееся у ПА время если игрок оффлайн?
Нет такого функционала - изначально ты покупаешь на период. 1-7-20 дней и так далее, а не 1 день в игре.
В целом реализовать не сложно, но это вы уже наворачиваете бигудей
 
Нет такого функционала - изначально ты покупаешь на период. 1-7-20 дней и так далее, а не 1 день в игре.
В целом реализовать не сложно, но это вы уже наворачиваете бигудей
ну это больше про лояльность к игрокам
 
ну это больше про лояльность к игрокам
тогда он будет недельный ПА растягивать на месяцы. Пересчитай игровое время которое в день проводит игрок и потом посмотри себе в карман. 1 ПА на 7 дейн будет юзать 2 месяца
 
тогда он будет недельный ПА растягивать на месяцы. Пересчитай игровое время которое в день проводит игрок и потом посмотри себе в карман. 1 ПА на 7 дейн будет юзать 2 месяца
для однодневки может быть это и проблема
 
что бы промо код работал в <code name="HELLO" он должен быть написан большими буквами. сразу не понял, почему не работает...
 
Напишите команды на ограничение
По ip и hwid
 
Всем привет, подскажите пожалуйста где меняется картинка отображения ПА при получение через промокод.
1698947519762.png
 
стрингс проверь
Да вот первым делом туда и полез.

promo.box.premium=<font color=669966>Премиум Аккаунт </font><br1>› *Выдан:* {0} уровень

Путя к картинке нет)
 
Да вот первым делом туда и полез.

promo.box.premium=<font color=669966>Премиум Аккаунт </font><br1>› *Выдан:* {0} уровень

Путя к картинке нет)
тогда хз, не вникал в данную систему
 
Ну что, никто не знает?(
премак выдаётся итемом (PremiumAccountItemHandlerId), который по дабл клику добавляет время ?
Если да, то смотри в дп (/data/items/*), аля:
<set name="icon" value="icon.weapon_voodoo_doll_i00"/>
 
премак выдаётся итемом (PremiumAccountItemHandlerId), который по дабл клику добавляет время ?
Если да, то смотри в дп (/data/items/*), аля:
<set name="icon" value="icon.weapon_voodoo_doll_i00"/>
это не итем, я выдаю ПА из services_rate_bonus значением. Если у него есть id то я даже его не знаю ибо ПА автоматом берется при покупке у сервис менеджера.
 
Back
Top