|
本帖最后由 yiyang8426748 于 2014-4-15 20:10 编辑
关于 玛瑙太阳宝石混打的武器无法使用碎石锤的建议办法其他装备混打宝石都是可以处理的,唯独玛瑙太阳混打的武器无法处理,导致很多玩家面对一把极品却打上了两种石头的武器十分苦恼,我也是受害者之一,这里附上我的建议,希望官方采纳!
我初步想了想官方无法处理这种问题的原因:
比如衣服:能够打上三种石头(除开吸收的),不过,只要打上光芒石和舍利,都能显示与所打宝石等级对应的血和灵力,因此这个问题你们很好处理。
但武器的话,由于不知道到底打了多少级的太阳与玛瑙,因此你们处理不小,丢失的信息过多,不能利用现有的信息计算之前所打石头的对应等级。那么:
建议一:你们为武器的石头建立一个数组记录玩家武器打石头的顺序,至少从今天开始,玩家双宝石混打的武器可以用碎石锤进行处理;其实建立这个数组的意义远不止这些,还能为你们今后开发各种玩法作为一个前提;比如某玩家的武器是80级的,那么生成的数组长度为8(如果有精致,数组长度+1),现在打了5级太阳和玛瑙,所打顺序为:太阳 玛瑙 太阳 玛瑙 太阳(真蛋疼!) 某玩家的武器对应的数组:Weap_jew = [1 2 1 2 1 NUL NUL NUL],其中1表示太阳石,2表示玛瑙(数字对应宝石编号),NUL表示“没打”;
建议二:由于数组记录只能记录由你们维护修改后玩家武器所打的石头顺序,那么对修改之前已经打好石头的武器设立的“0”表示参数来表示,如:某玩家的武器是80级的,在维护之前打了5级太阳和玛瑙,在维护后又打了1级太阳,那么他的数组可以表示为:Weap_jew = [0 0 0 0 0 1 NUL NUL];
建议三:如果修改前玩家的武器不是混打的,而是由单一的宝石构成,那么就能进行识别,比如修改前玩家80级的武器打了5级玛瑙,没有打太阳石,那么维护后其数组就能辨别出来,Weap_jew = [2 2 2 2 2 NUL NUL NUL];
建议四:给一个判断,如果玩家的想要将武器上的混合石头打掉,那么首先判断他的武器数组中是否有“0”,如果有“0”的话,就不能使用碎石锤,如果没有“0”的话,就可以使用碎石锤;
建议五:设置一个宝石清零的方法,对于修改前混打的武器,必须先将宝石清零,虽然不知道这把武器到底打了几颗玛瑙或太阳,只需要按照以下规则清零即可:
规则一:只有人造武器才能清零;
规则二:给出清零的判断算法如下:
第一步:若该武器是强化武器,武器伤害大于非专用的强化武器最高伤害,那么多出来的伤害当做是太阳石所贡献的伤害,按照伤害与宝石等级对应的方法消去,直到伤害值刚好小于非专用的强化武器最高伤害,求出这个伤害差值对应的太阳石的等级taiyang_N;
第二步:剩下的宝石等级算作玛瑙的等值manao_N,并判断命中是否小于强化武器命中的最小值;
第三步:若小于,那么taiyang_N = taiyang_N+1,manao_N = manao_N - 1,返回第二步;
第四步:若大于或等于,那么就按照求出的taiyang_N对应太阳石的实际等级和manao_N对应玛瑙的实际等级进行清零;
若该武器不是强化武器,只需要判断值“非专用的强化武器最高伤害”改为“非专用的人造武器最高伤害即可”;
规则三:只有修改前打了玛瑙和太阳的武器才能进行清零;
建议介绍完毕,如果有不当之处还望理解,并指正,如果比较合适,希望游戏组接受建议。 |
|