佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 5711|回复: 15

大家好,我遇到个难题,请教大家一下

[复制链接]
  • TA的每日心情
    开心
    2019-1-31 14:25
  • 签到天数: 130 天

    连续签到: 1 天

    [LV.7]血污怪

    2778

    回帖

    2万

    金币

    14

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    14801

    退役版主社区QQ达人魅力之星

    发表于 2012-2-14 16:49:15 | 显示全部楼层 |阅读模式
    最近我写宗派的ERM,遇到个难题,就是W变量使用问题,我设定的角色分N个种族,6大属性。技能N种。

    我说说我之前的设定,种族,技能,这个我可以用标志去解决。但是6个属性,我感觉没办法用W变量之外的任何方法来解决。之前我预计是等级提升需要一个W变量,设定职业需要一个,属性需

    要6个,种族和职业特技这些用标志的方式搞定。因为是41种职业,英雄有155个,自由选择职业的组合有几千种,不用W变量去设定,怎么去搞定?这六种属性是随机的,用V变量去保存,保存了

    这一个,下一次就变了,我感觉不能做到。我现在感到很迷茫,实在没想到有什么好的方法解决这个问题,所以,现在向各位大师请教。老实猪,离弦箭,克招,沧海,寻梦人,骷髅召唤

    师。。。。等等大师们,出来讨论一下吧,给我指点一下。
    每个英雄有6个属性。这六个属性是随机的,从8-25都有可能,这个不是我提前设定好的,根本就没规律。我也无法用标志去查究竟英雄这些属性到底是什么。所以,我才想只能用W变量去保存。如果,有其他的方法,请大家告诉我。
    顺便说说我现在的设定安排:
    1。职业用一个W变量,技能和种族用标志去解决,这个没问题。
    2。为每个英雄保留升级参数,因为它是一直会增加的,所以,这是肯定的第二个W变量。
    3,。 6大属性,没办法,找不到比用W变量更好的方法代替。这里用6个W变量。
    4,。升级特技所需要的技能点,这个是每个英雄升1级都可以得到一点技能点,然后再根据技能点的多少,和符合相关属性要求,自由选择所学特技和升级特技。
    W变量不用了,这里用155个V变量代替。

    [ 本帖最后由 fly123 于 2012-2-17 17:05 编辑 ]
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2624

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4835

    论坛元老退役版主

    QQ
    发表于 2012-2-14 17:45:43 | 显示全部楼层
    用W的位变量。
    记得ERM帮助中的怪物标志特技吗(MA:X)。假如有技能1,则位变量为2;假如有技能2,位变量为4;假如有技能3,位变量为8;以次类推。假如有1、2技能,则位变量为6(2+4),假如有技能2、3,则位变量为12,有1、2、3技能,则为14。这个懂了么?当一个位变量为30,你想判断它是否有技能2,则通过VR中的|和&(位变量判断命令)来查找它。每个位有单独的意义,将它相加不会矛盾,不会重复。
    在做这个之前,你需要列一张表,防止自己搞错,就像怪物标志特技那张表那样。
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2624

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4835

    论坛元老退役版主

    QQ
    发表于 2012-2-14 17:49:11 | 显示全部楼层
    这个是ERM的高级命令了,很少情况下会用到它,我跟很多人说过他们都不懂,如果不懂的话在QQ上我再跟你说一下。

    该用户从未签到

    3846

    回帖

    2万

    金币

    16

    精华

    论坛嘉宾

    无敌英雄★英雄寂寞

    Rank: 9Rank: 9Rank: 9

    积分
    21307

    退役版主论坛元老魅力之星

    发表于 2012-2-14 18:08:24 | 显示全部楼层
    大致写法:

    1、先去ERM变量使用平台申请3个W变量,1个W变量记录英雄的种族,1个记录升级的经验值,1个记录职业;
    2、游戏开始前,定义所有英雄的3个W变量的初始值;
    3、定义玩家的升级方式,电脑升级的话用天数或者其他;
    4、每个种族判断可以用W变量等于1、2----6判断;
    5、职业的话可以用1、2、4、8、16-----2的30次方,可以记录31中职业,再多就不行了,如果前面的W变量分1、2、3和4、5、6两种,就可以有62中职业,完全可以满足要求;
    ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
    ☆☆☆☆☆☆☆☆☆☆ ☆☆☆ 寻梦人☆☆☆☆☆☆☆☆☆☆☆☆☆
    ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2624

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4835

    论坛元老退役版主

    QQ
    发表于 2012-2-14 18:10:32 | 显示全部楼层
    恩,没错,寻梦说的方法也是这个,位变量。
  • TA的每日心情
    难过
    昨天 18:46
  • 签到天数: 2750 天

    连续签到: 26 天

    [LV.Master]伴坛终老

    1万

    回帖

    4万

    金币

    0

    精华

    白银会员

    Rank: 5Rank: 5

    积分
    101075

    魅力之星

    QQ
    发表于 2012-2-14 19:04:22 | 显示全部楼层
    这个都是高难度啊,纯围观的留个脚印
    该会员没有填写今日想说内容.
  • TA的每日心情
    开心
    2021-11-2 11:44
  • 签到天数: 754 天

    连续签到: 1 天

    [LV.10]圣龙

    8815

    回帖

    1万

    金币

    17

    精华

    论坛嘉宾

    寄蜉蝣于天地,渺沧海之一粟。

    Rank: 9Rank: 9Rank: 9

    积分
    42459

    退役版主社区QQ达人论坛守望者脚本测试狂论坛元老杰出贡献魅力之星

    发表于 2012-2-14 21:20:46 | 显示全部楼层

    回复 1# 的帖子

    我觉得这个ERM跟猪版一追、木瓜二追的写法应该是很接近的,多参照一下就可以了,4楼寻梦的方法是应该是可以解决的。记得当时我有提醒过F兄啊。
    “你看见的,是追随诸神脚步前进的埃拉西亚!”
    封神2.2黄金版 - 决战神之巅,英雄无敌世界的终极幻想

    该用户从未签到

    2446

    回帖

    6474

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    3313

    退役版主

    发表于 2012-2-14 22:58:31 | 显示全部楼层
    高技术技术贴
    丶深沉g 该用户已被删除
    发表于 2012-2-15 12:10:54 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
  • TA的每日心情
    开心
    2019-1-31 14:25
  • 签到天数: 130 天

    连续签到: 1 天

    [LV.7]血污怪

    2778

    回帖

    2万

    金币

    14

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    14801

    退役版主社区QQ达人魅力之星

     楼主| 发表于 2012-2-17 15:36:04 | 显示全部楼层
    看来我没有说清楚,大家没理解我的意思。每个英雄有6个属性。这六个属性是随机的,从8-25都有可能,这个不是我提前设定好的,根本就没规律。我也无法用标志去查究竟英雄这些属性到底是什么。所以,我才想只能用W变量去保存。如果,有其他的方法,请大家告诉我。
  • TA的每日心情
    开心
    2021-11-2 11:44
  • 签到天数: 754 天

    连续签到: 1 天

    [LV.10]圣龙

    8815

    回帖

    1万

    金币

    17

    精华

    论坛嘉宾

    寄蜉蝣于天地,渺沧海之一粟。

    Rank: 9Rank: 9Rank: 9

    积分
    42459

    退役版主社区QQ达人论坛守望者脚本测试狂论坛元老杰出贡献魅力之星

    发表于 2012-2-17 17:04:06 | 显示全部楼层

    回复 10# 的帖子

    我觉得还是只能用W变量的位标志是保存,像二追脚本中电脑英雄的二追特技不是随机的吗?而且木瓜还加入了难度的选择成份。
    “你看见的,是追随诸神脚步前进的埃拉西亚!”
    封神2.2黄金版 - 决战神之巅,英雄无敌世界的终极幻想
  • TA的每日心情
    开心
    2019-1-31 14:25
  • 签到天数: 130 天

    连续签到: 1 天

    [LV.7]血污怪

    2778

    回帖

    2万

    金币

    14

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    14801

    退役版主社区QQ达人魅力之星

     楼主| 发表于 2012-2-17 17:06:39 | 显示全部楼层

    回复 11# 的帖子

    我都说了,这个属性它是随机的,不是倍数的关系啊,老兄。

    该用户从未签到

    3846

    回帖

    2万

    金币

    16

    精华

    论坛嘉宾

    无敌英雄★英雄寂寞

    Rank: 9Rank: 9Rank: 9

    积分
    21307

    退役版主论坛元老魅力之星

    发表于 2012-2-18 11:54:39 | 显示全部楼层

    回复 10# 的帖子

    判断属性:

    升级时触发或者开始触发等等

    !?PI;
    !!DO6006/0/155/1:P155;

    !?FU6006&x1=155;
    !!IF:Wx16;
    !!VRy1:S1 R5;定义属性1代表力量,2代表攻击,3代表知识等等
    !!VRw88:Sy1;这里就定义了所有英雄的属性


    然后就是调用的问题了

    可以先检查此英雄的w88变量的值再去判断是什么属性,然后添加相应的技能
    ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
    ☆☆☆☆☆☆☆☆☆☆ ☆☆☆ 寻梦人☆☆☆☆☆☆☆☆☆☆☆☆☆
    ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
  • TA的每日心情
    开心
    2019-1-31 14:25
  • 签到天数: 130 天

    连续签到: 1 天

    [LV.7]血污怪

    2778

    回帖

    2万

    金币

    14

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    14801

    退役版主社区QQ达人魅力之星

     楼主| 发表于 2012-2-18 20:07:46 | 显示全部楼层

    回复 13# 的帖子

    谢谢,寻梦,我说的不是这个意思。我的设定是在游戏一开始,玩家先选择职业,然后会根据你选择的职业随机分配6个基本属性给玩家,然后玩家再选择是否调整基本属性或者是重新丢骰子,你可以选择调整属性。先减少你不想要的属性,然后增加到你喜欢的属性上,当然根据你的职业这里有个某一上限和某一下限。最终,你必须把减少下来的属性分配完,然后才开始进入游戏。我说的问题就是这六个随机的属性。如果不用W变量,我不知道,怎么保存。 其实,只有这6个我需要用W变量,其他的都可以换成V变量。不过。为了节约一个W变量,我需要用155个V变量代替。
  • TA的每日心情

    2020-9-9 18:32
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    85

    回帖

    7412

    金币

    0

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    263
    发表于 2012-2-24 12:24:44 | 显示全部楼层
    不懂ERM,只有以前学的一点点的程序基础,不知道这样能不能实现:假设1个总属性点变量V,还有英雄的6个属性点V1-V6,一个临时变量N。
    1)首先判断是否升级(或者是游戏开始时),将英雄的所有属性点加和,值放入N,读各属性点,值放入V1-V6,压栈,
    2)赋值V=N+1(如果是游戏开始时,就是N+M),这时玩家可以对V1-V6加减值,完成了判断属性总值是否等于N+1,否:出栈,重新进入2)开始调整,是:将V1-V6的值替代原值,清栈并压栈,
    3)读栈里的最后6个值,判断范围,超出范围,进入2)重新赋值,没有超出范围,清栈,
    4)释放所有变量

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2019-1-31 14:25
  • 签到天数: 130 天

    连续签到: 1 天

    [LV.7]血污怪

    2778

    回帖

    2万

    金币

    14

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    14801

    退役版主社区QQ达人魅力之星

     楼主| 发表于 2012-2-25 15:27:03 | 显示全部楼层

    回复 15# 的帖子

    感谢楼上的帮助,我下来试试。
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

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

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

    GMT+8, 2025-5-7 17:03 , Processed in 1.459808 second(s), 16 queries , Gzip On, File On.

    Powered by Discuz! X3.4

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

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