[question]olympiad Skills
Помогите протестить код, он из ядра олимпиады, на то чтобы игроки немогли юзать посторонние скилы. Я не пойму в чем мои ошибки! подскажите!
{
L2Skill allskill[] = player.getAllSkills();
int i = allskill.length;
for( int j = 0; j < i; j++ )
{
L2Skill skill = allskill[j];
int id = skill.getId();
if (Config.ALLOW_OLY_CONF == true && (id == Config.OLLY_SKILL_ID || id ==
Config.OLLY_SKILL_ID_2 || id == Config.OLLY_SKILL_ID_3 || id == Config.OLLY_SKILL_ID_4 || id == Config.OLLY_SKILL_ID_5 ))
{
L2Effect[] effects = player.getAllEffects();
int l = effects.length;
if (effects != null)
{
for(int k=0; k < l; k++)
{
L2Effect efc = effects[k];
int bufId = efc.getSkill().getId();
if(id == bufId)
{
player.abortCast();
player.stopAllEffects();
player.sendMessage("You can't use this skill in olympiad mode, noob xD.");
}
}
}
}
}
}
не понятно, что ты хочешь? что за сборка? в чем проблема?
я пошел посмотрел ядро l2Archid и увидел функцию public void doCast(L2Skill skill) в классе gameserver/model/actor/L2Character.java
в которой есть различные проверки стоит ли кастовать скилл. одна из проверок:
1216 if (this instanceof L2PcInstance && ((L2PcInstance)this).isInOlympiadMode() &&
1217 (skill.isHeroSkill() || skill.getSkillType() == L2SkillType.RESURRECT))
1218 {
1219 SystemMessage sm = new SystemMessage(SystemMessageId.THIS_SKILL_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT);
1220 sendPacket(sm);
1221 return;
1222 }
числа - номера строка. логично, что именно сюда можно добавить проверку на нужные id скилов и все.
Сборка дотов вроде.
Ну я просто хочу убедится в правильности своего кода, он верен ?
я его немного изменил и хочу услышать мнение профессионалов!
если работает - значит верен. а если не работает - значит не верен ;) лично мне ничего в глаза не бросается, так что если он работает - наверно все гуд.
О_О странный вопрос. ну откомпили сборку, настрой конфиг и попробуй скастовать запретный скилл. что тут сложного в понимании?
хотя есть смутное ощущение, что логика функции неверная, но надо смотреть на то, что делают используемые функции.
в общем ничего точно ответить не смогу, пока не приду домой, не поставлю сборку и все попробую и проверю ;) а может кто то до меня ответит. а какой сайт у авторов сборки?
изначально сборка l2j archid Interlude
но она дополненна из разных таких как Dot, и так далее..
посмотри пожалуйста, буду ждать ответа
