赛尔号论坛

 找回密码
 立即注册
查看: 1595|回复: 0

读取配置文件自定义出招

[复制链接]

15

主题

248

回帖

2万

积分

空间站典狱长

Rank: 15Rank: 15Rank: 15

积分
28623
发表于 2022-9-23 23:50:44 | 显示全部楼层 |阅读模式
本帖最后由 1583490126 于 2022-9-24 00:59 编辑


水平有限写的有点复杂,需要仔细看一下,目前只放出了自定义出招换精灵这些,还有获取精灵等我整理一下
刚弄的可能会有些BUG,有些变量或者子程序我弄了全局需要自己删改一下(编译就会提醒了)
配置文件例子参考,格式限制传赛尔网盘了

.版本 2

.子程序 对战处理_自定义对战
.参数 地址, 整数型
.参数 长度, 整数型
.参数 类型, 整数型
.局部变量 i, 整数型
.局部变量 ii, 整数型
.局部变量 精灵切换, 文本型
.局部变量 精灵文本数组, 文本型, , "0"
.局部变量 精灵数组, 整数型, , "0"
.局部变量 出招技能数据, 文本型
.局部变量 出招技能数组, 文本型, , "0"
.局部变量 a, 整数型
.局部变量 aa, 整数型

.判断开始 (登录器信息_是否登录 () = 假)
    程序_延时 (500)
    刷新游戏 ()
.默认

.判断结束
对战方法_获得对战信息 (info_我方精灵, info_对方精灵, info_我方精灵组, info_对方精灵组, 当前是否对战, 是否显示对战界面, info_对战回合数, 对战_USESKILLINFO)
.如果真 (类型 = 0)
    .如果真 (info_对战回合数 > 到整数 (读配置项 (对战配置地址, “设置”, “逃跑回合”, “400”)))
        对战方法_撤退 ()
    .如果真结束
    .如果真 (info_对战回合数 < 1)
        技能数组次数 = 1
    .如果真结束
    出招技能数据 = 读配置项 (对战配置地址, “精灵出招”, 到文本 (info_我方精灵.id), “不存在”)
    .判断开始 (出招技能数据 = “不存在”)
        出招技能数据 = 读配置项 (对战配置地址, “精灵出招”, 背包方法_精灵ID转名字 (info_我方精灵.id), “不存在”)
    .默认

    .判断结束
    .判断开始 (出招技能数据 ≠ “不存在” 且 出招技能数据 ≠ “”)
        出招技能数组 = 分割文本 (出招技能数据, “ ”, )
        .如果真 (技能数组次数 > 取数组成员数 (出招技能数组))
            技能数组次数 = 1
        .如果真结束

        .判断开始 (出招技能数组 [技能数组次数] = “【空过】”)
            SocketConnection.send ({ 2601, 300017, 1 })
            对战方法_使用道具 (info_我方精灵.catchTime, 300017)
            返回 ()
        .判断 (出招技能数组 [技能数组次数] = “技能石”)
            .计次循环首 (取数组成员数 (info_我方精灵._PetSkillInfo), a)
                .判断开始 (info_我方精灵._PetSkillInfo [a].id > 101000)
                    对战方法_使用技能_自动补PP (info_我方精灵._PetSkillInfo [a].id)
                    返回 ()
                .默认

                .判断结束

            .计次循环尾 ()

        .判断 (出招技能数组 [技能数组次数] ≠ “切走”)
            .判断开始 (文本_是否为纯数字 (出招技能数组 [技能数组次数]))
                对战方法_使用技能_自动补PP (到长整数 (出招技能数组 [技能数组次数]))
                技能数组次数 = 技能数组次数 + 1
                返回 ()
            .默认

                .计次循环首 (取数组成员数 (info_我方精灵._PetSkillInfo), a)
                    .判断开始 (文本_寻找文本 (背包方法_ID转技能名 (info_我方精灵._PetSkillInfo [a].id), 出招技能数组 [技能数组次数]) ≠ -1)
                        ' 对战方法_使用技能_自动补PP (背包方法_技能名转技能ID (出招技能数组 [技能数组次数]))
                        对战方法_使用技能_自动补PP (info_我方精灵._PetSkillInfo [a].id)
                        技能数组次数 = 技能数组次数 + 1
                        返回 ()
                    .默认

                    .判断结束

                .计次循环尾 ()

            .判断结束

        .默认
            精灵切换 = 读配置项 (对战配置地址, “主动切换”, 到文本 (info_我方精灵.id), “不存在”)
            .判断开始 (精灵切换 = “不存在”)
                精灵切换 = 读配置项 (对战配置地址, “主动切换”, 背包方法_精灵ID转名字 (info_我方精灵.id), “不存在”)
            .默认

            .判断结束
            技能数组次数 = 1
            .判断开始 (精灵切换 ≠ “不存在”)
                精灵文本数组 = 分割文本 (精灵切换, “ ”, )
                .计次循环首 (取数组成员数 (精灵文本数组), a)
                    .判断开始 (文本_是否为纯数字 (精灵文本数组 [a]))
                        加入成员 (精灵数组, 到整数 (精灵文本数组 [a]))
                    .默认
                        .计次循环首 (取数组成员数 (info_我方精灵组), aa)
                            .如果真 (文本_寻找文本 (背包方法_精灵ID转名字 (info_我方精灵组 [aa].id), 精灵文本数组 [a]) ≠ -1)
                                加入成员 (精灵数组, info_我方精灵组 [aa].id)
                            .如果真结束

                        .计次循环尾 ()

                    .判断结束

                .计次循环尾 ()
                .判断开始 (取数组成员数 (精灵数组) > 0)
                    .判断开始 (对战方法_精灵切换_优化 (精灵数组, 真) = 1)
                        返回 ()
                    .默认

                    .判断结束

                .默认

                .判断结束

            .默认

            .判断结束

            .判断开始 (对战方法_精灵切换_优化 ({  }, 真) = 1)
                返回 ()
            .默认

            .判断结束

        .判断结束

    .默认

    .判断结束


    .如果 (info_我方精灵._PetSkillInfo [5].id = 0)
        .如果 (info_我方精灵._PetSkillInfo [1].pp = 0)
            SocketConnection.send ({ 2601, 300017, 1 })
            对战方法_使用道具 (info_我方精灵.catchTime, 300017)
        .否则
            对战方法_使用技能 (1)
        .如果结束

    .否则
        .如果 (info_我方精灵._PetSkillInfo [5].pp = 0)
            SocketConnection.send ({ 2601, 300017, 1 })
            对战方法_使用道具 (info_我方精灵.catchTime, 300017)
        .否则
            对战方法_使用技能 (5)
        .如果结束

    .如果结束
    技能数组次数 = 技能数组次数 + 1
.如果真结束



.如果真 (类型 = 3)
    清除数组 (精灵数组)
    技能数组次数 = 1
    精灵切换 = 读配置项 (对战配置地址, “死亡切换”, 到文本 (info_我方精灵.id), “不存在”)
    .判断开始 (精灵切换 = “不存在”)
        精灵切换 = 读配置项 (对战配置地址, “死亡切换”, 背包方法_精灵ID转名字 (info_我方精灵.id), “不存在”)
    .默认

    .判断结束
    .判断开始 (精灵切换 ≠ “不存在” 且 精灵切换 ≠ “”)
        精灵文本数组 = 分割文本 (精灵切换, “ ”, )
        .计次循环首 (取数组成员数 (精灵文本数组), a)
            .判断开始 (文本_是否为纯数字 (精灵文本数组 [a]))
                加入成员 (精灵数组, 到整数 (精灵文本数组 [a]))
            .默认
                .计次循环首 (取数组成员数 (info_我方精灵组), aa)
                    .如果真 (文本_寻找文本 (背包方法_精灵ID转名字 (info_我方精灵组 [aa].id), 精灵文本数组 [a], , 真) ≠ -1)
                        加入成员 (精灵数组, info_我方精灵组 [aa].id)
                    .如果真结束

                .计次循环尾 ()

            .判断结束

        .计次循环尾 ()
        .判断开始 (取数组成员数 (精灵数组) > 0)
            对战方法_精灵切换 (精灵数组, 真)
            返回 ()
        .默认

        .判断结束

    .默认

    .判断结束

    对战方法_精灵切换 ({  }, 真)
.如果真结束

评分

参与人数 2黑钻 +50 蓝钻 +250 金钻 +14 收起 理由
群小倪 + 40 + 200 + 14 这个项目我投了,给大佬点赞!!!.
1999216622 + 10 + 50 这个项目我投了,给大佬点赞!!!.

查看全部评分

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

本版积分规则

QQ|Archiver|手机版|小黑屋|yoso论坛

GMT+8, 2024-9-20 00:11 , Processed in 0.141235 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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