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

Project1

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

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

[复制链接]

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

跳转到指定楼层
1
发表于 2013-1-8 18:44:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
3星屑
本帖最后由 天使喝可乐 于 2013-1-8 18:48 编辑

这个人物仓库脚本 之前修改了一下界面 不知道为什么原工程能打开仓库 新工程复制后就弹框跳错= =  于是貌似对测试脚本有些麻烦  如果您测试时修改了其他地方请顺便说出来
很多功能是这个仓库脚本自带的 但是本人是脚本盲.. 求脚本用法

目前我知道的功能:
1.打开仓库 $scene = Chaochao_Scene_Party.new
2.将ABC+1位队员移动至人物仓库  $game_party.huanren(ABC,2)   ←这个“2”替换成别的是什么功能?=- =

希望使用(添加)的功能如下,求使用方法 很多脚本里都有写的  如果没有这个功能 希望能修改下脚本增加下面的功能:
1.求总结这个脚本中的所有已有功能及使用方法。
2.当X号开关打开时,人物仓库不允许使用
3.将Y号(数据库中的序号)人物移至队伍/移至仓库/删除(即使在人物仓库中也删除;现在的情况是 若人物在仓库中时,替换队员指令是无法删除它的)。
  ↓下面这2个功能希望游戏进行中能随时更改。
4.限制人物仓库的最少人数为M、最多人数为N。 (9比如我希望队伍同时只能有3个人   或者队伍必须满4人 就需要这个功能了)
5.设置若干人无法移动至仓库/移出仓库。这个说下,这个脚本中我是找到这个功能了的,但是貌似有些不一样?
  attr_reader   :chaochao#不能从队伍向备用角色移动的角色ID
  attr_reader   :chaochao2#不能从备用角色向队伍移动的角色ID
  def initialize
    @chaochao = [1]
    @chaochao2 = []

我将“chaochao”数组设为1  但是1号和2号人物目前都无法移动 而不是只有1号不能移动

就这些,脚本在下面,有什么疑问请回复,感谢=w=
RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url=http://www.66RPG.com]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5. #==============================================================================
  6. # ■ chaochao的人物仓库ver1.02正式版
  7. # 修改了Game_Party
  8. # 功能:
  9. # 用来存放角色的仓库……
  10. # 召唤画面用  $scene = Chaochao_Scene_Party.new
  11. # 将index+1号队员移动至人物仓库 index输入(0-3)  $game_party.huanren(index,2)
  12. # 其它使用说明在代码里已经备注。
  13. #------------------------------------------------------------------------------
  14. # 作者:chaochao
  15. #==============================================================================
  16. class Chaochao_Window_PartyLeft < Window_Selectable
  17.   def initialize
  18.     super(0, 0, 320, 292)
  19.     self.contents = Bitmap.new(width - 32, height - 32)
  20.     self.index = 0
  21.     refresh
  22.   end
  23.   def actor
  24.     return @actors[self.index]
  25.   end
  26.   def refresh
  27.     if self.contents != nil
  28.       self.contents.dispose
  29.       self.contents = nil
  30.     end
  31.     @actors = []
  32.     for i in 0...$game_party.actors.size
  33.       @actors.push($game_party.actors[i])
  34.     end
  35.  
  36.     @item_max = 4
  37.     if @item_max > 0
  38.       self.contents = Bitmap.new(width - 32, (row_max+1) * 32)
  39.       for i in 0...@item_max
  40.         draw_item(i)
  41.       end
  42.     end
  43.   end
  44.   def draw_item(index)
  45.     self.contents.draw_text(4, 1, 288, 32, "【出战成员】")
  46.     if @actors[index] != nil
  47.       actor = @actors[index]
  48.       text = @actors[index].name
  49.       lv = @actors[index].level.to_s + " "
  50.       if $game_party.chaochao.include?(actor.id) or $game_party.actors.size <= 1
  51.         self.contents.font.color = Color.new(10, 160, 255)#(255, 0, 0) #不能被移动的颜色
  52.       else
  53.         self.contents.font.color = Color.new(255, 160, 20)#(0, 255, 0) #可以被移动的颜色
  54.       end
  55.       self.contents.draw_text(4, index * 32 + 32, 288, 32, text)
  56.       self.contents.font.color = normal_color
  57.       self.contents.font.size = 16
  58.       self.contents.draw_text(4, index * 32 + 36, 278, 32,  "Level:   ", 2)
  59.       colorx = [255.0000 - 255.0000/60 * @actors[index].level,0].max
  60.       colory = [255.0000 / 60 * @actors[index].level,255].min
  61.       self.contents.font.color = Color.new(colorx, colory, 0)
  62.       self.contents.draw_text(4, index * 32 + 36, 288, 32,  lv, 2)
  63.       self.contents.font.color = normal_color
  64.       self.contents.font.size = 22
  65.     else
  66.       self.contents.draw_text(4, index * 32 + 32, 288, 32,  " ")
  67.     end
  68.   end
  69.   def update_cursor_rect
  70.     if @index < 0
  71.       self.cursor_rect.empty
  72.       return
  73.     end
  74.     row = @index / @column_max
  75.     if row < self.top_row
  76.       self.top_row = row
  77.     end
  78.     if row > self.top_row + (self.page_row_max - 1)
  79.       self.top_row = row - (self.page_row_max - 1)
  80.     end
  81.     cursor_width = self.width / @column_max - 32
  82.     x = @index % @column_max * (cursor_width + 32)
  83.     y = @index / @column_max * 32 - self.oy + 32
  84.     self.cursor_rect.set(x, y, cursor_width, 32)
  85.   end
  86.   def item_max
  87.     return @item_max
  88.   end
  89.   def actor?(index)
  90.     return @actors[index] == nil ? false : true
  91.   end
  92.   def set_index(x)
  93.     @index = x
  94.   end
  95. end
  96.  
  97. #------------------------------------------------------------------------------
  98.  
  99. class Chaochao_Window_PartyRight < Window_Selectable
  100.   def initialize
  101.     super(320, 0, 320, 292)
  102.     self.contents = Bitmap.new(width - 32, height - 32)
  103.     self.index = -1
  104.     refresh
  105.   end
  106.   def actor
  107.     return @actors[self.index]
  108.   end
  109.   def refresh
  110.     if self.contents != nil
  111.       self.contents.dispose
  112.       self.contents = nil
  113.     end
  114.     @actors = []
  115.     for i in 0...$game_party.actors2.size
  116.       @actors.push($game_party.actors2[i])
  117.     end
  118.  
  119.     @item_max = $game_party.actors2.size
  120.     if @item_max > 0
  121.       self.contents = Bitmap.new(width - 32, (row_max+1) * 32)
  122.       for i in 0...@item_max
  123.         draw_item(i)
  124.       end
  125.     elsif @item_max == 0
  126.  
  127.     end
  128.   end
  129.   def draw_item(index)
  130.     actor = @actors[index]
  131.     text = @actors[index].name
  132.     lv = @actors[index].level.to_s + " "
  133.     if $game_party.chaochao2.include?(actor.id) or $game_party.actors.size >= 4
  134.         self.contents.font.color = Color.new(255, 150, 200)#(255, 0, 0) #不能被移动的颜色
  135.       else
  136.         self.contents.font.color = Color.new(255, 160, 20)#(0, 255, 0) #可以被移动的颜色
  137.       end
  138.     self.contents.draw_text(80, 0, 268, 32, "wait...")## 80 0 268 32
  139.     self.contents.font.color = normal_color#
  140.     self.contents.draw_text(4, index * 32 + 32, 288, 32, text)
  141.     self.contents.font.color = normal_color
  142.     self.contents.font.size = 16
  143.     self.contents.draw_text(4, index * 32 + 36, 278, 32,  "Level:   ", 2)
  144.     colorx = [255.0000 - 255.0000/60 * @actors[index].level,0].max
  145.     colory = [255.0000 / 60 * @actors[index].level,255].min
  146.     self.contents.font.color = Color.new(colorx, colory, 0)
  147.     self.contents.draw_text(4, index * 32 + 36, 288, 32,  lv, 2)
  148.     self.contents.font.color = normal_color
  149.     self.contents.font.size = 22
  150.   end
  151.   def update_cursor_rect
  152.     if @index < 0
  153.       self.cursor_rect.empty
  154.       return
  155.     end
  156.     row = @index / @column_max
  157.     if row < self.top_row
  158.       self.top_row = row
  159.     end
  160.     if row > self.top_row + (self.page_row_max - 1)
  161.       self.top_row = row - (self.page_row_max - 1)
  162.     end
  163.     cursor_width = self.width / @column_max - 32
  164.     x = @index % @column_max * (cursor_width + 32)
  165.     y = @index / @column_max * 32 - self.oy + 32
  166.     self.cursor_rect.set(x, y, cursor_width, 32)
  167.   end
  168.   def item_max
  169.     return @item_max
  170.   end
  171.   def actor?(index)
  172.     return @actors[index] == nil ? false : true
  173.   end
  174.   def set_index(x)
  175.     @index = x
  176.   end
  177. end
  178.  
  179. #------------------------------------------------------------------------------
  180. #  下方 人物属性栏
  181. #------------------------------------------------------------------------------
  182. class Chaochao_Window_PartyData < Window_Base
  183.  
  184.   def initialize
  185.     super(0, 292, 640, 188)
  186.     self.contents = Bitmap.new(width - 32, height - 32)
  187.     [url=home.php?mod=space&uid=95897]@actor[/url] = nil
  188.   end
  189.  
  190.   def set_actor(actor)
  191.     self.contents.clear
  192.     draw_actor_name(actor, 4, 0)
  193.     draw_actor_class(actor, 4, 30)
  194.     draw_actor_state(actor, 200, 0)
  195.     draw_actor_hp(actor, 284, 0)
  196.     draw_actor_sp(actor, 460, 0)  
  197.     draw_actor_level(actor, 4, 60)
  198.     draw_actor_exp(actor, 4, 200)
  199.  
  200.     draw_actor_parameter(actor, 150, 36, 0)
  201.     draw_actor_parameter(actor, 150, 68, 1)
  202.     draw_actor_parameter(actor, 150, 100, 2)
  203.     draw_actor_parameter(actor, 150, 132, 3)
  204.  
  205.     draw_actor_parameter(actor, 400, 36, 4)
  206.     draw_actor_parameter(actor, 400, 68, 5)
  207.     draw_actor_parameter(actor, 400, 100, 6)
  208.     draw_actor_parameter(actor, 400, 132, 7)
  209.  
  210.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  211.     self.visible = true
  212.   end
  213.   def clear
  214.     self.contents.clear
  215.   end
  216. end
  217.  
  218. #------------------------------------------------------------------------------
  219.  
  220. class Game_Party
  221.   attr_reader   :actors2
  222.   attr_reader   :chaochao#不能从队伍向备用角色移动的角色ID
  223.   attr_reader   :chaochao2#不能从备用角色向队伍移动的角色ID
  224.   def initialize
  225.     @actors = []
  226.     [url=home.php?mod=space&uid=236945]@gold[/url] = 0
  227.     @steps = 0
  228.     @items = {}
  229.     @weapons = {}
  230.     @armors = {}
  231.     @actors2 = []
  232.     @chaochao = [1]
  233.     @chaochao2 = []
  234.   end
  235.   def add_actor(actor_id,type=1)#type为1是向队伍中添加,为2则相反。
  236.     case type
  237.     when 1
  238.       if $game_actors[actor_id] != nil
  239.         actor = $game_actors[actor_id]
  240.         #如果队伍没有满和队伍中没有此角色
  241.         if @actors.size < 4 and not @actors.include?(actor) and not @actors2.include?(actor)
  242.           @actors.push(actor)
  243.           $game_player.refresh
  244.         end
  245.       end
  246.     when 2
  247.       if $game_actors[actor_id] != nil
  248.         actor = $game_actors[actor_id]
  249.         #如果角色不在队伍中和不在备用角色队伍中的情况下
  250.         #向备用角色中添加角色
  251.         if not @actors.include?(actor) and not @actors2.include?(actor)
  252.           @actors2.push(actor)
  253.           $game_player.refresh
  254.         end
  255.       end
  256.     end
  257.   end
  258.  
  259.   def huanren(index,type=1)#type为1是从备用角色向队伍中移动,为2则相反。
  260.     case type
  261.     when 1
  262.       id = @actors2[index].id
  263.       actor = $game_actors[id]
  264.       if @actors.size < 4  and not @chaochao2.include?(index) #and not @actors.include?(actor)
  265.         @actors.push(actor)
  266.         #@actors2.delete(actor)
  267.         @actors2.each do |i|
  268.           @actors2.delete(i) if i.id == actor.id
  269.         end
  270.         $game_system.se_play($data_system.decision_se)
  271.         $game_player.refresh
  272.       end
  273.     when 2
  274.       id = @actors[index].id
  275.       actor = $game_actors[id]
  276.       if actor != nil  and not @chaochao.include?(index)
  277.         @actors2.push(actor)
  278.         @actors.each do |i|
  279.           @actors.delete(i) if i.id == actor.id
  280.         end
  281.         $game_system.se_play($data_system.decision_se)
  282.         $game_player.refresh
  283.       end
  284.     end
  285.   end
  286.  
  287.   #type1,1是操作队伍中的角色能否向备用队伍移动,2则相反。
  288.   #type2,1是添加不能移动的,2是删除不能移动的。
  289.   def yidong(actor_id,type1,type2=1)
  290.     case type2
  291.     when 1
  292.       case type1
  293.       when 1
  294.         @chaochao.push(actor_id)
  295.       when 2
  296.         @chaochao2.push(actor_id)
  297.       end
  298.     when 2
  299.       case type1
  300.       when 1
  301.         @chaochao.delete(actor_id)
  302.       when 2
  303.         @chaochao2.delete(actor_id)
  304.       end
  305.     end
  306.   end
  307.  
  308.   #type,1从队伍中离开,2从备用角色中离开,3从队伍和备用角色中离开。
  309.   def remove_actor(actor_id,type=1)
  310.     actor = $game_actors[actor_id]
  311.     case type
  312.     when 1
  313.       @actors.delete(actor)
  314.       $game_player.refresh
  315.     when 2
  316.       @actors2.delete(actor)
  317.       $game_player.refresh
  318.     when 3
  319.       @actors.delete(actor)
  320.       @actors2.delete(actor)
  321.       $game_player.refresh
  322.     end
  323.   end
  324.  
  325.   def refresh
  326.     new_actors = []
  327.     new_actors2 = []
  328.     for i in [url=mailto:0...@actors.size]0...@actors.size[/url]
  329.       if $game_actors[@actors[i].id] != nil
  330.         new_actors.push($game_actors[@actors[i].id])
  331.       end
  332.     end
  333.     @actors = new_actors
  334.     for i in [url=mailto:0...@actors2.size]0...@actors2.size[/url]
  335.       if $game_actors[@actors2[i].id] != nil
  336.         new_actors2.push($game_actors[@actors2[i].id])
  337.       end
  338.     end
  339.     @actors2 = new_actors2
  340.   end
  341. end
  342.  
  343. #------------------------------------------------------------------------------
  344.  
  345. class Chaochao_Scene_Party
  346.   def main
  347.     @left_temp_command = 0
  348.     @right_temp_command = 0
  349.     [url=home.php?mod=space&uid=263426]@temp[/url] = 0
  350.     @left_window = Chaochao_Window_PartyLeft.new
  351.     @left_window.active = true
  352.     @right_window = Chaochao_Window_PartyRight.new
  353.     @right_window.active = false
  354.     @data_window = Chaochao_Window_PartyData.new
  355.     update_data
  356.     Graphics.transition
  357.     loop do
  358.       Graphics.update
  359.       Input.update
  360.       update
  361.       if $scene != self
  362.         break
  363.       end
  364.     end
  365.     Graphics.freeze
  366.     @left_window.dispose
  367.     @right_window.dispose
  368.     @data_window.dispose
  369.   end
  370.  
  371.   def update
  372.     @left_window.update
  373.     @right_window.update
  374.     @data_window.update
  375.     update_command
  376.     update_data
  377.   end
  378.  
  379.   def update_command
  380.     if Input.trigger?(Input::B)
  381.       $game_system.se_play($data_system.cancel_se)
  382.       #画面切换
  383.       $scene = Scene_Map.new
  384.       return
  385.     end
  386.     if @left_window.active
  387.       update_left
  388.       return
  389.     end
  390.     if @right_window.active
  391.       update_right
  392.       return
  393.     end
  394.   end
  395.  
  396.   def update_left
  397.     if Input.trigger?(Input::RIGHT)
  398.       if @right_window.item_max > 0
  399.         @left_temp_command = @left_window.index
  400.         @left_window.set_index(-1)
  401.         $game_system.se_play($data_system.cursor_se)
  402.         @left_window.active = false
  403.         @right_window.active = true
  404.         @left_window.refresh
  405.         @right_window.refresh
  406.         @right_window.set_index(@right_temp_command)
  407.         return
  408.       else
  409.         $game_system.se_play($data_system.buzzer_se)
  410.         return
  411.       end
  412.     end
  413.     if Input.trigger?(Input::C)
  414.       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)
  415.         $game_party.huanren(@left_window.index,2)#type为1是从备用角色向队伍中移动,为2则相反。
  416.         @left_window.refresh
  417.         @right_window.refresh
  418.       else
  419.         $game_system.se_play($data_system.buzzer_se)
  420.       end
  421.     end
  422.     return
  423.   end
  424.  
  425.   def update_right
  426.     if Input.trigger?(Input::LEFT)
  427.       if @left_window.item_max > 0
  428.         @right_temp_command = @right_window.index
  429.         @right_window.set_index(-1)
  430.         $game_system.se_play($data_system.cursor_se)
  431.         @left_window.active = true
  432.         @right_window.active = false
  433.         @left_window.refresh
  434.         @right_window.refresh
  435.         @left_window.set_index(@left_temp_command)
  436.         return
  437.       else
  438.         $game_system.se_play($data_system.buzzer_se)
  439.         return
  440.       end
  441.     end
  442.     if Input.trigger?(Input::C)
  443.       if $game_party.actors.size >= 4
  444.         $game_system.se_play($data_system.buzzer_se)
  445.         return
  446.       end
  447.       if @right_window.active and @right_window.actor?(@right_window.index) and not $game_party.chaochao2.include?($game_party.actors2[@right_window.index].id)
  448.         $game_party.huanren(@right_window.index,1)#type为1是从备用角色向队伍中移动,为2则相反。
  449.         if $game_party.actors2.size == 0
  450.           @right_temp_command = @right_window.index
  451.           @right_window.set_index(-1)
  452.           $game_system.se_play($data_system.cursor_se)
  453.           @left_window.active = true
  454.           @right_window.active = false
  455.           @left_window.refresh
  456.           @right_window.refresh
  457.           @left_window.set_index(@left_temp_command)
  458.         end
  459.         if @right_window.index > 0
  460.           @right_window.set_index(@right_window.index-1)
  461.         end
  462.         @left_window.refresh
  463.         @right_window.refresh
  464.       else
  465.         $game_system.se_play($data_system.buzzer_se)
  466.       end
  467.     end
  468.     return
  469.   end
  470.  
  471.   def update_data
  472.     if @left_window.active
  473.       if $game_party.actors[@left_window.index] != nil
  474.         @data_window.set_actor($game_party.actors[@left_window.index])
  475.       else
  476.         @data_window.clear
  477.       end
  478.       return
  479.     end
  480.     if @right_window.active
  481.       if $game_party.actors2[@right_window.index] != nil
  482.         @data_window.set_actor($game_party.actors2[@right_window.index])
  483.       else
  484.         @data_window.clear
  485.       end
  486.       return
  487.     end
  488.   end
  489. end
  490.  
  491. #==============================================================================
  492. # 本脚本来自[url=http://www.66RPG.com]www.66RPG.com[/url],使用和转载请保留此信息
  493. #==============================================================================



最佳答案

查看完整内容

1、首先你如果光是这个脚本的话,会因为在描绘角色能力值的时候因为type没有7这个值而报错~ 2、另外脚本还有个错误的地方这段是我修改以后的,之前对于@chaochao和@chaochao2的判断成了队伍ID,而不是角色ID,这点显然与描述中的是不同的~所以才会出现你说的设置成1号的时候反倒是队伍ID为1的角色无法移动。 3、随时变更两个队伍的最大最小人数。 ...

点评

真心求别再用这个ruby的脚本框了,里面乱七八糟的[url]让人头疼……  发表于 2013-1-10 10:54

Lv2.观梦者

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

贵宾

2
发表于 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
复制代码
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
3
发表于 2013-1-8 19:32:47 | 只看该作者
脚本第 448 行不是有解释第一个问题,关于 2 替换的答案吗?
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
4
发表于 2013-1-8 19:34:12 | 只看该作者
1表示从备用到队伍,2是从队伍到备用

点评

应该是在 235行定义的  发表于 2013-1-8 19:40

评分

参与人数 1星屑 +120 收起 理由
天使喝可乐 + 120 感谢总结和回答~!

查看全部评分

回复

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

5
 楼主| 发表于 2013-1-8 19:55:50 | 只看该作者
j433463 发表于 2013-1-8 19:32
脚本第 448 行不是有解释第一个问题,关于 2 替换的答案吗?

呃 这个没注意 因为前面都没看懂 脚本注释出现了N次这句类似的话= =
求下面问题的答案 谢谢
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
6
发表于 2013-1-8 21:18:31 | 只看该作者
回答1:
      打开仓库                    $scene = Chaochao_Scene_Party.new
      角色从仓库到队伍            $game_party.huanren(角色ID,1)
      角色从队伍到仓库            $game_party.huanren(角色ID,2)
      禁止角色移动到仓库          $game_party.yidong(角色ID,1,1)
      不禁止角色移动到仓库        $game_party.yidong(角色ID,1,2)
      禁止角色移动到队伍          $game_party.yidong(角色ID,2,1)
      不禁止角色移动到队伍        $game_party.yidong(角色ID,2,2)
      删除队伍中角色              $game_party.remove_actor(角色ID,1)
      删除仓库中角色              $game_party.remove_actor(角色ID,2)

回答2:
      比如仓库NPC事件里弄个条件分歧"当X号开关为开时不能使用人物仓库,反之则可以使用"


回答3:
      删除队伍中角色              $game_party.remove_actor(角色ID,1)
      删除仓库中角色              $game_party.remove_actor(角色ID,2)  

回答4:
      不是很明白楼主的意思,什么叫限制最少人数?游戏初始时仓库里是0(--b 0还不够少吗?)最大人数现在应该可           以放很多个(数据库里有的应该都能放的下)

回答5:
      禁止角色移动到仓库          $game_party.yidong(角色ID,1,1)
      不禁止角色移动到仓库        $game_party.yidong(角色ID,1,2)
      禁止角色移动到队伍          $game_party.yidong(角色ID,2,1)
      不禁止角色移动到队伍        $game_party.yidong(角色ID,2,2)     
         

评分

参与人数 1星屑 +120 收起 理由
天使喝可乐 + 120 感谢总结和回答~!

查看全部评分

回复

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

7
 楼主| 发表于 2013-1-8 22:36:39 | 只看该作者
wwwcctvty 发表于 2013-1-8 21:18
回答1:
      打开仓库                    $scene = Chaochao_Scene_Party.new
      角色从仓库到队伍    ...

感谢 等一会我试验一下
1.但是 强制X号进入仓库 那个不是人物ID 而是人物处在队伍序列位置的ID   因此其他的变量是否也指队伍序列位置/仓库序列位置 而不是人物ID?

2.这个我知道 我是希望能直接将脚本禁止(X号开关打开后 即使打开窗口也无法做任何调整)

3..这个意思就是 我希望队伍至少保持有4个人参战  如果不做限制的话 全放进仓库就只有1个人物参战了 因此希望增加限制
相反地  我希望只能允许3个人参战 就要限制成3了

点评

1 $game_party.remove_actor(角色ID,1) 谁和你说X的是队伍的?明明是数据库ID 自己看def里的定义 2既然没作用为何还让玩家能打开? 3战斗前判定队伍人数啊  发表于 2013-1-9 00:43
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3583
在线时间
3065 小时
注册时间
2011-11-17
帖子
980
8
发表于 2013-1-9 00:49:57 | 只看该作者
本帖最后由 yagami 于 2013-1-9 00:51 编辑
天使喝可乐 发表于 2013-1-8 22:36
感谢 等一会我试验一下
1.但是 强制X号进入仓库 那个不是人物ID 而是人物处在队伍序列位置的ID   因此其 ...


2PS.你实在要坑爹的 让仓库能打开 但不能换人的话 找到 if Input.trigger?(Input::C)....上面嵌套个if
如if $game_switches[编号] == true
if Input.trigger?(Input::C)
。。。(原脚本内容)
else
p "可乐在嘿咻"
end
3ps.你实在要改脚本 不从NPC下手 在脚本里找4  自己看看意思差不多是判定队伍人物是4 都改成$game_variables[变量编号] 游戏开始时记得先给这变量赋值 要不就是0 你死活换不了

点评

PS 3V你也好意思拿出手  发表于 2013-1-9 00:50

评分

参与人数 1星屑 +120 收起 理由
天使喝可乐 + 120 忘了加分了= = 补上

查看全部评分

回复

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

9
 楼主| 发表于 2013-1-10 16:27:43 | 只看该作者
亿万星辰 发表于 2013-1-10 11:15
1、首先你如果光是这个脚本的话,会因为在描绘角色能力值的时候因为type没有7这个值而报错~

2、另外脚本还 ...

感谢~!

另外问下 后面控制人数这个 是直接插在脚本任意位置吗?
“主队伍”指的就是参战的队伍吗?
这个变量如何在游戏中更改?

点评

你找到对应的方法,然后直接替换就好了~主队伍是参战的~随时修改对应的变量(比如我给的是1、2、3号变量)就可以了~  发表于 2013-1-10 16:53
回复

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

10
 楼主| 发表于 2013-1-10 17:28:02 | 只看该作者
亿万星辰 发表于 2013-1-10 11:15
1、首先你如果光是这个脚本的话,会因为在描绘角色能力值的时候因为type没有7这个值而报错~

2、另外脚本还 ...

您修正ID判断的那段脚本我替换到了脚本中 但貌似还是队伍ID?= =
其他功能测试 全部正常   
但是在“X号人物进入/移出仓库”依然有BUG嗯



输入“1号人物进入仓库”指令时 队伍1+1号 也就是2号队伍位人物进入了仓库 同样地 输入2号人物进仓库 队伍3号位人物进入了仓库0 0
输入“1号出仓库到队伍” 也是仓库2号位到了队伍 仍然是队伍ID不是人物ID

另外 如果无限输入X号位移出仓库指令 会出现多个同样人物在队伍里的情况 此时占用队伍格子 但行动却仍然是1次 比如 队伍出现3个同样地弓箭手 战斗时所有数值和1个人一样 但下面3格位置都是他的属性条
将此人物存入仓库再取出就恢复成1个人了 如图  (而且貌似 这个多出来分身的人物一定是数据库4号ID的人物)

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-4 06:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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