07-16-2011, 04:15 AM
(Сообщение последний раз редактировалось: 07-16-2011, 04:42 AM FaintSmile.)
Сборка L2J-INFINITY. (хотя, думаю эти классы есть и в l2jserver)
В сфере разработчика недавно, есть много моментов, в которых сомневаюсь или просто не знаю еще, не накидывайтесь с палками пож. =)
Суть вопроса разберу на примере EffectStun:
вызываем конструкторы, но что такое env?
Что делает? Я так понимаю то какая-то особенность языка java, но мне не знакома, скажите, для чего она здесь?
Тут я так понял из шаблонов берет тип эффекта
Тут , видимо, описано то, что делается при наложении эффекта.
Тут отключается эффект.
Вот здесь не понятно что это. Это действие при повторном использовании этого же скила на цель? Раз у нас стан, значит это действие , когда стан висит и мы его еще раз опрокидываем? Или это действие при неудачном опрокидывании повторного стана?
Тут не понятно, но я думаю, что это отвечает за флаг ? Или нет?
Еще один вопрос:
В l2j не реализован трансфер урона от пати уд. Точнее так - от сопартийцев идет урон на танка, но от самона не идет. Я попробовал это реализовать, подскажите, верно ли?
Надеюсь на ответы...
Добавлено через 26 минут
Так же написал команду на откт скилов игроку, но выдает ошибку, говорит чтобы я удалил токен. admin_refreshskills из private static final String[] ADMIN_COMMANDS =
Что ему не нравится? или нужно еще куда-нибудь, что-нибудь дописать?
В сфере разработчика недавно, есть много моментов, в которых сомневаюсь или просто не знаю еще, не накидывайтесь с палками пож. =)
Суть вопроса разберу на примере EffectStun:
public EffectStun(Env env, EffectTemplate template)
{
super(env, template);
}
вызываем конструкторы, но что такое env?
@Override
Что делает? Я так понимаю то какая-то особенность языка java, но мне не знакома, скажите, для чего она здесь?
public L2EffectType getEffectType()
{
return L2EffectType.STUN;
}
Тут я так понял из шаблонов берет тип эффекта
public boolean onStart()
{
getEffected().startStunning();
return true;
}
Тут , видимо, описано то, что делается при наложении эффекта.
public void onExit()
{
getEffected().stopStunning(false);
}
Тут отключается эффект.
public boolean onActionTime()
{
// just stop this effect
return false;
}
Вот здесь не понятно что это. Это действие при повторном использовании этого же скила на цель? Раз у нас стан, значит это действие , когда стан висит и мы его еще раз опрокидываем? Или это действие при неудачном опрокидывании повторного стана?
public int getEffectFlags()
{
return CharEffectList.EFFECT_FLAG_STUNNED;
}
Тут не понятно, но я думаю, что это отвечает за флаг ? Или нет?
Еще один вопрос:
В l2j не реализован трансфер урона от пати уд. Точнее так - от сопартийцев идет урон на танка, но от самона не идет. Я попробовал это реализовать, подскажите, верно ли?
@Override
public boolean onStart()
{
if (getEffected() instanceof L2Playable)
{
final L2Playable activeChar = (L2Playable) getEffected();
activeChar.setIsTransferringDmg(true);
activeChar.setIsTransferringDmgTo((L2Playable) getEffector());
}
else if (getEffected() instanceof L2Summon)
{
final L2Summon activeSum = (L2Summon) getEffected(); //Transfer for Summon! SweetDreams Done
activeSum.setIsTransferringDmg(true);
activeSum.setIsTransferringDmgTo((L2Playable) getEffector());
}
return true;
}
Надеюсь на ответы...
Добавлено через 26 минут
Так же написал команду на откт скилов игроку, но выдает ошибку, говорит чтобы я удалил токен. admin_refreshskills из private static final String[] ADMIN_COMMANDS =
Что ему не нравится? или нужно еще куда-нибудь, что-нибудь дописать?
else if (command.startsWith("admin_refreshskills"))
{
int value;
try
{
final String val = command.substring(15);
value = Integer.parseInt(val);
}
catch (Exception e)
{
activeChar.sendMessage("Incorrect parameter. LOL! ");
return true;
}
if (activeChar instanceof L2PcInstance)
{
for (L2Skill skill : activeChar.getAllSkills())
{
if (skill.getReuseDelay() <= 900000)
activeChar.enableSkill(skill);
}
activeChar.sendSkillList();
activeChar.sendPacket(new SkillCoolTime(activeChar));
}
else
activeChar.sendMessage("Invalid target.");
}