查看: 2511|回复: 5

[已经解决] 设置某个角色的属性根据变量来提升

[复制链接]
梦石
3
星屑
77
在线时间
1266 小时
注册时间
2012-10-9
回帖
1045
发表于 2015-3-6 17:53:29 | 显示全部楼层 |阅读模式

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

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

×
试验过很多种方法都没有办法做到!
如果直接在Game_Battler 1改的话 会导致全部角色都根据该变量提升属性!不知道怎么才可以指定一个角色根据变量来提升!打个比方:比如【角色1】的生命值根据【变量1】来提升,【变量1】提升1点,【角色1】生命值提升1点!拜托各位大神帮帮忙!谢谢!
(。◕∀◕。)

我大家教永不弃坑
联络方式:QQ1747800952

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-3-6 18:03:51 | 显示全部楼层
方法体中用 if 判断角色id
回复

使用道具 举报

梦石
3
星屑
77
在线时间
1266 小时
注册时间
2012-10-9
回帖
1045
 楼主| 发表于 2015-3-6 18:05:33 | 显示全部楼层
taroxd 发表于 2015-3-6 18:03
方法体中用 if 判断角色id

哪种方式判断角色ID....最近才开始研究脚本什么的
不是很熟0.0

点评

=.=好吧......那继续自己慢慢看看好了  发表于 2015-3-6 18:09
从未见过xp脚本,不知道  发表于 2015-3-6 18:06

我大家教永不弃坑
联络方式:QQ1747800952
回复

使用道具 举报

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
回帖
1223
发表于 2015-3-6 18:18:18 | 显示全部楼层
本帖最后由 恐惧剑刃 于 2015-6-14 18:09 编辑

[pre lang="ruby"]

# 用法举例

# 增加某角色属性值,注意一定要是 "+="
# $game_actors[id].str_plus += xx            # 增加id号角色的力量
# $game_party.actors[index].maxhp_plus += xx # 增加第index个角色的生命

# 减少某角色属性值,注意一定要是 "-="
# $game_actors[id].dex_plus -= xx            # 减少id号角色的灵巧
# $game_party.actors[index].maxsp_plus -= xx # 减少第index个角色的魔法


# 此脚本非常简单,是默认的属性附加方法
class Game_Actor < Game_Battler
  
  # 定义实例变量
  attr_accessor :maxhp_plus,  # 生命附加值
                :maxsp_plus,  # 魔法附加值
                :str_plus,    # 力量附加值
                :dex_plus,    # 灵巧附加值
                :agi_plus,    # 速度附加值
                :int_plus     # 魔力附加值

  # 下面方法的目的在于初始化以上那些实例变量的值
  # 至于为什么要初始化,原因请看
  # https://rpg.blue/thread-376149-1-1.html
  # 当然你也可以按照上面地址中的说法把 @maxhp_plus 等 提前,然后删掉以下方法
  
  
  alias setup_2015_6_14_17_52 setup
  def setup(id)
    @maxhp_plus = 0
    @maxsp_plus = 0
    @str_plus = 0
    @dex_plus = 0
    @agi_plus = 0
    @int_plus = 0
    setup_2015_6_14_17_52(id)
  end
  
end[/pre]

点评

麻烦你了  发表于 2015-6-14 18:17
已经编辑这里  发表于 2015-6-14 18:10
哦 我看懂了!谢谢!  发表于 2015-3-6 18:33
0.0看不懂...脚本盲...  发表于 2015-3-6 18:31

评分

参与人数 1星屑 +300 收起 理由
hys111111 + 300 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
34462
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2015-3-6 18:30:01 | 显示全部楼层
不知道是整体HP总和,还是每升一级HP提升的点数?

点评

整体!  发表于 2015-3-6 18:30
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
3850
在线时间
1899 小时
注册时间
2010-6-19
回帖
917
发表于 2015-3-7 06:38:04 | 显示全部楼层
直接在Gmae actorl里修改

定义变量
attr_reader  :hpts  # 提升HP

接着定初始变量为0
@hpts = 0 【默认为0】

然后在def base_maxhp里开始设置
#当角色=1
if actor.id = 1
    # 效果:数据库里面等级对应的HP+变量hpts的属性=最终属性
    n = $data_actors[@actor_id].parameters[0, @level] + @hpts
esle  #除此之外
       n = $data_actors[@actor_id].parameters[0, @level]
end

这样应该可以了

点评

是的,按游戏进度改变变量值就好了  发表于 2015-3-7 09:48
效果是没错只是问一下变量是不是要通关脚本更改  发表于 2015-3-7 09:45
你说的不是这种效果吗?在游戏里当变量改变了,角色HP也就改变了,难道不是吗?  发表于 2015-3-7 09:45
这样的话 变量是不是要用脚本来改变变量的值=.=  发表于 2015-3-7 09:40

评分

参与人数 1星屑 +20 收起 理由
游戏我的爱 + 20 虽然问题已经解决了,但是还是很感谢你!.

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部