Releases: jyanf/Custom_SL
Releases · jyanf/Custom_SL
v2.9.1b
shady-packer 2.9 更新日志
Loader
- 修复了文件夹内文件变更时的自动重载问题
- 调整了加载顺序以支持更多自定义情况
Lua 相关
- 修复了createObject偶然崩溃的 bug
- 新增
memory.new(size)
和memory.delete(ptr)
内存管理函数 - 修复了custom hook的竞态条件问题
-
开放更多功能:
-
battle.ObjectBase
.center -- Vector2f
(中心点坐标).isGui -- boolean
(是否作为GUI绘制).skillIndex -- integer
(必杀索引).shadowOn -- boolean
(阴影开关).shadowOffset -- number
(阴影纵向偏移量)
-
battle.Object
.layer -- integer(±1)
(图层).gpShort -- integer[6]数组
(短整型通用参数).gpFloat -- number[3]数组
(浮点型通用参数).customData -- number[?]不定长数组
(自定义数据)
-
battle.Player
.gpShort -- integer[6]数组
(短整型通用参数).gpFloat -- number[6]数组
(浮点型通用参数).teamId/isRight -- integer(1P=0, 2P=1)
(左右标识).paletteId -- integer
(配色ID).input -- gui.KeyInputLight
(实时输入).inputBuffered -- gui.KeyInputLight
(缓冲输入)
-
gui.Cursor
.isVisible -- boolean
(光标可见性).sfxId -- integer, no_sfx=-1
(音效ID,-1表示无音效).max -- integer, const
(最大项数,常量).page -- integer, const
(当前页码,常量):getPosition(index) -> integer, integer
(获取位置坐标):setPageRows(rows) -> void
(设置每页行数):pgUp()
:pgDn()
-
soku.playBGM(path, fadeOut, fadeIn)
- 播放背景音乐,支持淡入淡出效果
- 参数:
路径|nil, 淡出时间(帧), 淡入时间(帧)
-
soku.Vector2f 新增函数
:length() -> number
(向量长度):angle() -> number
(角度值,范围-180~180):cross(other) -> number
(向量叉积):dot(other) -> number
(向量点积)
-
-
新增 soku.Vector2f 元方法,支持表达式操作:
__add
加法,例如:1+vec
,vec+1
,vec1+vec2
__sub
减法,例如:1-vec
,vec-1
,vec1-vec2
__mul
乘法,例如:vec*2
,2*vec
__div
除法,例如:vec/2
__unm
取负,例如:-vec
__eq
相等判断,例如:vec1==vec2
__tostring
转换为字符串输出,例如:print(vec)
-
createObject 参数优化:
-
参数
customData
现在可以自动转换为浮点数组:- 数字
1
→ 转换为{0,0,1}
nil
→ 转换为{0,0,0}
- 表格 → 保持原样
{table[1], table[2],...}
- 不再需要手动调用
string.pack()
!
- 数字
-
参数
direction
默认继承创建者的方向 -
参数
x, y
默认继承创建者位置,支持用一个soku.Vector2f
变量代替 -
示例:
-- 新写法 player:createObject(800, player.position+soku.Vector2f(50,100), nil, 1, {0,0,1,2}) -- 等效旧写法 player:createObject(800, player.position.x+50, player.position.y+100, player.direction, 1, string.pack("<ffff",0,0,1,2))
-
同样适用于
Object.createChild
,Object.createObject
-
-
新增 GUI 弹窗支持 (实验性功能):
-
gui.Renderer 新增属性:
.MSG_CLOSED = -1 -- 消息窗口未打开 .MSG_WAIT = 0 -- 等待用户响应 .MSG_OK = 1 -- 用户选择确定 .MSG_CANCEL = 2 -- 用户选择取消 .MSG_YES = 3 -- 用户选择是 .MSG_NO = 4 -- 用户选择否 .showResult -- 显示结果状态枚举
-
新增方法:
:ShowMessage(text) -> boolean
(显示对话框):ShowChoice(text, defaultYes) -> boolean
(显示带选择的对话框):RemoveMessage() -> boolean
(移除消息)
-