2015年4月—2024年4月,论坛已建立9周年,欢迎加入QQ群讨论:419848937

天堂2进游戏公告的修改

爆率、物品、补丁修改等技术参考资料
回复
头像
天堂之手
Mr.GL
Mr.GL
帖子: 263
注册时间: 2018-02-24 21:37

天堂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;
}
}
图片

回复