Pointer*Rage Написал:Посмотрите тут.
Вот кусок расчета бонуса:
Код:
protected static final class INT implements BaseStat
{
@Override
public final double calcBonus(L2Character actor)
{
return INTbonus[actor.getINT()];
}
}
Вот так делаем мобов без бонусов зависящих от INT:
Код:
protected static final class INT implements BaseStat
{
@Override
public final double calcBonus(L2Character actor)
{
if(actor.isNpc()) {
return 1.;
}
return INTbonus[actor.getINT()];
}
}
Спасибо, буду разбираться.
Стесняюсь спросить, компилирую сборку по инструкции, сделал всё как там сказано. Но получаю ошибку.
Текст ошибки
Код:
Buildfile: C:\Users\Prince\git\L2J_Server\build.xml
checkRequirements:
init:
[delete] Deleting directory C:\Users\Prince\git\L2J_Server\build\bin
[mkdir] Created dir: C:\Users\Prince\git\L2J_Server\build\bin
dist:
[sync] Removed 1 dangling directory from C:\Users\Prince\git\L2J_Server\build\dist
[sync] Removed 6 dangling files from C:\Users\Prince\git\L2J_Server\build\dist
compile:
BUILD FAILED
C:\Users\Prince\git\L2J_Server\build.xml:76: srcdir "C:\Users\Prince\git\L2J_Server\java" does not exist!
Total time: 361 milliseconds
Место на которое указывает ошибка.
Код:
<target name="compile" depends="dist" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="1.8" target="1.8" />
</target>
Если закоментировать строку
Код:
<target name="compile" depends="dist" description="Compile the source.">
<!-- <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="1.8" target="1.8" /> -->
</target>
То ошибки не будет
Код:
Buildfile: C:\Users\Prince\git\L2J_Server\build.xml
checkRequirements:
init:
[delete] Deleting directory C:\Users\Prince\git\L2J_Server\build\bin
[mkdir] Created dir: C:\Users\Prince\git\L2J_Server\build\bin
dist:
compile:
jar:
[jar] Building MANIFEST-only jar: C:\Users\Prince\git\L2J_Server\build\dist\login\l2jlogin.jar
[jar] Building MANIFEST-only jar: C:\Users\Prince\git\L2J_Server\build\dist\login\L2J_Configurator.jar
[jar] Building MANIFEST-only jar: C:\Users\Prince\git\L2J_Server\build\dist\game\l2jserver.jar
[jar] Building MANIFEST-only jar: C:\Users\Prince\git\L2J_Server\build\dist\game\L2J_Configurator.jar
[jar] Building MANIFEST-only jar: C:\Users\Prince\git\L2J_Server\build\dist\tools\Database_Installer_GS.jar
[jar] Building MANIFEST-only jar: C:\Users\Prince\git\L2J_Server\build\dist\tools\Database_Installer_LS.jar
build:
[zip] Building zip: C:\Users\Prince\git\L2J_Server\build\L2J_Server_2015-09-23.zip
BUILD SUCCESSFUL
Total time: 574 milliseconds
Как исправить ошибку, и почему она возникает?
Добавлено через 41 минуту
По теме:
Есть две формулы расчёта. (По крайне мере я обнаружил только две)
1) Базовое значение из файла xml * значение бонуса при CON 43 (бонус 1,58 ) = Реальное значение.
2) Базовое значение из файла xml * значение бонуса при CON 43 (бонус 1,58 ) * 2 = Реальное значение.
Две формулы расчёта бонуса, мне не понятно почему во 2 формуле идёт умножение на 2 на некоторых npc и с чем это связано.
И при обратном расчёте этих формул (Без участия базового значения) получается не правильный остаток в базовом значении xml файла в сборке 2jserver.
Код работает, но он не перекрывает 2 формулу, у некоторых npc по фурмуле идёт умножение на 2, почему?
Код:
public final double calcBonus(L2Character actor)
{
if(actor.isNpc())
{
return 1;
}
return CONbonus[actor.getCON()];
}