SMA繁化教學

Home Home
引用 | 編輯 命運天使
2012-03-13 17:17
樓主
推文 x1
 AMXX插件中文化簡易啟蒙教學

準備工具:
文字編輯軟體
可開啟並編寫修改原始碼的軟體,例如下列:
記事本、Emeditor、Notepad++ 等軟體。
看個人喜好,有些的有附加插件,也許不錯,可節省時間某些任務。
推薦此軟體:Notepad++ 非常地強大,非常地好用

可輕鬆編碼成UTF-8(檔首無BOM)
要設成跟我一樣的環境,請點選自訂->設定程式語言格式->主題選取:Obsidian
並且在程式語言那選C語言,即可自動變色處理!

無須任何C語言能力即可學習中文化技術!
你只須找尋(搜尋)原始碼中,被雙引號包圍的片段,例如:"Prepare to Fight!~"
通常這是顯示在銀幕上的提示字幕,可被修改!
注意:中文化後,需另存新檔,編碼需改為UTF-8!

例子:

if (lastActivity < afk_info_time)
                                        client_print(i, print_chat, "[%s] 你還剩 %d 秒可以移動,否則時間到將會被踢離伺服器!", PREFIX, floatround(afk_info_time - afk_time))
                        }

其實我翻得不好,當時是照字面翻譯,應該要轉換一下,別太令人感到翻譯文!
應該要換成這樣比較好:
再過 %d 秒不動,就踢掉你!   

簡單明瞭!

小提示:
client_print   (這指得是玩家端印出字樣的函數)
%s   (這得要學C語言才懂,輸出字串型態的資料,s代表string)
%d  (輸出整數型態的資料,d代表decimal)
還有其他的像是%c (Character 字元), %f(float 浮點數) 等

print、printf,是C語言中的輸出(印出來)函數。

舉個例子:(這是我以C語言想出來的,AMX不是這樣寫的,我不知道它玩家名稱和殺敵數是怎麼取得的,這樣寫只是範例)
printf( "%s 殺了 %d 個敵人,殺紅了眼!" ,  playername , numofkill )

這是有對應的,除非你懂C語言,才可以把順序調換,改成這樣:
printf( "%d 個敵人被 %s 擊殺了,他殺紅了眼!" , numofkill  , playername  )

獻花 x2
引用 | 編輯 ChaosX
2012-03-13 18:06
1樓
  
很不錯的教學
幫助找顯示文字的工具很簡潔有力呢

後面的例子也舉的很好
%s %d的說明也很棒
printf( "%s 殺了 %d 個敵人,殺紅了眼!" , playername , numofkill )
後面的playername 和 numofkill 代表變數
以上例來看playername 是放玩家的名子...所以對應到%s
numofkill 是放玩家的殺人數...所以對應到%d

-------------------
client_print(id, print_chat,"%s 這笨蛋又再灌水了",playername)
上句是sma內要顯示文字的基本寫法
id是放玩家的編號
正常情況...直接寫id..都是給自己看的
寫0 是給全場所有玩家看的
如果你可以知道你要顯示的對象編號
你就輸入那編號...就可以給特定玩家看了
不過那個編號每回合都會變就是了...
print_chat是顯示的位置
有3種 1.左下方的對話列(print_chat)
2. 準心上方的提示列(print_center)
3.控制台內的訊息列
playername就是要顯示出來的變數
上例一樣是玩家名
得到玩家名的簡單方式

new playername[32] //宣告變數
get_user_name(id, playername, 31) //找出玩家名放進去
之後 playername 就是玩家的名子了

獻花 x1
引用 | 編輯 kind1000
2012-06-05 15:13
2樓
  
Notepad++ 開啟amxx檔的話會出現亂碼
UTF-8檔無bom 會變成英文

獻花 x0
引用 | 編輯 daniel064857
2013-03-30 09:50
3樓
  
我記得沒錯的話 不是UTF-8 開簡體檔案會亂麻?

獻花 x0
引用 | 編輯 Marchillus
2013-03-30 11:09
4樓
  
繁化不能少了這個UTF-8無BOM....
AMXX-STUDIO一開始卻是ANSI= =

獻花 x0
引用 | 編輯 gn00855790
2014-04-13 17:58
5樓
  
繁化只要儲存UTF-8就可以了嗎
我用記事本來試試看
謝謝大大提供這個方法

獻花 x0
引用 | 編輯 zxzx45248
2014-04-20 12:28
6樓
  
很實用的教學 感謝您的指導

獻花 x0
引用 | 編輯 陳冠冠
2023-12-27 15:06
7樓
  
我用記事本來試試看
謝謝大大提供這個方法 表情 表情 表情

獻花 x0