Project1

标题: 請問有方法鎖定參戰角色嗎? [打印本页]

作者: grayshadow    时间: 2013-3-8 11:08
标题: 請問有方法鎖定參戰角色嗎?
本帖最后由 grayshadow 于 2013-3-8 23:59 编辑

各位大大好!
不好意思,又有問題需要請教大大們了。
想問一下,如果我想強制規定隊伍中的兩個角色參加每一場戰鬥,
也不許他們從隊伍中被換掉,應該怎麼辦呢?

其實小弟想要做到的效果就是「模擬」戰鬥寵物的系統,
就是說,有兩名主角,可以配上不同的寵物當伙伴。

不知這是否需要動用腳本?
請指教。謝謝!
作者: j433463    时间: 2013-3-8 12:15
本帖最后由 j433463 于 2013-3-8 12:17 编辑

如果只是要保持两个角色在队伍中不被换位置,倒是可以做到,在设置初期队伍时把两个角色放在最前面四个内,譬如第一位和第三位,那么他们的 index 值就是 0 和 2,默认的队伍前四个是战斗者。

Game_party 中有个交换顺序的 def swap_order 在第一行加个判断:
  1.     if index1 == 0 or index2 == 0 or index1 == 2 or index2 == 2
  2.       Sound.play_buzzer
  3.       return
  4.     end
复制代码
这样就不能在菜单的整队选项中换掉第一位与第三位的角色位置了,可以选择,但是按确定时会发出整队无效的音效,交换不起作用。
作者: grayshadow    时间: 2013-3-8 14:55
喔~ 原來如此!謝謝大大了!
不過,不好意思,還想再問一問,
如果我是想讓第二名角色晚些再加入,
上面的方法是否還可行呢?
作者: 千昭    时间: 2013-3-8 15:33
加入离队 不都是游戏制作者决定的么···

晚些加入时用脚本换掉顺序$game_party.swap_order (2,index)    index=最后加入的id
作者: j433463    时间: 2013-3-8 15:55
本帖最后由 j433463 于 2013-3-8 15:57 编辑

我那修改了 swap_order 恐怕不能再用 $game_party.swap_order (2,index) 来换第三位的顺序,已经彻底封死了第一位和第三位的交换位置,

如果要照楼上这样方式做,就不能用之前我那修改方式,而是改在 Scene_Menu 中找到 def on_formation_ok 后,在第一行加上:
  1.     if @status_window.index == 0 or @status_window.index == 2
  2.       Sound.play_buzzer
  3.       @status_window.pending_index = -1
  4.       @status_window.activate
  5.       return
  6.     end
复制代码
这样子虽然菜单整队不能换第一位与第三位的顺序,但是楼上的脚本方式还是可以有效果。

但是,您能保证后来加入的角色会刚好在第三位或第一位吗?如果不能,还是会有问题啊!
作者: grayshadow    时间: 2013-3-8 23:57
嗯,其實在故事情節方面,的確準備讓第二名角色早早加入,
所以應該是沒甚麼問題吧。
謝謝兩位大大幫大忙了!

說起來,之前在 Code Crush 那邊有見過能做到類似效果的精靈系統,
不過因為不懂得怎麼把夥伴精靈搬進戰鬥對伍,只好作罷了…
作者: j433463    时间: 2013-3-9 01:12
我印象中有这个精灵脚本,好像是精灵力入后会使角色的战斗力提升,技能升级,但精灵并不会参予战斗,只是做到增加角色实力的功能,说起来,也不是真的加入到队伍战斗者行列。
作者: grayshadow    时间: 2013-3-9 01:26
原來如此~ 當初小弟還以為是因為自己沒讀懂它的用法,
原來是本來就沒有把精靈放進隊伍啊~

嗯,還是大大們提供的方法比較適合小弟,
謝囉!
作者: grayshadow    时间: 2013-3-9 02:33
沒錯,正是從該日站看到的。




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