角色 (TeaScript)
TeaScript/Char
char(index).name ,是角色的属性。
用法
读取某个值:char(index).name
修改某个值:char(index).name = value
index只能为1和2,代表为玩家1或玩家2的角色数据,即便输入作弊码,生成克隆的马里奥也不会被奏效。
参数
基础
| 参数名 | 数据类型 | 介绍 |
|---|---|---|
id
|
byte | 玩家的角色ID,可以切换为其他角色。 |
x
|
double | 玩家的X坐标。 |
y
|
double | 玩家的Y坐标。 |
pwidth
|
double | 玩家的判定宽度。 |
pheight
|
double | 玩家的判定高度。 |
xsp
|
single | 玩家的横向速度。 |
ysp
|
single | 玩家的纵向速度。 |
每个角色的最大速度都不一样,详情参考下文。
图像
| 参数名 | 数据类型 | 介绍 |
|---|---|---|
brightness
|
integer | 玩家的照明范围。(需要将关卡的照明系统打开,可以使用sysval(EnableLighting) = 1打开。)
|
forecolor
|
long | 玩家的渲染颜色,使用rgba(red, green, blue, alpha)或整数值控制,默认为-1。
|
forecolor_r
|
byte | 玩家的 rgba 前景色中的红色通道的数值。 |
forecolor_g
|
byte | 玩家的 rgba 前景色中的绿色通道的数值。 |
forecolor_b
|
byte | 玩家的 rgba 前景色中的蓝色通道的数值。 |
forecolor_a
|
byte | 玩家的 rgba 前景色中的 alpha(即透明度) 通道的数值。 |
行为
| 参数名 | 数据类型 | 介绍 | 读写 |
|---|---|---|---|
facing
|
byte | 玩家的面朝方向。(0:右,1:左) | |
alive
|
byte | 玩家是否存活,设置0将干掉玩家。 | |
nomove
|
byte | 设置为1,将禁止玩家移动,与键盘锁定事件工作不同。 | |
stand
|
byte | 玩家的站立状态。(0:否,1:是) | 只读 |
sjumping
|
byte | 玩家的旋转跳状态。(0:否,1:是) | 只读 |
sliding
|
byte | 玩家的滑行状态。(0:否,1:是) | 只读 |
pulling
|
byte | 玩家抓起NPC时或挖掘方块时的状态。(0:否,1:是) | 只读 |
climbing
|
byte | 玩家的攀爬状态。(0:否,1:是) | 只读 |
walljumptimer
|
byte | 玩家在未落地时,一直贴着实心墙滑行的状态。(0:否,1:是)
注:需要启动玩家允许蹬墙跳的功能,函数为 |
只读 |
warping
|
byte | 玩家是否在传送状态。(0:否,1:是) | 只读 |
inwater
|
byte | 玩家是否在水中。(0:否,1:是) | 只读 |
grabbing
|
integer | 玩家抱起或举起的 NPC 对象 ID。 | 只读 |
icetimer
|
integer | 玩家被冻住的时间。 | 只读 |
只读片段可以作为自定义角色的判断依据(例如某个行为为是,将当前玩家的素材替换成对应的素材切片)。
增益&HUD
| 参数名 | 数据类型 | 介绍 |
|---|---|---|
status
|
byte | 玩家的形态。详情请见下文。 |
itemslot
|
integer | 玩家当前的坐骑或变化形态,详情请见下文。 |
itemrsvr
|
integer | 玩家当前存储的道具(在屏幕上方的蓝色框)。
只对马力欧和路易吉有效,设置非法ID会导致游戏崩溃。 |
hitpoint
|
integer | 玩家的生命值。只对碧姬公主,奇诺比奥,林克有效。
如果将生命值设置为大于3,则HUD不会变化,但游戏仍认为有效值。 如果设置为小于0则不会干掉玩家。 |
bombcnt
|
integer | 玩家的炸弹数量。
在HUD的表现为道具栏的下方。(仅林克才会显示和正常使用) |
keycnt[1]
|
integer | 玩家的钥匙数量。
在HUD的表现为金币旁边。游戏不会对大于1的钥匙进行删除操作,玩家仍然可以继续使用。 |
fluddcap
|
integer | 玩家的喷水泵(F.L.U.D.D.)的容量,范围为1~1001。
如果设置为小于0,则游戏会默认设置为0。 如果设置为大于1000,则容量上限为1000。 |
flytime
|
integer | 玩家的飞行时间,当玩家获得叶子或狸猫后,可以在达到一定速度后进行飞翔,此时该值会一直不断减少直到0。 |
invtime
|
long | 玩家在获得无敌星后的效果时间,在这个值大于0时,游戏会每帧减少1直到0。
获得无敌星后,该值会变为800。 |
weapon
|
integer | 玩家的子弹类型(在火力花,冰花,锤子和企鹅形态时),可以设置为其他NPC。
设置为-1则不会发射NPC,设置为0则为默认。 |
ynpcid
|
integer | 玩家操作耀西时吞下去的NPC。 |
其他
| 参数名 | 数据类型 | 介绍 | 读写 |
|---|---|---|---|
section
|
byte | 玩家的当前场景 ID。 | 只读 |
jmpchance
|
integer | 如果玩家正处于攀爬状态时,该值将被设置为0且如果在此时按下跳跃键该值将会减1,直到玩家落地才会被重设为1。
如果玩家位于地面按下跳跃,该值将被设置为0,直到玩家重新落地,该值将被重设为1。 如果将该值强制锁定为大于1的值,则玩家可以在半空中实现跳跃和旋转跳状态的互换。 |
未知
| 参数名 | 数据类型 | 介绍 |
|---|---|---|
scriptid
|
??? | 未知效果,只会报错“Too few/many arguments for function.” |
额外内容
角色
该参数受char(index).id影响。
| ID | 角色名 | 图像 |
|---|---|---|
| 0 | 马力欧 | |
| 1 | 路易吉 | |
| 2 | 碧姬公主 | |
| 3 | 奇诺比奥 | |
| 4 | 林克 |
状态
该参数受char(index).status影响。
| ID | 名称 | 状态 | 图像 |
|---|---|---|---|
| 1 | Smail | 小个子 | |
| 2 | Mushroom | 大个子 | |
| 3 | Fire Flower | 火焰花 | |
| 4 | Leaf | 叶子 | |
| 5 | Tanooki Suit | 浣熊装 | |
| 6 | Hammer Suit | 锤子装 | |
| 7 | Ice Flower | 冰花 | |
| 8 | Frog Suit | 青蛙装 | |
| 9 | Blue Shell | 蓝龟壳装 | |
| 10 | Propeller Suit | 竹蜻蜓装 | |
| 11 | Mini Mushroom | 迷你小个子 | |
| 12 | Penguin Suit | 企鹅装 |
携带的物品
该参数受char(index).itemslot影响。
(严重警告,设置非以下列表的数游戏会崩溃!)
| ID | 类型 | 名称 | 图像 |
|---|---|---|---|
| -150 | Fairy | 精灵 | |
| -103 | Propeller Link Flying (Fairy) | 精灵(林克竹蜻蜓飞行) | |
| -102 | Link Shell Sliding (Fairy) | 精灵(林克龟壳滚动) | |
| -100 | Link Climbing (Fairy) | 精灵(林克攀爬) | |
| -20 | Coin Box | 头套(金币箱) | |
| -19 | Cannon Box | 头套(炮弹) | |
| -18 | Propeller Box | 头套(竹蜻蜓方块) | |
| -17 | Spiny Helmet | 刺龟头盔 | |
| -16 | Goomba Hat | 栗宝宝面具 | |
| -15 | Buzzy Helmet | 硬壳头盔 | |
| -14 | Invisible Mask | 隐形面具 | |
| -13 | Rocket F.L.U.D.D. | 火箭喷嘴泵 | |
| -12 | Turbo F.L.U.D.D. | 冲刺喷嘴泵 | |
| -11 | Hover F.L.U.D.D. | 悬停喷嘴泵 | |
| -10 to -6 | Makes the player invisible | 隐身 | |
| -5 | Mega Mushroom | 巨大化 | |
| -4 | Clown Car | 小丑飞船 | |
| -3 | Lakitu's Shoe | 飞天鞋 | |
| -2 | Fire's Shoe | 防火鞋 | |
| -1 | Kuribo's Shoe | Kurido的鞋 | |
| 0 | None | 无 | |
| 1 | Green Yoshi | 耀西 | |
| 2 | Blue Yoshi | 蓝耀西 | |
| 3 | Yellow Yoshi | 黄耀西 | |
| 4 | Red Yoshi | 红耀西 | |
| 5 | Black Yoshi | 银耀西 | |
| 6 | Purple Yoshi | 紫耀西 | |
| 7 | Pink Yoshi | 粉耀西 | |
| 8 | Cyan Yoshi | 青蓝耀西 |
- ↑ 注:虽然这个特性为林克专属,但其他角色也可以正常使用该特性。
| 请注意,这里以下所有的条目均以 SMBX 1.4.5 Patch 31.1 为基底。 | |
|---|---|
| 基础 | 语法 | 函数 | 回调型函数 |
| 组件 | BGP (大背景) | 背景物件 | 位图 | 方块 | 角色 | 特效 | 流体 | 计时器 | NPC | 文本 | 传送点 | 系统变量 |
| 技术性 | 额外值 | BSet 函数 | Playnote 函数 | 特殊图层 | 未知函数 | 自动运行事件 | 编辑器函数 |