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

Project1

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

【XP】请教连击脚本怎么添加一个触发几率啊

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
跳转到指定楼层
1
发表于 2011-12-15 16:22:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 stella 于 2011-12-15 17:15 编辑

这个脚本是在特技名称后面加  ,数字  决定单技能连击的次数。怎么让连击效果有一个触发的几率,而不是必定触发?
例如使用同一个特技,角色50%几率触发连击,敌人30%几率触发连击

地址:
http://www.66rpg.com/htm/news259.htm
  1. module RPG
  2. class Skill
  3.    def name
  4.      name = @name.split(/,/)[0]
  5.      return name != nil ? name : ""
  6.    end
  7.    def hit_count
  8.      name = @name.split(/,/)[1]
  9.      return name != nil ? name.to_i.abs : 0
  10.    end
  11. end
  12. class Sprite < ::Sprite
  13.    def effect?
  14.      @_whiten_duration > 0 or
  15.      @_appear_duration > 0 or
  16.      @_escape_duration > 0 or
  17.      @_animation_duration > 0
  18.    end
  19.    def damage_effect?
  20.      @_damage_duration > 0 or
  21.      @_collapse_duration > 0
  22.    end
  23. end
  24. end
  25. class Spriteset_Battle
  26. def damage_effect?
  27.    for sprite in @enemy_sprites + @actor_sprites
  28.      return true if sprite.damage_effect?
  29.    end
  30.    return false
  31. end
  32. end  
  33. class Scene_Battle
  34. alias sailcat_update_phase4_step1 update_phase4_step1
  35. alias sailcat_make_skill_action_result make_skill_action_result
  36. alias sailcat_update_phase4_step5 update_phase4_step5
  37. def update_phase4_step1
  38.    @hit_count = 0
  39.    sailcat_update_phase4_step1
  40. end
  41. def make_skill_action_result
  42.    sailcat_make_skill_action_result
  43.    @hit_count = @skill.hit_count
  44. end
  45. def update_phase4_step5
  46.    sailcat_update_phase4_step5
  47.    if @hit_count > 0
  48.      for target in @target_battlers.clone
  49.        if target.dead?
  50.          if @target_battlers.size > 1
  51.            @target_battlers.delete(target)
  52.          else
  53.            @target_battlers.delete(target)
  54.            if target.is_a?(Game_Enemy)
  55.              target = $game_troop.smooth_target_enemy(target.index)
  56.            else
  57.              target = $game_party.smooth_target_actor(target.index)
  58.            end
  59.            if target.is_a?(Game_Battler)
  60.              @target_battlers.push(target)
  61.            end
  62.          end
  63.        end
  64.      end
  65.      if @target_battlers.size == 0
  66.        return
  67.      end
  68.      for target in @target_battlers
  69.        if target.damage != nil
  70.          @phase4_step = 5
  71.          return
  72.        end
  73.        target.skill_effect(@active_battler, @skill)
  74.      end
  75.      # 如果你应用了23种战斗特效的公共事件版脚本请去掉下面几行的注释
  76.       if @common_event_id > 0
  77.         common_event = $data_common_events[@common_event_id]
  78.         $game_system.battle_interpreter.setup(common_event.list, 0)
  79.       end
  80.      @hit_count -= 1
  81.      @phase4_step = 3
  82.    end
  83. end
  84. end
复制代码
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-27 05:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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