Project1

标题: 如何制作类似口袋妖怪的个体值 [打印本页]

作者: 欧买歌    时间: 2015-1-7 17:24
标题: 如何制作类似口袋妖怪的个体值
由于@芯☆淡茹水 不能够及时做出我想要的那种宠物系统,我又不懂脚本,于是乎只好自己做了一个事件版的宠物捕捉之类的系统?
反正,就是角色加入之后都会有一个随机的个体值(6项),我要在能力值计算公式里加入个体值
由于楼主搜索了之后找不到重复角色加入的脚本,能否顺便提供下?
作者: 573932914    时间: 2015-1-7 20:29
获得宠物时能力增加随机值么
作者: rpg-sheep    时间: 2015-1-7 22:34
类似口袋妖怪的种族值吗?你需要使用脚本的。详细方法大约是这样:

如果你的宠物在数据库里是一个角色(就是说以一个角色的形式存在数据库里)这样做:
RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   attr_accessor :ss1 #角色的种族值1
  3.   attr_accessor :ss2 #角色的种族值2
  4.   #……多少都行,变量名随便取。
  5. end

这样的话,每一个角色都拥有种族值了!
当你需要让第几号角色获得种族值时:
RUBY 代码复制
  1. $game_party.members[n].ss1 = 10 #让队伍中的第n号角色获取种族值1为10
  2. $game_actors[n].ss1 = 10 #让数据库中的第n号角色获取种族值1为10

这样的话,每个角色都可以拥有自己的种族值,非常简单!

如果你是自定义的宠物(不使用角色数据库)略复杂,我在和你说。

希望能帮到你哦~

作者: 欧买歌    时间: 2015-1-8 11:47
rpg-sheep 发表于 2015-1-7 22:34
类似口袋妖怪的种族值吗?你需要使用脚本的。详细方法大约是这样:

如果你的宠物在数据库里是一个角色(就 ...

种族值我之前自己写好了= =https://rpg.blue/thread-374719-1-1.html
看清楚我的问题,我要的是个体值
作者: rpg-sheep    时间: 2015-1-8 18:54
欧买歌 发表于 2015-1-8 11:47
种族值我之前自己写好了= =https://rpg.blue/thread-374719-1-1.html
看清楚我的问题,我要的是个体值 ...

嗯,我百度了一下,发现个体值和种族值确实不一样。
『2』个体值
个体值是每只精灵先天的数值,就好像一只怪的天赋。
个体值分为HP、攻击、防御、速度、特攻、特防六项,每项取值范围为0~31。
所有个体值在相遇时随机产生。
同一种精灵,个体值就决定了它们先天的能力高低。

我写的那段脚本当中不仅可以运用到种族值上,个体值上也可以。
你只需要在赋值时使用rand随机函数,完整代码如下:
RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 定义实例变量
  4.   #--------------------------------------------------------------------------
  5.   attr_accessor :hp_i #HP
  6.   attr_accessor :attack_i #攻击
  7.   attr_accessor :shield_i #防御
  8.   attr_accessor :speed_i #速度
  9.   attr_accessor :s_attack_i #特攻
  10.   attr_accessor :s_shield_i #特防
  11. end

赋值时:
RUBY 代码复制
  1. $game_actors[0].hp_i = rand(31).ceil

当然,如果你不会用实例变量的话我也没有办法了……
看你编写的脚本好像没有用到?
尤其是这两处:
  #--------------------------------------------------------------------------
  # ● 定义-以便修改
  #--------------------------------------------------------------------------
  $HP基础值 = 10
  $SP基础值 = 5
  $力量基础值 = 5
  $灵巧基础值 = 5
  $速度基础值 = 5
  $魔力基础值 = 5
    @maxhp_plus = $HP基础值
    @maxsp_plus = $SP基础值
    @str_plus = $力量基础值
    @dex_plus = $灵巧基础值
    @agi_plus = $速度基础值
    @int_plus = $魔力基础值

事实上你都可以使用实例变量简化运算,省去6个全局变量可以节约不少内存。
后面的获取各种值要用到的话可以直接用$game_actors[0].hp_i这样的语句
如果还有错误的话就是我实在理解不了你的意思,那就很抱歉了。
还是希望能帮到你!
作者: 欧买歌    时间: 2015-1-8 22:21
rpg-sheep 发表于 2015-1-8 18:54
嗯,我百度了一下,发现个体值和种族值确实不一样。

我写的那段脚本当中不仅可以运用到种族值上,个体值 ...

看着好像有啥问题的样子
我把Game_Party 的第 110 行
  1. if @actors.size < 4 and not @actors.include?(actor)
复制代码
改为:
  1. if @actors.size < 4
复制代码
于是乎我的角色可以重复加入多个了。
那么用你的赋值会不会影响到队伍里的多个同名角色呢?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1