2652210 發表於 2019-6-15 23:24

掉寶公告報錯 有大大能教我修改嗎

本帖最後由 2652210 於 2019-6-15 23:31 編輯

2019-06-15 23:13:29,Format specifier 's'
java.util.MissingFormatArgumentException: Format specifier 's'
      at java.util.Formatter.format(Unknown Source)
      at java.util.Formatter.format(Unknown Source)
      at java.lang.String.format(Unknown Source)
      at com.lineage.config.ConfigBoxMsg.msg(ConfigBoxMsg.java:72)
      at com.lineage.server.model.drop.DropShare$DropShareR.run(DropShare.java:198)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)


這是掉寶公告報錯有大大會修改嗎 有源碼


public static void msg(final String string1, final String string2) {
                try {
                        final String msg = _box_msg_list.get(_random.nextInt(_box_msg_list
                                        .size()) + 1);
                        if (msg != null) {
                              final String out = String.format(msg, string1, string2);
                              // 寶物公告
                              World.get().broadcastPacketToAll(new S_BoxMessage(out));
                        }

                } catch (final Exception e) {
                        _log.error(e.getLocalizedMessage(), e);
                }
      }
}

這是
源碼裡面的 不知道哪裡錯了= =
也不知道哪些 是掉寶的 剛好在最下面 哈哈

100112055231 發表於 2019-6-19 19:00

\fY %s 經由 %s 獲得 %s
試試

100112055231 發表於 2019-6-16 16:16

之前拿篇不就說了 是格式錯誤...

2652210 發表於 2019-6-16 19:38

100112055231 發表於 2019-6-16 16:16
之前拿篇不就說了 是格式錯誤...

#這是服務器的物品公告
#ISMSG true:顯示公告 false:不顯示公告
#%s這是名稱輸入的位置保留(第一個%s是獲得物品人物名稱,第二個%s是給予物品的物件名稱,第三個%s是物品名稱)
#例如 人物AAA經由寶箱獲得蠟燭
ISMSG = true

\fY%s經由%s獲得%s

大大請問錯在哪 謝謝您 ^^

cecece99770 發表於 2019-6-18 14:42

2652210 發表於 2019-6-16 19:38
#這是服務器的物品公告
#ISMSG true:顯示公告 false:不顯示公告
#%s這是名稱輸入的位置保留(第一個%s是獲 ...

你找看看其她版本的 這公告是怎麼打的
或是您的記事本格是問題你重新創一個試試看

2652210 發表於 2019-6-19 01:03

cecece99770 發表於 2019-6-18 14:42
你找看看其她版本的 這公告是怎麼打的
或是您的記事本格是問題你重新創一個試試看
...

#%s這是名稱輸入的位置保留(第一個%s是獲得物品人物名稱,第二個%s是給予物品的物件名稱,第三個%s是物品名稱

我查了1下都是 #%s這是名稱輸入的位置保留(第一個%s是獲得物品人物名稱,第二個%s是給予物品的物件名稱,第三個%s是物品名稱


我只要\f2【\fR%s\fX】從【\fR%s\fX】獲得【\fR%s\fX】 把這個 語句的 %s 拿掉 廣播就正常了 只是不會顯示人物名子 怪物道具名子

我也重創了1個 也是不行 天啊~~~~~~~~~~~~~~~~~

2652210 發表於 2019-6-20 00:19

100112055231 發表於 2019-6-19 19:00
\fY %s 經由 %s 獲得 %s
試試

用好啦 謝謝^^只能用 %s獲得%s這樣的格式

final String out = String.format(msg, string1, string2);源碼 這段


可能代表 只能用 2個 %s謝謝你 ^^








2652210 發表於 2019-6-20 00:21

cecece99770 發表於 2019-6-18 14:42
你找看看其她版本的 這公告是怎麼打的
或是您的記事本格是問題你重新創一個試試看
...

大大謝謝你的 講解 跟方向用好了 他格式 只能 %s獲得%s   


final String out = String.format(msg, string1, string2);
可能這段 代表就是 2個%s 而已

a22062337 發表於 2020-6-29 23:47

請問 如果要設定掉寶公告

就是多一行
       
\fY %s 經由 %s 獲得 (我要的物品)

這樣嗎?

現在我都沒設定東西 但是模擬器會報錯

ERROR - Format specifier '%s'
java.util.MissingFormatArgumentException: Format specifier '%s'
      at java.util.Formatter.format(Unknown Source)
      at java.util.Formatter.format(Unknown Source)
      at java.lang.String.format(Unknown Source)
      at com.lineage.config.ConfigBoxMsg.msg(ConfigBoxMsg.java:72)
      at com.lineage.server.model.drop.DropShare$DropShareR.run(DropShare.java:198)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

michaeljordan18 發表於 2020-6-30 09:06

大家一起研究一下

a22062337 發表於 2020-8-27 00:02

2652210 發表於 2019-6-20 00:21
大大謝謝你的 講解 跟方向用好了 他格式 只能 %s獲得%s   




請問大大 我今天假設要設定廣播妖魔掉落歐西斯盔甲

就是把%S改成我要的物品名稱跟NPC名稱就可以了嗎?


隨回復附上修正後CLASS檔案 可參閱看看是否這樣可以完整廣播 (請先行備份)

bennyst 發表於 2021-7-18 02:27

condekun 發表於 2021-8-17 19:02

a22062337 發表於 2020-8-27 00:02
請問大大 我今天假設要設定廣播妖魔掉落歐西斯盔甲

就是把%S改成我要的物品名稱跟NPC名稱就可以了嗎?


感謝分享

appkopo 發表於 2022-1-10 13:38

\fY %s 經由 %s 獲得 %s

soonpyz1 發表於 2022-11-24 15:53

       感謝分享

elsu6fu0 發表於 2022-12-15 14:10

感謝分享賺金幣

zzzzzz 發表於 2023-12-15 11:15

100112055231 發表於 2019-6-19 19:00
\fY %s 經由 %s 獲得 %s
試試

多謝你的分享
頁: [1]
查看完整版本: 掉寶公告報錯 有大大能教我修改嗎