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

Project1

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

[已经解决] 角色自身防御力、魔防 及其他

[复制链接]

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
跳转到指定楼层
1
发表于 2017-12-27 16:03:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
整理工程混乱的数据库,发现数rmxp限制还真多,都已经影响到道具设定了。
我搜了一下论坛,关键词太长,没找到相关帖子。

请问,是否已经有脚本可以实现 如下效果

角色随着等级提升增加自身防御、魔防。

物品在数据库设定中的售价超可以过9万9千999。

角色属性+防具提升总计可以超过999。

如果没有的话,请如是否需要目前使用脚本以便修改?
非常感谢。

Lv5.捕梦者

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

开拓者

来自 12楼
发表于 2017-12-28 16:56:27 | 只看该作者
那么,直接设置100级时增加了多少不就行了

  1. #==============================================================================
  2. module XdRs
  3.   #--------------------------------------------------------------------------
  4.   #100级时,角色增加的攻击力,物防和魔防。格式:角色ID => [攻击力,物防,魔防]
  5.   Level_add_data = {1=>[100,60,35],2=>[85,50,55]}
  6.   #--------------------------------------------------------------------------
  7.   #攻击以4项属性的百分比附加。
  8.   #格式:[力量百分比,敏捷百分比,速度百分比,智力百分比]
  9.   Properties_atk_rate = [50,0,0,0]
  10.   #--------------------------------------------------------------------------
  11.   #物防以4项属性的百分比附加。
  12.   Properties_pdef_rate = [0,30,0,0]
  13.   #--------------------------------------------------------------------------
  14.   #魔防以4项属性的百分比附加。
  15.   Properties_mdef_rate = [0,0,0,30]
  16.   #--------------------------------------------------------------------------
  17.   #未装备武器时攻击方动画ID。(格式:角色ID=>动画ID)
  18.   Eh_anm_id1 = {1=>10,2=>12}
  19.   #--------------------------------------------------------------------------
  20.   #未装备武器时对象方动画ID。(格式:角色ID=>动画ID)
  21.   Eh_anm_id2 = {1=>20,2=>21}
  22. #==============================================================================
  23.   #--------------------------------------------------------------------------
  24.   def self.ar_rate(type)
  25.     return [Properties_atk_rate,Properties_pdef_rate,Properties_mdef_rate][type]
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   def self.level_add(actor_id)
  29.     return Level_add_data[actor_id] || [0,0,0]
  30.   end
  31.    #--------------------------------------------------------------------------
  32.   def self.eh_anm1(actor_id)
  33.     return Eh_anm_id1[actor_id] || 0
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   def self.eh_anm2(actor_id)
  37.     return Eh_anm_id2[actor_id] || 0
  38.   end
  39. end
  40. #==============================================================================
  41. class Game_Actor < Game_Battler
  42.   #--------------------------------------------------------------------------
  43.   def level_increase(type)
  44.     return (XdRs.level_add(@actor_id)[type] * @level / 100.0).round
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   def attribute_increase(type)
  48.     data = [str,dex,agi,int]
  49.     rate = XdRs.ar_rate(type)
  50.     4.times{|i| data[i] = data[i] * rate[i] / 100}
  51.     return eval(data.join("+")) + level_increase(type)
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   def has_weapon?
  55.     return !!$data_weapons[@weapon_id]
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   alias xr_aia_base_atk base_atk
  59.   def base_atk
  60.     return xr_aia_base_atk + attribute_increase(0)
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   alias xr_aia_base_pdef base_pdef
  64.   def base_pdef
  65.     return xr_aia_base_pdef + attribute_increase(1)
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   alias xr_aia_base_mdef base_mdef
  69.   def base_mdef
  70.     return xr_aia_base_mdef + attribute_increase(2)
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   alias xr_aia_animation1_id animation1_id
  74.   def animation1_id
  75.     return has_weapon? ? xr_aia_animation1_id : XdRs.eh_anm1(@actor_id)
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   alias xr_aia_animation2_id animation2_id
  79.   def animation2_id
  80.     return has_weapon? ? xr_aia_animation2_id : XdRs.eh_anm2(@actor_id)
  81.   end
  82. end
  83. #==============================================================================
复制代码

评分

参与人数 1星屑 +100 收起 理由
RyanBern + 100 精品文章

查看全部评分

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

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
14
 楼主| 发表于 2017-12-28 21:45:20 | 只看该作者
SailCat 发表于 2017-12-27 23:05
用我的数据库备注插件,设定打开狂野模式,然后备注#price=999999;str_plus=1999;dex_plus=2999这样就行了
...

改了一会,能用了,写多少都行了,果然好用。
然后看到了 SEP 插件公共核心的96行
FRAME_RATE        = 40              # 游戏运行的帧率
我改80试了一下,速度提升很明显。
然后我就想,能不能做个开关锁某个按键,可以高倍速运行,
按住比如跟ps一样,按住X快速跳过重复对话,战斗时候高速运行,松开立即返回原始速率,就是40帧的那个,感觉特别实用啊。就是不知道怎么做。
估计类似的应用还有很多。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1387
在线时间
184 小时
注册时间
2007-2-28
帖子
145
13
发表于 2017-12-28 17:21:11 | 只看该作者
本帖最后由 梦幻想 于 2017-12-28 17:29 编辑

说错了,自删
回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

开拓者

11
发表于 2017-12-28 16:22:34 | 只看该作者
简单的改一下还是行得通的

  1. #==============================================================================
  2. module XdRs
  3.   #--------------------------------------------------------------------------
  4.   #每升一级,角色增加的攻击力,物防和魔防。格式:角色ID => [攻击力,物防,魔防]
  5.   Level_add_data = {1=>[5,3,3],2=>[2,3,3]}
  6.   #--------------------------------------------------------------------------
  7.   #攻击以4项属性的百分比附加。
  8.   #格式:[力量百分比,敏捷百分比,速度百分比,智力百分比]
  9.   Properties_atk_rate = [50,0,0,0]
  10.   #--------------------------------------------------------------------------
  11.   #物防以4项属性的百分比附加。
  12.   Properties_pdef_rate = [0,30,0,0]
  13.   #--------------------------------------------------------------------------
  14.   #魔防以4项属性的百分比附加。
  15.   Properties_mdef_rate = [0,0,0,30]
  16.   #--------------------------------------------------------------------------
  17.   #未装备武器时攻击方动画ID。(格式:角色ID=>动画ID)
  18.   Eh_anm_id1 = {1=>10,2=>12}
  19.   #--------------------------------------------------------------------------
  20.   #未装备武器时对象方动画ID。(格式:角色ID=>动画ID)
  21.   Eh_anm_id2 = {1=>20,2=>21}
  22. #==============================================================================
  23.   #--------------------------------------------------------------------------
  24.   def self.ar_rate(type)
  25.     return [Properties_atk_rate,Properties_pdef_rate,Properties_mdef_rate][type]
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   def self.level_add(actor_id)
  29.     return Level_add_data[actor_id] || [0,0,0]
  30.   end
  31.    #--------------------------------------------------------------------------
  32.   def self.eh_anm1(actor_id)
  33.     return Eh_anm_id1[actor_id] || 0
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   def self.eh_anm2(actor_id)
  37.     return Eh_anm_id2[actor_id] || 0
  38.   end
  39. end
  40. #==============================================================================
  41. class Game_Actor < Game_Battler
  42.   #--------------------------------------------------------------------------
  43.   def level_increase(type)
  44.     return XdRs.level_add(@actor_id)[type] * @level
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   def attribute_increase(type)
  48.     data = [str,dex,agi,int]
  49.     rate = XdRs.ar_rate(type)
  50.     4.times{|i| data[i] = data[i] * rate[i] / 100}
  51.     return eval(data.join("+")) + level_increase(type)
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   def has_weapon?
  55.     return !!$data_weapons[@weapon_id]
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   alias xr_aia_base_atk base_atk
  59.   def base_atk
  60.     return xr_aia_base_atk + attribute_increase(0)
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   alias xr_aia_base_pdef base_pdef
  64.   def base_pdef
  65.     return xr_aia_base_pdef + attribute_increase(1)
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   alias xr_aia_base_mdef base_mdef
  69.   def base_mdef
  70.     return xr_aia_base_mdef + attribute_increase(2)
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   alias xr_aia_animation1_id animation1_id
  74.   def animation1_id
  75.     return has_weapon? ? xr_aia_animation1_id : XdRs.eh_anm1(@actor_id)
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   alias xr_aia_animation2_id animation2_id
  79.   def animation2_id
  80.     return has_weapon? ? xr_aia_animation2_id : XdRs.eh_anm2(@actor_id)
  81.   end
  82. end
  83. #==============================================================================
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
10
 楼主| 发表于 2017-12-28 15:51:50 | 只看该作者
本帖最后由 89444640 于 2017-12-28 16:24 编辑
芯☆淡茹水 发表于 2017-12-28 15:19
数据库设物防魔防?数据库哪儿能设?没地方了,除非你舍弃两项属性不要。
也可以迂回,设置几个空白角色 ...


数据库这个……没地方确实有点可惜了,如果用您的这种方式,太过不利于设置,角色众多,太复杂,难以控制……还是用现在的脚本试试吧

感觉上,在没办法的情况下,按照力量/防御  智力/魔防这样来,还算较为合理,防御力稍微提供一点即可,比如30%,让角色不至于完全靠新装备增加防御力。

但是这么设置的副作用,法师类角色攻击低了打不动人,我普通动画等于白做,攻击高了防御又上来了……
不过如果用那个装备注释脚本,让双刀流之类的用注释减少防御,法师的魔法书也减少防御,也算间接的找了个平衡。

空手动画直可以接播放打击,但是只能做到这样了,无法关联己方动作,不过……几乎没有空手战斗的时候。也算能接受。总比空手没攻击强多了。
再或者我看看从出手方动画下手,播放个比如通用型漫画式表情,敌人也播放个同类的小表情表示被吓得掉血了什么的,也还算合理。——看我用眼神杀死你XD

话说真不知道xp做时候怎么想的……居然没防御就全靠装备,可能是出于玩家操作简便吧。

多谢提供脚本~刚发现有新的脚本了,我试一下,角色动画ID这个看明白了,就是让每个角色对应一个出售动画和命中动画,嗯,感觉这样好多了。除了主角衣服太多,空手时候衣服可能和待机的衣服不一样,这个,我加个换衣服的斗篷解决吧。但是这个下美工需求- -b,咳咳,擦血……我也可以都用一个命中效果嘛~
当然,不缺美工的画,可以给除主角外的角色做个因为没带武器而不得不空手攻击时的窘迫动作,
比如咲夜从大腿下面得飞刀带子拿飞刀发现没有了,于是过去给了敌人一脚,诸如此类,想想就会很有意思,估计我要是玩家的话,会故意给每个角色都拆下装备去攻击看看的。


那个前面的的脚本,
#每升一级,角色增加的攻击力,物防和魔防。格式:[攻击力,物防,魔防]
  Level_add = [5,3,3]
这样的话每个角色都一样了,请教分角色ID编号分别书写各自攻击、防御、魔防增加格式模板。
if chacterid=1 then 什么什么的,抱歉,我不会写

刚才我继续思考,1~99
一共有98次升级,+3 294 +2 196 +1 98……好吧,角色差异差的太大了。
看来如果找平衡,增加总数值固定,每个等级增加的数值按照随机分配的整数。
攻击力 角色1 战士总计+100 角色2 圣骑士总计+85 角色3 盗贼总计+75 角色4 法师总计+70
最高与最低不至于查一倍,
回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

开拓者

9
发表于 2017-12-28 15:38:01 | 只看该作者
也许稍微这样改一下更贴切点

  1. #==============================================================================
  2. module XdRs
  3.   #--------------------------------------------------------------------------
  4.   #每升一级,角色增加的攻击力,物防和魔防。格式:[攻击力,物防,魔防]
  5.   Level_add = [5,3,3]
  6.   #--------------------------------------------------------------------------
  7.   #攻击以4项属性的百分比附加。
  8.   #格式:[力量百分比,敏捷百分比,速度百分比,智力百分比]
  9.   Properties_atk_rate = [50,0,0,0]
  10.   #--------------------------------------------------------------------------
  11.   #物防以4项属性的百分比附加。
  12.   Properties_pdef_rate = [0,30,0,0]
  13.   #--------------------------------------------------------------------------
  14.   #魔防以4项属性的百分比附加。
  15.   Properties_mdef_rate = [0,0,0,30]
  16.   #--------------------------------------------------------------------------
  17.   #未装备武器时攻击方动画ID。(格式:角色ID=>动画ID)
  18.   Eh_anm_id1 = {1=>10,2=>12}
  19.   #--------------------------------------------------------------------------
  20.   #未装备武器时对象方动画ID。(格式:角色ID=>动画ID)
  21.   Eh_anm_id2 = {1=>20,2=>21}
  22. #==============================================================================
  23.   #--------------------------------------------------------------------------
  24.   def self.ar_rate(type)
  25.     return [Properties_atk_rate,Properties_pdef_rate,Properties_mdef_rate][type]
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   def self.eh_anm1(actor_id)
  29.     return Eh_anm_id1[actor_id] || 0
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   def self.eh_anm2(actor_id)
  33.     return Eh_anm_id2[actor_id] || 0
  34.   end
  35. end
  36. #==============================================================================
  37. class Game_Actor < Game_Battler
  38.   #--------------------------------------------------------------------------
  39.   def level_increase(type)
  40.     return XdRs::Level_add[type] * @level
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   def attribute_increase(type)
  44.     data = [str,dex,agi,int]
  45.     rate = XdRs.ar_rate(type)
  46.     4.times{|i| data[i] = data[i] * rate[i] / 100}
  47.     return eval(data.join("+")) + level_increase(type)
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   def has_weapon?
  51.     return !!$data_weapons[@weapon_id]
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   alias xr_aia_base_atk base_atk
  55.   def base_atk
  56.     return xr_aia_base_atk + attribute_increase(0)
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   alias xr_aia_base_pdef base_pdef
  60.   def base_pdef
  61.     return xr_aia_base_pdef + attribute_increase(1)
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   alias xr_aia_base_mdef base_mdef
  65.   def base_mdef
  66.     return xr_aia_base_mdef + attribute_increase(2)
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   alias xr_aia_animation1_id animation1_id
  70.   def animation1_id
  71.     return has_weapon? ? xr_aia_animation1_id : XdRs.eh_anm1(@actor_id)
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   alias xr_aia_animation2_id animation2_id
  75.   def animation2_id
  76.     return has_weapon? ? xr_aia_animation2_id : XdRs.eh_anm2(@actor_id)
  77.   end
  78. end
  79. #==============================================================================
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

开拓者

8
发表于 2017-12-28 15:19:12 | 只看该作者
89444640 发表于 2017-12-28 12:29
谢谢,
这个效果看上去比较接近想要的,角色本身防御、魔防,不过用于描述会有问题。
智力/魔防还可以接 ...

数据库设物防魔防?数据库哪儿能设?没地方了,除非你舍弃两项属性不要。
也可以迂回,设置几个空白角色某两曲线为物防和魔防的模板,然后每个角色关联相应的模板角色ID。

至于空手动画,全动画脚本肯定不适用。
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
7
 楼主| 发表于 2017-12-28 12:29:30 | 只看该作者
本帖最后由 89444640 于 2017-12-28 12:34 编辑
芯☆淡茹水 发表于 2017-12-28 10:33
这个以前做过类似的效果:


谢谢,
这个效果看上去比较接近想要的,角色本身防御、魔防,不过用于描述会有问题。
智力/魔防还可以接受,
敏捷/物防 这两个属性牵扯到一起很难解释的比较合理啊……,而且默认敏捷,也就是默认用于的灵巧,还牵扯到命中率……
让角色单独增加防御力、魔法防御力,在数据库中设定,随着等级提升而提升,估计……冲突会很多……
但是脚本这种加防御力的方法……要不……力量影响物理防御,智力影响魔法防御?这样较为合理?
未装备武器动画这个,可能我的也不太适用,因为每个角色不同武器攻击动作都不一样,只用对象方动画攻击方动画描述注销就行了吧?试了一下不行……留空白动画吧


回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

开拓者

6
发表于 2017-12-28 10:33:30 | 只看该作者
本帖最后由 芯☆淡茹水 于 2017-12-28 10:57 编辑

这个以前做过类似的效果:

  1. #==============================================================================
  2. module XdRs
  3.   #--------------------------------------------------------------------------
  4.   #攻击以4项属性的百分比附加。
  5.   #数组格式:[力量百分比,敏捷百分比,速度百分比,智力百分比]
  6.   Properties_atk_rate = [50,0,0,0]
  7.   #--------------------------------------------------------------------------
  8.   #物防以4项属性的百分比附加。
  9.   Properties_pdef_rate = [0,30,0,0]
  10.   #--------------------------------------------------------------------------
  11.   #魔防以4项属性的百分比附加。
  12.   Properties_mdef_rate = [0,0,0,30]
  13.   #--------------------------------------------------------------------------
  14.   #未装备武器时攻击方动画ID。
  15.   Eh_anm_id1 = 0
  16.   #--------------------------------------------------------------------------
  17.   #未装备武器时对象方动画ID。
  18.   Eh_anm_id2 = 0
  19. end
  20. #==============================================================================
  21. class Game_Actor < Game_Battler
  22.   #--------------------------------------------------------------------------
  23.   def attribute_increase(rate)
  24.     data = [str,dex,agi,int]
  25.     4.times{|i| data[i] = data[i] * rate[i] / 100}
  26.     return eval data.join("+")
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   def has_weapon?
  30.     return !!$data_weapons[@weapon_id]
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   alias xr_aia_base_atk base_atk
  34.   def base_atk
  35.     return xr_aia_base_atk + attribute_increase(XdRs::Properties_atk_rate)
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   alias xr_aia_base_pdef base_pdef
  39.   def base_pdef
  40.     return xr_aia_base_pdef + attribute_increase(XdRs::Properties_pdef_rate)
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   alias xr_aia_base_mdef base_mdef
  44.   def base_mdef
  45.     return xr_aia_base_mdef + attribute_increase(XdRs::Properties_mdef_rate)
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   alias xr_aia_animation1_id animation1_id
  49.   def animation1_id
  50.     return has_weapon? ? xr_aia_animation1_id : XdRs::Eh_anm_id1
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   alias xr_aia_animation2_id animation2_id
  54.   def animation2_id
  55.     return has_weapon? ? xr_aia_animation2_id : XdRs::Eh_anm_id2
  56.   end
  57. end
  58. #==============================================================================
复制代码

评分

参与人数 1+1 收起 理由
89444640 + 1 非常感谢

查看全部评分

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 10:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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