Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
привязка шмотки к класу перса
#11
ANZO Написал:Без исходников это будет похоже на геморрой.
Если у вас сборка лыжеподобная, то все ограничится компилом вышеуказанного класса под импорты сборки и впихиванием его в jar.

А обработка условий при загрузке XML? Smile То что ты выложил это же лишь проверка...
Ответ
#12
Обработка идет атачами классов с условиями. Максимум что придется сделать зарегить его в enum.
Ответ
#13
Извените что отвлекаю господ от работы, но всеже.
Сборка у меня лыже подобная основаная на Теон interlude.

1) Клас ConditionPlayerClassIdRestriction скомпилил без проблем.
2) в шмотку добавил описание то что дал Anzo.
3) добавил скомпиленый клас в путь : net/sf/l2j/gameserver/skills/conditions/сюда

Сервер работает не ругается, но то что я хотел не работает.

заметил пару неточностей. в базе в таблице class_list у меня столбик id. А в примере тот что вы дали, я так понял, classid ? Тоесть мне надо подправить код и xml ???


Anzo,
ANZO Написал:Обработка идет атачами классов с условиями. Максимум что придется сделать зарегить его в enum.
Можно ли тут по подробней?

приведите пожалуйста список того, что мне нужно проверить.. ине посылайте пожалуйста учить яву ( уже учу ) и брать сборку с исходниками..
Ответ
#14
vetal.lebed Написал:Anzo,

Можно ли тут по подробней?

приведите пожалуйста список того, что мне нужно проверить.. ине посылайте пожалуйста учить яву ( уже учу ) и брать сборку с исходниками..

В DocumentBase в методе protected Condition parsePlayerCondition добавьте
Код:
else if ("class_id_restriction".equalsIgnoreCase(a.getNodeName()))
            {
                StringTokenizer st = new StringTokenizer(a.getNodeValue(), ",");
                ArrayList<Integer> array = new ArrayList<Integer>(st.countTokens());
                while (st.hasMoreTokens())
                {
                    String item = st.nextToken().trim();
                    array.add(Integer.decode(getValue(item, null)));
                }
                cond = joinAnd(cond, new ConditionPlayerClassIdRestriction(array));
            }
Ответ
#15
Спасибо за ваши старания, но тут декомпил не помог.. вылазит одна ошибка..
вместо : надо поставить ; Когда ее исправляю то вылазит 25 ошибок. Если вдруг все исправлю то отпишу что вышло.
Ответ
#16
А почему именно
Цитата:вместо : надо поставить ;
?
Покажи кусок кода.
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Ответ
#17
Код:
protected Lambda getLambda(Node n, Object template)
  {
    Node nval = n.getAttributes().getNamedItem("val");
    if (nval != null)
    {
      String val = nval.getNodeValue();
      if (val.charAt(0) == '#')
        return new LambdaConst(Double.parseDouble(getTableValue(val)));
      if (val.charAt(0) == '$')
      {
        if (val.equalsIgnoreCase("$player_level"))
          return new LambdaStats(LambdaStats.StatsType.PLAYER_LEVEL);
        if (val.equalsIgnoreCase("$target_level"))
          return new LambdaStats(LambdaStats.StatsType.TARGET_LEVEL);
        if (val.equalsIgnoreCase("$player_max_hp"))
          return new LambdaStats(LambdaStats.StatsType.PLAYER_MAX_HP);
        if (val.equalsIgnoreCase("$player_max_mp"))
          return new LambdaStats(LambdaStats.StatsType.PLAYER_MAX_MP);

        StatsSet set = getStatsSet();
        String field = set.getString(val.substring(1));
        if (field != null)
          return new LambdaConst(Double.parseDouble(getValue(field, template)));

        throw new IllegalArgumentException("Unknown value " + val);
      }
      return new LambdaConst(Double.parseDouble(val));
    }
    LambdaCalc calc = new LambdaCalc();
    n = n.getFirstChild();
    while ((n != null) && (n.getNodeType() != 1))
      n = n.getNextSibling();
    if ((n == null) || (!("val".equals(n.getNodeName()))))
      throw new IllegalArgumentException("Value not specified");
    for (n = n.getFirstChild(); n != null; n = n.getNextSibling())
    {
      if (n.getNodeType() != 1)
        [color=Red][B]break label340:[/B][/color]
      label340: attachLambdaFunc(n, template, calc);
    }
    return calc;
  }

В этом методе в самом низу ругается на эту строчку break label340:

Вот лог ошибки из cmd.

C:\Users\Lebed>javac -classpath l2jx.jar -Xlint:unchecked DocumentBase.java
DocumentBase.java:712: ';' expected
break label340:
1 error

p.s. пытаюсь скомпилить тупо декомпиленый код.
p.p.s. а на форуме что нету spoiler'а
Ответ
#18
Где вы вообще видили конструкцию вида break переменная; ? break - просто останавливает цикл, что в вашем коде значит label340 - вообще не понятно и нигде не определено.
Ответ
#19
Ro0TT Написал:Где вы вообще видили конструкцию вида break переменная; ? break - просто останавливает цикл, что в вашем коде значит label340 - вообще не понятно и нигде не определено.

Я писал что исходов нету, это декомпил. С этим уже все решил... ( вроде).. теперь при компиле этого класса ( уточняю: компилю отдельно класс от сбоорки.. ) у мну ругается на импорты :

import javolution.text.TextBuilder;
import javolution.util.FastList;
import javolution.util.FastMap;

и

import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;

от я хз де их взять..
Ответ
#20
vetal.lebed Написал:Я писал что исходов нету, это декомпил. С этим уже все решил... ( вроде).. теперь при компиле этого класса ( уточняю: компилю отдельно класс от сбоорки.. ) у мну ругается на импорты :

import javolution.text.TextBuilder;
import javolution.util.FastList;
import javolution.util.FastMap;

и

import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;

от я хз де их взять..

Вы через ANT компилируете? Используя build.xml ?
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Удаляется скилл после рестарта перса ntking 2 1,632 09-10-2018, 04:47 PM
Последний пост: ntking
  Привязка PW-soft к сайту Amidamaru 2 1,478 05-08-2016, 08:30 PM
Последний пост: Amidamaru
  Создание перса на птс Masone 4 1,816 07-08-2015, 01:42 PM
Последний пост: Masone
  Не создает перса Parkan_vdv 2 1,445 09-04-2013, 04:48 PM
Последний пост: Parkan_vdv
  Привязка StressWeb 12 spartana 4 2,411 11-13-2012, 07:04 PM
Последний пост: Mafio
  При создании перса дается квест Deron 3 1,198 10-25-2012, 08:29 PM
Последний пост: Archiel
  Привязка маг профы к маг скину ElefanD 16 3,317 09-09-2012, 01:21 PM
Последний пост: Ctudent
  Привязка скила к придмету Deron 1 1,347 04-07-2012, 06:14 AM
Последний пост: Ro_0TT
  Штраф на шмотки. FilipMorris 9 2,228 02-17-2012, 02:05 PM
Последний пост: FilipMorris
  Привязка 1tester1 20 5,381 02-14-2012, 06:39 PM
Последний пост: Ro_0TT

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


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