Skip to content
La2Base
Home
DownloadsWikiForumFAQ
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

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

[question]olympiad Skills

14 replies149 viewsCurrently viewing: 1
S
Sember

User

Участник

Posts: 85

На форуме с: 07/02/2009

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

Рейтинг: 0

· 07/28/2009, 07:11 AM

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

Код
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

User

Участник

Posts: 85

На форуме с: 07/02/2009

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

Рейтинг: 0

· 07/28/2009, 12:41 PM

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

0
A
ansa

User

Участник

Posts: 91

На форуме с: 03/17/2008

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

Рейтинг: 0

· 07/28/2009, 01:10 PM

не понятно, что ты хочешь? что за сборка? в чем проблема?
я пошел посмотрел ядро 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

User

Участник

Posts: 85

На форуме с: 07/02/2009

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

Рейтинг: 0

· 07/28/2009, 01:23 PM

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

0
A
ansa

User

Участник

Posts: 91

На форуме с: 03/17/2008

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

Рейтинг: 0

· 07/28/2009, 01:37 PM

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

0
S
Sember

User

Участник

Posts: 85

На форуме с: 07/02/2009

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

Рейтинг: 0

· 07/28/2009, 01:45 PM

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

0
A
ansa

User

Участник

Posts: 91

На форуме с: 03/17/2008

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

Рейтинг: 0

· 07/28/2009, 01:55 PM

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

0
S
Sember

User

Участник

Posts: 85

На форуме с: 07/02/2009

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

Рейтинг: 0

· 07/28/2009, 02:06 PM

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

0
A
ansa

User

Участник

Posts: 91

На форуме с: 03/17/2008

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

Рейтинг: 0

· 07/28/2009, 02:07 PM

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

0
S
Sember

User

Участник

Posts: 85

На форуме с: 07/02/2009

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

Рейтинг: 0

· 07/28/2009, 06:09 PM

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

0
S
Sember

User

Участник

Posts: 85

На форуме с: 07/02/2009

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

Рейтинг: 0

· 07/29/2009, 10:12 PM

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

0
A
ansa

User

Участник

Posts: 91

На форуме с: 03/17/2008

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

Рейтинг: 0

· 07/30/2009, 04:31 AM

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

0
S
Sember

User

Участник

Posts: 85

На форуме с: 07/02/2009

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

Рейтинг: 0

· 08/05/2009, 01:03 PM

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

0
S
Sember

User

Участник

Posts: 85

На форуме с: 07/02/2009

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

Рейтинг: 0

· 08/07/2009, 10:45 AM

up

0
Topic is closed for replies