查看: 1465|回复: 3

如何把敌人的atk、mdef、pdef 等属性复制给角色?

  [复制链接]
梦石
0
星屑
70
在线时间
215 小时
注册时间
2007-9-5
回帖
300
发表于 2008-9-12 02:42:36 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
思路是执行一个公共事件之后,把敌人的所有数据拷贝给角色,name、maxhp、maxsp、str、int等数据可以传给角色没问题,但是atk、mdef、pdef 等属性怎么传呢
版务信息:本贴由楼主自主结贴~
梦石
0
星屑
70
在线时间
215 小时
注册时间
2007-9-5
回帖
300
 楼主| 发表于 2008-9-12 02:45:45 | 显示全部楼层
在事件里写成下面这样报错了,是不是先要定义角色的atk、mdef、pdef 属性,该怎么定义呢

$game_actors[2].atk=$data_enemies[2].atk

回复

使用道具 举报

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2008-9-12 02:50:26 | 显示全部楼层
出错的原因是因为 角色的 atk 只是 只读属性。

对XP不熟悉, 还是召唤刀叔好了。

《天空之城 —— 破碎的命运》
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2008-9-12 03:16:29 | 显示全部楼层
-3-,八云小姐抬举了哦~

那我就用我能想到的笨方法解决了....
在GAME ACTOR里加上
attr_accessor :atk1
attr_accessor :pdef1
attr_accessor :mdef1
在def setup(actor_id)里加上
@atk1 = 0
@pdef1 = 0
@mdef1 = 0
然后把角色的BASE ACT等用个分歧套起来
if @atk1 == 0
XXXXXX原来的公式
else
return @atk1
end

然后要复制的时候就$game_actors[2].atk1 = $data_enemies[2].atk
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部