欢迎光临散文网 会员登陆 & 注册

传奇变量-文本相关

2023-05-04 19:01 作者:传奇学院  | 我要投稿


功能: 创建新目录.

ForceDirectories \QuestDiary\新目录\


在指定位置建立一个文本文件. 

CreateFile ..\QuestDiary\NewFile.txt


检查行会名字是不是在列表中

CHECKGUILDLIST   GuildList.txt


将人物行会名加入列表 

ADDGUILDLIST    guildlist.txt


删除列表行会名

DELGUILDLIST    guildlist.txt


检查人物名字是不是在列表中

CHECKNAMELIST namelist.txt


检查人物在列表中的位置。

CHECKNAMELISTPOSITION List.txt  (> < = ) 10 P0


可以检查登录帐号与IP是否匹配

CHECKACCOUNTIPLIST AccountIPList.txt


增加人物帐号在列表中

ADDACCOUNTLIST AccountList.txt


增加人物名在列表中

ADDNAMELIST  NameList.txt


删除人物名在列表中

DELNAMELIST NameList.txt


清除列表内容

CLEARNAMELIST namelist.txt


;==========================================


;增加字符串

AddTextList ..\TestList.txt <$USERNAME> 

AddTextList ..\TestList.txt 您的名字 您的性别


;删除字符串

DelTextList ..\TestList.txt 您的名字

DelTextList ..\TestList.txt 您的名字 您的性别 


功能: 把字符串写入到指定的文本文件中,可以指定写入行.

格式: AddTextListEx 路径 字符串 行(0-65535)

AddTextListEx ..\TestList.txt <$USERNAME> 0


;==========================================



功能: 从文件中随机获取一行字符串

格式: GetRandomText 文件路径 变量(S0--S99) 指定行(0-10000)


例如:随机取一行字符串到S10中.

GetRandomText ..\QuestDiary\测试.txt S10


取特定行的字符串.

GetRandomText ..\QuestDiary\测试.txt S10 5


;==========================================

功能: 取字符串在列表中的下标.

格式: GetStringPos 路径 字符串

说明: 返回值放在人物的N0变量中,如果值=9999999说明没有找到.

其他: 返回值可以通过EQUAL做条件检测


[@main]

#IF

#ACT

GetStringPos ..\QuestDiary\测试.txt 管理员

SendMsg 5 字符串在列表中的位置:<$STR(N0)> 


;==========================================

检查字符串是否在指定文件中 

CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)>

CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)> <$STR(S$3)>


;==========================================

字符串比较处理。


CheckContainsText 字符 字符串检查 //检查字符串是否包涵在另外一个字符串中. 

CompareText 字符 字符 // 比较两个字符串是否一样 


CheckContainsText gameofmir game

CompareText gameofmir game


;==========================================

检查字符串是否在指定文件中 包含检测 检测的字符串不需要完全相同,文件里的字符包含检测的字符,就会成功


CheckContainsTextList ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)>

CheckContainsTextListEx ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)>


CheckContainsTextList 和 CheckContainsTextListEx 区别

CheckContainsTextList 列表文件里保存的是完整的字符。检测列表里的某一行字符是否包含检测的关键字

CheckContainsTextListEx 列表文件里保存的是关键字。检测字符是否包含列表里的某一行关键字


;==========================================


检测字符串长度命令

CheckStringlength 字符串 操作符(<,>,=) 位数

一个汉字位数为2, "》"也为2个字符


CheckStringlength sf100 > 3


;==========================================


    字符串替换

    ANSIREPLACETEXT 字符串变量 旧字符串 新字符串 


mov S1 haom2

ANSIREPLACETEXT <$STR(S1)> gameofmir qq

SENDMSG 6 <$STR(S1)>



;==========================================


功能: 给字符串在前面或者后面增加指定个数的空格. 


格式: SetStringBlank 变量(S,A) 长度(1-100) 格式(0, 1)?

说明: 可支持人物S变量或者全局A变量,格式0=前面,1=后面

注意: 第二个参数长度是指增加空格后整个字符串的长度,例如字符HaoM2引擎长度是13,

如果第二个参数设置1 那么实际增加7个空格.

注意: 英文字母和数字占用1个字节(长度),汉字占用2个字节(长度). 


MOV S10 HaoM2引擎

SetStringBlank <$STR(S10)> 20 0

SendMsg 5 <$STR(S10)>


MOV S10 HaoM2引擎

SetStringBlank <$STR(S10)> 20 1


;==========================================


DEC对字符型变量操作命令。

MOV命令做了一些改进。


[@Main]

#ACT

MOV S1 HaoM2引擎M2

MOV S2 HaoM2引擎M2

DEC S1 HaoM2引擎 ;删除S1中的“HaoM2引擎”字符串

DEC S2 1 3 ;删除S2中的第1至第3个字符串 这个要注意,一个汉字是2个字节长度,不要删除半个汉字的情况,否则会乱码。


结果 S1=M2

S2=引擎M2


;==========================================


字符串分隔命令:


#IF

gender man

checkjob warrior

#ACT

GetRandomText ..\QuestDiary\装备列表.txt S0 0

EXTRACTSTRING : <$STR(S0)> s1 s2 s3 s4 s5 s6 s7 s8

GIVE <$STR(S1)> 1

GIVE <$STR(S2)> 1

GIVE <$STR(S3)> 1

GIVE <$STR(S4)> 1

GIVE <$STR(S5)> 1

GIVE <$STR(S6)> 1

GIVE <$STR(S7)> 1

GIVE <$STR(S8)> 1

TakeOn <$STR(S1)> 0

TakeOn <$STR(S2)> 1

TakeOn <$STR(S3)> 3

TakeOn <$STR(S4)> 4

TakeOn <$STR(S5)> 5

TakeOn <$STR(S6)> 6

TakeOn <$STR(S7)> 7

TakeOn <$STR(S8)> 8

BREAK

;======================================================

;装备列表.txt 内容


;战神盔甲(男):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指

;战神盔甲(女):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指

;魔法长袍(男):血饮:恶魔铃铛:道士头盔:龙之手镯:龙之手镯:紫碧螺:紫碧螺

;魔法长袍(女):血饮:恶魔铃铛:道士头盔:龙之手镯:龙之手镯:紫碧螺:紫碧螺

;灵魂战衣(男):无极棍:灵魂项链:道士头盔:三眼手镯:三眼手镯:泰坦戒指:泰坦戒指

;灵魂战衣(女):无极棍:灵魂项链:道士头盔:三眼手镯:三眼手镯:泰坦戒指:泰坦戒指


;======================================================

;写变量可配合inc实现写入数据

#act

inc S0 <$DRESS>

inc S0 :

inc S0 <$WEAPON>

inc S0 :

inc S0 <$HELMET>

;.........后面的自己写

;======================================================


扩展支持自定义变量并支持自动填写数字编号



[@aaa]

#IF

#ACT

; 分隔字符串后,按顺序往S11及以后放

ExtractStringEx | aaa|bbb|ccc|ddd|000 S11

SendMsg 6 <$STR(S11)>,<$STR(S12)>,<$STR(S13)>,<$STR(S14)>,<$STR(S15)>




; 分隔字符串后,依次放自定义变量1,2,3,4及以后放

ExtractStringEx | aaa|bbb|ccc|ddd|000 S$拆分

SendMsg 4 <$STR(S$拆分1)>,<$STR(S$拆分2)>,<$STR(S$拆分3)>,<$STR(S$拆分4)>,<$STR(S$拆分5)>


传奇变量-文本相关的评论 (共 条)

分享到微博请遵守国家法律