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

Project1

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

[已经解决] 求帮忙改无属性问题脚本

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
327 小时
注册时间
2011-9-29
帖子
315
跳转到指定楼层
1
发表于 2011-10-11 16:01:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上个帖子中发了加点系统的问题,字母君帮忙解决了并指出了脚本有些问题
所以开新帖请字母君帮忙修改一下
字母君给我的脚本我修改了一下攻击力获取,改成攻击力=力量+武器攻击
这是修改的脚本: Scripts.rxdata (318.77 KB, 下载次数: 14)

评分

参与人数 1星屑 +10 收起 理由
赵灵儿 + 10 你一直在给我好人卡~我好感动啊&今天开启.

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2011-10-11
帖子
72
2
发表于 2011-10-11 22:06:36 | 只看该作者
本帖最后由 赵灵儿 于 2011-10-11 22:14 编辑

属性问题在于,level达到一定大小后属性疯狂增长,有平方比例增长的趋势。
另外你的数据库有一点问题,初始属性过于强大,会导致不平衡,一并改掉~~
那个你自己改的脚本不要用。用这个替换Game_Battler1的全部内容即可做到那个攻击力效果

  1. # ————————————————————————————————————
  2. # 本脚本来自www.66rpg.com,转载请保留此信息
  3. # ————————————————————————————————————

  4. #==============================================================================
  5. # ■ Game_Battler (分割定义 1)
  6. #------------------------------------------------------------------------------
  7. #  处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
  8. # 超级类来使用。
  9. #==============================================================================

  10. class Game_Battler
  11.   #--------------------------------------------------------------------------
  12.   # ● 定义实例变量
  13.   #--------------------------------------------------------------------------
  14.   attr_reader   :battler_name             # 战斗者 文件名
  15.   attr_reader   :battler_hue              # 战斗者 色相
  16.   attr_reader   :hp                       # HP
  17.   attr_reader   :sp                       # SP
  18.   attr_reader   :states                   # 状态
  19.   attr_accessor :hidden                   # 隐藏标志
  20.   attr_accessor :immortal                 # 不死身标志
  21.   attr_accessor :damage_pop               # 显示伤害标志
  22.   attr_accessor :damage                   # 伤害值
  23.   attr_accessor :critical                 # 会心一击标志
  24.   attr_accessor :animation_id             # 动画 ID
  25.   attr_accessor :animation_hit            # 动画 击中标志
  26.   attr_accessor :white_flash              # 白色屏幕闪烁标志
  27.   attr_accessor :blink                    # 闪烁标志
  28.   #--------------------------------------------------------------------------
  29.   # ● 初始化对像
  30.   #--------------------------------------------------------------------------
  31.   def initialize
  32.     @battler_name = ""
  33.     @battler_hue = 0
  34.     @hp = 0
  35.     @sp = 0
  36.     @states = []
  37.     @states_turn = {}
  38.     @maxhp_plus = 0
  39.     @maxsp_plus = 0
  40.     @str_plus = 0
  41.     @dex_plus = 0
  42.     @agi_plus = 0
  43.     @int_plus = 0
  44.     @hidden = false
  45.     @immortal = false
  46.     @damage_pop = false
  47.     @damage = nil
  48.     @critical = false
  49.     @animation_id = 0
  50.     @animation_hit = false
  51.     @white_flash = false
  52.     @blink = false
  53.     @current_action = Game_BattleAction.new
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 获取 MaxHP
  57.   #--------------------------------------------------------------------------
  58.   def maxhp
  59.     n = [base_maxhp + @maxhp_plus, 1].max
  60.     for i in @states
  61.       n *= $data_states[i].maxhp_rate / 100.0
  62.     end
  63.     n = [Integer(n), 1].max
  64.     return n
  65.   end

  66.   #--------------------------------------------------------------------------
  67.   # ● 获取 MaxSP
  68.   #--------------------------------------------------------------------------
  69.   def maxsp
  70.     n = [base_maxsp + @maxsp_plus, 0].max
  71.     for i in @states
  72.       n *= $data_states[i].maxsp_rate / 100.0
  73.     end
  74.     n = [Integer(n), 0].max
  75.     return n
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● 获取力量
  79.   #--------------------------------------------------------------------------
  80.   def str
  81.     n = [base_str + @str_plus, 1].max
  82.     for i in @states
  83.       n *= $data_states[i].str_rate / 100.0
  84.     end
  85.     n = [Integer(n), 1].max
  86.     return n
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 获取灵巧
  90.   #--------------------------------------------------------------------------
  91.   def dex
  92.     n = [base_dex + @dex_plus, 1].max
  93.     for i in @states
  94.       n *= $data_states[i].dex_rate / 100.0
  95.     end
  96.     n = [Integer(n), 1].max
  97.     return n
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ● 获取速度
  101.   #--------------------------------------------------------------------------
  102.   def agi
  103.     n = [base_agi + @agi_plus, 1].max
  104.     for i in @states
  105.       n *= $data_states[i].agi_rate / 100.0
  106.     end
  107.     n = [Integer(n), 1].max
  108.     return n
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 获取魔力
  112.   #--------------------------------------------------------------------------
  113.   def int
  114.     n = [base_int + @int_plus, 1].max
  115.     for i in @states
  116.       n *= $data_states[i].int_rate / 100.0
  117.     end
  118.     n = [Integer(n), 1].max
  119.     return n
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● 设置 MaxHP
  123.   #     maxhp : 新的 MaxHP
  124.   #--------------------------------------------------------------------------
  125.   def maxhp=(maxhp)
  126.     @maxhp_plus += maxhp - self.maxhp
  127.     @hp = [@hp, self.maxhp].min
  128.   end
  129.   #--------------------------------------------------------------------------
  130.   # ● 设置 MaxSP
  131.   #     maxsp : 新的 MaxSP
  132.   #--------------------------------------------------------------------------
  133.   def maxsp=(maxsp)
  134.     @maxsp_plus += maxsp - self.maxsp
  135.     @sp = [@sp, self.maxsp].min
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● 设置力量
  139.   #     str : 新的力量
  140.   #--------------------------------------------------------------------------
  141.   def str=(str)
  142.     @str_plus += str - self.str
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ● 设置灵巧
  146.   #     dex : 新的灵巧
  147.   #--------------------------------------------------------------------------
  148.   def dex=(dex)
  149.     @dex_plus += dex - self.dex
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● 设置速度
  153.   #     agi : 新的速度
  154.   #--------------------------------------------------------------------------
  155.   def agi=(agi)
  156.     @agi_plus += agi - self.agi
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● 设置魔力
  160.   #     int : 新的魔力
  161.   #--------------------------------------------------------------------------
  162.   def int=(int)
  163.     @int_plus += int - self.int
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● 获取命中率
  167.   #--------------------------------------------------------------------------
  168.   def hit
  169.     n = 100
  170.     for i in @states
  171.       n *= $data_states[i].hit_rate / 100.0
  172.     end
  173.     return Integer(n)
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # ● 获取攻击力
  177.   #--------------------------------------------------------------------------
  178.   def atk
  179.     n = base_atk + base_str + @str_plus.to_i
  180.     for i in @states
  181.       n *= $data_states[i].atk_rate / 100.0
  182.     end
  183.     return Integer(n)
  184.   end
  185.   #--------------------------------------------------------------------------
  186.   # ● 获取物理防御
  187.   #--------------------------------------------------------------------------
  188.   def pdef
  189.     n = base_pdef + base_dex + @dex_plus.to_i
  190.     for i in @states
  191.       n *= $data_states[i].pdef_rate / 100.0
  192.     end
  193.     return Integer(n)
  194.   end
  195.   #--------------------------------------------------------------------------
  196.   # ● 获取魔法防御
  197.   #--------------------------------------------------------------------------
  198.   def mdef
  199.     n = base_mdef + base_int + @int_plus.to_i
  200.     for i in @states
  201.       n *= $data_states[i].mdef_rate / 100.0
  202.     end
  203.     return Integer(n)
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   # ● 获取回避修正
  207.   #--------------------------------------------------------------------------
  208.   def eva
  209.     n = base_eva
  210.     for i in @states
  211.       n += $data_states[i].eva
  212.     end
  213.     return n
  214.   end
  215.   #--------------------------------------------------------------------------
  216.   # ● 更改 HP
  217.   #     hp : 新的 HP
  218.   #--------------------------------------------------------------------------
  219.   def hp=(hp)
  220.     @hp = [[hp, maxhp].min, 0].max
  221.     # 解除附加的战斗不能状态
  222.     for i in 1...$data_states.size
  223.       if $data_states[i].zero_hp
  224.         if self.dead?
  225.           add_state(i)
  226.         else
  227.           remove_state(i)
  228.         end
  229.       end
  230.     end
  231.   end
  232.   #--------------------------------------------------------------------------
  233.   # ● 更改 SP
  234.   #     sp : 新的 SP
  235.   #--------------------------------------------------------------------------
  236.   def sp=(sp)
  237.     @sp = [[sp, maxsp].min, 0].max
  238.   end
  239.   #--------------------------------------------------------------------------
  240.   # ● 全回复
  241.   #--------------------------------------------------------------------------
  242.   def recover_all
  243.     @hp = maxhp
  244.     @sp = maxsp
  245.     for i in @states.clone
  246.       remove_state(i)
  247.     end
  248.   end
  249.   #--------------------------------------------------------------------------
  250.   # ● 获取当前的动作
  251.   #--------------------------------------------------------------------------
  252.   def current_action
  253.     return @current_action
  254.   end
  255.   #--------------------------------------------------------------------------
  256.   # ● 确定动作速度
  257.   #--------------------------------------------------------------------------
  258.   def make_action_speed
  259.     @current_action.speed = agi + rand(10 + agi / 4)
  260.   end
  261.   #--------------------------------------------------------------------------
  262.   # ● 战斗不能判定
  263.   #--------------------------------------------------------------------------
  264.   def dead?
  265.     return (@hp == 0 and not @immortal)
  266.   end
  267.   #--------------------------------------------------------------------------
  268.   # ● 存在判定
  269.   #--------------------------------------------------------------------------
  270.   def exist?
  271.     return (not @hidden and (@hp > 0 or @immortal))
  272.   end
  273.   #--------------------------------------------------------------------------
  274.   # ● HP 0 判定
  275.   #--------------------------------------------------------------------------
  276.   def hp0?
  277.     return (not @hidden and @hp == 0)
  278.   end
  279.   #--------------------------------------------------------------------------
  280.   # ● 可以输入命令判定
  281.   #--------------------------------------------------------------------------
  282.   def inputable?
  283.     return (not @hidden and restriction <= 1)
  284.   end
  285.   #--------------------------------------------------------------------------
  286.   # ● 可以行动判定
  287.   #--------------------------------------------------------------------------
  288.   def movable?
  289.     return (not @hidden and restriction < 4)
  290.   end
  291.   #--------------------------------------------------------------------------
  292.   # ● 防御中判定
  293.   #--------------------------------------------------------------------------
  294.   def guarding?
  295.     return (@current_action.kind == 0 and @current_action.basic == 1)
  296.   end
  297.   #--------------------------------------------------------------------------
  298.   # ● 休止中判定
  299.   #--------------------------------------------------------------------------
  300.   def resting?
  301.     return (@current_action.kind == 0 and @current_action.basic == 3)
  302.   end
  303. end
复制代码
用这个改过的数据库可以解决两个问题。
开新贴辛苦你了!不过如果一帖两个问题容易被扣分的(某版规)
附:简单的改脚本思路(如果你偏要初始属性强大,那么给你一个改脚本的方法,不要慢慢变伸手党,容易被砍手~~)
角色属性破限脚本中,寻找到什么str*@level,maxhp*@level的东东,改成100*level+该属性的初始值即可。
maxhpmaxsp:易懂
str:力量dex:灵巧agi:速度int:魔力

Actors.rxdata

64.35 KB, 下载次数: 12

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
327 小时
注册时间
2011-9-29
帖子
315
3
 楼主| 发表于 2011-10-11 22:20:12 | 只看该作者
本帖最后由 summer依恋 于 2011-10-11 22:33 编辑
赵灵儿 发表于 2011-10-11 22:06
属性问题在于,level达到一定大小后属性疯狂增长,有平方比例增长的趋势。
另外你的数据库有一点问题,初始 ...


都差不多了,那个能力值曲线一直都是平的没问题吗?我想改成呈上升的曲线可以吗?只要自己控制好度就好?
对于那个初始能力的问题我只是随便弄弄 以后会改
还有 修改初始能力的脚本木有找到 在哪里?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2011-10-11
帖子
72
4
发表于 2011-10-12 10:41:32 | 只看该作者
本帖最后由 赵灵儿 于 2011-10-12 10:56 编辑

自己控制好度。真正属性=表面属性×等级
这个在脚本里可能是
  1. str * @level
复制代码
这种形式的
至少我那天在脚本里查找的确看到这类语句了���

点评

str * @level 没有找到指定文本 灵儿大大,这是我开的新帖:http://bbs.66rpg.com/forum.php?mod=viewthread&tid=211741&extra= 里面有我的脚本,请看看  发表于 2011-10-12 13:59
猫君,我连贴之后就把帖子马上删掉了。不要扣分~555  发表于 2011-10-12 10:56
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
327 小时
注册时间
2011-9-29
帖子
315
5
 楼主| 发表于 2011-10-12 10:51:35 | 只看该作者
赵灵儿 发表于 2011-10-12 10:41
自己控制好度。真正属性=表面属性×等级

其他都没有问题了 就是初始属性调整和每升1级的属性增加调整 没有找到地方 不知道怎么调
str*@level,maxhp*@level全局搜索了 没有找到
str之类的倒是N多


summer依恋于2011-10-13 14:44补充以下内容:
灵儿大大,你发的 Actors.rxdata 解决角色属性 貌似只能一时
我关了工程后隔一会再次打开  角色属性又会还原
求帮忙{:4_96:}

点评

注意:一旦你改好脚本,就一定要恢复数据库到原来的样子。 不过角色一开始就有破千的血~囧  发表于 2011-10-12 10:58
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
432
在线时间
4175 小时
注册时间
2010-6-26
帖子
6474
6
发表于 2011-10-14 08:47:20 | 只看该作者
赵灵儿 发表于 2011-10-12 10:41
自己控制好度。真正属性=表面属性×等级
这个在脚本里可能是这种形式的
至少我那天在脚本里查找的确看到这 ...

楼上的,楼主用的是我那个有RTAB的脚本,所以您别费工夫了,因为修改RM默认的战斗脚本根本不起作用。

点评

我学过编程的~~  发表于 2011-10-14 12:09
RTAB未必不可修改.什么仙剑技能动画脚本66全技能脚本都可以的  发表于 2011-10-14 09:37
潜水,专心忙活三次元工作了……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2011-10-11
帖子
72
7
发表于 2011-10-14 09:50:14 | 只看该作者
eve592370698 发表于 2011-10-14 08:47
楼上的,楼主用的是我那个有RTAB的脚本,所以您别费工夫了,因为修改RM默认的战斗脚本根本不起作用。 ...

RTAB不是什么不可攻克的堡垒。
RTAB菜鸟横版么?也并不是您这个万物创造者创造的。
RTAB0.17b这样的大作,您可能不了解,但是这真的是万古难逢的佳作。
R界的一代代的先辈,创造的无数神一样的脚本,如果我们这样的21世纪大好青年连整合都不能整合,
难道不自惭形秽么?
--------------------技术的分隔条---------------------------
RTAB神马的不过就是完全重写了所有battlephase。
只要肯钻研,神马RTAB的,都是浮云。但是现在,
愿意研究脚本的太少了。

点评

一直在努力攻克RTAB,但是没系统学过编程就是费劲。目前FUKI对话框自从解决了分辨率位置、多选择插件的冲突之后,基本上我沦落到伸手党了。  发表于 2011-10-14 12:08
好吧,我自惭形秽。555555  发表于 2011-10-14 10:34
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
327 小时
注册时间
2011-9-29
帖子
315
8
 楼主| 发表于 2011-10-14 10:33:43 | 只看该作者
本帖最后由 summer依恋 于 2011-10-14 10:36 编辑
eve592370698 发表于 2011-10-14 08:47
楼上的,楼主用的是我那个有RTAB的脚本,所以您别费工夫了,因为修改RM默认的战斗脚本根本不起作用。 ...


汗,真的不能修改吗?


summer依恋于2011-10-14 10:36补充以下内容:
神马啊。我想知道初始属性到底怎么改。原来那个确实有问题。升级加的属性暴多。试过才35级就有上万的血和上千的力量 神马的
回复

使用道具 举报

Lv2.观梦者

(?????)

梦石
0
星屑
729
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

9
发表于 2011-10-14 14:21:54 | 只看该作者
扣分点太多了。
首先每层楼刷回复,这样我可以扣你 20 分
字号比平常大2号以上的,每大一号扣除35分

这样我可以扣你(15-2)×35 = 455 分

另外一贴多问指的是无关的问题,如果所有的问题都和标题有密切联系的话不算做多问。

点评

这个算法。。。。。我可以悲剧了{:4_86:}  发表于 2011-10-14 18:10
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
327 小时
注册时间
2011-9-29
帖子
315
10
 楼主| 发表于 2011-10-14 18:16:36 | 只看该作者
各种压力的猫君 发表于 2011-10-14 14:21
扣分点太多了。
首先每层楼刷回复,这样我可以扣你 20 分

刚看了版规,貌似没提到字号问题。那么,该用多少号字体呢?

点评

参见扣分规则 - -  发表于 2011-10-14 18:51
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 11:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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