fly123 发表于 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 编辑 ]

克招 发表于 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中的|和&(位变量判断命令)来查找它。每个位有单独的意义,将它相加不会矛盾,不会重复。
在做这个之前,你需要列一张表,防止自己搞错,就像怪物标志特技那张表那样。

克招 发表于 2012-2-14 17:49:11

这个是ERM的高级命令了,很少情况下会用到它,我跟很多人说过他们都不懂,如果不懂的话在QQ上我再跟你说一下。

寻梦人 发表于 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中职业,完全可以满足要求;

克招 发表于 2012-2-14 18:10:32

恩,没错,寻梦说的方法也是这个,位变量。

无心云 发表于 2012-2-14 19:04:22

这个都是高难度啊,纯围观的留个脚印

沧海一粟 发表于 2012-2-14 21:20:46

回复 1# 的帖子

我觉得这个ERM跟猪版一追、木瓜二追的写法应该是很接近的,多参照一下就可以了,4楼寻梦的方法是应该是可以解决的。记得当时我有提醒过F兄啊。

hellmatrix 发表于 2012-2-14 22:58:31

高技术技术贴

丶深沉g 发表于 2012-2-15 12:10:54

fly123 发表于 2012-2-17 15:36:04

看来我没有说清楚,大家没理解我的意思。每个英雄有6个属性。这六个属性是随机的,从8-25都有可能,这个不是我提前设定好的,根本就没规律。我也无法用标志去查究竟英雄这些属性到底是什么。所以,我才想只能用W变量去保存。如果,有其他的方法,请大家告诉我。

沧海一粟 发表于 2012-2-17 17:04:06

回复 10# 的帖子

我觉得还是只能用W变量的位标志是保存,像二追脚本中电脑英雄的二追特技不是随机的吗?而且木瓜还加入了难度的选择成份。

fly123 发表于 2012-2-17 17:06:39

回复 11# 的帖子

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

寻梦人 发表于 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变量的值再去判断是什么属性,然后添加相应的技能

fly123 发表于 2012-2-18 20:07:46

回复 13# 的帖子

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

huaxin820518 发表于 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)释放所有变量

fly123 发表于 2012-2-25 15:27:03

回复 15# 的帖子

感谢楼上的帮助,我下来试试。
页: [1]
查看完整版本: 大家好,我遇到个难题,请教大家一下

捐赠