你想要进入某个地图后 广播 某某某玩家进入某某某地图?没错 答案就在这里!【我是一个纯新手,对于论坛爬文爬不到。找不到想要的东西时。我会发帖求助。但是很伤心。论坛高手甚多。可惜。没一个人会愿意去帮助你。甚至是提出一点意见。故此。我希望所有的新手们。在修改核心成功后,能把自己的成功心得发出来。让更多的人去了解这款游戏。了解修改。最后。想要的拿去。高手勿喷!
我做的一个进入地图公告 是利用NPC的传送功能制作出来的。
在于NPC对话的同时判定身上是否带有进入该地图所需的物品。
若无物品。则提示。没有XXX物品。
若有。则扣除1个物品 进入地图 公告:XXX进入XXX地图。
以下是修改:
server\server\clientpackets\C_NPCAction.java
随便在一个地方插入,或者可以插入到制作NPC下面。搜索:
htmlid = "eris7";
}
}
}
在 第三个}下面加入:
} else if (s.equalsIgnoreCase("BOSS")){
if (pc.getInventory().checkItem(输入你进入地图需要的物品ID,1)){
L1Teleport.teleport(pc, 32700, 32899, (short) 93, 5,true);
pc.getInventory().consumeItem(输入要扣除的物品ID数量为,1);
L1World.getInstance().broadcastServerMessage((new StringBuilder("玩家【 ")).append(pc.getName()).append(" 】进入BOSS地图!").toString());
}else{
pc.sendPackets(new S_SystemMessage("地图所需钥匙不足,无法进入。"));
}
========================================================================
解析:
if (s.equalsIgnoreCase("BOSS")){
在这里的类【BOSS】是指你在对话档中的代码。
对话档:
<body>
<font fg=FFFFFF>BOSS地图:</font><br>
<a action="BOSS">进入BOSS地图</a><br>
</body>
这里的BOSS对应核心里的BOSS类名称。
在DB里找到npcaction。这里是设置NPC对应对话档。
NPCID:输入你创建的NPC ID
normal_action: 输入你对话档的名称。
caotic_action:一样输入对话档名称。
后面的都不管他。留空白。
大陆对话档名称因该为 -h.html
做好了这些后把你制作好的对话档丢到客户端里的text然后吃档 完成 进入游戏刷出NPC。即大功告成。
核心代码解析========================================================================
L1Teleport.teleport(pc, 32700, 32899, (short) 93, 5,true);
这里的32700 32899,(short)93 就是地图的座标 93是地图代码。其他2个分别是地图的X 和 Y座标.具体怎么找座标.可以参考DB里的L1Loc指令.
========================================================================
pc.getInventory().consumeItem(输入要扣除的物品ID数量为,1);
这句。顾名思义。就是进入地图要扣除的物品ID。数量为1个。假设可以这样。你进入一个地图 需要一个BOSS地图证明。
然后进入地图。你也可以选择扣除金币3E。BOSS地图证明设置为可以交易,这样。游戏就会有更大的市场空间。
========================================================================
pc.sendPackets(new S_SystemMessage("地图所需钥匙不足,无法进入。"));
这句话因该看的懂吧。就是当你指定的ID物品不足时,提示框会显示这句话。
========================================================================
当你点击进入BOSS地图的时候。他就会按照核心的代码进入指定地图了。
当然。有些人会说。干嘛要这么麻烦。我直接到data\xml\NpcActions\Teleporter.xml 加入传送就可以了。
可是我问你。你在这能用你所需要指定的物品吗?例如说我要用BOSS钥匙进入。Teleporter.xml这是不能判定的。只能判定所需金币量。【至少在我的端是这样的】。
========================================================================
好了。最后。祝大家游戏愉快。希望会有更多的高手来帮助我们这些新手。让99更加辉煌!
99天堂1游戏发布站转载于99NETS