佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 4320|回复: 6

写了一个恐怖骑士特长加强的 遇到问题了。。。求助(update)

[复制链接]
  • TA的每日心情
    郁闷
    2023-6-24 01:00
  • 签到天数: 10 天

    连续签到: 3 天

    [LV.3]火元素使者

    44

    回帖

    7626

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    185
    发表于 2009-8-30 23:20:03 | 显示全部楼层 |阅读模式
    接触erm也有段时间了 最近尝试自己也写些简单的功能 实现长久以来就想实现的想法:

    所以今天写了一个恐怖骑士特长[wiki]英雄[/wiki]稍微加强的erm
    内容如下:
    ZVSE
    _WARNING_#1=IMPORTANT! This file is not in a plain text format. NEVER use any editor except [wiki]ERM[/wiki]_S for making any kind of changes!
    ERMS_PoweredBy=ERM Scripter v. 2004.6.29.918
    ERMS_ScriptDate=30.8(August).2009
    !#UN:P1/0 P3/1 P4/0 P900/1;            禁止使用指挥官
    !?BA0;                                              开战
    !!BA:H0/?y1;                                    取得左边英雄ID
    !!BA:H1/?y2;                                    取得右边英雄ID
    !!VRv9601&y1>-1:Sy1;                   把左边英雄ID赋给v9601
    !!VRv9602&y2>-1:Sy2;                   把左边英雄ID赋给v9601

    !?BG0;                                     -1- 当战场上发生动作时
    !!FU&v9601<>68:E;                      如果进攻方不是塔米克 退出
    !!BG:A?y10;                                  取得发生的动作类型
    !!FU&y10<>6:E;                            不是攻击动作 退出
    !!BG:N?y1;                                   取得动作的怪物堆栈
    !!FU&y1>6:E;                               堆栈>6 (不是进攻方部队) 退出
    !!FU15000:P;                               执行15000函数

    !?BG0;                                   -2- 这一段和上面一段类似 说明的是防御方是塔米克的情况。
    !!FU&v9602<>68:E;
    !!BG:A?y10;
    !!FU&y10<>6:E;
    !!BG:N?y1;
    !!FU&y1<21:E;
    !!FU15000:P;
                                          
    !?FU15000;                                      -3- 函数15000内容
    !!BG:N?y1;                                            取得函数调用时的兵种堆栈
    !!BMy1:T?y2 N?y3 P?y4 F?y5;             取得兵种的ID 数量 位置 造成的伤害
    !!VRy6:S1 R99; [随机数]                       取一个从1~100的随机数
    !!FU&y2<>67:E;                                    兵种不是恐怖骑士 退出
    !!FU&y6<50:E;                                      随机数小于50(技能未发动) 退出
                                                                下面是发动效果
    !!VRz900:S^{恐怖骑士的长刀发出血红色光芒}!^;        在战场对话框里显示
    !!BU:Mz900;   
    !!BMy1:C43/y4/2/1/1;                                                恐怖骑士施展嗜血术
    !!VRv9600:S1;                                                          设置v9600为1(调用伤害函数)

                                                                                    -4- 伤害函数
    !?MF1&v9600=1;                           
    !!VRv9600:S0;
    !!BG:N?y1;                                                                    取得怪物堆栈
    !!BMy1:T?y2 N?y3;                                                       y2生物编号  y3 生物数量
    !!MF:F?y4 N?y5;                                                           y4取得伤害   y5受到伤害的生物堆栈
    !!BMy5:T?y9 P?y7;                                                       y9 受到伤害的生物的类型  y7 位置
    !!VRy3:Sy3*3;                                                               计算实际伤害
    !!VRy3&y9=10:Sy3*10:3;
    !!VRy3&y9=11:Sy3*10:3;
    !!VRy6:Sy4*2+y3;
    !!MF:Fy6;                                                                      赋予伤害
    !!BMy5:V73;                                                                  受到伤害的生物上显示致命一击的"刀"效果
    !!VRz900:S^{恐怖骑士造成了%Y6点伤害。}^;                对话框显示
    !!BU:Mz900;
    !!VRy8:S1 R99; [随机数]                                              又是随机数
    !!BMy5&y8>50:C42/y7/2/3/1 C47/y7/3/3/1;                 释放诅咒 毁灭之光
    !!BMy5&y8>80:C75/y7/3/3/1;                                      老化

    !?BG0;                                                                         这段同上面-1-类似 当英雄带领的是黑骑士
    !!FU&v9601<>68:E;
    !!BG:A?y10;
    !!FU&y10<>6:E;
    !!BG:N?y1;
    !!FU&y1>6:E;
    !!FU15001:P;

    !?BG0;                                                                         这段同上面-2-类似 当英雄带领的是黑骑士
    !!FU&v9602<>68:E;
    !!BG:A?y10;
    !!FU&y10<>6:E;
    !!BG:N?y1;
    !!FU&y1<21:E;
    !!FU15001:P;

    !?FU15001;                                                                 这个类似-3-
    !!BG:N?y1;
    !!BMy1:T?y2 N?y3 P?y4 F?y5;
    !!VRy6:S1 R99; [随机数]
    !!FU&y2<>66:E;
    !!FU&y6<50:E;
    !!VRz900:S^{黑骑士的长刀发出血红色光芒}!^;
    !!BU:Mz900;   
    !!BMy1:C43/y4/1/1/1;
    !!VRv9601:S1;

    !?MF1&v9601=1;                                                      类似-4-
    !!VRv9601:S0;
    !!BG:N?y1;                                                               取得怪物堆栈
    !!BMy1:T?y2 N?y3;                                                  y2生物编号  y3 生物数量
    !!MF:F?y4 N?y5;                                                     y4取得伤害   y5受到伤害的生物堆栈
    !!BMy5:T?y9 P?y7;
    !!VRy3:Sy3*3;
    !!VRy3&y9=10:Sy3*10:3;
    !!VRy3&y9=11:Sy3*10:3;
    !!VRy6:Sy4*2+y3;
    !!MF:Fy6;
    !!BMy5:V73;
    !!VRz900:S^{黑骑士造成了%Y6点伤害。}^;
    !!BU:Mz900;
    !!VRy8:S1 R99;
    !!BMy5&y8>60:C42/y7/2/3/1 C47/y7/3/3/1;                 释放诅咒 毁灭之光


    参考了n多大大的代码(特别感谢猪大大) 拼拼凑凑 ,估计错误不少,不过基本上功能还是实现了  嘿嘿:

    基本上就是黑骑特长英雄带领的黑骑士 和恐怖骑士 有50%的几率伤害加倍;
    每个恐怖骑士额外造成3点伤害;对于骑士和骑兵,额外造成10点伤害;
    攻击后有50%几率释放 诅咒 和毁灭之光;
    恐怖骑士还有小几率释放老化;
    基本上就是这样。但是有一些问题,还要请教下各位大大:
    1,诅咒 和毁灭之光这些魔法效果都是在攻击之前就显示动画了,然后恐怖骑士的刀才落下 实际效果还是在攻击后起作用。如果要改成刀落下后才释放效果动画如何实现?
    用什么语句?试过用!?BG1;未果;
    2,用随机数实现概率,总是觉得不太准确,测试下来发现前几回合表现还凑合,后面回合都不发动。。。。。就算都弄成100%也有不发动的情况;
    3,发动特技在战场下方窗口显示伤害以后,还会再显示一次原来电脑预估的结果,这个有没有办法去掉呢?
    4,发动特技的时候,设置了在敌人身上显示一把刀(就是致命一击的效果啦),如果本来就要发动致命一击,就会显示两把刀。。。。。
    这个有办法去掉么?(这个没办法就算啦,两把刀也不错啦)

    呼唤高手!


    自己给加了一些注释,这样大家因该好看一些了吧,全都是查help和参考高手们的代码写出来的东西 做的比较模块化 所以也很繁琐
    估计可能有随机数冲突情况,但是y变量数量有限,如果做其他兵种还是会重复的 望高手来help我一下
    或者有什么其他实现的方法?能给我段类似代码研究研究也行啊

    [ 本帖最后由 jqmgame 于 2009-9-1 19:19 编辑 ]

    评分

    2

    查看全部评分

  • TA的每日心情
    慵懒
    2024-2-19 08:40
  • 签到天数: 507 天

    连续签到: 1 天

    [LV.9]龙巫妖

    5022

    回帖

    10万

    金币

    0

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    13463

    退役版主

    发表于 2009-8-31 00:07:29 | 显示全部楼层
    友情支持一下

    该用户从未签到

    75

    回帖

    6249

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    345
    发表于 2009-8-31 01:15:17 | 显示全部楼层
    1、3、4都不能够解决。2就交个下一位高人。
  • TA的每日心情
    郁闷
    2023-6-24 01:00
  • 签到天数: 10 天

    连续签到: 3 天

    [LV.3]火元素使者

    44

    回帖

    7626

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    185
     楼主| 发表于 2009-8-31 09:03:44 | 显示全部楼层
    2 有办法解决么 随机数如何设置才能让结果比较合理一些?

    该用户从未签到

    75

    回帖

    6249

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    345
    发表于 2009-8-31 09:43:18 | 显示全部楼层
    2是绝对可以的,但是你的代码很乱,很难看。肯定是你某些条件的问题导致概率不可用。

    该用户从未签到

    1551

    回帖

    1万

    金币

    4

    精华

    4级 Famous Hero

    Rank: 4

    积分
    2102

    退役版主论坛元老

    发表于 2009-9-1 10:20:41 | 显示全部楼层
    1我没看懂
    2明显变量运算错误或者冲突造成
    3没办法
    4没办法
  • TA的每日心情
    郁闷
    2023-6-24 01:00
  • 签到天数: 10 天

    连续签到: 3 天

    [LV.3]火元素使者

    44

    回帖

    7626

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    185
     楼主| 发表于 2009-9-2 17:48:44 | 显示全部楼层
    原帖由 zzy007 于 2009-9-1 10:20 发表
    1我没看懂
    2明显变量运算错误或者冲突造成
    3没办法
    4没办法



    关于第二点 能具体说说么??
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2025-4-20 10:06 , Processed in 0.563134 second(s), 18 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

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