Перейти к содержанию
Авторизация  
nkr

Анимация При Получении Проффы

Рекомендуемые сообщения

Ребята всем привет! Помогите! У меня на сборке нету анимации при получение проффы! Где она пишется ? В L2ClassMasterInstance?

Помогите исправить данный баг!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

l2pcinstance

А если не сложно, тыкните меня прямо именно туда где эта функция

Что нужно добавить!

Изменено пользователем nkr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

/*

* This program is free software; you can redistribute it and/or modify

* it under the terms of the GNU General Public License as published by

* the Free Software Foundation; either version 2, or (at your option)

* any later version.

*

* This program is distributed in the hope that it will be useful,

* but WITHOUT ANY WARRANTY; without even the implied warranty of

* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

* GNU General Public License for more details.

*

* You should have received a copy of the GNU General Public License

* along with this program; if not, write to the Free Software

* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA

* 02111-1307, USA.

*

* http://www.gnu.org/copyleft/gpl.html

*/

package com.src.gameserver.model.actor.instance;

 

import javolution.text.TextBuilder;

 

import com.src.Config;

import com.src.gameserver.ai.CtrlIntention;

import com.src.gameserver.datatables.CharTemplateTable;

import com.src.gameserver.model.base.ClassId;

import com.src.gameserver.model.base.ClassLevel;

import com.src.gameserver.model.base.PlayerClass;

import com.src.gameserver.model.quest.Quest;

import com.src.gameserver.serverpackets.ActionFailed;

import com.src.gameserver.serverpackets.MyTargetSelected;

import com.src.gameserver.serverpackets.NpcHtmlMessage;

import com.src.gameserver.serverpackets.SystemMessage;

import com.src.gameserver.serverpackets.ValidateLocation;

import com.src.gameserver.templates.L2NpcTemplate;

 

/**

* This class ...

*

* @version $Revision: 1.4.2.1.2.7 $ $Date: 2005/03/27 15:29:32 $

*/

public final class L2ClassMasterInstance extends L2FolkInstance

{

private static int[] _secondClassIds =

{

2,3,5,6,9,8,12,13,14,16,17,20,21,23,24,27,

28,30,33,34,36,37,40,41,43,46,48,51,52,55,57

};

 

/**

* @param template

*/

public L2ClassMasterInstance(int objectId, L2NpcTemplate template)

{

super(objectId, template);

}

 

public void onAction(L2PcInstance player)

{

if (!canTarget(player))

return;

 

player.setLastFolkNPC(this);

 

if (getObjectId() != player.getTargetId())

{

 

// Set the target of the L2PcInstance player

player.setTarget(this);

 

// Send a Server->Client packet MyTargetSelected to the L2PcInstance player

player.sendPacket(new MyTargetSelected(getObjectId(), 0));

 

// Send a Server->Client packet ValidateLocation to correct the L2NpcInstance position and heading on the client

player.sendPacket(new ValidateLocation(this));

}

else

{

if (!canInteract(player))

{

player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);

return;

}

 

 

showClassMasterWindow(player, Config.ALLOW_CLASS_MASTERS);

}

player.sendPacket(new ActionFailed());

}

 

public static void showClassMasterWindow(L2PcInstance player, boolean isAllowed)

{

NpcHtmlMessage html = new NpcHtmlMessage(0);

TextBuilder sb = new TextBuilder();

 

if (isAllowed)

{

if (Config.DEBUG)

_log.fine("ClassMaster activated");

 

ClassId classId = player.getClassId();

 

int jobLevel = 0;

int level = player.getLevel();

ClassLevel lvl = PlayerClass.values()[classId.getId()].getLevel();

switch (lvl)

{

case First:

jobLevel = 1;

break;

case Second:

jobLevel = 2;

break;

case Third:

jobLevel = 3;

break;

default:

jobLevel = 4;

break;

}

 

if ((Config.ALLOW_FIRST_CLASS && level >= 20 && jobLevel == 1) || (Config.ALLOW_SECOND_CLASS && level >= 40 && jobLevel == 2))

html.setFile("data/html/classmaster/" + classId.getId() + ".htm");

else if (Config.ALLOW_THIRD_CLASS && level >= 76 && jobLevel == 3)

{

for (int i = 0; i < _secondClassIds.length; i++)

{

if (classId.getId() == _secondClassIds)

{

sb.append("<html><body<center>");

sb.append("<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32>");

sb.append("<br><br><table width=200>");

sb.append("<tr><td>"+CharTemplateTable.getClassNameById(classId.getId())+" Class Master:</td></tr>");

sb.append("<tr><td><br></td></tr>");

sb.append("<tr><td><a action=\"bypass -h change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getClassNameById(88+i)+"</a></td></tr>");

sb.append("<tr><td><br></td></tr></table><br><br>");

sb.append("<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32>");

 

sb.append("</center></body></html>");

html.setHtml(sb.toString());

 

}

}

}

else

{

sb.append("<html><head><body>");

 

switch (jobLevel)

{

case 1:

if (Config.ALLOW_FIRST_CLASS)

sb.append("<br>Come back here when you reach level 20 to change your class.");

else

sb.append("<br>You have to complete First Class Transfer on your own.");

break;

case 2:

if (Config.ALLOW_SECOND_CLASS)

sb.append("<br>Come back here when you reach level 40 to change your class.");

else

sb.append("<br>You have to complete Second Class Transfer on your own.");

break;

case 3:

if (Config.ALLOW_THIRD_CLASS)

sb.append("<br>Come back here when you reach level 76 to change your class.");

else

sb.append("<br>You have to complete Third Class Transfer on your own.");

break;

default:

sb.append("<br>There are no more classes available for you.");

break;

}

 

for (Quest q : Quest.findAllEvents())

sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>");

 

sb.append("</body></html>");

html.setHtml(sb.toString());

}

}

else

{

sb.append("<html><head><body>");

sb.append("<br><center>Class Master is deactivated.</center>");

sb.append("</body></html>");

html.setHtml(sb.toString());

}

 

player.sendPacket(html);

}

 

public static void changeClass(L2PcInstance player, String command)

{

int val = Integer.parseInt(command.substring(13));

 

 

// Exploit prevention

ClassId classId = player.getClassId();

int level = player.getLevel();

int jobLevel = 0;

int newJobLevel = 0;

 

 

// some protection checks, just to be sure

ClassLevel lvlnow = PlayerClass.values()[classId.getId()].getLevel();

switch (lvlnow)

{

case First:

if (!Config.ALLOW_FIRST_CLASS)

return;

jobLevel = 1;

break;

case Second:

if (!Config.ALLOW_SECOND_CLASS)

return;

jobLevel = 2;

break;

case Third:

if (!Config.ALLOW_THIRD_CLASS)

return;

jobLevel = 3;

break;

default:

jobLevel = 4;

break;

}

 

if (jobLevel == 4)

return; // no more job changes

 

ClassLevel lvlnext = PlayerClass.values()[val].getLevel();

switch (lvlnext)

{

case First:

newJobLevel = 1;

break;

case Second:

newJobLevel = 2;

break;

case Third:

newJobLevel = 3;

break;

default:

newJobLevel = 4;

break;

}

 

// prevents changing between same level jobs

if (newJobLevel != jobLevel + 1)

return;

 

if (level < 20 && newJobLevel > 1)

return;

if (level < 40 && newJobLevel > 2)

return;

if (level < 76 && newJobLevel > 3)

return;

// -- prevention ends

 

if (Config.DEBUG)

_log.fine("Changing class to ClassId:"+val);

 

 

player.setClassId(val);

 

 

if (player.isSubClassActive())

player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());

else

player.setBaseClass(player.getActiveClass());

 

 

player.broadcastUserInfo();

 

 

if (val >= 88)

player.sendPacket(new SystemMessage(1606)); // system sound 3rd occupation

else

player.sendPacket(new SystemMessage(1308)); // system sound for 1st and 2nd occupation

 

}

}

 

 

Изменено пользователем nkr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Блин ссори, я только не понял где исправлять нужно тык

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне бы только узнать что и куда подставить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тебе уже все написали, сам додумай!

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Просто пожалуйста скажите что и куда добавить с меня ++++

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тебе уже все написали, сам додумай!

Помоги пожалуйста!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребята всем привет! Помогите! У меня на сборке нету анимации при получение проффы! Где она пишется ? В L2ClassMasterInstance?

Помогите исправить данный баг!

 

В Player.java находишь этот метод:

public synchronized void setClassId(final int id, boolean noban, boolean fromQuest)

 

И в самом его конце добавляешь это:

sendPacket(new ExSubjobInfo(this, true));

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В Player.java находишь этот метод:

public synchronized void setClassId(final int id, boolean noban, boolean fromQuest)

 

И в самом его конце добавляешь это:

sendPacket(new ExSubjobInfo(this, true));

 

А если нету Player.java и вообще такой строки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...