Редактирование Ачивок OneDayReward

Для начала, определимся, где и что мы будем редактировать.

Для полноценной корректировки нам понадобится как серверная, так и клиентская часть.

С сервера: .../data/OneDayReward.xml
С клиента: system/OneDayReward_Classic-ru.dat

Рассмотрим для начала клиентскую часть, для того, что бы у нас не возникло тупняков.
Вот небольшой кусок в котором все сразу станет понятно:
Code:
onedayreward_begin    id=25    reward_id=1001    reward_name=[Получить 3-й уровень]    reward_desc=[Награда выдается единовременно при получении 3-го уровня.]    reward_period=[Получить 3-й уровень.]    class_filter={-1}    reset_period=4    condition_count=0    condition_level=3    can_condition_level={2;99;0}    can_condition_day={}    category=3    reward_item={{29651;10}}    targetloc_scale={}    onedayreward_end

И так мы имеем onedayreward имеет свой уникальный ID, он то нам и нужен при необходимости редактируем имя(reward_name), условие(reward_desc) и награду(reward_item).
Прошу заметить сразу если вы поменяете награду только со стороны серверной части, в клиенте у Вас будет отображать совсем другие награды. Так что сразу меняем и в клиенте и на сервере.

Далее рассмотрим серверную часть:
Code:
    <one_day_reward>
        <id>25</id>
        <name>Reach Level (Lv. 3)</name>
        <description>After creating a character, if you reach Lv. 3 you can get a reward for that level once.</description>
        <reset_time>SINGLE</reset_time>
        <reward_items>
            <reward_item id="3947" count="10"/>
            <reward_item id="1835" count="10"/>
        </reward_items>
        <requirement>
            <obtain_level>3</obtain_level>
        </requirement>
    </one_day_reward>

Как мы видим, сервер говорит нам, что нам нужно получить 2 награды с ID 3947 и 1835 в количестве 10 штук и мы именно их и получим, в случае если нажмем кнопку "Получить"

Но в клиенте в списке наград все так же будет висеть item с ID 29651 в количестве 10шт.

Удачи!
 
Подскажите, есть ли данный контент на ИЛ? (Так как я на одном проекте видел что-то похожее прям как на классике)
Моветон хвастался скринами
 
Code:
onedayreward_begin    id=267    reward_id=109    reward_name=[Weekly Hunting (Lv. 76 or higher)]    reward_desc=[Receive it when you kill any 500 monsters. Monsters that are level 6 or lower than the character are not counted.]    reward_period=[Kill 500 monsters.]    class_filter={-1}    reset_period=2    condition_count=500    condition_level=0    can_condition_level={76;99;0}    can_condition_day={}    category=0    reward_item={{29649;1}}    targetloc_scale={}    onedayreward_end
Поясните кто-нибудь, откуда reward_id в клиенте берет?)
id просто - это с xml сервера, а ид награды откуда?)
 
Если я хочу оставить только свои кастомные дейли-квесты - мне нужно клиент часть почистить от лишнего?
 
Если я хочу оставить только свои кастомные дейли-квесты - мне нужно клиент часть почистить от лишнего?
да, связка клиент -сервер тут
 
<one_day_reward>
<id>251</id>
<name>Defeat Zaken!</name>
<description>Receive it when you take part in Zaken Raid. You must be in the Command Channel that defeats Zaken.</description>
<reset_time>SINGLE</reset_time>
<reward_items>
<reward_item id="90767" count="1"/>
</reward_items>
<requirement>
<kill_raid>1</kill_raid>
</requirement>
<cond>
<target mobId="29022"/>
</cond>
</one_day_reward>

Всем ку!
Подскажите, как работает параметр <kill_raid>?
В описании указано, что нужно быть в командном чате, чтобы засчитало убийство.
Возможно ли данное условие проигнорировать или заменить, не залезая в ядро?
Мб есть какой то другой параметр, который выдаёт по принципу нахождения в радиусе живым, сделан хотя бы 1 удар?
 
Я реализовал екстом но без участия one reward, т.е. конфиг указываешь айди моба минимальный урон и предмет а также проверку на hwid. После убийства монстра не важно чей основной лут, кто нанёс урон получает предмет.
 
Back
Top