冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 874|回覆: 0
打印 上一主題 下一主題

[端口/架設] CMS服务端修改教程-GM命令从文本文件读取内容并已公告形式发出

[複製鏈接]

31

主題

0

好友

31

積分

新手上路

Rank: 1

UID
286271
帖子
42
主題
31
精華
0
積分
31
楓幣
507
威望
31
存款
0
贊助金額
0
推廣
0
GP
31
閱讀權限
10
性別
保密
在線時間
2 小時
註冊時間
2020-7-12
最後登入
2021-4-13
跳轉到指定樓層
1
發表於 2020-7-12 16:09:49 |只看該作者 |倒序瀏覽
GM命令从文本文件读取内容并已公告形式发出
下面是代码修改:
文件:net.sf.odinms.client.messages.ConmmandProcessor.java
首先在代码
import java.util.Map;
import java.util.Map.Entry;后增加
Copy codeimport java.io.*;
然后在代码
} else if (splitted[0].equals("!notice")) {
int joinmod = 1;
前面增加
else if (splitted[0].equals("!GMsays")) { try {
BufferedReader in = new BufferedReader(
new FileReader("C:\\GMsays.txt"));
String s1 , s = new String();
while( (s1 = in.readLine()) != null ){
s += s1 ;
}
String[] contents = s.split(("\\*"));
for (int i = 0; i < contents.length; i++) {
if (splitted[1].equals(""+(i+1))) {
MaplePacket packet = MaplePacketCreator.serverNotice(6,"[管理员公告] " + contents[i] );
try {
ChannelServer.getInstance(c.getChannel()).getWorldInterface().broadcastMessage(
c.getPlayer().getName(), packet.getBytes());
} catch (RemoteException e) {
c.getChannelServer().reconnectWorld();
}
//mc.dropMessage("[管理员公告] " + contents[i]);
}
}
} catch (IOException e) {
System.err.println(e);
}

修改完后的部分参考代码(注意几个“{}”的位置):
} else if (splitted[0].equals("!array")) {
                mc.dropMessage("Array");
            } else if (splitted[0].equals("!GMsays")) { try {
                          BufferedReader in = new BufferedReader(
                          new FileReader("C:\\GMsays.txt"));
                          String s1 , s = new String();
                          while( (s1 = in.readLine()) != null ){
                          s += s1 ;
                          }
                          String[] contents = s.split(("\\*"));
                          for (int i = 0; i < contents.length; i++) {
                          if (splitted[1].equals(""+(i+1))) {
                          MaplePacket packet = MaplePacketCreator.serverNotice(6,"[管理员公告] " + contents[i] );
                          try {
                          ChannelServer.getInstance(c.getChannel()).getWorldInterface().broadcastMessage(
                          c.getPlayer().getName(), packet.getBytes());
                          } catch (RemoteException e) {
                          c.getChannelServer().reconnectWorld();
                          }
                          //mc.dropMessage("[管理员公告] " + contents[i]);
                          }
                          }
                          } catch (IOException e) {
                          System.err.println(e);
                          } else if (splitted[0].equals("!notice")) {
                int joinmod = 1;

最后在C盘根目录创建一个文本文件,文件名GMsays.txt
文本内容格式为:
第一条公告
*第二条公告
*第三条公告
.....
做完以上部分,编译服务端文件后,进入游戏输入GM命令:!GMsays 数字
数字为你要说的文本中公告的行号

[發帖際遇]: -Sammy 為了搭乘「高雄戀愛摩天輪」,花費 1 楓幣 購買門票 幸運榜 / 衰神榜
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-22 05:01

回頂部