切換
舊版
前往
大廳
主題

【自製SK】@LoginGUI - 介面化註冊系統

根號 N | 2015-04-26 09:05:09 | 巴幣 8 | 人氣 758

2021 補充:建議大家不要實裝這個腳本,當初我在設計的時候不懂資訊安全,使用者的密碼是沒有經過雜湊保護的。就把這個腳本當作是概念呈現就好了。

大家好!我是小恩,今天我要發表的腳本是@LoginGUI,以往看到的註冊插件皆要以指令來進行各種事項,不但麻煩還會打錯(雖然我知道大部分的人都打習慣了),本腳本的特色是擁有人性化的登入介面,以及避免同一個名字重複登入的功能。另外,我在介面追加公告的功能,目的是由於大部分的人有時會漏看遊戲中的公告,或沒登入伺服的RC等群聊而沒看見重要訊息,因此額外設計了簡易的公告功能。

下載網址:Google雲端
前置插件:SkQuery
版本:依Skript版本而定




首先,安裝的部分將壓縮檔解壓後,直接將@LoginGUI資料夾放在與scripts資料夾同層即可,不需將內容SK移到外面



使用方法:
用Notepad++開啟config.sk,以下為設定檔內容,大部分只是訊息的設定
  1. #不要文字請輸入"empty"#
  2. options:
  3.         #GUI標題
  4.         title: "&a歡迎來到&3SK伺服器"
  5.         #註冊
  6.         icon1: "&b首次登入點此註冊"
  7.         #登入
  8.         icon2: "&b點此登入&3SK伺服器"
  9.         #更換密碼
  10.         icon3: "&b點此可更換密碼"
  11.         #解除註冊
  12.         icon4: "&b點此解除註冊(註:所有資料將解除)"
  13.         #解除註冊訊息
  14.         unregister: "&c玩家資料已全數清除!&3SK伺服器&e隨時歡迎您再回來:)"
  15.         #公告
  16.         icon5: "&b本腳本由小恩所設計"
  17.         #登出
  18.         icon6: "&b離開&3SK伺服器"
  19.         #登出訊息
  20.         logout: "&3SK伺服器&b歡迎你下次再來玩!"
  21.         #重複名字訊息
  22.         wronguuid: "&c這個名字已有別的玩家使用囉!"
  23.         
  24. #一定要輸入數字#
  25. variables:
  26.         #密碼錯誤機會次數
  27.         {times} = 5
  28.         #密碼錯誤等待秒數
  29.         {waitseconds} = 20
登入時介面模樣:

書與羽毛筆  註冊     火  解除註冊
告示牌(左)  登入     告示牌(右)  公告
命名牌  更改密碼     鐵門  登出



(↑)輸入密碼,註:直接以傳送訊息方式輸入密碼



(↑)登入時,密碼錯誤會給予機會


(↑)錯誤超過設定次數,會被踢出,並於設定秒數後才能登入


(↑)若時間還沒到,登入時會被踢出


(↑)更換密碼要先輸入舊密碼,若打錯要重打


(↑)舊密碼輸入正確後,會請你輸入新密碼


(↑)輸入新密碼後,就會直接登入


(↑)解除註冊畫面


(↑)簡易公告概念,即利用DisplayName及Lore


(↑)登出畫面

最後,有些沒介紹到的巧思皆在腳本裡,想知道可以自已試用看看,若發現臭蟲(Bug)也請告知我!

我寫這個腳本花了很多時間及精力,發布出來不代表你可以侵占它,如果要重製可以,但請自己私下使用。如果要發布,請先經過我同意!
--------------------------------------------以下為2015/5/2更新內容---------------------------------------
我後來和朋友玩了一下後,發現記錄玩家資料時會出現重複登記現象,所以又修了些語句。除此之外,BOT攻擊事件令人頭痛,於是我將防BOT攻擊功能與我的登入系統做結合。它可以讓BOT攻擊玩家在達到設定條件時被踢出處罰,設定內容皆在config.sk檔裡。另外,我新增了三個指令,分別是開關防BOT攻擊功能、查詢玩家UUID(
離線玩家也可,只不過他要進過你服)、查詢玩家IP(同上)。不知道這些新功能對使用的你們有沒有幫助?算了,來看圖吧!

已修複Bug:
bug01 - 記錄玩家資料時會出現重複登記現象

更新功能:
  01 - 新增指令/uuid [<玩家ID>] - 查詢玩家uuid 權限:lg.uuid
  02 - 新增指令/ipsearch|ip [<玩家ID>] - 查詢玩家ip 權限:lg.ipsearch
  03 - 新增AntiBot系統
       開關指令 /antibot <true|false> - 開關AntiBot功能 權限:lg.antibot
       config.sk新增關於AntiBot的內容
  1. #是否開啟防止BOT攻擊
  2.         antibot: true
  3.         
  4. #一定要輸入數字#
  5. variables:
  6.         #密碼錯誤機會次數
  7.         {times} = 5
  8.         #密碼錯誤等待秒數
  9.         {waitseconds} = 20
  10.         
  11.         #防止BOT攻擊設定#
  12.         
  13.         #在幾秒內不停登入
  14.         {antibotseconds} = 20
  15.         #在設定秒數內連續登入幾次
  16.         {antibottimes} = 3
  17.         #被限制進入後等待幾分才能再登入
  18.         {antibotwait} = 5
(↑)更新config.sk片段


(↑)指令開關防BOT攻擊功能


(↑)BOT攻擊玩家在達到設定條件時會被踢出,並且會受到等待處罰


(↑)若等待時間未到就強行進入照樣踢出


(↑)查詢所有玩家UUID


(↑)查詢指定玩家UUID(黑盒子模式搜尋開頭關鍵字也可)


(↑)不用說明也應該懂吧(= =

另外IP查詢功能大同小異就不放圖了
最後再次提醒

若發現臭蟲(Bug)請告知我!謝謝
--------------------------------------------以下為2015/5/8更新內容---------------------------------------
大家好!我又將@LoginGUI更新了!這次主要更新為三大類:

(1)優化更新 - 將開啟GUI語句換成以函式處理


(↑)GUI函式

(2)音效更新 - 您將會在登入過程中不時聽到各種音效:)

(3)定點登入更新 - 可以開啟是否強制在設定點登入
註:如果開起此功能,但未設登入點,會視為沒開

(還是來一下更新日誌)
更新功能:
  04 - 將開啟GUI語句換成以函式處理
  05 - 新增各種音效
  06 - 新增指令/lgspawn - 設定登入點  權限:lg.spawn
  1. #是否開啟定點登入
  2.         lgspawn: false
(↑)更新config.sk片段


(↑)沒開啟定點登入,設登入點會出現


(↑)成功設定登入點例子

如果要配合你的腳本,內容是要登入前後才能幹嘛。
你可以用
if {data.%player%::mode} isn't "logged"表示還沒登入
if {data.%player%::mode} is "logged"表示已登入


希望你們會喜歡這次更新!
如果有建議可以留在下方,我會嘗試去做:)
--------------------------------------------以下為2015/5/17更新內容-------------------------------------
這次只是維修更新,修正了更動config.sk裡的數值不會產生變化。

已修複Bug:
bug02 - 更動config.sk裡的數值不會產生變化
--------------------------------------------以下為2015/5/19更新內容-------------------------------------
我將變數名稱前面加了特有標籤"LG.",可防止與其他腳本衝突。內容也更新了config.sk,不過只是瑣碎的事,像排版而已。至於舊資料轉新資料,我覺得應該大不了。設定檔的資料,只要複製過去就好。而計算是否可再登入的變數,那都只是等幾分鐘而已,應該沒有設到天數(吧。所以這部分重新記錄也可,如果嫌舊變數占空間,可至variables.csv將它們刪除。

更新功能:
  07 - 將變數加上獨特標籤"LG."

創作回應

相關創作

更多創作