Project1

标题: RMXP中怎么让敌人属性突破 [打印本页]

作者: summer依恋    时间: 2011-10-6 17:38
标题: RMXP中怎么让敌人属性突破
就是这样
可以是脚本
也可以用事件方法,要教教我,自己不会,弄了一下午,还是没懂用事件加敌人能力dsu_plus_rewardpost_czw
作者: 77777741    时间: 2011-10-6 18:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: summer依恋    时间: 2011-10-6 18:20
本帖最后由 summer依恋 于 2011-10-6 18:21 编辑
77777741 发表于 2011-10-6 18:15
插入下面的脚本!~~(很明显了,只要改变下面的那几个9,就可以了,随意自己修改!)没有什么好讲的啊,插 ...


这个脚本,修改的是敌人的属性? 还是自己的?


summer依恋于2011-10-6 23:37补充以下内容:
那请问,具体怎么改?在数据库的敌人里 是不是不能直接改的?
作者: 77777741    时间: 2011-10-7 09:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: summer依恋    时间: 2011-10-7 19:29
77777741 发表于 2011-10-7 09:15
在数据库里那是没法直接改的。(我是这么觉得~=m=)
比如在战斗中,第一回合就给敌人强制加入一个状态,: ...

还有一个问题,就是大大你能做一个工程吗?
看我问题,就是没弄懂事件怎么设置
所以,麻烦你了

作者: 我不是字母君    时间: 2011-10-7 20:27
http://www.66rpg.com/htm/news688.htm
作者: summer依恋    时间: 2011-10-8 09:06
我不是字母君 发表于 2011-10-7 20:27
http://www.66rpg.com/htm/news688.htm

这个帖子看到过
但有问题,比如开头脚本 敌人id214 是在那里,我在我的脚本里找不到
game_battler我的脚本里没有 只有game_battler1 game_battler2.。。。。什么的
作者: 我不是字母君    时间: 2011-10-8 09:39
summer依恋 发表于 2011-10-8 09:06
这个帖子看到过
但有问题,比如开头脚本 敌人id214 是在那里,我在我的脚本里找不到
game_battler我的脚 ...

看范例吧!
注意Game_Enemy.需要大量修改
Game_Battler1与Game_Actor直接照搬。
删掉你游戏中的脚本,复制上范例中的脚本。 突破上限.7z (181.89 KB, 下载次数: 117)
作者: summer依恋    时间: 2011-10-8 17:47
我不是字母君 发表于 2011-10-8 09:39
看范例吧!
注意Game_Enemy.需要大量修改
Game_Battler1与Game_Actor直接照搬。

Game_Enemy 这个里面 的id=33只是针对的一个敌人吧
要修改其他id的敌人还需要复制下面的内容,把id改一下就可以了吗?
<#--------------------------------------------------------------------------
  # ● 获取基本 MaxHP
  #--------------------------------------------------------------------------
  def base_maxhp
    #突破
    if @enemy_id==33
      return 99999999
    end
    return $data_enemies[@enemy_id].maxhp
  end
  #--------------------------------------------------------------------------
  # ● 获取基本 MaxSP
  #--------------------------------------------------------------------------
  def base_maxsp
    #突破
    if @enemy_id==33
      return 99999999
    end
    return $data_enemies[@enemy_id].maxsp
  end
  #--------------------------------------------------------------------------
  # ● 获取基本力量
  #--------------------------------------------------------------------------
  def base_str
    #突破
    if @enemy_id==33
      return 9999
    end
    return $data_enemies[@enemy_id].str
  end
  #--------------------------------------------------------------------------
  # ● 获取基本灵巧
  #--------------------------------------------------------------------------
  def base_dex
    #突破
    if @enemy_id==33
      return 9999
    end
    return $data_enemies[@enemy_id].dex
  end
  #--------------------------------------------------------------------------
  # ● 获取基本速度
  #--------------------------------------------------------------------------
  def base_agi
    #突破
    if @enemy_id==33
      return 9999
    end
    return $data_enemies[@enemy_id].agi
  end
  #--------------------------------------------------------------------------
  # ● 获取基本魔力
  #--------------------------------------------------------------------------
  def base_int
    #突破
    if @enemy_id==33
      return 9999
    end
    return $data_enemies[@enemy_id].int
  end
  #--------------------------------------------------------------------------
  # ● 获取基本攻击力
  #--------------------------------------------------------------------------
  def base_atk
    #突破
    if @enemy_id==33
      return 9999
    end
    return $data_enemies[@enemy_id].atk
  end
  #--------------------------------------------------------------------------
  # ● 获取基本物理防御
  #--------------------------------------------------------------------------
  def base_pdef
    #突破
    if @enemy_id==33
      return 9999
    end
    return $data_enemies[@enemy_id].pdef
  end
  #--------------------------------------------------------------------------
  # ● 获取基本魔法防御
  #--------------------------------------------------------------------------
  def base_mdef
    #突破!
    if @enemy_id==33
      return 9999
    end
    return $data_enemies[@enemy_id].mdef
  end
  #--------------------------------------------------------------------------
  # ● 获取基本回避修正
  #--------------------------------------------------------------------------
  def base_eva
    #突破!
    if @enemy_id==33
      return 9999
    end
    return $data_enemies[@enemy_id].eva
  end>

作者: 我不是字母君    时间: 2011-10-8 17:49
本帖最后由 我不是字母君 于 2011-10-8 18:00 编辑

复制一下,改下ID就可以.求认可!!!
另:强烈不推荐楼上数字君的那个脚本。会导致角色属性紊乱。不信你试试。
你可以建立一个队伍,和太上老君对战一次。你会发现多高的等级都无法打败他
比如说让34号敌人强力化:
def base_maxhp
    #突破
    if @enemy_id==33
      return 99999999
    end
if @enemy_id==34
      return 12345678
    end
    return $data_enemies[@enemy_id].maxhp
  end
  #--------------------------------------------------------------------------
  # ● 获取基本 MaxSP
  #--------------------------------------------------------------------------
  def base_maxsp
    #突破
    if @enemy_id==33
      return 99999999
    end
if @enemy_id==34
      return 12345678
    end
    return $data_enemies[@enemy_id].maxsp
  end
  #--------------------------------------------------------------------------
  # ● 获取基本力量
  #--------------------------------------------------------------------------
  def base_str
    #突破
    if @enemy_id==33
      return 9999
    end
if @enemy_id==34
      return 1234
    end
    return $data_enemies[@enemy_id].str
  end
  #--------------------------------------------------------------------------
  # ● 获取基本灵巧
  #--------------------------------------------------------------------------
  def base_dex
    #突破
    if @enemy_id==33
      return 9999
    end
if @enemy_id==34
      return 1234
    end
    return $data_enemies[@enemy_id].dex
  end
  #--------------------------------------------------------------------------
  # ● 获取基本速度
  #--------------------------------------------------------------------------
  def base_agi
    #突破
    if @enemy_id==33
      return 9999
    end
if @enemy_id==34
      return 1234
    end
    return $data_enemies[@enemy_id].agi
  end
  #--------------------------------------------------------------------------
  # ● 获取基本魔力
  #--------------------------------------------------------------------------
  def base_int
    #突破
    if @enemy_id==33
      return 9999
    end
if @enemy_id==34
      return 1234
    end
    return $data_enemies[@enemy_id].int
  end
  #--------------------------------------------------------------------------
  # ● 获取基本攻击力
  #--------------------------------------------------------------------------
  def base_atk
    #突破
    if @enemy_id==33
      return 9999
    end
if @enemy_id==34
      return 1234
    end
    return $data_enemies[@enemy_id].atk
  end
  #--------------------------------------------------------------------------
  # ● 获取基本物理防御
  #--------------------------------------------------------------------------
  def base_pdef
    #突破
    if @enemy_id==33
      return 9999
    end
if @enemy_id==34
      return 1234
    end
    return $data_enemies[@enemy_id].pdef
  end
  #--------------------------------------------------------------------------
  # ● 获取基本魔法防御
  #--------------------------------------------------------------------------
  def base_mdef
    #突破!
    if @enemy_id==33
      return 9999
    end
if @enemy_id==34
      return 1234
    end
    return $data_enemies[@enemy_id].mdef
  end
  #--------------------------------------------------------------------------
  # ● 获取基本回避修正
  #--------------------------------------------------------------------------
  def base_eva
    #突破!
    if @enemy_id==33
      return 9999
    end
if @enemy_id==34
      return 1234
    end
    return $data_enemies[@enemy_id].eva
  end
作者: summer依恋    时间: 2011-10-8 22:25
我不是字母君 发表于 2011-10-8 17:49
复制一下,改下ID就可以.求认可!!!
另:强烈不推荐楼上数字君的那个脚本。会导致角色属性紊乱。不信你试 ...

这个。。。。你说数字君那个脚本有问题
那么 字母君 你有更好的脚本?
话说 一个数字君 一个字母君 强悍
作者: 我不是字母君    时间: 2011-10-9 09:28
只要找到脚本中所有带999,9999的地方,统统扩大
999扩大为99999
9999扩大为999999
就可以了。非常简单
Ctrl+Shift+F全局搜索不要告诉我你不会
作者: 526832541    时间: 2011-10-9 13:13
怎么让敌人属性突破??


526832541于2011-10-9 13:17补充以下内容:
我有个很好的方法!不需要任何脚本就能让敌人的属性突破999,并且提高一倍的属性!
好,下面我就把这方法告诉你,在战斗事件中设置给你所指定的怪物附加一个状态,
状态效果是:最大HP200%,最大MP200%,最大力量200%,除了回避以外 其他的都提升到200%,这样的话就能让敌人的属性突破999限制了!如果这样还不够的话,那就再附加个状态2,效果也是提升200%属性,这样就能制作出超级无敌的大BOSS了!我制作大荒也是这样设置BOSS的
作者: summer依恋    时间: 2011-10-9 13:22
我不是字母君 发表于 2011-10-9 09:28
只要找到脚本中所有带999,9999的地方,统统扩大
999扩大为99999
9999扩大为999999

不是这个的问题
主要你说的那个脚本有问题
如果有冲突的话
那又要找大人解决
哎 主要是看有没有冲突


summer依恋于2011-10-9 13:22补充以下内容:
事件吗?我提问提到了
主要是不会设置
求大大的指导工程
作者: 亿万星辰    时间: 2011-10-9 13:31
Game_Battler 1 里的前半部分有对于各种属性的控制,把里面的999改成9999之后仅仅是可以取到的最大值提高了,不过数据库的里属性还是没有变化的,

方法1:你可以设置一个公共事件专门用于对怪物的属性进行调整,具体的调整方法如下
  1. $data_enemies[怪物ID].str = 9999 # 力量
  2. $data_enemies[怪物ID].dex = 9999 # 灵巧
  3. $data_enemies[怪物ID].agi = 9999 # 速度
  4. $data_enemies[怪物ID].int = 9999 # 魔力
  5. $data_enemies[怪物ID].atk = 9999 # 攻击力
  6. $data_enemies[怪物ID].pdef = 9999 #物理防御
  7. $data_enemies[怪物ID].mdef = 9999 # 魔法防御
  8. $data_enemies[怪物ID].eva = 999 # 回避
复制代码
这就是动态修改数据库了~
方法2:直接通过脚本的方法更新数据库,然后一劳永逸,只是这样做以后,再对当前敌人的数据库参数进行编辑的话,这些已经破限的值会重新回到软件本身给的限定值,需要重新用脚本来更新数据库。
方法与上面基本相同,只是最后做一个数据库的保存操作,这里先不写了,免得错误的执行后导致工程无法打开。
作者: summer依恋    时间: 2011-10-9 14:15
亿万星辰 发表于 2011-10-9 13:31
Game_Battler 1 里的前半部分有对于各种属性的控制,把里面的999改成9999之后仅仅是可以取到的最大值提高了 ...

额 脑袋差了点
版主大大的没看懂
前面我说了 不管什么办法 只要能达到预期目的就可以了
前提是我能搞懂
本来是想直接设置事件的 但设置了自己试了试 貌似没效果
知道是自己没搞懂 求一设置事件工程 像13楼的那个
觉得200%不够 可以再加 只是具体方法我没懂
作者: 亿万星辰    时间: 2011-10-9 14:24
summer依恋 发表于 2011-10-9 14:15
额 脑袋差了点
版主大大的没看懂
前面我说了 不管什么办法 只要能达到预期目的就可以了

至于我为什么总是很少提供工程,其实也是有原因的,一般情况大家在得到自己想要的功能之后,往往就不会继续深入的去搞清楚是如何实现的,只是单纯的看到“啊,实现了!”,仅此而已,之后就继续制作。
紧接着在后续的制作过程中,遇到了冲突,基本上都是不加思索的直接来发帖子继续追加问题,其实只要稍微对之前的方法研究一下,完全可以把问题引刃而解,不过似乎不少人都做不到,或者说不愿意去做到这一步呢……

工程其实我也觉得没必要给了,修改的地方很少了,就是那些999改到大一些~
然后比如你想让100号敌人的力量达到2000,只需要在事件的脚本里这样写
$data_enemies[100].str = 2000
这样100号敌人的力量就是2000了,至于其他的属性可参考上面的回复,就是点后面的内容变一下而已。
不过这个操作建议最好是在每次战斗前都来执行一次(其实最好是在每次读档之后都执行一次,看自己是否有能力做到吧),避免存读档后造成的数据库还原而产生的问题。
作者: summer依恋    时间: 2011-10-9 14:40
亿万星辰 发表于 2011-10-9 14:24
至于我为什么总是很少提供工程,其实也是有原因的,一般情况大家在得到自己想要的功能之后,往往就不会继 ...

版主大大的意思是说
这个是在事件里添加脚本?
但我有几个问题
1:这个事件设置在哪里?
2:要设置的敌人很多时,还是只设置在一个里!


作者: 亿万星辰    时间: 2011-10-9 14:55
summer依恋 发表于 2011-10-9 14:40
版主大大的意思是说
这个是在事件里添加脚本?
但我有几个问题

公共事件,放一个就好了,把你需要修改的所有怪物的相关属性都写进去,每次读档后执行一次。
作者: summer依恋    时间: 2011-10-9 15:02
亿万星辰 发表于 2011-10-9 14:55
公共事件,放一个就好了,把你需要修改的所有怪物的相关属性都写进去,每次读档后执行一次。 ...

哦 懂了
版主大大你的意思是在 数据库 的公共事件里设置吧
但 每次读档后执行一次 是啥子意思?
作者: 亿万星辰    时间: 2011-10-9 15:12
summer依恋 发表于 2011-10-9 15:02
哦 懂了
版主大大你的意思是在 数据库 的公共事件里设置吧
但 每次读档后执行一次 是啥子意思? ...

因为每次读档后都会重新读取数据库文件,这样会导致怪物的参数全部还原为数据库中的未破限的数据。
可以自己找一下如何在读档后执行公共事件。
作者: summer依恋    时间: 2011-10-9 15:17
亿万星辰 发表于 2011-10-9 15:12
因为每次读档后都会重新读取数据库文件,这样会导致怪物的参数全部还原为数据库中的未破限的数据。
可以 ...

听起来很复杂的样子
刚在论坛和百度找了一下 就这一个:http://rpg.blue/thread-203214-1-1.html
表示我没找到具体方法
作者: 亿万星辰    时间: 2011-10-9 15:37
Scene_Load 的 read_save_data 方法最后 $game_temp.common_event_id = 公共事件ID
作者: summer依恋    时间: 2011-10-9 15:51
本帖最后由 summer依恋 于 2011-10-10 08:33 编辑
亿万星辰 发表于 2011-10-9 15:37
Scene_Load 的 read_save_data 方法最后 $game_temp.common_event_id = 公共事件ID


这个 脚本我用的是eve大大的
修改这个的话。。。。




summer依恋于2011-10-9 16:04补充以下内容:
麻烦版主大大了 搞了半天 还是木有懂 偶无语了
额 上课去了


summer依恋于2011-10-10 08:31补充以下内容:
额 版主大大 添加事件貌似没用啊 是我弄错了吗 看下图



summer依恋于2011-10-10 08:45补充以下内容:
汗 算了 版主大大辛苦了
我用了字母君的脚本




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