仙五前修改吧 关注:168贴子:15,452
  • 17回复贴,共1

数据文件导入MySQL

只看楼主收藏回复



IP属地:浙江1楼2020-08-11 00:15回复
    今天在考虑极限伤害的时候,很自然地发现会有“寻找抗性最低的怪物”这样的要求;然而五前的数据文件格式并不支持这样做,最多能用正则做几步匹配来进行搜索。之前写的几个修改工具,其实只是让数据文件以UI呈现,但完全无法对不同条目甚至不同文件直接的数据进行连结操作。
    正好最近在写贴吧爬虫,就想到这些数据文件的东西如果导入MySQL之后,自由度会大很多,尤其是加上外键约束后很容易通过简单的几次点击找到数据之间的对应,例如:
    compose表,合成原料1有个编号,将其作为item的编号的一个外键,点击就能直接跳到相应物品(item表),然后点击物品的脚本id就能看到此id对应的文件名(scriptlist表)。
    更复杂的例子:如果想要搜所有“可以通过合成但不能通过偷窃拿到的道具”,也可以通过compose, msdata, item三个表的连结(join操作)来直接得到结果。
    会写SQL就能得到大部分想要的东西了。


    IP属地:浙江2楼2020-08-11 00:24
    回复
      今天在分析scriptlist的时候发现有趣的东西,以前都没注意到:
      有些id是重复出现了的:12001, 2621~2641, 13998~14000
      看起来开发者注意到了这一点,只是没有删去多余编号,而多余的文件并不存在。经过测试,程序读取scriptID的顺序是如果有重复的,只第一个生效,所以这里的重复没有导致bug。
      另外还有一点,就是下面这一条
      14311"=xia_lc
      应该是开发者手抖多了个引号,但这样脚本依然顺利执行,多余引号应是自动处理掉了。
      再提一句,网上搜python处理ini文件的库的时候,发现这类config文件注释默认是用井号,且不存在多行注释写法,不知道开发者从哪里搞来的c语言注释写法。


      IP属地:浙江3楼2020-08-11 00:29
      回复
        今天发现msdata里的exp有几条是a*b的形式,经过测试经验值只会接受一个整数,估计就是个sscanf(,"%d"),乘法和小数都没有用。例如,结萝和小蜘蛛的经验分别设置为"2*2","1.3*3",战场上出来四个蜘蛛之后全杀了,得到的经验值为6。
        按我的猜测,经验值应该是2+1*4=6,确实没错
        如果读了小数(%f),4个小蜘蛛至少能多一点经验值
        如果读了乘法,结萝本身就能提供多两点经验值
        综上,exp设置也有问题,策划真是什么都敢填,连表达式都写进去。。


        IP属地:浙江4楼2020-08-11 16:58
        收起回复
          我把五前小怪数据导入Excel 对防和抗性统一处理成承受伤害百分比来用,选择输出手段的时候一目了然


          IP属地:陕西来自Android客户端5楼2020-08-13 11:55
          收起回复
            所以本楼究竟是在做什么?
            是要编制游戏数据库吗?我看用到了MySQL。


            IP属地:美国6楼2020-08-14 09:35
            收起回复
              有没有优化操作的MOD,比如捡个药不用再多按一下空格、修改对话框大小什么的。


              IP属地:湖北7楼2022-06-08 16:20
              收起回复