查看: 1851|回复: 9

[已经解决] 角色问题

[复制链接]
梦石
0
星屑
50
在线时间
72 小时
注册时间
2013-9-25
回帖
68
发表于 2013-11-3 13:49:39 | 显示全部楼层 |阅读模式

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

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

×
怎么样做一个只能不能攻击敌人的角色???

例子:没有攻击选项换成防守或待击或回避或哭(哭如果能有点效果的也不错,如可能让敌人混乱等等)~>_<

因为我要做小小的角色~>_<

请指教,谢谢~>_<

点评

怎么样做一个只能不能攻击敌人的角色(看不懂意思)  发表于 2013-11-11 17:49
梦石
0
星屑
201
在线时间
835 小时
注册时间
2012-9-16
回帖
1598
发表于 2013-11-3 14:39:46 | 显示全部楼层
方法:选上大量VIP找人定制脚本

——旧坑欢迎戳
回复

使用道具 举报

送快递的水表员

梦石
10
星屑
5259
在线时间
3304 小时
注册时间
2012-6-27
回帖
7028

开拓者贵宾

发表于 2013-11-3 16:27:02 | 显示全部楼层
本帖最后由 Password 于 2013-11-6 21:48 编辑

改好了,按照楼主的要求,某个角色的战斗中行动只保留了防守和待机


以下为图文步骤:
1,Window_ActorCommand 下,建议用下面贴出的脚本全部替换掉:
[pre lang="ruby" line="1"]#==============================================================================
# ■ Window_ActorCommand
#------------------------------------------------------------------------------
#  选择角色命令(如「攻击」或「技能」)的窗口。
#==============================================================================

class Window_ActorCommand < Window_Command
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    super(128, [], 1, 4)
    self.active = false
  end
  #--------------------------------------------------------------------------
  # ● 设置
  #     actor : 角色
  #--------------------------------------------------------------------------
  def setup(actor)
    if actor.id == 2 # 小小的角色的ID
      s1 = "防守"
      s2 = "待机"
      @commands = [s1, s2]
      @item_max = 2
    else
      s1 = Vocab::attack
      s2 = Vocab::skill
      s3 = Vocab::guard
      s4 = Vocab::item
      if actor.class.skill_name_valid     # 是否指定职业技能文字
        s2 = actor.class.skill_name       # 替换「技能」命令文字
      end
      @commands = [s1, s2, s3, s4]
      @item_max = 4
    end
    refresh
    self.index = 0
  end
end
[/pre]

2,Scene_Battle 下,按照如图所示区域用下面脚本替换掉。
1.jpg
[pre lang="ruby" line="1"]#======================修改段开始========================
      when 0  # 攻击/防守
        Sound.play_decision
        if @active_battler.id == 2 # 小小的角色的ID
          @active_battler.action.set_guard
          next_actor
        else
          @active_battler.action.set_attack
          start_target_enemy_selection
        end
      when 1  # 技能/待机
        Sound.play_decision
        if @active_battler.id == 2 # 小小的角色的ID
          next_actor
        else
          start_skill_selection
        end
      #======================修改段结束========================[/pre]



另外,如果还有问题,可以参见下面的范例:
Project1.rar (238 KB, 下载次数: 64)
修改的脚本已经在脚本编辑器中的脚本名前用“★”标出,或者全局搜索“修改”也可以发现。



其实不是太难,至于闪避和哭的选项其实也能做,只不过改的东西就会更多了。
如果楼主非要要的话也可以考虑继续做……三天以后……



于是是否是这样的效果呢?经过简单测试,未出现明显BUG,如有BUG请点评本楼或者回复我。



最后附上默认工程的效果图:
1.jpg

评分

参与人数 1星屑 +150 梦石 +1 收起 理由
铃仙·优昙华院·因幡 + 150 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
72 小时
注册时间
2013-9-25
回帖
68
 楼主| 发表于 2013-11-3 20:41:33 | 显示全部楼层
Password 发表于 2013-11-3 16:27
改好了,按照楼主的要求,某个角色的战斗中行动只保留了防守和待机


以下为图文步骤:

战斗是按下战斗指令就这样了~>_<
2.jpg
1.jpg
回复

使用道具 举报

送快递的水表员

梦石
10
星屑
5259
在线时间
3304 小时
注册时间
2012-6-27
回帖
7028

开拓者贵宾

发表于 2013-11-3 22:07:07 | 显示全部楼层
keenamaun 发表于 2013-11-3 20:41
战斗是按下战斗指令就这样了~>_

我这里再次测试范例后未发现报错现象

看了下楼主发的图应该是楼主替换的位置错了。
Scene_Battle 下的那段脚本默认的话应该是替换在307行左右起的,
而且其属的定义为 def update_actor_command_selection
而非def update_party_command_selection

请仔细对照范例。

点评

要等待LZ认可,苏联君别急呀。  发表于 2013-11-3 22:37
↓很赞同就塞个糖啊泥煤 QAQ  发表于 2013-11-3 22:12
我很赞同。  发表于 2013-11-3 22:11
回复

使用道具 举报

梦石
0
星屑
50
在线时间
72 小时
注册时间
2013-9-25
回帖
68
 楼主| 发表于 2013-11-6 21:44:19 | 显示全部楼层
Password 发表于 2013-11-3 22:07
我这里再次测试范例后未发现报错现象

看了下楼主发的图应该是楼主替换的位置错了。

已经把脚本成功换上了

但是角色也是没有只能防守和待机

是不是脚本要写上对应的角色???

在那里写???

写什么???

点评

脚本中已经写好注释了,你确认你认真看了吗?  发表于 2013-11-6 21:46
回复

使用道具 举报

梦石
0
星屑
50
在线时间
72 小时
注册时间
2013-9-25
回帖
68
 楼主| 发表于 2013-11-8 22:30:07 | 显示全部楼层
keenamaun 发表于 2013-11-6 21:44
已经把脚本成功换上了

但是角色也是没有只能防守和待机

不会才问嘛~>_<

是把那“小小的角色的ID”换成角色名吗???

我已经换了,但是不能
回复

使用道具 举报

送快递的水表员

梦石
10
星屑
5259
在线时间
3304 小时
注册时间
2012-6-27
回帖
7028

开拓者贵宾

发表于 2013-11-8 22:58:53 | 显示全部楼层
keenamaun 发表于 2013-11-8 22:30
不会才问嘛~>_<

是把那“小小的角色的ID”换成角色名吗???

ID号,不是名字,数据库中人物名称前的阿拉伯数字,不用写零零几,直接写几号。

也就是老说的“几号角色”

这么一个简单的事说到这了总能理解了吧
回复

使用道具 举报

梦石
0
星屑
50
在线时间
72 小时
注册时间
2013-9-25
回帖
68
 楼主| 发表于 2013-11-8 22:59:52 | 显示全部楼层
keenamaun 发表于 2013-11-8 22:30
不会才问嘛~>_<

是把那“小小的角色的ID”换成角色名吗???

问题决解了
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部