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

Project1

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

[已经解决] 问一下有关队友替换的问题···

[复制链接]

Lv1.梦旅人

梦石
0
星屑
148
在线时间
209 小时
注册时间
2012-1-9
帖子
169
跳转到指定楼层
1
发表于 2012-1-15 18:45:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
问一下游戏中本来队伍就4个人。这么设置再加入第5个人时,提示队伍已经满了,无法加入。救各位大大求教!

点评

拜托,这个问题,请你看完新手的视频教程再发问吧……  发表于 2012-1-16 07:15

Lv1.梦旅人

梦石
0
星屑
148
在线时间
209 小时
注册时间
2012-1-9
帖子
169
14
 楼主| 发表于 2012-1-16 15:57:42 | 只看该作者
爆焰 发表于 2012-1-16 12:56
拿去吧。。。。。。。。。。。。

脚本XX的3行发生了SyntaxError。咋么回事求教


XX是我自己定的脚本的名字


──嘿嘿一笑于2012-1-17 08:46补充内容:

点评

换一下位置试试,有可能被其他脚本叠到了  发表于 2012-1-17 22:35
XX是什么呀?  发表于 2012-1-17 00:24
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
148
在线时间
209 小时
注册时间
2012-1-9
帖子
169
13
 楼主| 发表于 2012-1-16 13:54:42 | 只看该作者
爆焰 发表于 2012-1-16 12:56
拿去吧。。。。。。。。。。。。

请问这东西插在哪里?还要改吗???

点评

直接找个空白的插进去呗,如果要改我干嘛还发上来  发表于 2012-1-16 14:07
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3176
在线时间
1442 小时
注册时间
2009-7-27
帖子
1454
12
发表于 2012-1-16 12:56:05 | 只看该作者
本帖最后由 爆焰 于 2012-1-16 12:56 编辑

拿去吧。。。。。。。。。。。。
  1. #==============================================================================
  2. # ■ Game_Party
  3. #------------------------------------------------------------------------------
  4. #  处理同伴的类。包含金钱以及物品的信息。本类的实例
  5. # 请参考 $game_party。
  6. #==============================================================================
  7. class Game_Party
  8. #--------------------------------------------------------------------------
  9. # ● 加入同伴
  10. #     actor_id : 角色 ID
  11. #--------------------------------------------------------------------------
  12. def add_actor(actor_id)
  13.    # 获取角色
  14.    actor = $game_actors[actor_id]
  15.    # 同伴人数未满 5 人、本角色不在队伍中的情况下
  16.    if @actors.size < 5 and not @actors.include?(actor)
  17.      # 添加角色
  18.      @actors.push(actor)
  19.      # 还原主角
  20.      $game_player.refresh
  21.    end
  22. end
  23. end
  24. #==============================================================================
  25. # ■ Window_MenuStatus
  26. #------------------------------------------------------------------------------
  27. #  显示菜单画面和同伴状态的窗口。
  28. #==============================================================================
  29. class Window_MenuStatus
  30. #--------------------------------------------------------------------------
  31. # ● 刷新
  32. #--------------------------------------------------------------------------
  33. def refresh
  34.    self.contents.clear
  35.    @item_max = $game_party.actors.size
  36.    for i in 0...$game_party.actors.size
  37.      x = 64
  38.      y = i * 86
  39.      actor = $game_party.actors[i]
  40.      draw_actor_graphic(actor, x - 40, y + 70)
  41.      draw_actor_name(actor, x, y)
  42.      draw_actor_class(actor, x + 144, y)
  43.      draw_actor_level(actor, x, y + 24)
  44.      draw_actor_state(actor, x + 90, y + 24)
  45.      draw_actor_exp(actor, x, y + 48)
  46.      draw_actor_hp(actor, x + 236, y + 24)
  47.      draw_actor_sp(actor, x + 236, y + 48)
  48.    end
  49. end
  50. #--------------------------------------------------------------------------
  51. # ● 刷新光标矩形
  52. #--------------------------------------------------------------------------
  53. def update_cursor_rect
  54.    if @index < 0
  55.      self.cursor_rect.empty
  56.    else
  57.      self.cursor_rect.set(0, @index * 86, self.width - 32, 76)
  58.    end
  59. end
  60. end
  61. #==============================================================================
  62. # ■ Window_BattleStatus
  63. #------------------------------------------------------------------------------
  64. #  显示战斗画面同伴状态的窗口。
  65. #==============================================================================
  66. class Window_BattleStatus < Window_Base
  67. #--------------------------------------------------------------------------
  68. # ● 刷新
  69. #--------------------------------------------------------------------------
  70. def refresh
  71.    self.contents.clear
  72.    @item_max = $game_party.actors.size
  73.    for i in 0...$game_party.actors.size
  74.      actor = $game_party.actors[i]
  75.      actor_x = i * 120 + 4
  76.      draw_actor_name(actor, actor_x, 0)
  77.      draw_actor_hp(actor, actor_x, 32, 120)
  78.      draw_actor_sp(actor, actor_x, 64, 120)
  79.      if @level_up_flags[i]
  80.        self.contents.font.color = normal_color
  81.        self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
  82.      else
  83.        draw_actor_state(actor, actor_x, 96)
  84.      end
  85.    end
  86. end
  87. end
  88. #==============================================================================
  89. # ■ Scene_Battle
  90. #------------------------------------------------------------------------------
  91. #  处理战斗画面的类。
  92. #==============================================================================
  93. class Scene_Battle
  94. #--------------------------------------------------------------------------
  95. # ● 设置角色指令窗口
  96. #--------------------------------------------------------------------------
  97. def phase3_setup_command_window
  98.    # 同伴指令窗口无效化
  99.    @party_command_window.active = false
  100.    @party_command_window.visible = false
  101.    # 角色指令窗口无效化
  102.    @actor_command_window.active = true
  103.    @actor_command_window.visible = true
  104.    # 设置角色指令窗口的位置
  105.    @actor_command_window.x = @actor_index * 120
  106.    # 设置索引为 0
  107.    @actor_command_window.index = 0
  108. end
  109. end
  110. #==============================================================================
  111. # ■ Game_Actor
  112. #------------------------------------------------------------------------------
  113. #  处理角色的类。本类在 Game_Actors 类 ($game_actors)
  114. # 的内部使用、Game_Party 类请参考 ($game_party) 。
  115. #==============================================================================

  116. class Game_Actor < Game_Battler
  117. #--------------------------------------------------------------------------
  118. # ● 取得战斗画面的 X 坐标
  119. #--------------------------------------------------------------------------
  120. def screen_x
  121.    # 返回计算后的队伍 X 坐标的排列顺序
  122.    if self.index != nil
  123.      return self.index * 120 + 80
  124.    else
  125.      return 0
  126.    end
  127. end
  128. end
  129. #==============================================================================
  130. # ■ Sprite_Battler
  131. #------------------------------------------------------------------------------
  132. #  战斗显示用活动块。Game_Battler 类的实例监视、
  133. # 活动块的状态的监视。
  134. #==============================================================================

  135. class Spriteset_Battle
  136. #--------------------------------------------------------------------------
  137. # ● 初始化变量
  138. #--------------------------------------------------------------------------
  139. def initialize
  140.    # 生成显示端口
  141.    @viewport1 = Viewport.new(0, 0, 640, 320)
  142.    @viewport2 = Viewport.new(0, 0, 640, 480)
  143.    @viewport3 = Viewport.new(0, 0, 640, 480)
  144.    @viewport4 = Viewport.new(0, 0, 640, 480)
  145.    @viewport2.z = 101
  146.    @viewport3.z = 200
  147.    @viewport4.z = 5000
  148.    # 生成战斗背景活动块
  149.    @battleback_sprite = Sprite.new(@viewport1)
  150.    # 生成敌人活动块
  151.    @enemy_sprites = []
  152.    for enemy in $game_troop.enemies.reverse
  153.      @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  154.    end
  155.    # 生成敌人活动块 ★★修改了这里
  156.    @actor_sprites = []
  157.    @actor_sprites.push(Sprite_Battler.new(@viewport2))
  158.    @actor_sprites.push(Sprite_Battler.new(@viewport2))
  159.    @actor_sprites.push(Sprite_Battler.new(@viewport2))
  160.    @actor_sprites.push(Sprite_Battler.new(@viewport2))
  161.    @actor_sprites.push(Sprite_Battler.new(@viewport2))
  162.    # 生成天候
  163.    @weather = RPG::Weather.new(@viewport1)
  164.    # 生成图片活动块
  165.    @picture_sprites = []
  166.    for i in 51..100
  167.      @picture_sprites.push(Sprite_Picture.new(@viewport3,
  168.        $game_screen.pictures[i]))
  169.    end
  170.    # 生成计时器块
  171.    @timer_sprite = Sprite_Timer.new
  172.    # 刷新画面
  173.    update
  174. end
  175.    #--------------------------------------------------------------------------
  176. # ● 刷新画面
  177. #--------------------------------------------------------------------------
  178. def update
  179.    # 刷新角色的活动块 (对应角色的替换) ★修改了这里
  180.    @actor_sprites[0].battler = $game_party.actors[0]
  181.    @actor_sprites[1].battler = $game_party.actors[1]
  182.    @actor_sprites[2].battler = $game_party.actors[2]
  183.    @actor_sprites[3].battler = $game_party.actors[3]
  184.    @actor_sprites[4].battler = $game_party.actors[4]
  185.    # 战斗背景的文件名与现在情况有差异的情况下
  186.    if @battleback_name != $game_temp.battleback_name
  187.      @battleback_name = $game_temp.battleback_name
  188.      if @battleback_sprite.bitmap != nil
  189.        @battleback_sprite.bitmap.dispose
  190.      end
  191.      @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
  192.      @battleback_sprite.src_rect.set(0, 0, 640, 320)
  193.    end
  194.    # 刷新战斗者的活动块
  195.    for sprite in @enemy_sprites + @actor_sprites
  196.      sprite.update
  197.    end
  198.    # 刷新天气图形
  199.    @weather.type = $game_screen.weather_type
  200.    @weather.max = $game_screen.weather_max
  201.    @weather.update
  202.    # 刷新图片活动块
  203.    for sprite in @picture_sprites
  204.      sprite.update
  205.    end
  206.    # 刷新计时器活动块
  207.    @timer_sprite.update
  208.    # 设置画面的色调与震动位置
  209.    @viewport1.tone = $game_screen.tone
  210.    @viewport1.ox = $game_screen.shake
  211.    # 设置画面的闪烁色
  212.    @viewport4.color = $game_screen.flash_color
  213.    # 刷新显示端口
  214.    @viewport1.update
  215.    @viewport2.update
  216.    @viewport4.update
  217. end
  218. end
复制代码

点评

哥···这个脚本可以用了,就是4个队友有了,加第5个时候,直接加上去了,变5个人了!打的时候也5个人···这么设置···  发表于 2012-1-18 22:46

博客:我的博客
回复

使用道具 举报

Lv1.梦旅人

派大星

梦石
0
星屑
195
在线时间
2133 小时
注册时间
2011-9-18
帖子
2652
11
发表于 2012-1-16 12:15:39 | 只看该作者
本帖最后由 无双sxa 于 2012-1-16 13:02 编辑
嘿嘿一笑 发表于 2012-1-16 11:48
请问咋么设置?有范文吗·??


请看范例。 Projectxp.rar (187.34 KB, 下载次数: 34)
或者请看看这个帖子http://rpg.blue/forum.php?mod=viewthread&tid=211324
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
148
在线时间
209 小时
注册时间
2012-1-9
帖子
169
10
 楼主| 发表于 2012-1-16 11:48:53 | 只看该作者
无双sxa 发表于 2012-1-16 11:36
想有目标的换人,就设置一个换人的地方,显示选择项进行替换队友的操作吧。 ...

请问咋么设置?有范文吗·??

点评

请稍等一下,接着昨天那个范例我现做一个。  发表于 2012-1-16 12:04
回复

使用道具 举报

Lv1.梦旅人

派大星

梦石
0
星屑
195
在线时间
2133 小时
注册时间
2011-9-18
帖子
2652
9
发表于 2012-1-16 11:36:32 | 只看该作者
想有目标的换人,就设置一个换人的地方,显示选择项进行替换队友的操作吧。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
412 小时
注册时间
2011-12-10
帖子
925
8
发表于 2012-1-16 11:21:30 | 只看该作者
嘿嘿一笑 发表于 2012-1-16 11:13
那么请问一下,如果队友满了,我想有目标的替换一个队友这么设置?

嗯,我这有个八人制战斗范例。
但是里面的脚本很多。
但是必须是横版,你愿意么?

点评

还有人物仓库  发表于 2012-1-16 11:31
古代素材爱好群Q249853011
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
148
在线时间
209 小时
注册时间
2012-1-9
帖子
169
7
 楼主| 发表于 2012-1-16 11:13:55 | 只看该作者
无双sxa 发表于 2012-1-15 22:02
啥也不说了,请直接看范例。

那么请问一下,如果队友满了,我想有目标的替换一个队友这么设置?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
6
发表于 2012-1-16 10:52:49 | 只看该作者
在执行“添加队员”代码之前,写一段这个代码

变量1 = 队伍人数
条件分歧:变量1 >= 4
“队伍超载了!!”
else
可以加入
end

PS:服了,LS的代码也.....
做一个游戏也用这么长时间........
PS:说我自己呢
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 14:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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