注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 金庸群俠傳5+金庸无双 使用rpg maker进行简单的修改
楼主: oahp
打印 上一主题 下一主题

[心得] 使用rpg maker进行简单的修改  关闭 [复制链接]

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
61#
发表于 2013-8-4 21:45:35 |只看该作者
rcb66yn 发表于 2013-8-4 21:19
感谢楼主的分享!
请教一个问题:新角色初始技能如何设置。
比如晴天3.64版王语嫣的职业设定是有技能的,可 ...

不好意思
我这里没装3.64。只有3.65
在3.65里是正常的

使用道具 举报

帖子
176
精华
0
积分
88
金钱
1102
荣誉
0
人气
0
评议
0
62#
发表于 2013-8-4 22:05:52 |只看该作者
感谢牛人,太厉害了,搞个补丁吧

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
63#
发表于 2013-8-4 22:05:57 |只看该作者
刚才有朋友问了,我把难度设置补充清楚

在游戏开始的时候就设置
游戏开始的事件,在钟灵家右上角那个黑色的地方





附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
64#
发表于 2013-8-4 22:10:41 |只看该作者
拥抱今天 发表于 2013-8-4 22:05
感谢牛人,太厉害了,搞个补丁吧

授之以鱼不如授之以渔。暂时没打算搞补丁。

使用道具 举报

帖子
176
精华
0
积分
88
金钱
1102
荣誉
0
人气
0
评议
0
65#
发表于 2013-8-4 23:07:10 |只看该作者
刚才试了游戏难度有效,可以使用,太感谢了,顶起

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
66#
发表于 2013-8-5 21:52:10 |只看该作者
sh13587635945 发表于 2013-8-4 16:13
请问怎么修改技能。已有的 遗忘忘不了

选择角色,选择遗忘或者领悟,找一个事件触发一下就可以了

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
67#
发表于 2013-8-5 21:55:53 |只看该作者
今天,我接着讲修改

我们一起来修改一个稍微有点挑战的东西。
就是解决物品混乱的问题,我们的物品栏的确很乱,什么书,什么丹药,什么道具的混杂在一起。
那么我们做一个这样的修改,选择性的查看。我们模仿技能,把物品的后面加一个逗号,逗号后是一个数字
这个数字代表了物品的类别,我们选择不同的类别,查看到不同的物品。

这个修改稍微有一点点技术含量。我也证明一下,我开这个帖子,不是仅仅教大家作弊的

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
68#
发表于 2013-8-5 22:04:56 |只看该作者
我们先了解一下原先程序是怎么出来查看物品的

首先看到脚本

这里定义了热键,我们先模仿着点击2,查看物品,做一个点击7,查看物品的功能,这个功能本身没什么意思。只是先叫大家了解一下
我们先在这个脚本里加热键7

我们按住ctrl和shift两个一起按住,不要松开,接着点一下f键,出现搜索,我们搜索一下Scene_Item_Key
看到很多信息。
我们一个个的进去,参考着Scene_Item_Key,写出Scene_Item_Key2

最后写成几乎一样的代码





附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
69#
发表于 2013-8-5 22:09:13 |只看该作者


注意最后一个是一个完整的类。我们需要复制整个的类

class Scene_Item_Key2 < Scene_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     actor_index : 角色索引
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0)
    @actor_index = actor_index
    super()
  end
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main_start
    super
    # 获取角色
    @actor = $game_party.actors[@actor_index]
    # 生成帮助窗口、状态窗口、特技窗口
    @help_window = Window_Help.new
    @item_window = Window_Item2.new(1)
    @item_window.z -= 98
    @item_window.height = 256
    @item_window.back_opacity = 160
    @help_window.back_opacity = 160
    @key_window = Window_Item_KeyCommand.new
    @key_window.refresh(@actor)
    # 关联帮助窗口
    @item_window.help_window = @help_window
   
   
   @windows.push(@help_window)
   @windows.push(@item_window)
   @windows.push(@key_window)
  end
  def make_sprite
    @spriteset = Spriteset_Map.new
    @arpg_actor = ARPG_Actor.new
  end
  def dispose_sprite
    @spriteset.dispose
    @arpg_actor.dispose
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 刷新命令窗口
    @arpg_actor.update
    if @item_window.active
      update_item
      return
    end
    if @key_window.active
      update_key
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新技能窗口
  #--------------------------------------------------------------------------
  def update_item
    @item_window.update
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换到菜单画面
      $scene = Scene_Map.new
      return
    end
    # 按下 C 键的场合下
    if Input.trigger?(Input::C)
      item = @item_window.item
      return if !$game_party.item_can_use?(item.id)
      M.ok
      @item_window.active = false
      @key_window.active = true
      @key_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新选择键位
  #--------------------------------------------------------------------------
  def update_key
    @key_window.update
    if Input.trigger?(Input::C)
      item = @item_window.item
      case @key_window.index
      when 0
        key_start("Z",item)
      when 1
        key_start("X",item)
      when 2
        key_start("C",item)
      end
    end
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      @item_window.active = true
      @key_window.active = false
      @key_window.index = -1
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 设置键位
  #--------------------------------------------------------------------------
  def key_start(key,item)
    if item.nil?
      @actor.item_key[key] = 0
    else
      @actor.item_key[key] = item.id
    end
    @item_window.active = true
    @key_window.active = false
    @key_window.index = -1
    @key_window.refresh(@actor)
    M.eq
    return
  end
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 1 人评分人气 收起 理由
chendao2046 + 1 我靠这个牛逼了

总评分: 人气 + 1   查看全部评分

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
70#
发表于 2013-8-5 22:16:33 |只看该作者
这个时候,我们运行程序,会发现按2,和按7是一个效果了
以上的代码,大家尽量的理解,能理解多少就先理解多少。
通过源代码 @item_window = Window_Item.new()
我们知道了这个还需要修改Window_Item
而我上贴发的   @item_window = Window_Item2.new(1)
是我修改后的。
我们先拷贝一个 Window_Item
把拷贝的命名为Window_Item2
接着看

这里是我新添加的关键
就是获取物品的名字,做一个split分割,获取第二项
和变量1001比较
把等于变量1001的,选出来,存到数组里
这样就只显示设置的类别等于1001变量的啦
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

帖子
382
精华
0
积分
192
金钱
1842
荣誉
0
人气
6
评议
0
71#
发表于 2013-8-5 22:19:00 |只看该作者
楼主真心nb,版主不能沉这贴啊

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
72#
发表于 2013-8-5 22:22:26 |只看该作者
我们在修改数据库,首先要有1001这个变量
在修改处一个物品,叫辅助查看,样子是一本书
再去做一个公共事件,选择项目,改变1001这个变量,调用脚本,显示出来。
我们还要去修改物品的名称,加入,后面再加类别
我举例一下
加血的药,1
加内的药,2
我们只查看这两种药

附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
73#
发表于 2013-8-5 22:27:36 |只看该作者
最后上效果图
第一个是按2,正常查看的
然后就是借助辅助查看分类查看了





附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
74#
发表于 2013-8-5 22:32:16 |只看该作者
上面的程序基本没什么问题

开始我定义了
class Window_Item2 < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize(a)
    #super(142, 64, 320, 256)
    super(60, 34, 320, 256)
    @column_max = 4
    refresh
    self.index = 0
    @num=a
  end


加了一个@num=a

所以后面的有了new(1)
构造参数
其实可以不要用,我只是测试的时候用的。

如果大家照我的做,应该能实现这个的功能。

使用道具 举报

帖子
176
精华
0
积分
88
金钱
1102
荣誉
0
人气
0
评议
0
75#
发表于 2013-8-5 23:05:49 |只看该作者
真的很好的教学贴

使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
76#
发表于 2013-8-6 11:38:22 |只看该作者
下面我们讲讲自定义功体的问。
其实功体的原理很简单,你可以先把功体当成一种丹药,吃了就是各种属
性加一定的值。卸载了,就是各种属性减少一定的值。
只是功体的控制,更加严格
首先是定义某种功体加血,内,四维多少值。每次升级,这6个变量都记
录一下。升级的时候,固定的升级一定的值。比如内丹功,每次升级加四
维5点。而6个变量。记录累计的总数,装备功体,就是加上这个累计的总
数。卸载功体,就是卸载这个数字
而功体是针对人的。如果是小伙伴需要,那么就给小伙伴加属性。其实就
是角色不同罢了
而功体,还有一个控制,就是一个变量。叫0875 控制是否已经运行功体
了。这个变量是给主角用的。所以主角的功体不能重复。如果是其他的小
伙伴。也有自己的开关去判断自己是不是已经运行功体了
如果我们把这个开关修改一下。我们就可以实现了多功体。一个人有多个功体。属性是累计的。


使用道具 举报

金庸无双工作组【技术】

帖子
437
精华
1
积分
628
金钱
7330
荣誉
19
人气
190
评议
0
77#
发表于 2013-8-6 11:41:25 |只看该作者

我这里自定义一个新功体。如果是我最上面的判断是某队友
下面的增加能力,也选择那个队友。这个功体就是给队友用的
如果我这里定义的开关,换成打木桩上面的东西。必然不发生,那么这个功体可以无限制的运行。我们也可以无限制的加属性
或者是和其他功体一起运行
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

帖子
889
精华
0
积分
537
金钱
3410
荣誉
9
人气
19
评议
0
78#
发表于 2013-8-6 11:56:21 |只看该作者
学习了,感谢指导

使用道具 举报

帖子
176
精华
0
积分
88
金钱
1102
荣誉
0
人气
0
评议
0
79#
发表于 2013-8-6 12:47:57 |只看该作者
顶起

使用道具 举报

帖子
231
精华
0
积分
146
金钱
1985
荣誉
3
人气
5
评议
0
80#
发表于 2013-8-6 13:50:42 |只看该作者
清歌未切 发表于 2013-8-4 16:51
这个很简单
你在公共事件中找一个你已有的技能(这个技能不需要你删除),然后右键编辑它,可以选择领悟或者 ...

试过了 没用。

使用道具 举报

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

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-6-12 15:32 , Processed in 0.379735 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到