分屏版
该用户从未签到
中级会员
您需要 登录 才可以下载或查看,没有账号?立即注册
使用道具 举报
签到天数: 11 天
[LV.3]偶尔看看II
新人上路
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
该用户从未签到
中级会员
/*
角色离开地图设置
*/
public void leaveMap(MapleMap map) {
this.controlledLock.writeLock().lock();
this.visibleMapObjectsLock.writeLock().lock();
try {
for (final MapleMapObject monstermo : map.getAllMonstersThreadsafe()) {
final MapleMonster mons = (MapleMonster) monstermo;
if (mons != null) {
mons.setController(null);
mons.setControllerHasAggro(false);
map.updateMonsterController(mons);
}
}
怪物变笨只需要改成这样就好~ 怪物不会加BUFF 是在源码里被蒙蔽掉了,你找到位置开启就好了
CMS的端,基础普遍比较差,需要自己改成netty架构,还要删除大量自定义的垃圾代码
脚本里完善了所有职业动画和 角色控制 NPC控制 画面切换等等各种功能。 修改的内容比较多~
如果是单独的任务,一般控制 NPC特定动作~ 比如 碧欧蕾塔公主露脸的效果
qm.showNpcSpecialEffect(1300002, "face");
public void showNpcSpecialEffect(int npcid, String str) {//控制已有NPC狀態
MapleMap map = getPlayer().getMap();
for (MapleNPC obj : map.getAllNPCs()) {
if (obj.getId() == npcid) {
map.broadcastMessage(MaplePacketCreator.setNPCSpecialAction(obj.getObjectId(), str), obj.getPosition());
}
}
}
/*
控制已有NPC狀態
*/
public static byte[] setNPCSpecialAction(final int oid, final String action) {
final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
mplew.writeShort((int)SendPacketOpcode.NPC_SET_SPECIAL_ACTION.getValue());
mplew.writeInt(oid);
mplew.writeMapleAsciiString(action);
mplew.writeInt(0);
mplew.write(0);
return mplew.getPacket();
}
# NPC動作
NPC_SET_SPECIAL_ACTION = 474
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
使用道具 举报
2025-9-3 14:51
签到天数: 11 天
[LV.3]偶尔看看II
中级会员
使用道具 举报
该用户从未签到
新人上路
1111111111111
使用道具 举报
该用户从未签到
新人上路
使用道具 举报