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

Project1

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

[已经过期] 求好心人写个像这个类似的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
26 小时
注册时间
2012-5-4
帖子
351
跳转到指定楼层
1
发表于 2012-5-26 19:26:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 苹果星ねこ 于 2012-5-26 19:26 编辑

这个是魔法特殊显示
我想用在使用物品和防御也有这样的效果
本人脚本不好,求帮忙
  1. #==============================================================================
  2. #使用特技时自定义显示内容
  3. #
  4. #战斗中使用特技的时候上面那个窄窄的长长的窗口显示自定义的内容~
  5. #==============================================================================
  6. #使用方法:要使用特效的特技介绍部分后面加上一个英文逗号,然后写要显示的东东。
  7. #插入以下字符可以实现相对应的效果。
  8. #a   显示使用者的名字
  9. #           显示目标的名字
  10. #
  11.    显示这个特技的名字-_-|||(感觉完全是偷懒用滴~~~)
  12. #
  13. #另外,如果和6的技能分类脚本并用的话,要把@部分写在最后面。
  14. #==============================================================================


  15. #==============================================================================
  16. #RPG模块SKILL部分的修改
  17. #==============================================================================
  18. module RPG
  19.   class Skill
  20.     attr_accessor :description
  21.     def description
  22.       @description.split(/,/)[0] == nil ? @description : @description.split(/,/)[0]
  23.     end
  24.     def help
  25.       return @description.split(/,/)[1]
  26.     end
  27.   end
  28. end
  29. #==============================================================================
  30. # ■ Scene_Battle (分割定义 4)
  31. #------------------------------------------------------------------------------
  32. #  处理战斗画面的类。
  33. #==============================================================================

  34. class Scene_Battle
  35.   #--------------------------------------------------------------------------
  36.   # ● 生成特技行动结果
  37.   #--------------------------------------------------------------------------
  38.   def make_skill_action_result
  39.     # 获取特技
  40.     @skill = $data_skills[@active_battler.current_action.skill_id]
  41.     # 如果不是强制行动
  42.     unless @active_battler.current_action.forcing
  43.       # 因为 SP 耗尽而无法使用的情况下
  44.       unless @active_battler.skill_can_use?(@skill.id)
  45.         # 清除强制行动对像的战斗者
  46.         $game_temp.forcing_battler = nil
  47.         # 移至步骤 1
  48.         @phase4_step = 1
  49.         return
  50.       end
  51.     end
  52.     # 消耗 SP
  53.     @active_battler.sp -= @skill.sp_cost
  54.     # 刷新状态窗口
  55.     @status_window.refresh
  56.     # 设置对像侧战斗者
  57.     set_target_battlers(@skill.scope)
  58.     ########################################################eclair
  59.     # 在帮助窗口显示特技名
  60.     if @skill.help != nil
  61.       tar = ""
  62.       text = @skill.help
  63.       case @skill.scope
  64.       when 1
  65.         tar = @target_battlers[0].name
  66.       when 2
  67.         tar = "敌人全体"
  68.       when 3
  69.         tar = @target_battlers[0].name
  70.       when 4
  71.         tar = "我方全体"
  72.       when 5
  73.         tar = "自己"
  74.       end
  75.       tar = "自己" if tar == @active_battler.name
  76.       loop do
  77.       last_text = text.clone
  78.       text.gsub!(/\a/){@active_battler.name}
  79.       text.gsub!(/\t/){tar}
  80.       text.gsub!(/\n/){@skill.name}
  81.       text = text.split(/@/)[0] #避开特技分类的冲突 :)
  82.       break if text == last_text
  83.       end
  84.       @help_window.set_text(text, 1)
  85.     else
  86.     @help_window.set_text(@skill.name, 1)
  87.     end
  88.     ########################################################eclair
  89.     # 设置动画 ID
  90.     @animation1_id = @skill.animation1_id
  91.     @animation2_id = @skill.animation2_id
  92.     # 设置公共事件 ID
  93.     @common_event_id = @skill.common_event_id
  94.     # 应用特技效果
  95.     for target in @target_battlers
  96.       target.skill_effect(@active_battler, @skill)
  97.     end
  98.   end
  99. end


复制代码


‘‘──苹果星ねこ于2012-5-28 22:06补充以下内容:

{:5_160:}
没有人
’’

评分

参与人数 1星屑 +200 收起 理由
hcm + 200 补回

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
48 小时
注册时间
2012-4-17
帖子
55
2
发表于 2012-5-31 17:19:32 | 只看该作者

好像很难,我看略微修改一下这个脚本
回复

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
3
发表于 2012-5-31 17:33:44 | 只看该作者
本帖最后由 英顺的马甲 于 2012-5-31 17:37 编辑

物品的是做到了,设置方法与技能一样
  1. module RPG
  2.   class Item
  3.     attr_accessor :description
  4.     def description
  5.       @description.split(/,/)[0] == nil ? @description : @description.split(/,/)[0]
  6.     end
  7.     def help
  8.       return @description.split(/,/)[1]
  9.     end
  10.   end
  11. end
  12. class Scene_Battle
  13.   def make_item_action_result
  14.     # 获取物品
  15.     @item = $data_items[@active_battler.current_action.item_id]
  16.     # 因为物品耗尽而无法使用的情况下
  17.     unless $game_party.item_can_use?(@item.id)
  18.       # 移至步骤 1
  19.       @phase4_step = 1
  20.       return
  21.     end
  22.     # 消耗品的情况下
  23.     if @item.consumable
  24.       # 使用的物品减 1
  25.       $game_party.lose_item(@item.id, 1)
  26.     end
  27.     #######################################################eclair
  28.     # 在帮助窗口显示特技名
  29.     if @item.help != nil
  30.       tar = ""
  31.       text = @item.help
  32.       case @item.scope
  33.       when 1
  34.         tar = @target_battlers[0].name
  35.       when 2
  36.         tar = "敌人全体"
  37.       when 3
  38.         tar = @target_battlers[0].name
  39.       when 4
  40.         tar = "我方全体"
  41.       when 5
  42.         tar = "自己"
  43.       end
  44.       tar = "自己" if tar == @active_battler.name
  45.       loop do
  46.       last_text = text.clone
  47.       text.gsub!(/\a/){@active_battler.name}
  48.       text.gsub!(/\t/){tar}
  49.       text.gsub!(/\n/){@item.name}
  50.       text = text.split(/@/)[0] #避开特技分类的冲突 :)
  51.       break if text == last_text
  52.       end
  53.       @help_window.set_text(text, 1)
  54.     else
  55.     @help_window.set_text(@item.name, 1)
  56.     end
  57.     ########################################################eclair
  58.     # 设置动画 ID
  59.     @animation1_id = @item.animation1_id
  60.     @animation2_id = @item.animation2_id
  61.     # 设置公共事件 ID
  62.     @common_event_id = @item.common_event_id
  63.     # 确定对像
  64.     index = @active_battler.current_action.target_index
  65.     target = $game_party.smooth_target_actor(index)
  66.     # 设置对像侧战斗者
  67.     set_target_battlers(@item.scope)
  68.     # 应用物品效果
  69.     for target in @target_battlers
  70.       target.item_effect(@item)
  71.     end
  72.   end
  73. end
复制代码
���

点评

第38行出错  发表于 2012-5-31 18:44

评分

参与人数 1星屑 +60 收起 理由
hcm + 60 感谢回答

查看全部评分

本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 14:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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