大概的看了一些程序后,感觉程序好象并不完全,不知道以后这个程序会不会继续完成下去!
a*.#Zgy:lK 下面为服务端对 用户使用魔法的处理程序!
a*.#Zgy:lK 源文件名为:RequestMagicSkillUse.class (文件名可翻译为:请求魔术技术使用)
a*.#Zgy:lK
反编译后内容如下:
a*.#Zgy:lK package net.sf.l2j.gameserver.clientpackets;
a*.#Zgy:lK import java.io.IOException;
a*.#Zgy:lK
import java.io.PrintStream;
a*.#Zgy:lK
import net.sf.l2j.gameserver.*;
a*.#Zgy:lK
import net.sf.l2j.gameserver.model.L2Character;
a*.#Zgy:lK
import net.sf.l2j.gameserver.model.L2Skill;
a*.#Zgy:lK
import net.sf.l2j.gameserver.serverpackets.*;
a*.#Zgy:lK public class RequestMagicSkillUse extends ClientBasePacket
a*.#Zgy:lK
{
a*.#Zgy:lK public RequestMagicSkillUse(byte rawPacket[], ClientThread client)
a*.#Zgy:lK
throws IOException
a*.#Zgy:lK
{
a*.#Zgy:lK
super(rawPacket);
a*.#Zgy:lK
int magicId = readD();
a*.#Zgy:lK
int data2 = readD();
a*.#Zgy:lK
int data3 = readC();
a*.#Zgy:lK
System.out.println("Request Magic Skill use");
a*.#Zgy:lK
System.out.println("SkillId:" + magicId);
a*.#Zgy:lK
System.out.println("SkillLevel:" + data2);
a*.#Zgy:lK
System.out.println("data3:" + data3);
a*.#Zgy:lK
L2Character activeChar = client.getActiveChar();
a*.#Zgy:lK
Connection con = client.getConnection();
a*.#Zgy:lK
int level = 1;
a*.#Zgy:lK
L2Skill skill = SkillTable.getInstance().getInfo(magicId, level);
a*.#Zgy:lK
if(skill.isPassive())
a*.#Zgy:lK
return;
a*.#Zgy:lK
if(skill.getCastRange() > 1 && activeChar.getTarget() != null)
a*.#Zgy:lK
{
a*.#Zgy:lK
MoveToPawn move = new MoveToPawn(activeChar, activeChar.getTarget(), skill.getCastRange());
a*.#Zgy:lK
con.sendPacket(move);
a*.#Zgy:lK
}
a*.#Zgy:lK
ActionFailed af = new ActionFailed();
a*.#Zgy:lK
con.sendPacket(af);
a*.#Zgy:lK
MagicSkillUser msk = new MagicSkillUser(activeChar, magicId, level, skill.getSkillTime(), skill.getReuseDelay());
a*.#Zgy:lK
con.sendPacket(msk);
a*.#Zgy:lK
SetupGauge sg = new SetupGauge(0, skill.getSkillTime());
a*.#Zgy:lK
con.sendPacket(sg);
a*.#Zgy:lK
SystemMessage sm = new SystemMessage(46);
a*.#Zgy:lK
sm.addSkillName(magicId);
a*.#Zgy:lK
con.sendPacket(sm);
a*.#Zgy:lK
if(skill.getSkillTime() > 200)
a*.#Zgy:lK
{
a*.#Zgy:lK
try
a*.#Zgy:lK
{
a*.#Zgy:lK
Thread.sleep(skill.getSkillTime() - 200);
a*.#Zgy:lK
}
a*.#Zgy:lK
catch(InterruptedException e) { }
a*.#Zgy:lK
MagicSkillLaunched msl = new MagicSkillLaunched(activeChar, magicId, level);
a*.#Zgy:lK
con.sendPacket(msl);
a*.#Zgy:lK
}
a*.#Zgy:lK
StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
a*.#Zgy:lK
activeChar.reduceCurrentMp(skill.getMpConsume());
a*.#Zgy:lK
su.addAttribute(StatusUpdate.CUR_MP, (int)activeChar.getCurrentMp());
a*.#Zgy:lK
con.sendPacket(su);
a*.#Zgy:lK
if(skill.getOperateType() == L2Skill.OP_DURATION)
a*.#Zgy:lK
{
a*.#Zgy:lK
MagicEffectIcons mei = new MagicEffectIcons();
a*.#Zgy:lK
mei.addEffect(magicId, level, skill.getBuffDuration());
a*.#Zgy:lK
con.sendPacket(mei);
a*.#Zgy:lK
}
a*.#Zgy:lK
sm = new SystemMessage(110);
a*.#Zgy:lK
sm.addSkillName(magicId);
a*.#Zgy:lK
con.sendPacket(sm);
a*.#Zgy:lK
}
a*.#Zgy:lK
}
a*.#Zgy:lK
a*.#Zgy:lK 目前从这些程序上来看可以说,现在我们手里的程序还很不完善,不知道以后还会出更完善的不了?
a*.#Zgy:lK 我也只是大概的看看了,有不对的地方还请大家指出。没时间仔细看了,先去睡一会在上来!
a*.#Zgy:lK
a*.#Zgy:lK
俺的目的只是想扔个砖头,砸出个玉!哈哈!不行了去睡了!886
a*.#Zgy:lK [此贴子已经被作者于2004-7-2 7:22:07编辑过]