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

Project1

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

[推荐问答] 【求助】人物仓库脚本,求使用方法及添加一些功能,感谢~

[复制链接]

Lv2.观梦者

梦石
0
星屑
265
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

1
发表于 2013-1-8 18:44:56 | 显示全部楼层
本帖最后由 亿万星辰 于 2013-1-10 16:58 编辑

1、首先你如果光是这个脚本的话,会因为在描绘角色能力值的时候因为type没有7这个值而报错~

2、另外脚本还有个错误的地方
  1.   def huanren(index,type=1)#type为1是从备用角色向队伍中移动,为2则相反。
  2.     case type
  3.     when 1
  4.       id = @actors2[index].id
  5.       actor = $game_actors[id]
  6.       if @actors.size < 4  and not @chaochao2.include?(id) #and not @actors.include?(actor)
  7.         @actors.push(actor)
  8.         @actors2.delete(actor)
  9.         $game_system.se_play($data_system.decision_se)
  10.         $game_player.refresh
  11.       end
  12.     when 2
  13.       id = @actors[index].id
  14.       actor = $game_actors[id]
  15.       if actor != nil  and not @chaochao.include?(id)
  16.         @actors2.push(actor)
  17.         @actors.delete(actor)
  18.         $game_system.se_play($data_system.decision_se)
  19.         $game_player.refresh
  20.       end
  21.     end
  22.   end
复制代码
这段是我修改以后的,之前对于@chaochao和@chaochao2的判断成了队伍ID,而不是角色ID,这点显然与描述中的是不同的~所以才会出现你说的设置成1号的时候反倒是队伍ID为1的角色无法移动。

3、随时变更两个队伍的最大最小人数。

  1.   VID_MINACTORS = 1 # 记录主队伍中最少人数所用的变量编号
  2.   VID_MAXACTORS = 2 # 记录主队伍中最多人数所用的变量编号
  3.   VID_MAXACTORS2 = 3 # 记录备用队伍中最多人数所用的变量编号
  4.   def update_left
  5.     if Input.trigger?(Input::RIGHT)
  6.       if @right_window.item_max > 0
  7.         @left_temp_command = @left_window.index
  8.         @left_window.set_index(-1)
  9.         $game_system.se_play($data_system.cursor_se)
  10.         @left_window.active = false
  11.         @right_window.active = true
  12.         @left_window.refresh
  13.         @right_window.refresh
  14.         @right_window.set_index(@right_temp_command)
  15.         return
  16.       else
  17.         $game_system.se_play($data_system.buzzer_se)
  18.         return
  19.       end
  20.     end
  21.     if Input.trigger?(Input::C)
  22.       if $game_party.actors2.size >= $game_variables[VID_MAXACTORS2] or $game_party.actors.size < $game_variables[VID_MINACTORS] + 1
  23.         $game_system.se_play($data_system.buzzer_se)
  24.         return
  25.       end
  26.       if @left_window.active and @left_window.actor?(@left_window.index) and $game_party.actors.size > 1 and not $game_party.chaochao.include?($game_party.actors[@left_window.index].id)
  27.         $game_party.huanren(@left_window.index,2)#type为1是从备用角色向队伍中移动,为2则相反。
  28.         @left_window.refresh
  29.         @right_window.refresh
  30.       else
  31.         $game_system.se_play($data_system.buzzer_se)
  32.       end
  33.     end
  34.     return
  35.   end

  36.   def update_right
  37.     if Input.trigger?(Input::LEFT)
  38.       if @left_window.item_max > 0
  39.         @right_temp_command = @right_window.index
  40.         @right_window.set_index(-1)
  41.         $game_system.se_play($data_system.cursor_se)
  42.         @left_window.active = true
  43.         @right_window.active = false
  44.         @left_window.refresh
  45.         @right_window.refresh
  46.         @left_window.set_index(@left_temp_command)
  47.         return
  48.       else
  49.         $game_system.se_play($data_system.buzzer_se)
  50.         return
  51.       end
  52.     end
  53.     if Input.trigger?(Input::C)
  54.       if $game_party.actors.size >= $game_variables[VID_MAXACTORS]
  55.         $game_system.se_play($data_system.buzzer_se)
  56.         return
  57.       end
  58.       if @right_window.active and @right_window.actor?(@right_window.index) and not $game_party.chaochao2.include?($game_party.actors2[@right_window.index].id)
  59.         $game_party.huanren(@right_window.index,1)#type为1是从备用角色向队伍中移动,为2则相反。
  60.         if $game_party.actors2.size == 0
  61.           @right_temp_command = @right_window.index
  62.           @right_window.set_index(-1)
  63.           $game_system.se_play($data_system.cursor_se)
  64.           @left_window.active = true
  65.           @right_window.active = false
  66.           @left_window.refresh
  67.           @right_window.refresh
  68.           @left_window.set_index(@left_temp_command)
  69.         end
  70.         if @right_window.index > 0
  71.           @right_window.set_index(@right_window.index-1)
  72.         end
  73.         @left_window.refresh
  74.         @right_window.refresh
  75.       else
  76.         $game_system.se_play($data_system.buzzer_se)
  77.       end
  78.     end
  79.     return
  80.   end
复制代码
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

2
发表于 2013-1-10 19:44:03 | 显示全部楼层

你这个是队伍ID1号进仓库、队伍ID2号进仓库、队伍ID1号出仓库、队伍ID2号出仓库~
注意原版最开始的说明
  1. # 将index+1号队员移动至人物仓库 index输入(0-3)  $game_party.huanren(index,2)
复制代码
想要1号角色进仓库要用个很纠结的写法~
$game_party.huanren($game_party.actors.index($game_actors[1]), 2)
当然前提是你确定队伍里有1号角色~
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

3
发表于 2013-1-10 20:15:08 | 显示全部楼层
本帖最后由 亿万星辰 于 2013-1-10 20:17 编辑

写不下在括号的地方加\换行

全部入仓库……
$game_party.huanren(0, 2)
$game_party.huanren(1, 2)
$game_party.huanren(2, 2)
$game_party.huanren(3, 2)
……
$game_party.huanren(n, 2)
n为你队伍中最大人数-1,当然你可以用个循环~

点评

哦对= = 可以用队伍位置判定 谢谢咯  发表于 2013-1-10 20:34
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-17 02:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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