微信扫一扫 分享朋友圈

已有 1411 人浏览分享

传奇动态切割飘血的脚本思维!

[复制链接]

1114

主题

256

回帖

3356

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3356
发表于 2022-4-1 11:30:39 | 显示全部楼层 | 阅读模式
e9302cf67eb32e1189bd07684577fa04_184723he6dt45y5ipgd0pu.gif
参考别人的帖子,那个帖子我购买了并下载了。使用的是地图播放魔法效果。
个人感觉不是很合理!不方便修改。下面使用的是目标播放特效

所以干脆直接写个脚本给大家,有疑问提出

首先:我们在QM的@Login 里加入读取文本设置

例如:
#ACT
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 0 N$飘血值0
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 1 N$飘血值1
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 2 N$飘血值2
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 3 N$飘血值3
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 4 N$飘血值4
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 5 N$飘血值5
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 6 N$飘血值6
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 7 N$飘血值7
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 8 N$飘血值8
ReadCacheConfigFileItem ..\QuestDiary\配置.txt 飘血值 9 N$飘血值9

配置.txt 内容
内容为0-9数字的图片号 ,每组图片为20个。

[飘血值]
0=20
1=40
2=60
3=80
4=100
5=120
6=140
7=160
8=180
9=200


当然也可以直接
MOV N$飘血值0 20
MOV N$飘血值1 40
..
..
MOV N$飘血值8 180
MOV N$飘血值9 200

以上2种方法看个人爱好,只上线申明一次,。节省资源。变量不要重复,尤其是后面的数字0-9不要删除

然后QF里就可以直接进行调用,例如:

[@Attack]
#IF
LARGE N$怪物切割 0
#ACT
M.HumanHP - N$怪物切割
;N$怪物切割可以是吸血,吸蓝其它的任何东西
MOV N$伤害值 <$str(N$怪物切割)>
#CALL [\掉血特效.txt] @掉血特效


[@掉血特效]
{
#IF
;检测伤害长度=1时
CheckStringlength N$伤害值 = 1
#ACT
;播放切割文字图片,补丁号为94.图片为0
PLAYEFFECT 94 0 20 1 50 0 -10 -150 1
;播放切割数字图片,补丁号为94.图片为QM里申明的数值
;如果目标是玩家,这里需要传递一下N$伤害值
PLAYEFFECT 94 N$飘血值<$str(N$伤害值)> 20 1 50 0 -10 -150 1

#IF
;检测伤害长度>1时
CheckStringlength N$伤害值 > 1
#ACT
;获取当前伤害值的总长度
TextLength N$伤害值 N$伤害值长度
;为P887飘血数字特效的X坐标
;为P886飘血数字特效的Y坐标
MOV P886 -150
MOV P887 -10
MOV P888 0
MOV P889 0
;播放切割文字图片,补丁号为94.图片为0
;如果目标是玩家,这里需要传递一下2个变量 p887和p886
PLAYEFFECT 94 0 20 1 50 0 <$STR(P887)> <$STR(P886)> 1
;循环执行 N$伤害值长度 为次数
loopgoto @播放掉血特效 N$伤害值长度

[@播放掉血特效]
#ACT
MOV S$播放飘血图 <$str(N$伤害值)>
DEC S$播放飘血图 <$str(P888)> <$str(P889)>
DEC S$播放飘血图 2 <$str(N$伤害值长度)>
;如果目标是玩家,这里需要传递一下3个变量 S$播放飘血图 和 p887和p886
PLAYEFFECT 94 N$飘血值<$str(S$播放飘血图)> 20 1 50 0 <$str(P887)> <$str(P886)> 1

#IF
NOT LARGE P888 0
#ACT
INC P888 1

#IF
#ACT
INC P889 1
INC P887 10
}


以上脚本原理,上线时直接申明0-9数字读取的图片号。
当触发伤害时,直接获取伤害长度进行操作
例如,如果伤害值 为 756412 长度则为 6
第一步:删除P888-P889,即0-0位置的字符,结果为:756412
第二步:删除 2-6的字符,结果为:剩余为7.获得第一个数字,同时播放此数字的图片即:N$飘血值7 (参考QM里的申明)
循环执行.p888+1 p889+1
第一步:删除P888-P889,即1-1位置的字符,结果为:56412
第二步:删除 2-6的字符,结果为:剩余为5,同时播放此数字的图片即:N$飘血值5
再循环执行.p888+1,由于此处检测结果为p888大于0,p888就不再增加,只有p889+1
第一步:删除P888-P889,即1-2位置的字符,结果为:412
第二步:删除 2-6的字符,结果为:剩余为4,同时播放此数字的图片即:N$飘血值4
直到loopgoto 执行完毕。次数为长度,也就是可以获得所有数字的图片号并播放

补充内容 (2022-3-31 18:52):
附件为补丁
44305.rar (167.17 KB, 下载次数: 8, 售价: 1 金币)
回复

使用道具 举报

1

主题

21

回帖

22

积分

新手上路

Rank: 1

积分
22
发表于 2022-9-14 13:34:25 | 显示全部楼层
传奇动态切割飘血的脚本思维
回复

使用道具 举报

10

主题

6

回帖

16

积分

新手上路

Rank: 1

积分
16
发表于 2022-9-18 17:42:41 | 显示全部楼层

传奇动态切割飘血的脚本思维
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-11-10 01:54:44 来自手机  | 显示全部楼层
牛逼了我的天
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|传奇版本库 ( 豫ICP备2022013642号 )|Sitemap

GMT+8, 2024-11-15 08:43 , Processed in 0.019019 second(s), 6 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2020 Comsenz Inc.