Project1

标题: 要如何制作出这些效果 [打印本页]

作者: sun62211112    时间: 2014-7-12 15:56
标题: 要如何制作出这些效果
请问一下,要如何用脚本编辑器做出以下的效果?

1.我想做出一个道具,让使用道具的人,能随机变更职业,然后不要变更到重复的职业

2.在有些地方,我想限制只能操纵一个人物,将剩下的人物先收起来,过了这地方之后再还给他(因为我有下载人物仓库的脚本,所以我希望能让玩家只选一个脚色,然后将剩下的存到仓库里)

谢谢
作者: SherryX    时间: 2014-7-12 16:36
本帖最后由 SherryX 于 2014-7-12 16:38 编辑

如果不用脚本的话是很简单的..
就比如你的第一个问题创造物品转职书
公共事件-更改职业
作者: sun62211112    时间: 2014-7-12 16:41
SherryX 发表于 2014-7-12 16:36
如果不用脚本的话是很简单的..
就比如你的第一个问题创造物品转职书
公共事件-更改职业 ...

但是更改职业他会问哪个主角要更改
我是要使用道具的人更改
而且职业还要随机
作者: SherryX    时间: 2014-7-12 16:45
本帖最后由 SherryX 于 2014-7-12 16:51 编辑
sun62211112 发表于 2014-7-12 16:41
但是更改职业他会问哪个主角要更改
我是要使用道具的人更改
而且职业还要随机 ...


告诉你个麻烦的方法好了。
给使用者加上一个状态,条件分歧【持有该状态的人物】进行更改
变量随机1~职业最大数
然后分支条件-变量=N,该人物转职为此职业【重复职业消除即可】。
解除状态。
虽然麻烦,但是很简单。

在有些地方,我想限制只能操纵一个人物,将剩下的人物先收起来,过了这地方之后再还给他(因为我有下载人物仓库的脚本,所以我希望能让玩家只选一个脚色,然后将剩下的存到仓库里)
这个事件即可
变量=同伴的个数 同伴的个数>1 给出选择,同伴A离队,获得同伴A召唤卡,同伴B离队,以此类推。或者直接不需要召唤卡,过了场景再加入也是一样,用条件分歧判定是否在队伍中即可。
作者: Password    时间: 2014-7-12 18:33
先只答第一个问题吧
首先你需要在脚本中更改如下部分:
Scene_Item 下的 def determine_target 这个定义,
用这段脚本覆盖它:【需要注意的地方参见该段脚本中的注释】
  1.   def determine_target
  2.     used = false
  3.     if @item.for_all?
  4.       for target in $game_party.members
  5.         target.item_effect(target, @item)
  6.         used = true unless target.skipped
  7.       end
  8.     elsif @item.id == 21 # ←这个数字是转职书物品ID
  9.       Sound.play_use_item
  10.       $game_party.last_target_index = @target_window.index
  11.       $game_variables[2] = $game_party.members[@target_window.index].id
  12.       $game_temp.common_event_id = 1 # ←这个数字是执行的公共事件(转职书公共事件)
  13.       $scene = Scene_Map.new
  14.     else
  15.       $game_party.last_target_index = @target_window.index
  16.       target = $game_party.members[@target_window.index]
  17.       target.item_effect(target, @item)
  18.       used = true unless target.skipped
  19.     end
  20.     if used
  21.       use_item_nontarget
  22.     else
  23.       Sound.play_buzzer unless @item.id == 21 # ←不要忘了同时改这里
  24.     end
  25.   end
复制代码
然后在相应公共事件内做如下设置:【语句可以参考范例】


然后在物品设置上,将使用范围设定为“我方单体”,公共事件为“无”,使用场合为“菜单中”即可。

下面是范例:
Project1.zip (250.49 KB, 下载次数: 18)
注:脚本编辑器中修改的脚本已用“★”在名前标出,或全局搜索“修改点”即可找到修改的地方。
作者: Password    时间: 2014-7-12 21:57
本帖最后由 Password 于 2014-7-17 19:29 编辑

按照楼上点评的要求,又增改了些东西。
鉴于过于杂乱就不上图说明了,直接扔范例吧{:2_276:}
转职书的制作.rar (239.27 KB, 下载次数: 35)
注意地图左下角有个事件
@sun62211112 抱歉这的确是个BUG,但我对这个问题的造成原因真的不清楚,而且也出乎我的意料,所以我对这个问题无能为力
看看@正太君@怪蜀黍 这两位精通脚本的触手能不能帮忙修改这个BUG 。【我也非常想知道原因……难道是我对原脚本改动太暴力了?
  




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