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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 奶油Da蛋糕
打印 上一主题 下一主题

[已经解决] 如何调整作用范围为敌我均可?

 关闭 [复制链接]

Lv2.观梦者 (版主)

脚本白痴

梦石
0
星屑
422
在线时间
904 小时
注册时间
2007-7-9
帖子
1403
11
发表于 2009-8-30 20:44:16 | 只看该作者
提示一下,改脚本不要删除啊,可以打上注释,方便以后修改

正统向RPG-大雄的高井山奇谈
https://rpg.blue/thread-369758-1-1.html
哆啦A梦RTP风格素材
https://rpg.blue/forum.php?mod=viewthread&tid=394608
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
12
 楼主| 发表于 2009-8-31 09:43:34 | 只看该作者
=.=,我发现我写的东西根本没有生效。
我纳闷了= =
看来这个问题不是我的能力解决的了的了
还是交给高手好了
我负责伸手
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1535
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

13
发表于 2009-8-31 11:38:25 | 只看该作者
  1. class Scene_Battle
  2.   All_全范围技能 = [1,13]
  3.   alias lv13_update_phase3_enemy_select update_phase3_enemy_select
  4.   alias lv13_update_phase3_actor_select update_phase3_actor_select
  5.   def update_phase3_enemy_select
  6.     lv13_update_phase3_enemy_select
  7.     return if Input.trigger?(Input::C) or  Input.trigger?(Input::B)
  8.     if @skill.scope == 1 and All_全范围技能.include?(@skill.id) and Input.trigger?(Input::DOWN)
  9.       @enemy_arrow.dispose
  10.       @enemy_arrow = nil
  11.       @target_battlers = []
  12.       @skill.scope = 3
  13.       @actor_arrow = Arrow_Actor.new(@spriteset.viewport1)
  14.       @actor_arrow.help_window = @help_windowend
  15.     end
  16.   end
  17.   def update_phase3_actor_select
  18.     lv13_update_phase3_actor_select
  19.     return if Input.trigger?(Input::C) or  Input.trigger?(Input::B)
  20.     if @skill.scope == 3 and All_全范围技能.include?(@skill.id) and Input.trigger?(Input::UP)
  21.       @actor_arrow.dispose
  22.       @actor_arrow = nil
  23.       @target_battlers = []
  24.       @skill.scope = 1
  25.       @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
  26.       @enemy_arrow.help_window = @help_window
  27.     end
  28.   end
  29. end
复制代码
自己写了个,效果都达到了~~

可是……为什么第二次的主角光标会不见了呢……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2009-1-1
帖子
263
14
发表于 2009-8-31 11:53:08 | 只看该作者
主站的23种公共事件的战斗特效……
有全域化的功能
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
15
 楼主| 发表于 2009-8-31 12:34:08 | 只看该作者
class Scene_Battle
  All_全范围技能 = [1,13]
  alias lv13_update_phase3_enemy_select update_phase3_enemy_select
  alias lv13_update_phase3_actor_select update_phase3_actor_select
  def update_phase3_e ...
「旅」 发表于 2009-8-31 11:38


旅,辛苦啦!
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
16
 楼主| 发表于 2009-8-31 13:05:42 | 只看该作者
class Scene_Battle
  All_全范围技能 = [1,13]
  alias lv13_update_phase3_enemy_select update_phase3_enemy_select
  alias lv13_update_phase3_actor_select update_phase3_actor_select
  def update_phase3_e ...
「旅」 发表于 2009-8-31 11:38


看明白了大概意思,就是scope可以按上下键切换成1或3,从而改变范围。
这种思路比我原来的思路更好。不用重新定义一个scope繁琐。
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

17
发表于 2009-8-31 13:16:47 | 只看该作者
  1. class Scene_Battle
  2.   All_全范围技能 = [1,13]
  3.   alias lv13_update_phase3_enemy_select update_phase3_enemy_select
  4.   alias lv13_update_phase3_actor_select update_phase3_actor_select
  5.   def update_phase3_enemy_select
  6.     lv13_update_phase3_enemy_select
  7.     return if Input.trigger?(Input::C) or  Input.trigger?(Input::B)
  8.     if @skill != nil
  9.     if @skill.scope == 1 and All_全范围技能.include?(@skill.id) and Input.trigger?(Input::DOWN)
  10.       $game_system.se_play($data_system.cursor_se)
  11.       @enemy_arrow.dispose
  12.       @enemy_arrow = nil
  13.       @target_battlers = []
  14.       @skill.scope = 3
  15.       @actor_arrow = Arrow_Actor.new(@spriteset.viewport2)
  16.       @actor_arrow.help_window = @help_window
  17.     end
  18.     end
  19.   end
  20.   def update_phase3_actor_select
  21.     lv13_update_phase3_actor_select
  22.     return if Input.trigger?(Input::C) or Input.trigger?(Input::B)
  23.     if @skill != nil
  24.     if @skill.scope == 3 and All_全范围技能.include?(@skill.id) and Input.trigger?(Input::UP)
  25.       $game_system.se_play($data_system.cursor_se)
  26.       @actor_arrow.dispose
  27.       @actor_arrow = nil
  28.       @target_battlers = []
  29.       @skill.scope = 1
  30.       @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
  31.       @enemy_arrow.help_window = @help_window
  32.     end
  33.     end
  34.   end
  35. end
复制代码
修正3个诡异的Bug,顺便,Actor_Arrow征用的是Spriteset2,有鉴于此,无条件殴打旅= =
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
18
 楼主| 发表于 2009-8-31 14:10:16 | 只看该作者
  1. class Arrow_Enemy
  2. if @self_alias == nil
  3.    alias self_update update
  4.    @self_alias = true
  5. end
  6. def update
  7.    mouse_x, mouse_y = Mouse.get_mouse_pos
  8. if mouse_y >= (0) and mouse_y < (480/2)
  9.    idx = 0
  10.    for i in $game_troop.enemies do
  11.      if i.exist?
  12.        top_x = i.screen_x - self.ox
  13.        top_y = i.screen_y - self.oy
  14.        bottom_x = top_x + self.src_rect.width
  15.        bottom_y = top_y + self.src_rect.height
  16.        if (mouse_x > top_x - $敌人选框扩大) and (mouse_y > top_y - $敌人选框扩大) and
  17.           (mouse_x < bottom_x + $敌人选框扩大) and (mouse_y < bottom_y + $敌人选框扩大)
  18.          if @index != idx
  19.            $game_system.se_play($data_system.cursor_se)
  20.            @index = idx
  21.          end
  22.        end
  23.      end
  24.      idx += 1
  25.    end
  26.    self_update
  27. elsif $shubiao
  28.    idx = 0
  29. for i in $game_party.actors do
  30.      if i.exist?
  31.        top_x = i.screen_x - self.ox
  32.        top_y = i.screen_y - self.oy
  33.        bottom_x = top_x + self.src_rect.width
  34.        bottom_y = top_y + self.src_rect.height
  35.        if (mouse_x > top_x - $角色选框扩大) and (mouse_y > top_y - $角色选框扩大) and
  36.           (mouse_x < bottom_x + $角色选框扩大) and (mouse_y < bottom_y + $角色选框扩大)
  37.          if @index != idx
  38.            $game_system.se_play($data_system.cursor_se)
  39.            @index = idx
  40.          end
  41.        end
  42.      end
  43.      idx += 1
  44.    end
  45.    self_update
  46.     end   
  47. end#结束DEF
  48. end#结束CLASS

  49. class Arrow_Actor
  50. if @self_alias == nil
  51.    alias self_update update
  52.    @self_alias = true
  53. end
  54. def update
  55.    mouse_x, mouse_y = Mouse.get_mouse_pos
  56.    if mouse_y > (480/2) and mouse_y <= (480)
  57.    idx = 0
  58.    for i in $game_party.actors do
  59.      if i.exist?
  60.        top_x = i.screen_x - self.ox
  61.        top_y = i.screen_y - self.oy
  62.        bottom_x = top_x + self.src_rect.width
  63.        bottom_y = top_y + self.src_rect.height
  64.        if (mouse_x > top_x - $角色选框扩大) and (mouse_y > top_y - $角色选框扩大) and
  65.           (mouse_x < bottom_x + $角色选框扩大) and (mouse_y < bottom_y + $角色选框扩大)
  66.          if @index != idx
  67.            $game_system.se_play($data_system.cursor_se)
  68.            @index = idx
  69.          end
  70.        end
  71.      end
  72.      idx += 1
  73.    end
  74.    self_update
  75. elsif $shubiao
  76.    idx = 0
  77.    for i in $game_troop.enemies do
  78.      if i.exist?
  79.        top_x = i.screen_x - self.ox
  80.        top_y = i.screen_y - self.oy
  81.        bottom_x = top_x + self.src_rect.width
  82.        bottom_y = top_y + self.src_rect.height
  83.        if (mouse_x > top_x - $敌人选框扩大) and (mouse_y > top_y - $敌人选框扩大) and
  84.           (mouse_x < bottom_x + $敌人选框扩大) and (mouse_y < bottom_y + $敌人选框扩大)
  85.          if @index != idx
  86.            $game_system.se_play($data_system.cursor_se)
  87.            @index = idx
  88.          end
  89.        end
  90.      end
  91.      idx += 1
  92.    end
  93.    self_update
  94.    end
  95. end
  96. end
复制代码
OK,鼠标也根据旅的思路完成了,加了一下鼠标的Y的判定,如果在屏幕上半方就调用敌人的判定,如果鼠标在屏幕下班方并且$shubiao == true 的话调用我方目标的判定。
不过,貌似没生效=.=....其因不解....

另外,上面那段为了迎合鼠标的判定,加了一句
if All_全范围技能.include?(@skill.id)
$shubiao = true
end
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 03:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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