找回密码
 立即注册
奇速版本论坛200M带宽开服微端链接失效申报超级稳定服务器抗攻击
点击金币投放广告点击金币投放广告点击金币投放广告点击金币投放广告
查看: 237|回复: 7

[已解决] 如何把伤害转特效

[复制链接]

27

主题

86

回帖

311

积分

中级会员

积分
311
发表于 2024-11-12 22:59:38 | 显示全部楼层 |阅读模式
收集了一套远古的飘血素材 是把一个一个数字转成图片用特效播放的 很细致且拉风 分为 攻击目标 受到伤害 恢复生命魔法 被玩家攻击 都是采用不同颜色的 但是他是一整套 素材 有往上飘 有往左 往右 往下飘 以及变大 有点魔兽的那个感觉 友友们 如何把伤害转成图片呢 并且准确的识别每一行不出错 别跟我提自定义飘血 那个我知道 不咋地 跟右边有仇 啥都往右飘
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

75

主题

607

回帖

1042

积分

金牌会员

积分
1042
发表于 2024-11-13 05:56:51 | 显示全部楼层
伤害数值通过计算然后进行图片播放,这个好多年前流行切割的时候就有了。
一个增挂瓦亮,帅的稀里哗啦的小流氓
回复

使用道具 举报

39

主题

76

回帖

305

积分

中级会员

积分
305
发表于 2024-11-13 14:41:57 | 显示全部楼层
本帖最后由 qq6652131 于 2024-11-13 14:43 编辑

我有这个计算伤害然后转图片飘血脚本,飘血素材发出来看下,我看值不值交换,我Q270037160
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

3

主题

52

回帖

223

积分

中级会员

积分
223
发表于 2024-11-13 23:03:17 | 显示全部楼层
你说的lf实现不了吧
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

29

主题

1113

回帖

1732

积分

版主

积分
1732
QQ
发表于 2024-11-13 23:18:48 | 显示全部楼层
本帖最后由 442671 于 2024-11-13 23:25 编辑

首先:我们在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 执行完毕。次数为长度,也就是可以获得所有数字的图片号并播放

以前写的一种方式.瞎几把写,只初步测试过,因为我用不上,现在或许有其它更好的办法
我没仔细测试过,大致没有问题,播放可以换成SENDMOVEHINTMSG或其它
-定制脚本-Qq:270411387
回复

使用道具 举报

29

主题

1113

回帖

1732

积分

版主

积分
1732
QQ
发表于 2024-11-13 23:19:25 | 显示全部楼层
双龙在线 发表于 2024-11-13 23:03
你说的lf实现不了吧

多练练脚本
-定制脚本-Qq:270411387
回复

使用道具 举报

27

主题

86

回帖

311

积分

中级会员

积分
311
 楼主| 发表于 2024-11-14 04:17:06 | 显示全部楼层

** 膜拜了
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

3

主题

52

回帖

223

积分

中级会员

积分
223
发表于 2024-11-14 08:01:07 | 显示全部楼层

这个脚本能实现拉近放大?应该只是让飘血素材在不同的坐标飘而已
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|翎风引擎论坛 |网站地图

GMT+8, 2025-5-2 03:53 , Processed in 0.056904 second(s), 27 queries , Gzip On, Redis On.

Powered by haom2 X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表