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

Project1

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

[已经解决] 修改角色能力值问题。

[复制链接]

Lv4.逐梦者

梦石
10
星屑
5568
在线时间
1849 小时
注册时间
2013-2-14
帖子
395

开拓者

跳转到指定楼层
发表于 2013-6-28 11:42:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
在事件中修改角色能力值时,能不能直接定义角色能力,而不是增加多少减少多少。

我是像让主角能力值修改时超过100时自动变为100,或者直接设定成不能超过100。

请问该怎么处理?

Lv5.捕梦者

梦石
0
星屑
33651
在线时间
5096 小时
注册时间
2012-11-19
帖子
4877

开拓者

10
发表于 2013-7-7 15:44:50 | 只看该作者
hijl1990 发表于 2013-7-3 17:56
算了,既然没有解决办法,那就换个思路制作好了,还是谢谢大家解答。。

额~,少加了一个地方,下面脚本已试验过。

RUBY 代码复制
  1. #================================================================================
  2. class Game_Battler
  3.   #--------------------------------------------------------------------------
  4.   # ● 获取力量
  5.   #--------------------------------------------------------------------------
  6.   def str
  7.     n = [[base_str + @str_plus, 1].max, 999].min
  8.     for i in @states
  9.       n *= $data_states[i].str_rate / 100.0
  10.     end
  11.     n = [[Integer(n), 1].max, 100].min
  12.     return n
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 获取灵巧
  16.   #--------------------------------------------------------------------------
  17.   def dex
  18.     n = [[base_dex + @dex_plus, 1].max, 999].min
  19.     for i in @states
  20.       n *= $data_states[i].dex_rate / 100.0
  21.     end
  22.     n = [[Integer(n), 1].max, 100].min
  23.     return n
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 获取速度
  27.   #--------------------------------------------------------------------------
  28.   def agi
  29.     n = [[base_agi + @agi_plus, 1].max, 999].min
  30.     for i in @states
  31.       n *= $data_states[i].agi_rate / 100.0
  32.     end
  33.     n = [[Integer(n), 1].max, 100].min
  34.     return n
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 获取魔力
  38.   #--------------------------------------------------------------------------
  39.   def int
  40.     n = [[base_int + @int_plus, 1].max, 999].min
  41.     for i in @states
  42.       n *= $data_states[i].int_rate / 100.0
  43.     end
  44.     n = [[Integer(n), 1].max, 100].min
  45.     return n
  46.   end
  47. end
  48. #==============================================================================
  49. class Game_Actor < Game_Battler
  50.   #--------------------------------------------------------------------------
  51.   # ● 获取基本力量
  52.   #--------------------------------------------------------------------------
  53.   def base_str
  54.     n = $data_actors[@actor_id].parameters[2, @level]
  55.     weapon = $data_weapons[@weapon_id]
  56.     armor1 = $data_armors[@armor1_id]
  57.     armor2 = $data_armors[@armor2_id]
  58.     armor3 = $data_armors[@armor3_id]
  59.     armor4 = $data_armors[@armor4_id]
  60.     n += weapon != nil ? weapon.str_plus : 0
  61.     n += armor1 != nil ? armor1.str_plus : 0
  62.     n += armor2 != nil ? armor2.str_plus : 0
  63.     n += armor3 != nil ? armor3.str_plus : 0
  64.     n += armor4 != nil ? armor4.str_plus : 0
  65.     return [[n, 1].max, 100].min
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 获取基本灵巧
  69.   #--------------------------------------------------------------------------
  70.   def base_dex
  71.     n = $data_actors[@actor_id].parameters[3, @level]
  72.     weapon = $data_weapons[@weapon_id]
  73.     armor1 = $data_armors[@armor1_id]
  74.     armor2 = $data_armors[@armor2_id]
  75.     armor3 = $data_armors[@armor3_id]
  76.     armor4 = $data_armors[@armor4_id]
  77.     n += weapon != nil ? weapon.dex_plus : 0
  78.     n += armor1 != nil ? armor1.dex_plus : 0
  79.     n += armor2 != nil ? armor2.dex_plus : 0
  80.     n += armor3 != nil ? armor3.dex_plus : 0
  81.     n += armor4 != nil ? armor4.dex_plus : 0
  82.     return [[n, 1].max, 100].min
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # ● 获取基本速度
  86.   #--------------------------------------------------------------------------
  87.   def base_agi
  88.     n = $data_actors[@actor_id].parameters[4, @level]
  89.     weapon = $data_weapons[@weapon_id]
  90.     armor1 = $data_armors[@armor1_id]
  91.     armor2 = $data_armors[@armor2_id]
  92.     armor3 = $data_armors[@armor3_id]
  93.     armor4 = $data_armors[@armor4_id]
  94.     n += weapon != nil ? weapon.agi_plus : 0
  95.     n += armor1 != nil ? armor1.agi_plus : 0
  96.     n += armor2 != nil ? armor2.agi_plus : 0
  97.     n += armor3 != nil ? armor3.agi_plus : 0
  98.     n += armor4 != nil ? armor4.agi_plus : 0
  99.     return [[n, 1].max, 100].min
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 获取基本魔力
  103.   #--------------------------------------------------------------------------
  104.   def base_int
  105.     n = $data_actors[@actor_id].parameters[5, @level]
  106.     weapon = $data_weapons[@weapon_id]
  107.     armor1 = $data_armors[@armor1_id]
  108.     armor2 = $data_armors[@armor2_id]
  109.     armor3 = $data_armors[@armor3_id]
  110.     armor4 = $data_armors[@armor4_id]
  111.     n += weapon != nil ? weapon.int_plus : 0
  112.     n += armor1 != nil ? armor1.int_plus : 0
  113.     n += armor2 != nil ? armor2.int_plus : 0
  114.     n += armor3 != nil ? armor3.int_plus : 0
  115.     n += armor4 != nil ? armor4.int_plus : 0
  116.     return [[n, 1].max, 100].min
  117.   end
  118. end

评分

参与人数 1星屑 +70 梦石 +1 收起 理由
弗雷德 + 70 + 1 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
5568
在线时间
1849 小时
注册时间
2013-2-14
帖子
395

开拓者

9
 楼主| 发表于 2013-7-3 17:56:10 | 只看该作者
算了,既然没有解决办法,那就换个思路制作好了,还是谢谢大家解答。。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33651
在线时间
5096 小时
注册时间
2012-11-19
帖子
4877

开拓者

8
发表于 2013-7-2 15:16:28 | 只看该作者
复制下面的脚本,插入到 main 前
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取基本力量
  4.   #--------------------------------------------------------------------------
  5.   def base_str
  6.     n = $data_actors[@actor_id].parameters[2, @level]
  7.     weapon = $data_weapons[@weapon_id]
  8.     armor1 = $data_armors[@armor1_id]
  9.     armor2 = $data_armors[@armor2_id]
  10.     armor3 = $data_armors[@armor3_id]
  11.     armor4 = $data_armors[@armor4_id]
  12.     n += weapon != nil ? weapon.str_plus : 0
  13.     n += armor1 != nil ? armor1.str_plus : 0
  14.     n += armor2 != nil ? armor2.str_plus : 0
  15.     n += armor3 != nil ? armor3.str_plus : 0
  16.     n += armor4 != nil ? armor4.str_plus : 0
  17.     return [[n, 1].max, 100].min
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 获取基本灵巧
  21.   #--------------------------------------------------------------------------
  22.   def base_dex
  23.     n = $data_actors[@actor_id].parameters[3, @level]
  24.     weapon = $data_weapons[@weapon_id]
  25.     armor1 = $data_armors[@armor1_id]
  26.     armor2 = $data_armors[@armor2_id]
  27.     armor3 = $data_armors[@armor3_id]
  28.     armor4 = $data_armors[@armor4_id]
  29.     n += weapon != nil ? weapon.dex_plus : 0
  30.     n += armor1 != nil ? armor1.dex_plus : 0
  31.     n += armor2 != nil ? armor2.dex_plus : 0
  32.     n += armor3 != nil ? armor3.dex_plus : 0
  33.     n += armor4 != nil ? armor4.dex_plus : 0
  34.     return [[n, 1].max, 100].min
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 获取基本速度
  38.   #--------------------------------------------------------------------------
  39.   def base_agi
  40.     n = $data_actors[@actor_id].parameters[4, @level]
  41.     weapon = $data_weapons[@weapon_id]
  42.     armor1 = $data_armors[@armor1_id]
  43.     armor2 = $data_armors[@armor2_id]
  44.     armor3 = $data_armors[@armor3_id]
  45.     armor4 = $data_armors[@armor4_id]
  46.     n += weapon != nil ? weapon.agi_plus : 0
  47.     n += armor1 != nil ? armor1.agi_plus : 0
  48.     n += armor2 != nil ? armor2.agi_plus : 0
  49.     n += armor3 != nil ? armor3.agi_plus : 0
  50.     n += armor4 != nil ? armor4.agi_plus : 0
  51.     return [[n, 1].max, 100].min
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 获取基本魔力
  55.   #--------------------------------------------------------------------------
  56.   def base_int
  57.     n = $data_actors[@actor_id].parameters[5, @level]
  58.     weapon = $data_weapons[@weapon_id]
  59.     armor1 = $data_armors[@armor1_id]
  60.     armor2 = $data_armors[@armor2_id]
  61.     armor3 = $data_armors[@armor3_id]
  62.     armor4 = $data_armors[@armor4_id]
  63.     n += weapon != nil ? weapon.int_plus : 0
  64.     n += armor1 != nil ? armor1.int_plus : 0
  65.     n += armor2 != nil ? armor2.int_plus : 0
  66.     n += armor3 != nil ? armor3.int_plus : 0
  67.     n += armor4 != nil ? armor4.int_plus : 0
  68.     return [[n, 1].max, 100].min
  69.   end
  70. end
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
5568
在线时间
1849 小时
注册时间
2013-2-14
帖子
395

开拓者

7
 楼主| 发表于 2013-6-28 20:28:17 手机端发表。 | 只看该作者
wwwcctvty 发表于 2013-6-28 17:45
已经改成合成消耗10体力、、

是这样的,我用事件做了个时间系统,然后变量时间加一的时候属性就减各数值。。然后我又做了个水源,喝水的效果是属性+20,接着属性就变100多了。。我不想他超过100的。。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
5568
在线时间
1849 小时
注册时间
2013-2-14
帖子
395

开拓者

6
 楼主| 发表于 2013-6-28 18:41:13 | 只看该作者
wwwcctvty 发表于 2013-6-28 17:45
已经改成合成消耗10体力、、

可能我工程裏還沒做時間系統的關係,我的设想是每分钟都减少力量灵巧这些属性,然后通过吃东西恢复一定数值。。
然后各属性上限就是100,不能超过100,和等级无关。。
我刚试了一下,属性还是可以超过100。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
5
发表于 2013-6-28 17:45:15 | 只看该作者
已经改成合成消耗10体力、、
新.rar (218.75 KB, 下载次数: 19)
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
5568
在线时间
1849 小时
注册时间
2013-2-14
帖子
395

开拓者

4
 楼主| 发表于 2013-6-28 15:11:55 | 只看该作者
wwwcctvty 发表于 2013-6-28 13:33
、、、、、最好还是你说要什么 效果,再放上工程吧、、、

恩,工程在这里。。
如果方便的话能顺便帮我看下我遇到的其他问题吗?
工程目前使用了魔塔式战斗和隐藏材料的合成,然后就没有了。。
能看看怎么把魔塔战斗脚本里默认的战斗后打开A开关改成自己设置吗?
然后是隐藏材料的合成能改成每次都需要扣SP值吗?
谢谢。。

新.rar

217.27 KB, 下载次数: 24

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
32 小时
注册时间
2013-6-28
帖子
39
3
发表于 2013-6-28 14:15:00 | 只看该作者
其实不用脚本啊

1.gif (5.25 KB, 下载次数: 14)

1.gif
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
2
发表于 2013-6-28 13:33:53 | 只看该作者
、、、、、最好还是你说要什么 效果,再放上工程吧、、、
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
1
发表于 2013-6-28 13:03:24 | 只看该作者
100 if actor.str >= 100
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-9-30 20:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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