奇迹[新冰攻城]易语言扩展代码

以下是引用片段:
攻城开始,用时间计时,到时间就执行“开始攻城”

.程序集 扩展服务_冰攻二代

.子程序 开始攻城
.局部变量 创建许可证, 创建许可证
.局部变量 进入许可区, 进入许可证
.局部变量 单句柄, 整数型
.局部变量 群句组, 整数型
.局部变量 X, 整数型
.局部变量 Y, 整数型

进入许可区.进入许可区 (创建许可证)
发送公告 (“★★冰攻二代 开始攻城★★”)
发送公告 (“战区为冰风谷 攻城战开始时在冰风谷的所有玩家强制传送到勇者大陆”)
置随机数种子 ()
.变量循环首 (8000, 9000, 1, 单句柄)
    群句组 = 单句柄 × 角色结构大小 + 角色结构偏移
    .如果真 (取字节集数据 (指针到字节集 (群句组 + #Map, 2), #整数型, ) = 0)
        X = 取随机数 (96, 172)
        Y = 取随机数 (89, 166)
        gObjTeleport (单句柄, 0, X, Y)
    .如果真结束

.变量循环尾 ()
进入许可区.退出许可区 (创建许可证)
返回 ()

.子程序 处理攻城参加
.参数 句柄, 整数型
.参数 句组, 整数型
.参数 角色, 文本型
.参数 账号, 文本型
.参数 地图, 整数型
.局部变量 创建许可证, 创建许可证
.局部变量 进入许可区, 进入许可证
.局部变量 盟类型, 整数型
.局部变量 JF, 整数型
.局部变量 成员, Z决斗成员

进入许可区.进入许可区 (创建许可证)
盟类型 = 取字节集数据 (指针到字节集 (句组 + #Zmlx, 2), #整数型, )
.判断开始 (盟类型 = 128)
    JF = 取账号积分 (账号)
    .如果真 (JF ≥ 二代冰攻.成员积分)
        JF = JF + 二代冰攻.盟主积分
        更新账号积分 (账号, JF)
    .如果真结束

.判断 (盟类型 = 64 或 盟类型 = 32 或 盟类型 = 0)
    JF = 取账号积分 (账号)
    .如果真 (JF ≥ 二代冰攻.成员积分)
        JF = JF + 二代冰攻.成员积分
        更新账号积分 (账号, JF)
    .如果真结束

.默认

.判断结束
.如果真 (盟类型 ≤ 128)
    成员.账号 = 账号
    成员.角色 = 角色
    成员.句柄 = 句柄
    成员.句组 = 句组
    加入成员 (冰攻成员, 成员)
.如果真结束

进入许可区.退出许可区 (创建许可证)
返回 ()



命令处理:


.判断开始 (命令 = “/移动”)
    .如果真 (二代冰攻.攻城开关 = 1 且 二代冰攻.开始攻城 = 真)
        .判断开始 (寻找文本 (内容, “冰风谷”, , 假) ≠ -1)
            处理攻城参加 (句柄, 句组, 角色, 帐号, 地图)




角色死亡处理:
.版本 2

.判断开始 (二代冰攻.攻城开关 = 1 且 二代冰攻.开始攻城 = 真)
    .如果真 (取字节集数据 (指针到字节集 (参数1 + 305, 2), #整数型, ) = 2)
        i = 0
        盟类型 = 取字节集数据 (指针到字节集 (句组 + 1064, 2), #整数型, )
        .判断循环首 (取数组成员数 (冰攻成员) > i)
            i = i + 1
            .判断开始 (删首尾空 (冰攻成员 .角色) = 删首尾空 (角色))
                积分 = Select_JF (账号)
                .判断开始 (盟类型 = 128)
                    积分 = 积分 + 二代冰攻.盟主积分
                    发送角色信息 (句柄, “[冰攻二代] 杀死盟主获得 ” + 到文本 (二代冰攻.盟主积分) + “ 积分”)
                .判断 (盟类型 = 64 或 盟类型 = 32 或 盟类型 = 0)
                    积分 = 积分 + 二代冰攻.成员积分
                    发送角色信息 (句柄, “[冰攻二代] 杀死成员获得 ” + 到文本 (二代冰攻.成员积分) + “ 积分”)
                .默认

                .判断结束
                Update_JF (账号, 积分)
                跳出循环 ()
            .判断 (删首尾空 (冰攻成员 .角色) = 删首尾空 (输家名称))
                积分 = Select_JF (冰攻成员 .账号)

                .判断开始 (冰攻成员 .盟类型 = 128)
                    积分 = 积分 - 二代冰攻.盟主积分
                    发送角色信息 (冰攻成员 .句柄, “[冰攻二代] 杀死盟主获得 ” + 到文本 (二代冰攻.盟主积分) + “ 积分”)
                .判断 (冰攻成员 .盟类型 = 64 或 冰攻成员 .盟类型 = 32 或 冰攻成员 .盟类型 = 0)
                    积分 = 积分 - 二代冰攻.成员积分
                    发送角色信息 (冰攻成员 .句柄, “[冰攻二代] 杀死成员获得 ” + 到文本 (二代冰攻.成员积分) + “ 积分”)
                .默认

                .判断结束
                Update_JF (冰攻成员 .账号, 积分)
                跳出循环 ()
            .默认

            .判断结束

        .判断循环尾 ()
    .如果真结束


本文出自 7j45 > 奇迹一条龙