DNF阿拉德游戏论坛

 找回密码
 立即注册
搜索
查看: 313|回复: 8
打印 上一主题 下一主题

[工具] DNF梦太晓Ani文件可视化编辑工具(含:NPK文件批量转V2版)

[复制链接]
  • TA的每日心情
    无聊
    2020-5-4 11:23
  • 签到天数: 276 天

    [LV.8]以坛为家I

    1136

    主题

    1378

    帖子

    55万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    559843
    怒气
    556686
    声望
    228
    战力
    1138

    活跃会员灌水之王游戏爱好者阿拉德最佳作者阿拉德勇士战斗法师DOF玩家佛系DNF玩家

    跳转到指定楼层
    楼主
    发表于 2020-3-18 12:38:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


    更新说明:
    软件为Rs组开源工具修改而来,得到了若言anitool源码的帮助 梦太晓制作
    点击链接加入群聊【梦太晓的dnf交流群】:https://jq.qq.com/?_wv=1027&k=5uer9Ks (群号820771750)
    群主年费超会到期了,普通超会都不备2000人群资格固加不了群啦,私聊我也没用。…

    v0.5更新 2019年4月25日
            1.修复V5转换效果很丑的问题(颜色索引和透明度错误)
            2.去除部分测试时的预置内容
            3.修复BOX的原点默认显示
            4.(待后续添加,导出时按照实际坐标填充透明像素)

    v0.39更新 2019年4月20日
            1.修复部分NPK转版本会报错误
            2.推荐不要使用多线程(并不会快)
            3.已测试完整的转国服imagepacks2 6653个NPK 10G需要6小时 转换完毕14.2G
            4.V5转换的效果较差 效率较慢,待后续参考恋恋兔子的C艹源码优化
            5.优化拖拽时编辑框的路径处理方式

    v0.31更新 2019年4月16日
            1.支持V5的识别
            2.更换了底层写法,部分功能失效
            3.ani的编写选项卡中新增修正坐标,可在按钮处右键,将剪辑版中的ani的每一帧都加上某条标签(霸体等)
            4.增加快速生成文件功能:可快速生成obj文件(mob待完善)
            5.增加导出功能:包括以下功能 均可批量(可选保留全路径,生成txt文件记录)
                    从NPK导出IMG(可选保留全路径)
                    从IMG导出PNG
                    从NPK导出PNG(可选保留全路径)
                   
                    PNG合并为IMG(若有全路径txt则一并复制到IMG目录)
                    IMG合并为NPK(若有全路径txt则完美还原)
                   
                    V4/5/6版本的IMG直接转为V2(直接NPK转至NPK)
                   
                    NPK合并为NPK(支持是否启用自定义分隔符)
            6.启动时QQ群验证成功后会生成配置文件,不丢失则不需要重新验证
            7.列表框下增加定位img功能

    v0.2更新支持
            识别索引型贴图
            识别v4 v6,v5暂时不能识别
            可以识别并打开img文件
            添加IMG查找NPK(使用数据库,第一次释放空数据库文件 重建数据库需要5分钟,一次建立,之后都是秒出结果)。
            并提供文件定位。右键NPK列表框 在资源管理器中显示NPK。双击NPK编辑框也行
            新增识别ANI延迟 来播放动画
            新增ANI编写功能,常用功能均可找到,可以根据模板帧生成多帧信息(可倒序)
            增加支持两个框
            修复已知BUG

    工具使用说明:
    NPK打开方式:打开、拖拽、识别ani按钮(自动寻找)
            IMG列表框:右键复制文件名,可自动去sp/后到剪辑板
            显示的图片 就是新加一个动画物体。下面所述物体=图片
    物体
            图片列表框:右键创建不销毁物体
            右键移动选择框:销毁所有物体
            勾选移动选择框后:
                    左键显示物体信息
                    左键拖拽改变物体位置(实时显示信息)
                    右键销毁鼠标处物体(最顶层的一个)
                    滚轮滚动缩放大小
                    方向键↑↓调整物体层次
                    方向键←水平翻转
                    方向键→垂直翻转
                    双击获取当前位置-实际坐标的值
    绘制
            勾选绘制选择框:
                    (正确的框画法:
                            原点在对象脚下
                            XY平面的中心为原点
                            XY平面与原点在同一高度
                            实际Z起点由下坐标确定,高度由长度决定)
                    左键拖拽画框(Z轴支持↓画或↑画)
                    右键撤销一步
            勾选二框选择框:同上
    微调
            选择对象组合框:选取操作对象
            点击微调按钮后:方向键调整对象位置/大小
            右键微调按钮:切换模式 调整位置/调整大小
    单击识别ani按钮:
            获取剪辑板内容,识别img`判断NPK,
            完全匹配时自动打开
            未能完全匹配到时,提示模糊匹配(NPK文件名含括号 中英文等字符)
            当模糊匹配结果为1时自动打开
            模糊匹配结果大于1时,加入列表框待选
            打开后自动选择相应img
    ANI操作 窗口
            识别ani后列表框自动识别多种信息并标识,并创建不销毁物体
            勾选播放选择框:根据识别到的延迟内容播放ani动画
            选择帧列表框项目,查看相应帧信息
    切换选择夹
            右边是模板编辑框,生成的ani均以模板为标准(img 坐标 延迟等)
            ani编辑各种按钮:将按钮文字插入模板编辑框/输出编辑框
            攻击框受伤框的数据来源可选框1/框2
            生成ani时支持 要几帧/到哪帧(起始帧号在模板编辑框中),支持倒序(-5=倒序生成5帧,到哪帧小于起始帧=倒序)
    智能生成
            img=将当前选中的img
            起始帧输入值
            要几侦/到哪帧由单选框决定
            同样支持倒序


    AI模式判断参数:
    1. #PVF_File
    2. PVF文件头
    3. [ai pattern]
    4. AI模式
    5. [think][void]`is target in attack area()`100.0  100.0   40.0    40.0   
    6. 判断【目标在不在这个小区域内?】
    7. [true][think][void]`get random()`0.0    100.0   
    8. 目标在小区域内,则【从0-100取随机数】
    9.     [think][last result]`<=`15   
    10.     判断【随机数是不是0-15范围内?】
    11.     [true][think][void]`is the skill in cooltime()`8   
    12.     随机数在0-15范围内,则【8号技能是否在冷却中?】
    13.           [true][return]-1  
    14.           随机数在0-15范围内,且8号技能在冷却中无法使用,则返回-1空值 不做任何事
    15.           [false][return]8  
    16.           随机数在0-15范围内,且8号技能冷却完毕可以使用,则返回8 使用8号技能
    17.           [/think]
    18.           判断【8号技能】完毕
    19.     [false][think][last result]`<=`30   
    20.     判断【随机数是不是15-30范围内?】
    21.              [true][think][void]`is the skill in cooltime()`9   
    22.              随机数在15-30范围内,则【9号技能是否在冷却中?】
    23.                    [true][return]-1
    24.                    随机数在15-30范围内,且9号技能在冷却中无法使用,则返回-1空值 不做任何事
    25.                    [false][return]9
    26.                    随机数在15-30范围内,且9号技能冷却完毕可以使用,则返回9 使用9号技能
    27.                    [/think]
    28.                    判断【9号技能】完毕
    29.              [false][think][last result]`<=`45   
    30.              判断【随机数是不是30-45范围内?】
    31.                     [true][think][void]`is the skill in cooltime()`0   
    32.                     随机数在30-45范围内,则【0号技能是否在冷却中?】
    33.                           [true][return]-1  
    34.                           随机数在30-45范围内,且0号技能在冷却中无法使用,则返回-1空值 不做任何事
    35.                           [false][return]0  
    36.                           随机数在30-45范围内,且0号技能冷却完毕可以使用,则返回0 使用0号技能
    37.                           [/think]
    38.                           判断【0号技能】完毕
    39.                     [false][think][last result]`<=`60   
    40.                     判断【随机数是不是45-60范围内?】
    41.                            [true][think][void]`is the skill in cooltime()`1
    42.                            随机数在45-60范围内,则【1号技能是否在冷却中?】
    43.                                  [true][return]-1   
    44.                                  随机数在45-60范围内,且1号技能在冷却中无法使用,则返回-1空值 不做任何事
    45.                                  [false][return]1   
    46.                                  随机数在45-60范围内,且1号技能冷却完毕可以使用,则返回1 使用1号技能
    47.                                  [/think]
    48.                                  判断【1号技能】完毕
    49.                            [false][think][last result]`<=`75
    50.                            判断【随机数是不是60-75范围内?】
    51.                                   [true][think][void]`is the skill in cooltime()`2  
    52.                                   随机数在60-75范围内,则【2号技能是否在冷却中?】
    53.                                         [true][return]-1   
    54.                                         随机数在60-75范围内,且2号技能在冷却中无法使用,则返回-1空值 不做任何事
    55.                                         [false][return]2   
    56.                                         随机数在60-75范围内,且2号技能冷却完毕可以使用,则返回2 使用2号技能
    57.                                         [/think]
    58.                                         判断【2号技能】完毕
    59.                                   [false][think][last result]`<=`100
    60.                                   判断【随机数是不是75-100范围内?】
    61.                                          [true][think][void]`is the skill in cooltime()`3   
    62.                                          随机数在75-100范围内,则【3号技能是否在冷却中?】
    63.                                                [true][return]-1
    64.                                                随机数在75-100范围内,且3号技能在冷却中无法使用,则返回-1空值 不做任何事
    65.                                                [false][return]3
    66.                                                随机数在75-100范围内,且3号技能冷却完毕可以使用,则返回3 使用3号技能
    67.                                                [/think]
    68.                                                判断【3号技能】完毕
    69.                                          [false][return]-1  
    70.                                          随机数大于100,则返回-1空值 不做任何事
    71.                                          [/think]
    72.                                          判断【75-100】完毕
    73.                                   [/think]
    74.                                   判断【60-75】完毕
    75.                            [/think]
    76.                            判断【45-60】完毕
    77.                     [/think]
    78.                     判断【30-45】完毕
    79.              [/think]
    80.              判断【15-30】完毕
    81.         [/think]
    82.         判断【0-15】完毕
    83.      [/think]
    84.      取【随机数】完毕
    85. [false][think][void]`is target in attack area()`200.0   200.0   110.0   110.0   
    86. 目标不在小区域内,则判断【目标在不在这个大区域内?】
    87.        [true][think][void]`get random()`0.0 100.0   
    88.        目标在大区域内,则【从0-100取随机数】
    89.           [think][last result]`<=`30
    90.           判断【随机数是不是0-30范围内?】
    91.              [true][think][void]`is the skill in cooltime()`5   
    92.              随机数在0-30范围内,则【5号技能是否在冷却中?】
    93.                    [true][return]-1
    94.                    随机数在0-30范围内,且5号技能在冷却中无法使用,则返回-1空值 不做任何事
    95.                    [false][return]5
    96.                    随机数在0-30范围内,且5号技能冷却完毕可以使用,则返回5 使用5号技能
    97.                    [/think]
    98.                    判断【5号技能】完毕
    99.              [false][think][last result]`<=`60   
    100.              判断【随机数是不是30-60范围内?】
    101.                     [true][think][void]`is the skill in cooltime()`10   
    102.                     随机数在30-60范围内,则【10号技能是否在冷却中?】
    103.                           [true][return]-1  
    104.                           随机数在30-60范围内,且10号技能在冷却中无法使用,则返回-1空值 不做任何事
    105.                           [false][return]10
    106.                           随机数在30-60范围内,且10号技能冷却完毕可以使用,则返回10 使用10号技能
    107.                           [/think]
    108.                           判断【10号技能】完毕
    109.                     [false][think][last result]`<=`90   
    110.                     判断【随机数是不是60-90范围内?】
    111.                            [true][think][void]`is the skill in cooltime()`12   
    112.                            随机数在60-90范围内,则【12号技能是否在冷却中?】
    113.                                  [true][return]-1   
    114.                                  随机数在60-90范围内,且12号技能在冷却中无法使用,则返回-1空值 不做任何事
    115.                                  [false][return]12  
    116.                                  随机数在60-90范围内,且12号技能冷却完毕可以使用,则返回12 使用12号技能
    117.                                  [/think]
    118.                                  判断【12号技能】完毕
    119.                            [false][return]-1   
    120.                            随机数大于90,则返回-1空值 不做任何事
    121.                            [/think]
    122.                            判断【60-90】完毕
    123.                     [/think]
    124.                     判断【30-60】完毕
    125.              [/think]
    126.              判断【0-30】完毕
    127.        [/think]
    128.        取【随机数】完毕
    129. [false][think][void]`is target in attack area()`300.0   300.0   210.0   210.0   
    130. 目标不在大区域内,则判断【目标在不在这个更大的区域内?】
    131.        [true][think][void]`get random()`0.0 100.0   
    132.        目标在更大的区域内,则【从0-100取随机数】
    133.      [think][last result]`<=`50  
    134.      判断【随机数是不是0-50范围内?】
    135.              [true][think][void]`is the skill in cooltime()`11  
    136.              随机数在0-50范围内,则【11号技能是否在冷却中?】
    137.                    [true][return]-1
    138.                    随机数在0-50范围内,且11号技能在冷却中无法使用,则返回-1空值 不做任何事
    139.                    [false][return]11   
    140.                    随机数在0-50范围内,且11号技能冷却完毕可以使用,则返回11 使用11号技能
    141.                    [/think]
    142.                    判断【11号技能】完毕
    143.              [false][think][last result]`<=`99   
    144.              判断【随机数是不是50-99范围内?】
    145.                     [true][think][void]`is the skill in cooltime()`4   
    146.                     随机数在50-99范围内,则【4号技能是否在冷却中?】
    147.                           [true][return]-1  
    148.                           随机数在50-99范围内,且4号技能在冷却中无法使用,则返回-1空值 不做任何事
    149.                           [false][return]4  
    150.                           随机数在50-99范围内,且4号技能冷却完毕可以使用,则返回4 使用4号技能
    151.                           [/think]
    152.                           判断【4号技能】完毕
    153.                     [false][return]-1   
    154.                     随机数大于99,则返回-1空值 不做任何事
    155.                     [/think]
    156.                     判断【50-99】完毕
    157.              [/think]
    158.              判断【0-50】完毕
    159.        [/think]
    160.        取【随机数】完毕
    161. [false][return]-1   
    162. 目标不在更大的区域内,则返回-1空值 不做任何事
    163. [/think]
    164. 判断【更大的区域】完毕
    165. [/think]
    166. 判断【大区域】完毕
    167. [/think]
    168. 判断【小区域】完毕
    169. [/ai pattern]
    170. AI模式完毕
    复制代码


    下载地址:
    游客,如果您要查看本帖隐藏内容请回复


    相关工具集:
    1.DNF背景音乐快捷修改工具(by蓝白小熊)
    2.恋恋のEx黑猫.3.1(当前最新版本):图形补丁制作提取工具
    3.恋恋のEx兔子.5.3(当前最新版本)支持导入/导出ES代码
    4.DNF单机梦太晓IMG查找工具(附:国服ImagePacks2自建数据库)
    5.PVF可视化编辑工具:添加装备代码注释(by不可奈何的射手)
    6.DNF在线换装试衣间:纸娃娃系统(avatar)在线搭配时装支持导入
    7.恋恋のEx白猫.1.1(当前最新版本):DNF音频补丁制作工具

    勇士!今天也是充满希望的一天哦~!
    【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
  • TA的每日心情

    2020-4-25 01:45
  • 签到天数: 45 天

    [LV.5]常住居民I

    0

    主题

    25

    帖子

    318

    积分

    阿拉德玩家

    Rank: 3Rank: 3

    积分
    318
    怒气
    155
    声望
    66
    战力
    6
    沙发
    发表于 2020-3-18 16:43:08 | 只看该作者
    支持支持
  • TA的每日心情
    擦汗
    2020-3-20 21:23
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    15

    帖子

    61

    积分

    阿拉德菜鸟

    Rank: 2

    积分
    61
    怒气
    11
    声望
    17
    战力
    1
    板凳
    发表于 2020-3-20 21:40:45 | 只看该作者
    定是顶顶顶顶
    绝对没有空的哦~!偶尔有个空的也很正常嘛...
  • TA的每日心情
    难过
    2020-4-12 18:27
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    0

    主题

    17

    帖子

    193

    积分

    阿拉德菜鸟

    Rank: 2

    积分
    193
    怒气
    52
    声望
    58
    战力
    8
    地板
    发表于 2020-3-21 00:48:21 | 只看该作者
    sad撒多撒所多撒
  • TA的每日心情
    奋斗
    2020-4-24 10:04
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    1

    主题

    13

    帖子

    294

    积分

    阿拉德玩家

    Rank: 3Rank: 3

    积分
    294
    怒气
    118
    声望
    80
    战力
    3
    5#
    发表于 2020-3-28 13:21:35 | 只看该作者
    111111111111111111111111111
  • TA的每日心情

    2020-4-28 10:44
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    21

    积分

    初入阿拉德

    Rank: 1

    积分
    21
    怒气
    7
    声望
    6
    战力
    0
    6#
    发表于 2020-4-15 13:46:22 | 只看该作者
    来看看,特地花钱注册了的
    来来,以钱赚钱啦!...
  • TA的每日心情
    奋斗
    2020-5-4 09:25
  • 签到天数: 46 天

    [LV.5]常住居民I

    0

    主题

    29

    帖子

    395

    积分

    阿拉德玩家

    Rank: 3Rank: 3

    积分
    395
    怒气
    109
    声望
    124
    战力
    9
    7#
    发表于 2020-4-15 14:36:30 | 只看该作者
    66666666666666666666666666666666
    我的尼尔巴斯哥哥,你在哪?...
  • TA的每日心情

    2020-4-29 00:11
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    0

    主题

    16

    帖子

    88

    积分

    阿拉德菜鸟

    Rank: 2

    积分
    88
    怒气
    20
    声望
    26
    战力
    0
    8#
    发表于 2020-4-18 07:47:28 | 只看该作者
    好东西好东西啊,绝对的好东西,支持支持.
    绝对没有空的哦~!偶尔有个空的也很正常嘛...
  • TA的每日心情

    2020-5-3 13:44
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    0

    主题

    13

    帖子

    141

    积分

    阿拉德菜鸟

    Rank: 2

    积分
    141
    怒气
    24
    声望
    51
    战力
    2
    9#
    发表于 2020-4-19 00:10:12 | 只看该作者
    看看咋样啊哈哈哈哈哈
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|DNF阿拉德游戏论坛 ( 蜀ICP备2024115554号

    GMT+8, 2025-4-27 23:15 , Processed in 0.256417 second(s), 16 queries , File On.

    Powered by Discuz! X3.3 网站地图 Auther by PAnoEAde & 地下城与勇士论坛

    © 2001-2013 Comsenz Inc.

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