【小學(xué)生向】SourceMod插件開發(fā)教程 (四) 為你的服務(wù)器添加插件配置文件吧
上一期我們學(xué)會了如何給服務(wù)器添加玩家加入時的消息,但是如果就這樣編譯完插件之后再放到服務(wù)器里邊就還要重啟真的太麻煩了,所以這個時候我們就需要給插件增加一個配置文件
上期沒有學(xué)的可以去看一下
【小學(xué)生向】SourceMod插件開發(fā)教程 (三) 為你的服務(wù)器添加玩家加入消息

好的那么我們就正式進入今天的課程了,首先你需要了解一個新的功能,他就是"AutoExecConfig"他的本意是生成配置文件如果你是小學(xué)生可以暫時理解為新建一本書那我們該如何運用他呢?看圖吧

可以看到我們給他放在了插件運行時首先調(diào)用的地方所以意味著在插件運行的時候會自動生成一個配置文件我們會發(fā)現(xiàn)有一個詞是"true"這意味著什么呢?在這段語句中true他代表的就是是否覆蓋掉源文件這里我們還可以選擇false不過如果選擇false就無法覆蓋了,生成的配置名字你們可以隨便修改,那么我們編譯完成之后給他運行試一下吧?
運行成功后我們會發(fā)現(xiàn)在服務(wù)端的 cfg\sourcemod 里面多出一個文件這份文件的名字跟之前我們在編寫的過程中寫的名字是不是一模一樣?
這里我用test_Config作為配置名字


可以看到在cfg\sourcemod的底下多出了一個test_Config.cfg的文件這個就是我們的配置文件(書)

但是我們將它打開會發(fā)現(xiàn)空空如也啥都沒有,那是因為我們還沒有為它添加新的一頁,那么如何添加呢這里我們就又要了解一個新的詞語了
他就是"ConVar"如果你學(xué)習(xí)過一些語言那就更簡單了解了它的本意是聲明一個全局變量如果你是小學(xué)生可以理解他為新建新的一頁,這里我們就新建一個名為"Config"的新頁

請注意這里出新建一頁不要放在任何一個函數(shù)(組)的下面因為他是聲明一個全局變量不懂的只要知道不要放進去就行了這里我們直接將它放在庫函數(shù)加載的下面
這樣我們就有了新的格式,小學(xué)生可以理解為
ConVar(新建一頁的命令) Config(新建一頁的名字)
那么這里我們就新建了一個名為Config的頁那么我們該如何將想要傳達給員工的命令寫在這一頁上呢?很簡單!我們只需要在插件啟動的組那里添加一條這個

Config = CreateConvar("這里是這一頁的主題(請使用英文)","這里是可以更改的內(nèi)容","這里是介紹這個功能的信息",FCVAR_SPONLY|FCVAR_NOTIFY);
其中Config就是你這一頁的名字要跟你新建的那一頁名字對應(yīng)
"CreateConvar"你可以將它理解為新建這一頁的內(nèi)容
"FCVAR_SPONLY"是一個規(guī)則他的意思是禁止玩家去修改這個內(nèi)容
"|"就是用來區(qū)分規(guī)則的符號
"FCVAR_NOTIFY"同樣的也是一個規(guī)則是更改完成之后將通知玩家
這里暫時先按照我這樣去設(shè)置:

Config = CreateConVar("test_text","%N 歡迎你加入游戲","可以在此處更改它的功能",FCVAR_SPONLY|FCVAR_NOTIFY);
這樣我們將此插件編譯完成之后給他放到服務(wù)器內(nèi)他的cfg文件就會新增一個內(nèi)容

但這還不足以讓員工聽他的話你們可以試一下即便修改了之后再服務(wù)器內(nèi)還是會顯示這條內(nèi)容

所以我們必須要讓員工聽話,那么怎么讓他聽話呢?看圖

可以看到我們在玩家進入服務(wù)器時觸發(fā)的組中添加了一條
"int num = GetconVarInt(config)"
這段話你可以理解為將我們之前寫的Config那一頁的文本復(fù)制到num這里來
然后我們將num直接放到輸出的文本那里"PrintToChatAll("%d"num)"他的意思就等于"PrintToChatAll("123",num)"這樣我們就制作成功了我們將它再次重新編譯放到服務(wù)器中看看會發(fā)生什么吧!

成功的顯示出來了!那么我們在配置文件中改成321會發(fā)生什么呢?


看來我們的測試成功了呢!

因為本期使用的是%d只會包含有符號的16進制整數(shù)如果你想要顯示字符串可以等下一期出一個基礎(chǔ)綜合教程
那么本期就到這里了給個三連吧