返回型函数 (TeaScript)

来自SMBX 中文百科
< TeaScript‎ | FunctionTeaScript/Function/Return
跳转到导航 跳转到搜索


一般函数有两种方式。

一种是不带返回数值,直接调用的函数。

call Example("Hello World")

script Example(a as string)
    call ShowMSG(strparam(a))
end script

另一种是带有赋值功能的具有返回数值的函数。

dim a as string = Example("Hello World")

script Example(a as string, return string)
    if strparam(a) = "Hello World"
        return "Hello, too."
    Else
        return "What?"
    end if
end script

call showmsg(a)

而 TeaScript 定义好的函数中,ItrCreate,ItrNext,NCreate,NCreateGroup,NKill 都可被变量赋值,返回不同的数值,NCreate返回创建NPC的PermID。

Format

Format(FCC, Value)
'FCC(FormatControlCharacter) 与C语言类似,但又不同。格式控制符必须位于 "" 内。例如"%7z"(代表将这个数值设定位数前面空位补充0,多用来做分数。)。
'Value - 数值

将数字以特定格式返回。

'一个例子。
call showmsg(Format("%7z",4000)

'Show "0004000"

FCC 可以使用的格式代码如下:

  • %d - 整数格式
  • %nz - 该数定义为n位字符串,从末尾开始到n位,如果前方位为空位,则补充0。
  • %.nf - 浮点数格式(小数后保留n位,如果末尾后一小数位大于等于5,则前一位+1。)

其他格式代码由于限制可能无法使用或不起作用。

Round

Round(expression, numdecimalplaces)
'expression - 要舍入结果值的表达式
'numdecimalplaces - 小数点后剩余的位数

返回一个双精度类型值。此函数将对输入的值进行四舍五入。您可以指定保留小数点后的位数。

Len

Len(string)

以双精度形式返回字符串长度,多用于判断字符串长度程序。

Left

Left(string, length)
'length - 裁剪的字符串长度

返回从输入的字符串中裁剪的字符串。结果字符串从原始字符串的开头开始,并且长度有限。

Right

Right(string, length)

与上一个类似,不同的是裁剪从末尾开始。

Mid

Mid(string, start, length)
'start - 要裁剪的字符串起点

对输入的字符串进行裁剪并返回。返回的字符串从源字符串的给定点开始,并且长度有限。

Replace [已废弃]

注:此功能很早被发现不可使用!!!

此功能原意是返回一个字符串,其中源字符串的某些部分被新部分替换。你可以在源字符串中定义要搜索的部分,以及替换的最大次数,但此功能不可使用所以不展示。(防止误导人造成巨大影响)

Chr&ChrW

用来返回特定的字符代码,Chr为阿斯克码值,ChrW为Unicode值。

dim a as string = chr(48)
dim b as string = chrw(20320)

'a = "0"
'b = "你"

注意一点,ChrW不适合用在美化HUD方面。- 你以为你能创建一个包含 65536 个 Unicode 字符的图像文件?那你就太天真了(doge)Rosalina129留言) 2022年3月5日 (六) 20:29 (CST)

Asc&AscW

获取给定字符串中第一个字符的字符代码。返回类型为双精度数。

Asc 为返回一个ASCII值,AscW 为返回一个Unicode值(10进制)。

dim a as double = asc(0)
dim b as double = ascw("你")

'a = 48
'b = 20320

CDbl

将一个字符串转换为双精度数。

cdbl(expression)
'expression - 可以是任何有效字符串

注意的是,CDbl() 如果包含了非数字字符,则返回0。

CStr

将一个双精度数转换为字符串。

cstr(expression)
'expression - 可以是任何返回数字的有效表达式

Instr

返回给定字符串在另一个字符串中首次出现的点。

InStr(start, string1, string2)
'start - 指定搜索的起点
'string1 - 源字符串
'string2 - 要搜索的字符串

GetID

getID(permid)
'permid - 永久ID

返回一个双精度型变量,表示使用该永久ID的NPC的ID。(PermID)

应用给 NPC 脚本里的 sysval(param1)) 也代表该 NPC 的 PermID。

GetIDByName

查找具有给定名称的对象。 返回对象ID。

getIDByName(Name)
'Name - 要找到的对象的名称

RGBA

返回一个颜色的int值。

计算公式为alpha * 16777216 + blue * 65536 + green * 256 + red

RGBA(Red,Green,Blue,Alpha)