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

Project1

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

关于用箭头指定物品使用者的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
跳转到指定楼层
1
发表于 2008-2-26 20:51:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
战斗中使用物品时会用箭头来指定回复类药品的使用者,能不能让处于某状态的角色不能用箭头来指定,当试图指向他时,箭头只会跳到下一个角色,除非解除该状态
版务信息:本贴由楼主自主结贴~

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

2
发表于 2008-2-26 21:48:11 | 只看该作者
换句话说,这个角色不能使用物品,也不能被使用是吧?
这个问题到现在似乎还没有好的解决方案。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1035
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

3
发表于 2008-2-26 23:36:57 | 只看该作者
其實很簡單啦……==
只要在腳本裏面改變兩樣東西
1.Arrow_Actor裏面的update方法裏面加多個判斷:
如果角色中了某種狀態,光標自動跳過。
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    super
    # 光标右
    if Input.repeat?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @index += 1
#----------------------------
      if $game_party.actors[@index].state?(狀態id)
        @index += 1
      end
#----------------------------
      @index %= $game_party.actors.size
    end
    # 光标左
    if Input.repeat?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      @index += $game_party.actors.size - 1
#----------------------------
      if $game_party.actors[@index].state?(狀態id)
        @index -= 1
      end
#----------------------------
      @index %= $game_party.actors.size
    end
    # 设置活动块坐标
    if self.actor != nil
      self.x = self.actor.screen_x
      self.y = self.actor.screen_y
    end
  end

2。要在scene_battle 3的start_actor_select方法中添加判斷:
如果角色中了某種狀態,光標不初始化在這個角色身上
  #--------------------------------------------------------------------------
  # ● 开始选择角色
  #--------------------------------------------------------------------------
  def start_actor_select
    # 生成角色箭头
    @actor_arrow = Arrow_Actor.new(@spriteset.viewport2)
#----------------------------
    if $game_party.actors[@actor_index].state?(狀態id)
      if @actor_index == 0
        @actor_arrow.index = 1
      elsif @actor_index == $game_party.actors.size - 1
        @actor_arrow.index = @actor_index - 1
      end
    else
      @actor_arrow.index = @actor_index
    end
#----------------------------
    # 关联帮助窗口
    @actor_arrow.help_window = @help_window
    # 无效化角色指令窗口
    @actor_command_window.active = false
    @actor_command_window.visible = false
  end

理論上是這樣做,但是同樣,這樣改變的話,如果這個角色中了這種狀態,不止物品無法選擇他,就連技能也無法選擇他。因爲在默認的戰鬥系統裏面,技能的選擇和物品的選擇調用的是同一個方法。

因此,想要單獨是物品的話,就要按照上面的方法去寫一個新類(包括調用的選擇界面和在scene_battle 3當中的方法)。
在scene_battle 3的update_phase3_item_select方法當中替換start_actor_select語句
麻煩是麻煩一點了。如果不懂腳本的話就很難做得出來(應該==a)
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
4
 楼主| 发表于 2008-2-27 20:14:01 | 只看该作者
我就是要技能和物品都無法選擇他
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
5
 楼主| 发表于 2008-2-27 20:21:01 | 只看该作者
但是添加了上述脚本后在战斗中还是能把箭头指到特定状态中的角色,而且再移动一下箭头就出错了{/fd}


回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

6
发表于 2008-2-27 20:35:26 | 只看该作者
应该加成这样……

     if $game_party.actors[@index]!= nil and $game_party.actors[@index].state?(狀態id)
       @index += 1
     end

下边那个同理~~~
我猜……LZ是要做隐身效果咩?
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
7
 楼主| 发表于 2008-2-27 20:40:55 | 只看该作者
不是隐身,我用了超出四人的战斗,让超过四人以上的队员处于待命状态,不能用物品也无法参战,但是前面如果有人阵亡就可以用指令换上场去除待命状态
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

8
发表于 2008-2-27 20:42:18 | 只看该作者
个人感觉不应该用这个思路。。。这样的话不是还要重新写群体技能的判断咩?
于是LZ加油……
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
9
 楼主| 发表于 2008-2-27 20:49:20 | 只看该作者
其实别的问题都解决了,也可以正常游戏,就是四人以上的角色是隐藏在画面右端不可见的,如果能用物品选择到就不大美观。。。

又出现这个问题了:

回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

10
发表于 2008-2-27 20:50:26 | 只看该作者
参考着在scene_battle的相应位置改啊。。。。。。。
就是
if  $game_party.actors[@actor_index]!= nil and $game_party.actors[@actor_index].state?(状态ID)
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-2 13:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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