Module: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
:指定该参数可以控制该网格的宽度,注意,我们这里只允许网格长宽等比例,因此只能指定一个维度的值。