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

Project1

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

请教一个脚本

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

七仙女

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-15
帖子
559
跳转到指定楼层
1
发表于 2008-4-20 16:12:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv3.寻梦者

酱油的

梦石
0
星屑
1030
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

2
发表于 2008-4-20 17:13:53 | 只看该作者
1.target = $game_troop.random_target_enemy 的作用?
讀取敵人的攻擊目標數據(隨機)
具體操作看以下方法:
  1.   #--------------------------------------------------------------------------
  2.   # ● 对像敌人的随机确定
  3.   #     hp0 : 限制 HP 0 的敌人
  4.   #--------------------------------------------------------------------------
  5.   def random_target_enemy(hp0 = false)
  6.     # 初始化轮流
  7.     roulette = []
  8.     # 循环
  9.     for enemy in @enemies
  10.       # 条件符合的情况下
  11.       if (not hp0 and enemy.exist?) or (hp0 and enemy.hp0?)
  12.         # 添加敌人到轮流
  13.         roulette.push(enemy)
  14.       end
  15.     end
  16.     # 轮流尺寸为 0 的情况下
  17.     if roulette.size == 0
  18.       return nil
  19.     end
  20.     # 转轮盘赌,决定敌人
  21.     return roulette[rand(roulette.size)]
  22.   end
复制代码

1.5 target = $game_party.random_target_actor
同上,不過變成了角色

2.index = @active_battler.current_action.target_index 的作用?
讀取攻擊目標的index(目錄?位置?不會翻譯==|||)
如果行動者是角色(actor)
這個變量在 Scene_Battle 3 的 311 行被初始化,記錄了你選擇的敵人的在隊伍中的位置

  1.       # 设置行动
  2.       @active_battler.current_action.target_index = @actor_arrow.index
复制代码

如果現在行動者是敵人(Enemy)的話
會由於 Scene_Battle 4 的 38 ~ 40 的 enemy.make_action 語句自動調用位於
Game_Enemy 的 308 行的
            self.current_action.decide_random_target_for_enemy

語句來記錄攻擊目標

3.target = $game_party.smooth_target_actor(index)的作用?
.smooth_target_actor 是位於 Game_Party 343行的一個方法(也就是位於最後的一個方法)
此方法的 return 值記錄了任意位置的角色(actor)數據

  1.   #--------------------------------------------------------------------------
  2.   # ● 对像角色的顺序确定
  3.   #     actor_index : 角色索引
  4.   #--------------------------------------------------------------------------
  5.   def smooth_target_actor(actor_index)
  6.     # 取得对像
  7.     actor = @actors[actor_index]
  8.     # 对像存在的情况下
  9.     if actor != nil and actor.exist?
  10.       return actor
  11.     end
  12.     # 循环
  13.     for actor in @actors
  14.       # 对像存在的情况下
  15.       if actor.exist?
  16.         return actor
  17.       end
  18.     end
  19.   end
复制代码


4.设置对像方的战斗者序列
  @target_battlers = [target] 的作用?
將目標數據記錄進 @target_battlers 變量當中

@target_battlers 變量稍後會在 Scene_Battle 4 的 354~356 行被調用:

  1.     # 应用特技效果
  2.     for target in @target_battlers
  3.       target.skill_effect(@active_battler, @skill)
  4.     end
复制代码

目的是産生每個受攻擊者的傷害效果。
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv2.观梦者

飛狐耶

梦石
0
星屑
315
在线时间
55 小时
注册时间
2007-12-15
帖子
573
3
发表于 2008-4-20 17:24:51 | 只看该作者
看见脚本就头疼啊…………{/ll}
你好,我是蓝狐狸。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
202
在线时间
498 小时
注册时间
2006-10-21
帖子
907
4
发表于 2008-4-20 17:54:01 | 只看该作者
不久前就自己写一个能移动的战场战斗系统。为了设计敌人AI,对上面的几个东西不知道修改了多少遍,后来却发现敌人还是很笨…………所以,删除。

的确挺头痛的…………
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

七仙女

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-15
帖子
559
5
 楼主| 发表于 2008-4-20 20:13:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 18:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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