一键收割随从辛勤劳动的成果 😈



  • 2.1.13 版本 id 占位符支持随从背包列表了

    ! 脚本请更新到 2.1.13 或以上版本

    所以,可以写个流程一键把随从工作的成果全都拿到包里

    例如,从采药的鳌拜那里把药材都拿走,然后让他继续采药

    jh fam 0 start;go west;go west;go north;go enter;go northeast
    ($servant) = 鳌拜
    dc {r(servant)} stopstate;select {r(servant)};pack {r(servant)}
    @dialog
    ($cmd) = null
    [if] {芦荟}? != null
        ($cmd) = (cmd);dc {r(servant)} give (:id) {d芦荟#} {d芦荟}
    [if] {d山楂叶}? != null
        ($cmd) = (cmd);dc {r(servant)} give (:id) {d山楂叶#} {d山楂叶}
    [if] {d当归}? != null
        ($cmd) = (cmd);dc {r(servant)} give (:id) {d当归#} {d当归}
    [if] (cmd) != null
        (cmd)
    dc {r(servant)} cai
    
    复制上方代码

    我三个随从都在采药,所以我写了:

    流程:一键收割

    stopstate;jh fam 0 start;go west;go west;go north;go enter;go northeast
    @call 拿药材 鳌拜
    @call 拿药材 程灵素
    @call 拿药材 周芷若
    
    复制上方代码

    被调用流程:拿药材

    dc {r(arg0)} stopstate;select {r(arg0)};pack {r(arg0)}
    @dialog
    ($cmd) = null
    [if] {d芦荟}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d芦荟#} {d芦荟}
    [if] {d山楂叶}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d山楂叶#} {d山楂叶}
    [if] {d当归}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d当归#} {d当归}
    [if] (cmd) != null
        (cmd)
    ($cmd) = null
    [if] {d柴胡}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d柴胡#} {d柴胡}
    [if] {d金银花}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d金银花#} {d金银花}
    [if] {d石楠叶}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d石楠叶#} {d石楠叶}
    [if] (cmd) != null
        (cmd)
    ($cmd) = null
    [if] {d茯苓}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d茯苓#} {d茯苓}
    [if] {d沉香}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d沉香#} {d沉香}
    [if] {d熟地黄}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d熟地黄#} {d熟地黄}
    [if] (cmd) != null
        (cmd)
    ($cmd) = null
    [if] {d冬虫夏草}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d冬虫夏草#} {d冬虫夏草}
    [if] {d络石藤}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d络石藤#} {d络石藤}
    [if] {d九香虫}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d九香虫#} {d九香虫}
    [if] (cmd) != null
        (cmd)
    ($cmd) = null
    [if] {d凌霄花}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d凌霄花#} {d凌霄花}
    [if] {d何首乌}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d何首乌#} {d何首乌}
    [if] {d人参}? != null
        ($cmd) = (cmd);dc {r(arg0)} give (:id) {d人参#} {d人参}
    [if] (cmd) != null
        (cmd)
    dc {r(arg0)} cai
    
    复制上方代码

    注意:需要建立 2 个流程哦

    当然,可以把“拿药材”那个流程放到文件夹里去,不在根目录显示


  • 宗师

    请问调用流程可以传多少个参数?



  • @老实人 任意多个,用 , 连接

    被调用流程中使用 (arg0)(arg1) 来使用传来的值

    (arg0) 为传过来的第一个参数,以此类推



  • @老实人 有了好流程给大家分享分享哈 😄


  • 宗师

    好的,谢谢

    原来论坛支持Markdown



  • @老实人 是的,支持 Markdown 😁



  • 执行系统命令: stopstate;jh fam 0 start;go west;go west;go north;go enter;go northeast
    等待,直至符合条件: @until {r(__x6_arg0)}? != null
    等待,直至符合条件: @until {r(__x6_arg0)}? != null
    等待,直至符合条件: @until {r(__x6_arg0)}? != null
    执行系统命令: dc hjrz3461e30 stopstate;select hjrz3461e30;pack hjrz3461e30
    等待,直至符合条件: @dialog
    到这儿就停了呀?



  • @小布丁 截个图看一下



  • 此回复已被删除!


  • @小布丁 知道了,应该是你的脚本没更新



  • 对对,就是脚本没更新!
    👍 大佬





  • 在之前的流程上优化了下,解决随从总是跑到院子里的问题,随从改成自己的哈

    stopstate;$to 住房-小花园
    [if] {r小昭}? == null
        go southwest
        team with {r小昭};team with {r程灵素};team with {r夏雪宜}
        go northeast
        team out
    @call 拿药材 小昭
    @call 拿药材 程灵素
    @call 拿鱼 夏雪宜
    
    复制上方代码


  • 弱弱的向大佬提问。

    (cmd)这个命令是做什么用的呢?

    为什么每轮的开头要先给它赋空值,然后再赋cmd值,最后判断非空时执行(cmd)

    以及向大佬咨询一下,if语句的控制范围该如何限定,我试了{}和缩进,但是都只会作用于下一行的内容。



  • @轻悠狐舞
    cmd是后面的每一句都会有延迟

    [if] true
        //执行
    
    复制上方代码

    空格后写条件就行了



  • @Secave
    cmd就类似于delay 10这样的等待几秒的意思么?
    想问一下这个命令具体的语法是什么?(搜了一圈没找到)

    另外,有关IF的命令,请教一下大佬

    http://wsmud.bobcn.me/topic/424/流程-收随从药材并存放在随从身上的流程

    这个脚本是我模仿楼主脚本写的,因为我的包比较小,所以喜欢把草药存放在随从那里。
    不过遇到一个问题,就是如果给别人用的话,比如说有的人只有2个随从去采集草药,我这边有三个人,直接运行就会出问题。
    我的想法是IF嵌套一下
    [if](servant)!= null {
    dc {r(servant)} stopstate;select {r(servant)};pack {r(servant)}
    @dialog
    [if] {芦荟}? != null
    dc {r(servant)} give (:id) {d芦荟#} {d芦荟}
    }
    这样如果sevant没有赋值,这段语句就跳过不会执行。

    但是流程好像不支持{},我试用了开头缩进,也无效,
    只要sevant不赋值,就会卡在 @dialog的位置

    向大佬请教该如何改进,感谢~



  • @轻悠狐舞
    嵌套if可以使用如下方法

    [if] true
        [if] (:state) != 挖矿
            stopstate
            $zdwk
    relive
    
    复制上方代码

    以上代码执行情况如下,
    人物存活,在挖矿 流程不执行
    人物存活,不在挖矿 去挖矿
    人物死亡 复活


登录后回复