这种问题都是脚本导致,脚本太复杂,或者脚本有读写文件的,文件太大,或者读写太频繁
/ [7 x- g+ @- {5 A% V
5 @( A0 s4 e$ G: m. H
& t% n! C% x: B8 Q6 y1 Q有的版本写的有问题,大部分是爆物品触发或捡取触发里,加入了脚本记录装备的功能导致的,每爆或捡取一个装备,脚本就记录下来,记录的文本很快就变的很大,频繁读写硬盘就会卡& J: k ~2 @5 k# o7 c, b
, T( t5 `2 B- T
: }6 E' [. e+ h' w0 j* H0 o% n
[@InPutString22]
/ t( z$ ^# w. ~# N" i d#IF# E' R. X: c- c, {; \
CHECKTEXTLIST ..\QuestDiary\元宝充值\50000.txt <$STR(S22)>( y' B; o; i( t6 g) l
;比如这个命令,使用了这个命令,引擎就会从硬盘读取“..\QuestDiary\元宝充值\50000.txt”这个文件,如果文件变得越来越大,读取就会变慢,就会卡7 Y# W" G: A' ~2 ?# w3 ~
#ACT
! s+ W8 X8 Y- f. U2 i1 I" {DELTEXTLIST ..\QuestDiary\元宝充值\50000.txt <$STR(S22)>0 d$ D- `& G% X) Q4 h9 h
;比如这个命令,使用了这个命令,引擎会读取“..\QuestDiary\元宝充值\50000.txt”这个文件,然后还会写入硬盘,比上面那个命令(CHECKTEXTLIST)操作更慢,因为这个命令先读取,在写入,多一个步骤写入,如果文件变得越来越大,就会卡7 c/ `/ v* X! S+ d
2 U6 C# K% [" L( _: f
2 O, c q+ U3 r( F! J& Y
;不仅仅是这两个命令,所有读写文件的脚本命令,都会这样,比如CheckContainsTextList、AddTextList、GetRandomText等等. k1 s1 [8 S$ t. x4 Q3 p7 y
;有的文件看起来不大,但是有时候还会卡,那可能读写太频繁了,不是NPC点击一下才读写的,比如版本里有自动捡取功能
' K* a- H' F; Y- B5 ?7 G;然后有捡取触发脚本,一瞬间几毫秒内捡取几十个物品,就触发几十次脚本,脚本里有读写文件的脚本命令,就会读写几十次文件,每读写一次文件,都是需要时间的,就会卡在读写文件那里,等待脚本全部触发完成,就会卡
/ P5 n3 N: P$ }; N5 f G8 _;这样的情况,就算文件不大,也可能会造成卡
b }' _& Z+ L; `/ w; B
$ H# C' Q; i. W4 m% J% m
& L, g: D, q* S;还有就是定时器脚本,如果太复杂,或者有文件读写都有可能: N2 N* F$ S, ]* |: w' y
0 N( t3 X! _4 q' g8 h0 O, T& D1 m, @
% C# V9 u, V; y0 p8 @; X, b- a: p: E;有些版本为了实现某些功能,会使用goto循环去触发脚本,如果条件达不到,0 U# V& Z/ E% Q) l. {$ a
;会一直goto循环,这样的脚本,引擎会卡死在这个脚本,甚至卡死引擎- g! s- h4 N' o0 O$ r1 N
--------------------------------------------------------------------------------------------------------------
6 @5 g y0 `, U. k" \9 ~;解决办法就是脚本简单点,读写文件的脚本频率小一点
( {1 ]2 q9 h8 ?+ u8 i6 H# @0 H;可以使用LoadFileToMemory和LoadFileToMemoryEx这两个脚本命令,可以搜索说明书
! M" w( p) z9 `4 w% V;这两个命令也不是让你无限制的可以读写文件,还是要尽量减少读写频率,和减小文件大小/ h! M S* F' D$ o( |
8 [4 N( y% c+ u0 m
|