Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Крафт система
#1
Доброго времени суток, подниму довольно сложную тему.

Создаю собственные крафт рецепты, и наткнулся на такой косяк

У крафт рецептов не работает свойство, race="ALL" можно указать только конкретно одну из двух расс, причём все XML поддерживаю свойство race="ALL", но видимо не хватает либо поддержки пакета в ядре, либо подходящей функции, уже всё перекопал, мб кто видел?


Код:
<recipe_template id="155090006" nameid="1504773" skillid="40002" race="ALL" skillpoint="399" productid="100000904"
                     quantity="1" componentquantity="1">
        <component quantity="1" itemid="152000911"/>
        <comboproduct itemid="100000905"/>
        <comboproduct itemid="100000906"/>
        <comboproduct itemid="100000907"/>
        <comboproduct itemid="100000908"/>
    </recipe_template>
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#2
Заплачу ядом, если кто сможет решить)
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#3
Нашёл способ решения данной проблемы, необходимо в документе

SkillRace.java установить значение параметра ALL равным ELYOS и ASMODIANS, относительно скрипта в документе Race.java

Но как бы это написать...
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#4
Wolfas, выложи куски кода (под спойлером) с твоими пояснениями, если что - будем дополнять. Честно говоря лично я не совсем понял что именно ты сделал.
Ответ
#5
Свиток в клиенте:

client_items.xml

Свиток на сервере:

item_templates.xml

Рецепт в клиенте:

client_combine_recipe.xml

Рецепт на сервере:

recipe_template.xml

Где я вижу проблему:

skillRace.java

Race.java
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#6
На сколько я понял за добавление рецептов в книгу рецептов отвечает CraftLearnAction (путь package com.aionengine.gameserver.itemengine.actions;) , там как раз есть проверка SkillRace и Race она там идёт таким образом:
PHP код:
<?php 
if (template.getRace().ordinal() != player.getCommonData().getRace().getRaceId())
return
false;
как видно сверка идёт по значениям констант в обохи перечислителях(enum`ax) , но как мы знаем раса игрока не может быть ALL, поэтому та проверка и не пропускает далее если у рецепта стоит раса ALL.
Её можно замеить сделующим образом:
PHP код:
<?php 
switch(template.getRace())
{
case
ALL:
break;
default:
if (
template.getRace().ordinal() != player.getCommonData().getRace().getRaceId())
return
false;
}
Дверь запили!
Ответ
#7
flashman Спасибо! Вы меня спасли)
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Крафт Necron 1 2,200 03-30-2011, 12:49 AM
Последний пост: Wolfas
  Система голосование Temmy 0 1,689 10-15-2010, 09:37 AM
Последний пост: Temmy
  Изготовление и крафт вещей. Зал мастерства Demoness 11 4,951 03-26-2010, 09:52 PM
Последний пост: Romanz

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)