ZP額外道具名稱的多語言問題 (已解決)

Home Home
引用 | 編輯 甜咖啡
2022-06-26 19:07
樓主
推文 x0
Hello, 各位好


請問各位有辦法製作非ZP本身額外道具的多語言嗎? 我想要讓 amx_langmenu "en" 的使用者當打開額外道具選單時 顯示英文道具名稱, 而amx_langmenu "tc" 則顯示繁體中文名稱, 請各位為我解答

獻花 x0
引用 | 編輯 弒血
2022-06-27 03:39
1樓
  
下面是引用 甜咖啡 於 2022-06-26 19:07 發表的 ZP額外道具名稱的多語言問題: 到引言文
Hello, 各位好


請問各位有辦法製作非ZP本身額外道具的多語言嗎? 我想要讓 amx_langmenu "en" 的使用者當打開額外道具選單時 顯示英文道具名稱, 而amx_langmenu "tc" 則顯示繁體中文名稱, 請各位為我解答



可以參考zp的language的設置方法


插件init內註冊一個 register_dictionary("未定義.txt");


在lang資料夾內 找到 未定義.txt 檔案 設置自己想要的語言樣式

獻花 x0
引用 | 編輯 甜咖啡
2022-06-27 19:32
2樓
  
下面是引用 弒血 於 2022-06-27 03:39 發表的 : 到引言文




可以參考zp的language的設置方法


插件init內註冊一個 register_dictionary("未定義.txt");


在lang資料夾內 找到 未定義.txt 檔案 設置自己想要的語言樣式



你好, 弒血 謝謝你的回覆


你的方法我嘗試之後道具插件確實有讀取到txt檔的內容, 但是當我轉換為其他語言時道具名稱並不會跟著一起轉換為其他語言的名稱, 這種情況我該如何解決呢? 請各位為我解答

獻花 x0
引用 | 編輯 弒血
2022-06-27 20:16
3樓
  
下面是引用 甜咖啡 於 2022-06-27 19:32 發表的 : 到引言文




你好, 弒血 謝謝你的回覆


你的方法我嘗試之後道具插件確實有讀取到txt檔的內容, 但是當我轉換為其他語言時道具名稱並不會跟著一起轉換為其他語言的名稱, 這種情況我該如何解決呢? 請各位為我解答



lang的txt檔案內 應該有設置[en] 跟[tc] 之類的 語言定義內容


可以參考看看 其他的txt是怎麼對應輸出的

獻花 x0
引用 | 編輯 甜咖啡
2022-06-28 17:13
4樓
  
下面是引用 弒血 於 2022-06-27 20:16 發表的 : 到引言文




lang的txt檔案內 應該有設置[en] 跟[tc] 之類的 語言定義內容


可以參考看看 其他的txt是怎麼對應輸出的



你好, 弒血


在txt檔裡2種語言我都設置好了, 輸出的部分我想我應該沒弄錯但就是無法轉換成另一種語言, 我貼上相關sma及txt檔請你幫我看看有無問題, 不好意思麻煩你了

本帖包含附件
檔名: txt zp_extra_item_multilang.txt   (2022-06-28 17:13 / 1 KB)   下載次數:3

本帖包含附件
檔名: zip zp_extra_human_armor.7z   (2022-06-28 17:14 / 1 KB)   下載次數:2


獻花 x0
引用 | 編輯 弒血
2022-06-28 19:39
5樓
  
下面是引用 甜咖啡 於 2022-06-28 17:13 發表的 : 到引言文




你好, 弒血


在txt檔裡2種語言我都設置好了, 輸出的部分我想我應該沒弄錯但就是無法轉換成另一種語言, 我貼上相關sma及txt檔請你幫我看看有無問題, 不好意思麻煩你了



在控制台輸入amx_langmenu 就可以選擇各國語言的選單


如果再不行 那可能就是 amx_language 本身的問題了

獻花 x0
引用 | 編輯 弒血
2022-06-28 20:28
6樓
  
下面是引用 甜咖啡 於 2022-06-28 17:13 發表的 : 到引言文




你好, 弒血


在txt檔裡2種語言我都設置好了, 輸出的部分我想我應該沒弄錯但就是無法轉換成另一種語言, 我貼上相關sma及txt檔請你幫我看看有無問題, 不好意思麻煩你了



目前 我是已經測試成功


Lang的txt:




中文選單:




設置語言英文:




英文選單:


獻花 x0
引用 | 編輯 甜咖啡
2022-06-28 21:11
7樓
  
下面是引用 弒血 於 2022-06-28 19:39 發表的 : 到引言文




在控制台輸入amx_langmenu 就可以選擇各國語言的選單


如果再不行 那可能就是 amx_language 本身的問題了



你好, 弒血


我強烈懷疑我的問題應該是在這段的 LANG_PLAYER 上, 我認為我應該使用玩家的 id 但由於 zp_register_extra_item 是在 plugin_init() 裡, 編譯時將會出現 undefined symbol "id"  這情況我該如何解決呢? 


複製程式
 static szItem[ 64 ]
 formatex( szItem, charsmax( szItem ), "%L", LANG_PLAYER, "HUMANARMOR" )


 g_itemid_humanarmor = zp_register_extra_item( szItem, g_item_cost, ZP_TEAM_HUMAN)


獻花 x0
引用 | 編輯 弒血
2022-06-28 22:42
8樓
  
下面是引用 甜咖啡 於 2022-06-28 21:11 發表的 : 到引言文




你好, 弒血


我強烈懷疑我的問題應該是在這段的 LANG_PLAYER 上, 我認為我應該使用玩家的 id 但由於 zp_register_extra_item 是在 plugin_init() 裡, 編譯時將會出現 undefined symbol "id"  這情況我該如何解決呢? 


複製程式
 static szItem[ 64 ]
 formatex( szItem, charsmax( szItem ), "%L", LANG_PLAYER, "HUMANARMOR" )


 g_itemid_humanarmor = zp_register_extra_item( szItem, g_item_cost, ZP_TEAM_HUMAN)



LANG_PLAYER 是給玩家的沒錯


目前應該是你沒有套用到amx_langmenu的語言設置 他語言沒轉換成功而已

獻花 x0
引用 | 編輯 弒血
2022-06-28 22:54
9樓
  
下面是引用 甜咖啡 於 2022-06-28 21:11 發表的 : 到引言文




你好, 弒血


我強烈懷疑我的問題應該是在這段的 LANG_PLAYER 上, 我認為我應該使用玩家的 id 但由於 zp_register_extra_item 是在 plugin_init() 裡, 編譯時將會出現 undefined symbol "id"  這情況我該如何解決呢? 


複製程式
 static szItem[ 64 ]
 formatex( szItem, charsmax( szItem ), "%L", LANG_PLAYER, "HUMANARMOR" )


 g_itemid_humanarmor = zp_register_extra_item( szItem, g_item_cost, ZP_TEAM_HUMAN)



我自己也是這樣


formatex(class_name, charsmax(class_name), "%L", LANG_PLAYER, g_class_name);

獻花 x0