Project1

标题: 修改过的升级提示与人物仓库的插件有冲突。 [打印本页]

作者: 爆焰    时间: 2012-1-11 14:01
标题: 修改过的升级提示与人物仓库的插件有冲突。
有请赤夜玄魔。
  就是说这个人物仓库当队伍满人时有角色加入,就自动存入人物仓库里的一段脚本。跟你修改过的升级提示有冲突,请问怎么解决?
以下是脚本:
  1. class Interpreter
  2.   #--------------------------------------------------------------------------
  3.   # ● 角色的替换
  4.   #--------------------------------------------------------------------------
  5.   def command_129
  6.     # 获取角色
  7.     actor = $game_actors[@parameters[0]]
  8.     # 角色有效的情况下
  9.     if actor != nil
  10.       # 操作分支
  11.       if @parameters[1] == 0
  12.         if @parameters[2] == 1
  13.           $game_actors[@parameters[0]].setup(@parameters[0])
  14.         end
  15.         if $game_party.actors.size == 4
  16.           $game_party.add_actor(@parameters[0],2)
  17.         else
  18.           $game_party.add_actor(@parameters[0])
  19.         end
  20.       else
  21.         $game_party.remove_actor(@parameters[0],3)
  22.       end
  23.     end
  24.     # 继续
  25.     return true
  26.   end
  27. end
复制代码
dsu_plus_rewardpost_czw
作者: cmbljsw    时间: 2012-1-11 16:04
你不是用了战斗换人脚本吗?那干吗又用默认的脚本了?战斗换人脚本有个队伍2,而默认的脚本是没有的。
而那个升级提示里面是挂在战斗换人里面的。
作者: 赤夜玄魔    时间: 2012-1-11 17:29
LZ,我建议你去学学脚本吧,这种小问题该自己有能力解决才好。 Project6.rar (189.92 KB, 下载次数: 109)
作者: 爆焰    时间: 2012-1-11 17:57
本帖最后由 爆焰 于 2012-1-11 17:58 编辑
赤夜玄魔 发表于 2012-1-11 17:29
LZ,我建议你去学学脚本吧,这种小问题该自己有能力解决才好。


不是这个问题,升级提示已经没有问题了,我是说。跟这个人物仓库插件和你修改的升级提示出现问题了,你试一下人物仓库的功能就知道了。
从最左边点那些人物,第一个点了之后,第二个再点,然后退出第三个是战斗。战斗结束后你再点中间那个NPC就可以看得出什么问题了。
11212121.zip (211.61 KB, 下载次数: 5)
作者: 赤夜玄魔    时间: 2012-1-11 21:27
爆焰 发表于 2012-1-11 17:57
不是这个问题,升级提示已经没有问题了,我是说。跟这个人物仓库插件和你修改的升级提示出现问题了,你试 ...

请问,你把战斗换人和人物仓库弄在一起会何意义?

两个脚本都由角色加入,都有一个仓库……你想要怎么整?
作者: 爆焰    时间: 2012-1-11 23:57
赤夜玄魔 发表于 2012-1-11 21:27
请问,你把战斗换人和人物仓库弄在一起会何意义?

两个脚本都由角色加入,都有一个仓库……你想要怎么整 ...

  我制作一个人出战,但是可以换人的。然后人物比较多,所以就要把多余的存进人物仓库里。如果无法兼容那就不用改升级提示了,让在队伍中的待机人物战斗结束后也获得经验,不用显示升级了。人物仓库里面的不算是在队伍,所以存进去后也不获得经验。
作者: 赤夜玄魔    时间: 2012-1-12 00:20
爆焰 发表于 2012-1-11 23:57
我制作一个人出战,但是可以换人的。然后人物比较多,所以就要把多余的存进人物仓库里。如果无法兼容那 ...

那你队伍到底几个人啊?
一个人出战,几个人可以换?多少个人是上限?
作者: 赤夜玄魔    时间: 2012-1-12 16:35
好了 ,你检查一下吧。我测试了一下,好像没错的样子。

11212121.rar

198.68 KB, 下载次数: 120


作者: 爆焰    时间: 2012-1-12 20:06
赤夜玄魔 发表于 2012-1-12 16:35
好了 ,你检查一下吧。我测试了一下,好像没错的样子。

基本都可以了,只是还有个问题,我加了
  1. self.contents.font.color = Color.new(192, 224, 255, 255)
  2.          self.contents.draw_text(4, 0, 128, 32, "出战队伍:")
复制代码
在人物仓库里的
  1. if $game_party.actors.size <= 1
复制代码
下面,为什么队伍剩下一个人时才会显示?
作者: 爆焰    时间: 2012-1-13 15:03
赤夜玄魔 发表于 2012-1-12 16:35
好了 ,你检查一下吧。我测试了一下,好像没错的样子。
  1. class Chaochao_Window_PartyLeft < Window_Selectable
  2.   def initialize
  3.     super(0, 0, 320, 224)
  4.     self.contents = Bitmap.new(width - 32, height - 32)
  5.     self.index = 0
  6.     refresh
  7.   end
  8.   def actor
  9.     return @actors[self.index]
  10.   end
  11.   def refresh
  12.     if self.contents != nil
  13.       self.contents.dispose
  14.       self.contents = nil
  15.     end
  16.     @actors = []
  17.     for i in 0...$game_party.actors.size
  18.       @actors.push($game_party.actors[i])
  19.     end
  20.    
  21.     @item_max = 4
  22.     if @item_max > 0
  23.       self.contents = Bitmap.new(width - 32, (row_max+1) * 32)
  24.       for i in 0...@item_max
  25.         draw_item(i)
  26.       end
  27.     end
  28.   end
  29.   def draw_item(index)
  30.     if @actors[index] != nil
  31.       actor = @actors[index]
  32.       text = @actors[index].name
  33.       lv = @actors[index].level.to_s + " "
  34.       if $game_party.actors.size <= 1
  35.         
  36.         
  37. #这里。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  38.       
  39.         self.contents.font.color = Color.new(192, 224, 255, 255)
  40.          self.contents.draw_text(4, 0, 128, 32, "出战队伍:")
  41.          
  42.          
  43.          
  44.         self.contents.font.color = Color.new(255, 0, 0) #不能被移动的颜色
  45.       else
  46.         self.contents.font.color = Color.new(0, 255, 0) #可以被移动的颜色
  47.       end
  48.       self.contents.draw_text(4, index * 32 + 32, 288, 32, text)
  49.       self.contents.font.color = normal_color
  50.       self.contents.font.size = 16
  51.       self.contents.draw_text(4, index * 32 + 36, 288, 32,  "等级:  ", 2)
  52.       #colorx = [255.0000 - 255.0000/60 * @actors[index].level,0].max
  53.       #colory = [255.0000 / 60 * @actors[index].level,255].min
  54.      # self.contents.font.color = Color.new(colorx, colory, 0)
  55.       self.contents.draw_text(4, index * 32 + 36, 288, 32,  lv, 2)
  56.       self.contents.font.color = normal_color
  57.       self.contents.font.size = 22
  58.     else
  59.       self.contents.draw_text(4, index * 32 + 32, 288, 32,  "[无]")
  60.     end
  61.   end
  62.   def update_cursor_rect
  63.     if @index < 0
  64.       self.cursor_rect.empty
  65.       return
  66.     end
  67.     row = @index / @column_max
  68.     if row < self.top_row
  69.       self.top_row = row
  70.     end
  71.     if row > self.top_row + (self.page_row_max - 1)
  72.       self.top_row = row - (self.page_row_max - 1)
  73.     end
  74.     cursor_width = self.width / @column_max - 32
  75.     x = @index % @column_max * (cursor_width + 32)
  76.     y = @index / @column_max * 32 - self.oy + 32
  77.     self.cursor_rect.set(x, y, cursor_width, 32)
  78.   end
  79.   def item_max
  80.     return @item_max
  81.   end
  82.   def actor?(index)
  83.     return @actors[index] == nil ? false : true
  84.   end
  85.   def set_index(x)
  86.     @index = x
  87.   end
  88. end
  89. #------------------------------------------------------------------------------
复制代码

作者: 赤夜玄魔    时间: 2012-1-13 19:06
爆焰 发表于 2012-1-13 15:03

不要加在这里……
要加在
  1. def draw_item(index)
  2. 下面
  3.     self.contents.font.color = Color.new(192, 224, 255, 255)
  4.       self.contents.draw_text(4, 0, 128, 32, "出战队伍:")


  5. 你加在队伍剩下一人的判断里面,当然就会出现这种问题。
复制代码

作者: 赤夜玄魔    时间: 2012-1-14 04:42
话请说清楚……哪个脚本……你发给我的这一个显示文字问题的脚本?

还是之前的哪个?
作者: 爆焰    时间: 2012-1-14 06:39
赤夜玄魔 发表于 2012-1-14 04:42
话请说清楚……哪个脚本……你发给我的这一个显示文字问题的脚本?

还是之前的哪个? ...

这段,现在插回去也用不了了。
  1. class Game_Party
  2.   attr_reader   :actors2
  3.   attr_reader   :chaochao#不能从队伍向备用角色移动的角色ID
  4.   attr_reader   :chaochao2#不能从备用角色向队伍移动的角色ID
  5.   def initialize
  6.     @actors = []
  7.     @gold = 0
  8.     @steps = 0
  9.     @items = {}
  10.     @weapons = {}
  11.     @armors = {}
  12.     @actors2 = []
  13.     @chaochao = [1]
  14.     @chaochao2 = []
  15.   end
  16.   def add_actor(actor_id,type=1)#type为1是向队伍中添加,为2则相反。
  17.     case type
  18.     when 1
  19.       if $game_actors[actor_id] != nil
  20.         actor = $game_actors[actor_id]
  21.         #如果队伍没有满和队伍中没有此角色
  22.         if @actors.size < 4 and not @actors.include?(actor) and not @actors2.include?(actor)
  23.           @actors.push(actor)
  24.           $game_player.refresh
  25.         end
  26.       end
  27.     when 2
  28.       if $game_actors[actor_id] != nil
  29.         actor = $game_actors[actor_id]
  30.         #如果角色不在队伍中和不在备用角色队伍中的情况下
  31.         #向备用角色中添加角色
  32.         if not @actors.include?(actor) and not @actors2.include?(actor)
  33.           @actors2.push(actor)
  34.           $game_player.refresh
  35.         end
  36.       end
  37.     end
  38.   end
  39.   
  40.   def huanren(index,type=1)#type为1是从备用角色向队伍中移动,为2则相反。
  41.     actor = $game_actors[index]
  42.     case type
  43.     when 1
  44.       if @actors.size < 4 and @actors2.include?(actor) and not @chaochao2.include?(index) and not @actors.include?(actor)
  45.         @actors.push(actor)
  46.         @actors2.delete(actor)
  47.         $game_system.se_play($data_system.decision_se)
  48.         $game_player.refresh
  49.       end
  50.     when 2
  51.       if @actors.include?(actor) and not @chaochao.include?(index) and not @actors2.include?(actor)
  52.         @actors2.push(actor)
  53.         @actors.delete(actor)
  54.         $game_system.se_play($data_system.decision_se)
  55.         $game_player.refresh
  56.       end
  57.     end
  58.   end
  59.   
  60.   #type1,1是操作队伍中的角色能否向备用队伍移动,2则相反。
  61.   #type2,1是添加不能移动的,2是删除不能移动的。
  62.   def yidong(actor_id,type1,type2=1)
  63.     case type2
  64.     when 1
  65.       case type1
  66.       when 1
  67.         @chaochao.push(actor_id)
  68.       when 2
  69.         @chaochao2.push(actor_id)
  70.       end
  71.     when 2
  72.       case type1
  73.       when 1
  74.         @chaochao.delete(actor_id)
  75.       when 2
  76.         @chaochao2.delete(actor_id)
  77.       end
  78.     end
  79.   end
  80.   
  81.   #type,1从队伍中离开,2从备用角色中离开,3从队伍和备用角色中离开。
  82.   def remove_actor(actor_id,type=1)
  83.     actor = $game_actors[actor_id]
  84.     case type
  85.     when 1
  86.       @actors.delete(actor)
  87.       $game_player.refresh
  88.     when 2
  89.       @actors2.delete(actor)
  90.       $game_player.refresh
  91.     when 3
  92.       @actors.delete(actor)
  93.       @actors2.delete(actor)
  94.       $game_player.refresh
  95.     end
  96.   end
  97.   
  98.   def refresh
  99.     new_actors = []
  100.     new_actors2 = []
  101.     for i in [email protected]
  102.       if $data_actors[@actors[i].id] != nil
  103.         new_actors.push($game_actors[@actors[i].id])
  104.       end
  105.     end
  106.     @actors = new_actors
  107.     for i in [email protected]
  108.       if $data_actors[@actors2[i].id] != nil
  109.         new_actors2.push($game_actors[@actors2[i].id])
  110.       end
  111.     end
  112.     @actors2 = new_actors2
  113.   end
  114. end
复制代码

作者: 赤夜玄魔    时间: 2012-1-14 20:14
本帖最后由 赤夜玄魔 于 2012-1-14 20:15 编辑
爆焰 发表于 2012-1-14 06:39
这段,现在插回去也用不了了。


战斗换人+阵地换人.rar (201.57 KB, 下载次数: 139)
汗……还真不知道有这功能……
测试了N次,你再测试看看……
作者: 赤夜玄魔    时间: 2012-1-15 01:02
我晕,这个你都要问啊……我可是特地给你弄成范例诶……
最下面的那个大叔不是可以设置吗?
想一开始游戏就让角色不能加入仓库,每个游戏开始前都是有序幕的……
你在序幕的时候或者第一张地图的时候,在事件里面加上脚本……
$game_party.yidong(id,1,1)

ID是角色的编号,你不想让1号角色存进仓库,就写1 就好啦。

脚本的大致意思……
$game_party.yidong(数据库内角色的ID ,1=仓库、2=队伍 , 1=禁止、2=允许)
例句:
$game_party.yidong(1,1,1) #不允许 角色1号加入仓库
$game_party.yidong(1,1,2) #允许 角色1号加入仓库
$game_party.yidong(1,2,1) #不允许 角色1号加入队伍
$game_party.yidong(1,2,2) #允许 角色1号加入队伍








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