赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 29377 |
最后登录 | 2013-8-7 |
在线时间 | 1 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1 小时
- 注册时间
- 2008-8-3
- 帖子
- 976
|
end 加得应该没想象中那么乱吧?不然的话系统不就出错了?
——但是至少也要知道是什么东西需要加END:
- class XXX
- ……
- end
- def XXX
- ……
- end
- if XXXXX
- ……
- end
- …… if XXXXX 不需要加end
- for X in XXXX
- ……
- end
- 综合起来比如:
- class AAA
- def BBB
- for C in DDD
- …… if KKK (无end)
- if EEE
- ……
- end (if的)
- end (for的)
- end(BBB的)
- end(AAA的)
复制代码
(..)错误啦~~当武器A为定值时,装备武器B的伤害也为定值(只与武器A有关,与武器B无关)
——那肯定是公式的问题了
因为武器攻与base_atk有些差距,所以脚本能不能作成这样呢:
for weapon in weapons.compact
n ***= weapon.atk
如果是2刀时返回失败(并运用以下公式)
——不能返回失败,否则二刀就都是返回0了,一旦前面已经有个返回值成立,后面的代码就全部不执行。应该改成 如果2刀,就n = actor.parameters[2, @level]重来,或者干脆 n ***= weapon.atk就必须非2刀才执行
n ***=(weapon1+weapon2)(当武器AB装备时)(重点啊,我想这也是我和大人分歧的原因)
n ***=weapon1 当武器A装备时——并且B不装备时!
n ***=weapon2 当武器B装备时——并且A不装备时!
end(应该先不return n吧?因为下面还有)
for armor in armors.compact do n ***= armor.atk end(这是后面的了,暂且不管)
举个例子,当***为乘除而并非加减的情况下........(比如大人代个乘来写写看)
代乘的话,依大人原来给的公式2刀会变成n*=a*b(而我需要的是n*=(a+b)),现在就需要那a+b
麻烦大人了!~~
——不是很清楚的话不要老用*=、+=之类的符号,用最简单的 n = n *** ( a + b )更直观点
这样好了……
- def XXX
- n = actor.parameters[2, @level]
- n = n *** weapons[0].atk if ( weapons[0]!=nil and !two_swords_style )
- if two_swords_style
- n = n *** weapons[0].atk if ( weapons[0]!=nil and weapons[1] == nil)
- n = n *** weapons[1].atk if ( weapons[1]!=nil and weapons[0] == nil)
- n = n *** ( weapons[0].atk + weapons[1].atk ) if ( weapons[0]!=nil and weapons[1] != nil)
- end
- for item in armors.compact do n += item.atk end
- return n
- end
复制代码
[/quote]
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~ |
|