Project1

标题: 修改怪物属性有效度 [打印本页]

作者: woyaozhuce    时间: 2012-6-23 06:33
标题: 修改怪物属性有效度
最近呢,我想要给我的大工程量游戏再添加一个算小工程的功能吧。

【家里宽带断了等待维修的人,就是那么的蛋疼。不怕工程大就怕不大。】

就是添加游戏的难度模式。简单/困难/噩梦

困难和噩梦会提高怪物的属性、角色死亡掉落大量经验和提高怪物的掉宝掉钱几率。

能和游戏的增加掉宝掉钱几率的物品叠加。

-----------------------------以上是发帖必经的废话-------------------------

-----------------------------以下是正题!!!!!-------------------------
这次我不会请求脚本云云神马的了,(浮云~有木有) 我想自己做这个功能。

但我需要用到修改怪物属性有效度才能实现。

好吧,如何能在进入游戏中修改怪物的属性有效度。(只有这个小小的请求)

比如,能把1号怪物的属性有效度  兽类C 改为 兽类A

虽然我的经验只有区区的500不知道600.拿一半家产出来吧。


(还有一个小小的个人隐私就是。我不喜欢杂兵这个称呼。还是当流浪者吧,还不知道猴年马月能升级呢)

入选推荐问答
-BY 传子
dsu_plus_rewardpost_czw
作者: Mr.Puzzle    时间: 2012-6-23 06:59
本帖最后由 Mr.Puzzle 于 2012-6-23 07:03 编辑

用脚本
  1. $data_enemies[敌人ID].element_ranks[属性ID] = 1
复制代码
=后面的数值: 1代表A 2代表B 3代表C 以此类推
这个应该不用范例了吧?
作者: 腐琴琴    时间: 2012-6-23 09:10
本帖最后由 腐琴琴 于 2012-6-23 09:42 编辑

其实……我觉得可以建立几个长得一模一样的怪物,然后属性不一样。
怪物A:血少攻弱属性烂、怪物B:一切一般 、怪物C:血多攻强属性强
游戏开始开个开关,
如果开关1开了每次战斗打怪物A。
如果开关2开了每次战斗打怪物B。
如果开关3开了每次战斗打怪物C。
……虽然烦点,但是基本可行。
=============================================
好吧,事件不行的话你可以用脚本
找到“Game_Enemy”
  1. #--------------------------------------------------------------------------
  2.   # ● 获取基本 MaxHP
  3.   #--------------------------------------------------------------------------
  4.   def base_maxhp
  5.     return $data_enemies[@enemy_id].maxhp
  6.   end
复制代码
某一句改成
  1. return $data_enemies[@enemy_id].maxhp * $game_variables[1] / 100
复制代码
然后变量1一开始取100,那敌人血量就是数据库里的,如果写120,那就是百分之120了
其他也可以类似改法
关于属性的话
  1. table = [0,200,150,100,50,0,-100]
  2.     result = table[$data_enemies[@enemy_id].element_ranks[element_id ]]
  3.     # 状态能防御本属性的情况下效果减半
  4.     for i in @states
  5.       if $data_states[i].guard_element_set.include?(element_id)
  6.         result /= 2
  7.       end
  8.     end
复制代码
可以对着"element_id"
  1. element_id+ $game_variables[2]
复制代码
这样你开始如果变量2取0,那就是数据库里的属性,如果取1,就是后面的一个属性,如果取2就是后面第2个属性。
把属性排列排列整齐就好了……
作者: 幻耶    时间: 2012-6-23 13:54
本帖最后由 幻耶 于 2012-6-23 14:16 编辑

我记得怪物图鉴是这样的:不加入图鉴就属性有效度设置为A不显示,为C就是显示的。

可以这样:假设20号属性是不加入图鉴属性。普通难度下61~120号怪物该属性有效度设为A没有图鉴。普通难度打通就打开一开关(比如4号开关)然后在Scene_Load脚本的下面添加代码框里的部分,每次读取存档时当判断出4号开关打开就修改怪物的属性有效度:

  #--------------------------------------------------------------------------
  # ● 读取存档数据
  #     file : 读取用文件对像 (已经打开)
  #--------------------------------------------------------------------------
  def read_save_data(file)
    # 读取描绘存档文件用的角色数据
    characters = Marshal.load(file)
    # 读取测量游戏时间用画面计数
    Graphics.frame_count = Marshal.load(file)
    # 读取各种游戏对像
    $game_system        = Marshal.load(file)
    $game_switches      = Marshal.load(file)
    $game_variables     = Marshal.load(file)
    $game_self_switches = Marshal.load(file)
    $game_screen        = Marshal.load(file)
    $game_actors        = Marshal.load(file)
    $game_party         = Marshal.load(file)
    $game_troop         = Marshal.load(file)
    $game_map           = Marshal.load(file)
    $game_player        = Marshal.load(file)
  1.   if $game_switches[4] == true
  2.     for i in 61..120
  3.       $data_enemies[i].element_ranks[20] = 3
  4.     end
  5.   end
复制代码





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