BSet (TeaScript)

来自SMBX 中文百科
TeaScript/BSet
跳转到导航 跳转到搜索

待更新

此文章许多内容待需进一步更新验证。


BSet 是用来修改对象属性的函数。

目前已知仅对少量的NPC有效。

该函数需要进一步验证。


目前已知以下格式:

call BSet(Class,ID,FlagID,param1,param2,param3)

其中,Class 代表要指定的对象:目前已知的数值如下:

  • 0 - 未知
  • 1 - 未知
  • 2 - NPC 属性
  • 138 - 方块碰撞检测 [玩家/NPC]

ID 代表对象中的对象(不是套娃,而是你针对的 Class 对象里的对象,比如你针对了NPC的对象,那么该ID指定的是NPC对象里的ID对象。)

FlagID 代表修改属性ID。

Flag ID

2 (NPC 属性)

ID 性质名 描述 Param1 Param2 Param3
1 Blend Mode 改变 NPC 的混合方式

(颜色公式计算)

有以下已知数值:
  • 1 黑色(Black)
  • 3 微红(Reddish)
  • 4 反相(Negative Colors)
  • 9 青蓝(Blue Cyan)
  • 10 橘红(Orange/Red)
  • 13 隐形(Invisible)
  • 66050 相加(Additive)
  • 66053 Alpha 相加(Additive + Alpha)
  • 197122 相减(Subtractive)
  • 197125 Alpha 相减(Subtractive + Alpha)
0 0
2 Brightness 黑暗视角里提供的光照范围 光照半径 0 0
3 Health 改变 NPC 的默认生命值 NPC 生命值 0 0
4 FireBallDMG 当被火球伤害时造成的伤害值 伤害值 0 0
5 HammerDMG 当被投掷锤子伤害时造成的伤害值 伤害值 0 0
6 JumpDMG 当被踩踏伤害时造成的伤害值 伤害值 0 0
7 LavaDMG 当触碰岩浆时造成的伤害值 伤害值 0 0
8 ShellDMG 当被龟壳砸到时造成的伤害值 伤害值 0 0
9 ExplosionDMG 当受到爆炸时造成的伤害值 伤害值 0 0
10 BlockHitDMG 当被方块顶上去时造成的伤害值 伤害值 0 0
11 TailSpinDMG 当受到狸猫/浣熊装的玩家摇摆的尾巴时造成的伤害值 伤害值 0 0
12 Score 当死亡时给予的分数 有以下已知数值:
  • 0 无
  • 1 10
  • 2 100
  • 3 200
  • 4 400
  • 5 800
  • 6 1000
  • 7 2000
  • 8 4000
  • 9 8000
  • 10 1UP
  • 11 2UP
  • 12 3UP
  • 13 5UP
0 0
14 FrozenTimer 冻结对象时间 冻结时间(单位:帧数),有以下已知数值:
  • -1 无法冻结
  • 0 永久冻结
  • (> 0) 冻结时间
0 0
16 NoBlockCollision 是否让 NPC 可以穿透方块 有以下已知数值:
  • 0 - 无法穿透,被碰撞箱影响
  • 1 - 可以穿透
0 0
5438 CollisionType NPC 的碰撞类型

如果使用的话,方块碰撞将会禁止并激活NPC的圆形判定系统。

使用 .ivala 变量控制碰撞体的度数 (1000 = 1°)

有以下已知数值:
  • 1 - 整个NPC的碰撞箱
  • 2 - 只影响 NPC 的顶部
  • 3 - 碰撞范围度数
  • 4 及其他 - 无任何效果。
0 0

138 (方块碰撞检测 [玩家/NPC])

ID 性质名 描述 Param1 Param2 Param3
19 Slop Plataform (Upper Left) 0 0 0
20 Slop Plataform (Upper Right) 0 0 0
21 Slop Plataform (Bottom Left) 0 0 0
22 Slop Plataform (Bottom Right) 0 0 0
23 Plataform (Down) 1 0 0
24 Plataform (Left) 1 0 0
25 Plataform (Right) 1 0 0