设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2025|回复: 5
打印 上一主题 下一主题

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

[复制链接]

Lv3.寻梦者

梦石
3
星屑
77
在线时间
1266 小时
注册时间
2012-10-9
帖子
1103
跳转到指定楼层
1
发表于 2015-3-6 17:53:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-3-6 18:03:51 | 只看该作者
方法体中用 if 判断角色id
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
3
星屑
77
在线时间
1266 小时
注册时间
2012-10-9
帖子
1103
3
 楼主| 发表于 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
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
4
发表于 2015-3-6 18:18:18 | 只看该作者
本帖最后由 恐惧剑刃 于 2015-6-14 18:09 编辑

RUBY 代码复制
  1. # 用法举例
  2.  
  3. # 增加某角色属性值,注意一定要是 "+="
  4. # $game_actors[id].str_plus += xx            # 增加id号角色的力量
  5. # $game_party.actors[index].maxhp_plus += xx # 增加第index个角色的生命
  6.  
  7. # 减少某角色属性值,注意一定要是 "-="
  8. # $game_actors[id].dex_plus -= xx            # 减少id号角色的灵巧
  9. # $game_party.actors[index].maxsp_plus -= xx # 减少第index个角色的魔法
  10.  
  11.  
  12. # 此脚本非常简单,是默认的属性附加方法
  13. class Game_Actor < Game_Battler
  14.  
  15.   # 定义实例变量
  16.   attr_accessor :maxhp_plus,  # 生命附加值
  17.                 :maxsp_plus,  # 魔法附加值
  18.                 :str_plus,    # 力量附加值
  19.                 :dex_plus,    # 灵巧附加值
  20.                 :agi_plus,    # 速度附加值
  21.                 :int_plus     # 魔力附加值
  22.  
  23.   # 下面方法的目的在于初始化以上那些实例变量的值
  24.   # 至于为什么要初始化,原因请看
  25.   # [url]https://rpg.blue/thread-376149-1-1.html[/url]
  26.   # 当然你也可以按照上面地址中的说法把 @maxhp_plus 等 提前,然后删掉以下方法
  27.  
  28.  
  29.   alias setup_2015_6_14_17_52 setup
  30.   def setup(id)
  31.     @maxhp_plus = 0
  32.     @maxsp_plus = 0
  33.     @str_plus = 0
  34.     @dex_plus = 0
  35.     @agi_plus = 0
  36.     @int_plus = 0
  37.     setup_2015_6_14_17_52(id)
  38.   end
  39.  
  40. end

点评

麻烦你了  发表于 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 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33430
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 2015-3-6 18:30:01 | 只看该作者
不知道是整体HP总和,还是每升一级HP提升的点数?

点评

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3591
在线时间
1890 小时
注册时间
2010-6-19
帖子
1211
6
发表于 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 虽然问题已经解决了,但是还是很感谢你!.

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-13 23:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表