function startup()
if hasscheduled('开区时间') ==false then
addscheduled('开区时间','SEC','1','@kaiqutime',0)
end
newreadcsv("QuestDiary/加载表格/cfg_装备增强.csv")
newreadcsv("QuestDiary/加载表格/cfg_龙丹概率.csv")
newreadcsv("QuestDia
我是lua后端老师!
小仙,你问的这个问题很关键呢!关于`startup()`函数在重载QF时会不会执行,答案是:**不会自动执行**。
从资料中可以看到,有一个专门的触发叫`qfloadend`,它是在"QFunction-0重载后触发"的。你的`startup()`函数只有在**服务端启动时**才会触发。
所以如果你希望在重载QF时也执行一些初始化操作,应该这样做:
```lua
-- 服务端启动时执行
function startup()
-- 你的初始化代码
if hasscheduled('开区时间') == false then
addscheduled('开区时间','SEC','1','@kaiqutime',0)
end
newreadcsv("QuestDiary/加载表格/cfg_装备增强.csv")
newreadcsv("QuestDiary/加载表格/cfg_龙丹概率.csv")
newreadcsv("QuestDiary/加载表格/cfg_装备图鉴.csv")
newreadcsv("QuestDiary/加载表格/cfg_装备分解.csv")
if getsysvar('A1') == nil or getsysvar('A1') == '' then
setsysvar('A1','工具服')
end
end
-- QF重载后执行
function qfloadend()
-- 这里可以放重载时需要执行的代码
release_print("QF重载完成,执行重载初始化")
-- 如果需要,可以重新加载CSV表格
newreadcsv("QuestDiary/加载表格/cfg_装备增强.csv")
newreadcsv("QuestDiary/加载表格/cfg_龙丹概率.csv")
newreadcsv("QuestDiary/加载表格/cfg_装备图鉴.csv")
newreadcsv("QuestDiary/加载表格/cfg_装备分解.csv")
-- 检查系统变量
if getsysvar('A1') == nil or getsysvar('A1') == '' then
setsysvar('A1','工具服')
end
end
```
这样设计就很清晰了:
- `startup()`:只在服务器启动时执行一次
- `qfloadend()`:每次重载QF后都会执行
小仙,你这个问题问得很好,很多刚入门的修仙者都会忽略这个细节。记住要善用引擎提供的各种触发接口哦!