这种问题都是脚本导致,脚本太复杂,或者脚本有读写文件的,文件太大,或者读写太频繁& O& i" r/ { G, v a3 v8 `, [
) H4 a& o& |3 d l# b
7 E" z9 Q4 w* J* ]有的版本写的有问题,大部分是爆物品触发或捡取触发里,加入了脚本记录装备的功能导致的,每爆或捡取一个装备,脚本就记录下来,记录的文本很快就变的很大,频繁读写硬盘就会卡' z e. N2 W5 M" k1 \5 ]# O
! |7 ?, B p0 ^0 ?" N8 W3 N: y+ c9 b" n/ `4 y
[@InPutString22]
& l: x0 h l5 s) d3 \/ ^#IF+ G" A {3 @: r1 g2 Q
CHECKTEXTLIST ..\QuestDiary\元宝充值\50000.txt <$STR(S22)>6 ]% n8 r% E" P' h- Q. q- K
;比如这个命令,使用了这个命令,引擎就会从硬盘读取“..\QuestDiary\元宝充值\50000.txt”这个文件,如果文件变得越来越大,读取就会变慢,就会卡
$ M% G) s2 d3 F/ ^#ACT
: H- n/ w! @" O' v8 O$ yDELTEXTLIST ..\QuestDiary\元宝充值\50000.txt <$STR(S22)>% ^& \' f3 g$ v, C* `8 }- [
;比如这个命令,使用了这个命令,引擎会读取“..\QuestDiary\元宝充值\50000.txt”这个文件,然后还会写入硬盘,比上面那个命令(CHECKTEXTLIST)操作更慢,因为这个命令先读取,在写入,多一个步骤写入,如果文件变得越来越大,就会卡
- C. Q z/ |6 E4 j
2 |# q+ x' |9 q3 }5 P
- e6 n* u; u3 W; e+ f;不仅仅是这两个命令,所有读写文件的脚本命令,都会这样,比如CheckContainsTextList、AddTextList、GetRandomText等等$ t5 A _* u O2 `
;有的文件看起来不大,但是有时候还会卡,那可能读写太频繁了,不是NPC点击一下才读写的,比如版本里有自动捡取功能
: J/ Q& W1 @6 b$ F$ l;然后有捡取触发脚本,一瞬间几毫秒内捡取几十个物品,就触发几十次脚本,脚本里有读写文件的脚本命令,就会读写几十次文件,每读写一次文件,都是需要时间的,就会卡在读写文件那里,等待脚本全部触发完成,就会卡% s$ O- z! D7 u8 _' M
;这样的情况,就算文件不大,也可能会造成卡
# o% e0 z5 P( d5 `0 y s+ W+ i0 ^2 A5 q: i" B
0 Y: r L4 B7 B. Q;还有就是定时器脚本,如果太复杂,或者有文件读写都有可能
" J4 V9 [" h2 a9 U9 N/ Q6 e- O
, S4 U- B7 V+ n0 p" @ L
% g) f/ A: c/ N$ D- u" E;有些版本为了实现某些功能,会使用goto循环去触发脚本,如果条件达不到,) E6 d4 R* s x$ F
;会一直goto循环,这样的脚本,引擎会卡死在这个脚本,甚至卡死引擎
, N; `. ?$ O* I, t+ W--------------------------------------------------------------------------------------------------------------
! C0 D5 Y6 V* p# L;解决办法就是脚本简单点,读写文件的脚本频率小一点6 W! s) N# I2 s; J* c& {. A
;可以使用LoadFileToMemory和LoadFileToMemoryEx这两个脚本命令,可以搜索说明书4 |% g6 i( P5 _4 X e3 M
;这两个命令也不是让你无限制的可以读写文件,还是要尽量减少读写频率,和减小文件大小 \$ w4 N5 H0 f; L- F
5 m! s/ D: _, Z |