Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Форум для новичков[JAVA]/[question]olympiad Skills
Поиск

[question]olympiad Skills

14 ответов148 просмотровСейчас просматривают: 1
S
Sember

Пользователь

Участник

Постов: 85

На форуме с: 02.07.2009

Репутация: +46

Рейтинг: 0

· 28.07.2009, 07:11

Помогите протестить код, он из ядра олимпиады, на то чтобы игроки немогли юзать посторонние скилы. Я не пойму в чем мои ошибки! подскажите!

Код
private void checkSkills(L2PcInstance player)
          {
                    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.");
                                                  }
                                             }
                                        }
                                   }
                              }
                         }

0
S
Sember

Пользователь

Участник

Постов: 85

На форуме с: 02.07.2009

Репутация: +46

Рейтинг: 0

· 28.07.2009, 12:41

ну подскажите хоть ктото!

0
A
ansa

Пользователь

Участник

Постов: 91

На форуме с: 17.03.2008

Репутация: +25

Рейтинг: 0

· 28.07.2009, 13:10

не понятно, что ты хочешь? что за сборка? в чем проблема?
я пошел посмотрел ядро l2Archid и увидел функцию public void doCast(L2Skill skill) в классе gameserver/model/actor/L2Character.java
в которой есть различные проверки стоит ли кастовать скилл. одна из проверок:

Код
1215         // Can't use Hero and resurrect skills during Olympiad
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 скилов и все.

0
S
Sember

Пользователь

Участник

Постов: 85

На форуме с: 02.07.2009

Репутация: +46

Рейтинг: 0

· 28.07.2009, 13:23

Сборка дотов вроде.
Ну я просто хочу убедится в правильности своего кода, он верен ?
я его немного изменил и хочу услышать мнение профессионалов!

0
A
ansa

Пользователь

Участник

Постов: 91

На форуме с: 17.03.2008

Репутация: +25

Рейтинг: 0

· 28.07.2009, 13:37

если работает - значит верен. а если не работает - значит не верен ;) лично мне ничего в глаза не бросается, так что если он работает - наверно все гуд.

0
S
Sember

Пользователь

Участник

Постов: 85

На форуме с: 02.07.2009

Репутация: +46

Рейтинг: 0

· 28.07.2009, 13:45

А вы можете протестить?, я сам не пойму он работает или нет

0
A
ansa

Пользователь

Участник

Постов: 91

На форуме с: 17.03.2008

Репутация: +25

Рейтинг: 0

· 28.07.2009, 13:55

О_О странный вопрос. ну откомпили сборку, настрой конфиг и попробуй скастовать запретный скилл. что тут сложного в понимании?
хотя есть смутное ощущение, что логика функции неверная, но надо смотреть на то, что делают используемые функции.

0
S
Sember

Пользователь

Участник

Постов: 85

На форуме с: 02.07.2009

Репутация: +46

Рейтинг: 0

· 28.07.2009, 14:06

а в чем именно не верная?

0
A
ansa

Пользователь

Участник

Постов: 91

На форуме с: 17.03.2008

Репутация: +25

Рейтинг: 0

· 28.07.2009, 14:07

в общем ничего точно ответить не смогу, пока не приду домой, не поставлю сборку и все попробую и проверю ;) а может кто то до меня ответит. а какой сайт у авторов сборки?

0
S
Sember

Пользователь

Участник

Постов: 85

На форуме с: 02.07.2009

Репутация: +46

Рейтинг: 0

· 28.07.2009, 18:09

изначально сборка l2j archid Interlude
но она дополненна из разных таких как Dot, и так далее..
посмотри пожалуйста, буду ждать ответа

0
S
Sember

Пользователь

Участник

Постов: 85

На форуме с: 02.07.2009

Репутация: +46

Рейтинг: 0

· 29.07.2009, 22:12

но именно этот код вроде из арчидов, сборка ИЛа почти последняя у них!

0
A
ansa

Пользователь

Участник

Постов: 91

На форуме с: 17.03.2008

Репутация: +25

Рейтинг: 0

· 30.07.2009, 04:31

а где ты его нашел? какой класс.

0
S
Sember

Пользователь

Участник

Постов: 85

На форуме с: 02.07.2009

Репутация: +46

Рейтинг: 0

· 05.08.2009, 13:03

в ядре естественно, олимпиады)

0
S
Sember

Пользователь

Участник

Постов: 85

На форуме с: 02.07.2009

Репутация: +46

Рейтинг: 0

· 07.08.2009, 10:45

up

0
Тема закрыта для ответов