天堂2进游戏公告的修改
发表于 : 2018-03-14 16:01
目前为止控制语句在EnterWorld类中。 if (Config.DISPLAY_SERVER_VERSION) { if (Config.SERVER_VERSION != null) activeChar.sendMessage(getText("TDJKVFcgU2VydmVyIFZlcnNpb246")+" "+Config.SERVER_VERSION); if (Config.DATAPACK_VERSION != null) activeChar.sendMessage(getText("TDJKVFcgRGF0YXBhY2sgVmVyc2lvbjo=")+" "+Config.DATAPACK_VERSION); } activeChar.sendMessage(getText("TDJKVFcgR2FtZXNlcnZlciBIaWdoRml2ZSBBbHBoYQ==")); SevenSigns.getInstance().sendCurrentPeriodMsg(activeChar); Announcements.getInstance().showAnnouncements(activeChar); 上面红色加粗的一句,即为进游戏时的公告,L2jtw版本的是说明自己的版本信息。 此处必须要注意的是,l2j的内核对这句公告(还有上面二句控制是否显示dp和gs的if语句)并不是以明文的形式写出来,而是用一个getText()函数把传入的base64编码的字符串解码为明文。 想要更改客户端进游戏时提示的信息,只要把红色的一句注释掉。 然后像这样: activeChar.sendMessage("欢迎进入你爷爷的天堂II");就OK咯。 getText函数的实现如下: private String getText(String string) { try { String result = new String(Base64.decode(string), "UTF-8"); return result; } catch (UnsupportedEncodingException e) { return null; } }