模組:Housamo/doc
此頁面為 Module:Housamo 的說明文件
簡介
這個模塊主要用於東京放課後召喚師的數據處理,這個模塊包含了一些實用的功能函數。
使用本模塊的方法:{{#invoke:Housamo|<func_name>|<arg1>|<arg2>|...}}
在本文檔中,所有已定義(和即將定義的)的函數名均使用housamo.<func_name>
的格式說明原型,然而在上面的使用範例中,<func_name>
部分不需要添加任何的housamo.*
的前綴,例如,使用時應當遵循如下範例:
{{#invoke:Housamo|Stars|3}}
在本文檔中該函數被描述為housamo.Stars
,但使用時只需要且只能寫Stars
,否則模塊調用失敗。
在本文檔中,參數表會被展開成具體的參數個體(而模塊源碼中直接使用frame
接收一個table
),其中,標有[]
的參數表示是可選的參數,這類參數在不指定時會被提供默認值,例如,對於定義為housamo.SomeFunc(arg1,[arg2=0],[arg3=0])
,如果您只想指定arg1
和arg3
,那麼您可以考慮如下幾種寫法:
{{#invoke:Housamo|SomeFunc|a||b}} <!-- arg2的位置留空 --> {{#invoke:Housamo|SomeFunc|a|arg3=b}} <!-- 除给定的arg1之外直接指定arg3 -->
在上述兩種情況中,arg2
因未被指定而具有默認值0
。這等價於:
{{#invoke:Housamo|SomeFunc|a|0|b}}
函數列表
數據表示
housamo.Stars(num, [compact = false], [extend = false])
輸出稀有度的星級表示。
- 返回
- 以重複的「★」或「數字+★」構成的字符串。
- 參數
num:int
:表示五角星的數量,注意在此函數中num應當不小於0且不大於5,否則會輸出錯誤的字符串compact:bool
:若為false
則稀有度顯示是以展開的方式(直接平鋪的五角星文本),否則以摺疊的方式(數字+★)的模式顯現extend:bool
:由於該函數默認限制了星級只能在0~5之間,額外指定該參數為true
可打破這一限制,允許超過5的數字輸出正確的結果
housamo.TypeColor(type,[sharp]) housamo.tc(type,[sharp])
輸出對應於屬性type
的顏色,函數名可簡寫為tc
,該函數輸出的顏色表與參數對照如下:
- 火
- 水
- 木
- 天
- 冥
- 英雄
- 魔
- 世界
- 全
- 返回
- HTML顏色代碼
- 參數
type:str
:目標的屬性名,可以是火|水|木|天|冥|英雄|魔|世界|全
。sharp:bool
:指定返回結果是否包含#
,默認不包含,在某些場合例如表格的style里我們有必要關閉#
。
housamo.ValueMap([rarity=3], values) housamo.vm([rarity=3],values)
基於給定的稀有度輸出等級數據列,亦可作vm
。例如,使用{{#invoke:Housamo|vm|4|100,200,300,400,500,600}}
,會得到:
100 (LV1)
200 (LV35)
300 (LV45)
400 (LV55)
500 (LV65)
600 (LV75)
若某一項數據不知道,推薦使用?
占位,像這樣{{#invoke:Housamo|vm|4|100,?,300,?,500,600}}
,會得到:
100 (LV1)
? (LV35)
300 (LV45)
? (LV55)
500 (LV65)
600 (LV75)
此外,如果提供的數據數量不足,則後面的數據列會自動填充為?
。{{#invoke:Housamo|vm|4|100,200,300}}
,會得到:
100 (LV1)
200 (LV35)
300 (LV45)
? (LV55)
? (LV65)
? (LV75)
注意:請不要使用連續的逗號(,
)來跳過數據,因為Lua的匹配模式機制,在本函數中連續的逗號會被視為1個逗號。
- 返回
- 數據列wikitext
- 參數
rarity:int
:給定的稀有度,控制輸出的等級節點,該參數可省略但不可跳過。values:numberlist(6)
:數值列,注意,這裡所謂的numberlist
類型是用逗號,
分隔的數列,例如10,5,6,24,7,8
這種的,而numberlist(6)
指該數列有6個元素,多餘元素不予採納,若列中某個元素不是數字,則在該函數中會被輸出為?
,關於這個參數的具體用法看看上面的範例就知道了。
資源獲取
housamo.CharLink(name, [display = ""]) housamo.cl(name, [display = ""])
輸出對應於角色的連結文本。即輸入{{#invoke:Housamo|CharLink|戍孝}}
則可返回[[东京放课后召唤师:戍孝|戍孝]]
的wikitext,由於魔術字解析後於模板展開,而連結解析後於魔術字解析,因此在頁面中執行該調用會直接獲得一個連結文本,也就是戍孝。該調用的<func_name>
可簡寫為cl
。
- 返回
- 連結文本
- 參數
name:str
:待編訂連結文本的名稱(通常是角色名),該參數必須指定,否則報錯!display:str
:指定該參數可以使用該參數文本覆寫原有的連結文本,若指定為空字符串則保持與name
相同。
housamo.TypeImage(name, [scale = 30], [full=false]) housamo.typi(name, [scale = 30], [full=false])
輸出對應於屬性的圖片文件名。該調用的<func_name>
可簡寫為typi
。
- 返回
- 文件名/置入文件
- 參數
name:str
:目標的屬性名,可以是火|水|木|天|冥|英雄|魔|世界|全
,該參數必須指定,否則報錯!此外,指定的值不在允許的取值範圍內也會報錯!scale:int
:該參數僅在full=true
時生效,指定該參數可以控制該圖片的寬度,注意,我們這裡只允許圖片等比例放大,因此只能指定一個維度的值。full:bool
:指定該參數為true
時該功能直接返回置入該圖片的wiki文本,否則只返回帶有後綴的文件名。
housamo.WeaponImage(name, [scale = 30], [full=false]) housamo.wpi(name, [scale = 30], [full=false])
輸出對應於武器的圖片文件名,用法與housamo.TypeImage
基本相同。該調用的<func_name>
可簡寫為wpi
。
- 返回
- 文件名/置入文件
- 參數
name:str
:目標的武器名,可以是打击|突击|刺击|射击|斩击|魔法|横一文字|狙击|全域|无|未知
,該參數必須指定,否則報錯!此外,指定的值不在允許的取值範圍內也會報錯!scale:int
:該參數僅在full=true
時生效,指定該參數可以控制該圖片的寬度,注意,我們這裡只允許圖片等比例放大,因此只能指定一個維度的值。full:bool
:指定該參數為true
時該功能直接返回置入該圖片的wiki文本,否則只返回帶有後綴的文件名。
housamo.WeaponRangeImage(name, [scale = 30], [full=false]) housamo.wpri(name, [scale = 30], [full=false])
輸出對應於武器其攻擊範圍的圖片文件名,用法與housamo.WeaponImage
相同,不過這個函數返回的是武器攻擊範圍的圖片而非武器圖片。該調用的<func_name>
可簡寫為wpri
。
- 返回
- 文件名/置入文件
- 參數
name:str
:目標的武器名,可以是打击|突击|刺击|射击|斩击|魔法|横一文字|狙击|全域|无|未知
,該參數必須指定,否則報錯!此外,指定的值不在允許的取值範圍內也會報錯!scale:int
:該參數僅在full=true
時生效,指定該參數可以控制該圖片的寬度,注意,我們這裡只允許圖片等比例放大,因此只能指定一個維度的值。full:bool
:指定該參數為true
時該功能直接返回置入該圖片的wiki文本,否則只返回帶有後綴的文件名。
housamo.WeaponRangeGrid(name, [scale = 30]) housamo.wprg(name, [scale = 30])
輸出對應於武器其攻擊範圍的圖示,用法與housamo.WeaponImage
類似,但不完全相同,這個函數返回的是武器攻擊範圍的網格圖示,完全通過HTML實現而不藉助圖片。該調用的<func_name>
可簡寫為wprg
。
注意:使用此函數之前請務必使用<templatestyles src="User:あの太/沙箱/custom.css" />
引用CSS文件,否則您只會獲得個寂寞。
不過應該是有辦法不需要引入這個東西的,回頭我再看看Scribunto怎麼調用templatestyles
例如:
<templatestyles src="User:あの太/沙箱/custom.css" /> {{#invoke:Housamo|wprg|斩击}}
會得到:
此函數目前尚未實現自定義功能,預計日後能夠實現,此外,基於其圖示高清晰度和可定製性,此函數有望替代housamo.WeaponRangeImage
- 返回
- HTML網格
- 參數
name:str
:目標的武器名,可以是打击|突击|刺击|射击|斩击|魔法|横一文字|狙击|全域|无
,該參數必須指定,否則報錯!此外,指定的值不在允許的取值範圍內也會報錯!scale:int
:指定該參數可以控制該網格的寬度,注意,我們這裡只允許網格長寬等比例,因此只能指定一個維度的值。