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

Project1

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

[已经解决] 禁止人物加速跑的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2013-2-15
帖子
20
跳转到指定楼层
1
 楼主| 发表于 2013-2-23 14:47:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 imgoofy 于 2013-2-23 15:15 编辑

我想在某些地图上禁止角色进行加速跑,首先放上加速跑脚本。。。。



module XRXS_Dash
#
# 按下加速键之后的速度増加量
#
PLUSPEED = 1
#
# 行走加速的按键
#
BUTTON = Input::SHIFT
end
#==============================================================================
# ■ Game_Player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias xrxs25_update update
def update
   # 例外補正
   if @move_speed_arcadia == nil
     @move_speed_arcadia = @move_speed
   end
   # 移動中、イベント実行中、移動ルート強制中、
   # メッセージウィンドウ表示中、
   # ダッシュボタン挿下中、のいずれでもない場合
   unless moving? or $game_system.map_interpreter.running? or
          @move_route_forcing or $game_temp.message_window_showing
     # 速度の変更
     if Input.press?(XRXS_Dash::BUTTON)
       @move_speed = @move_speed_arcadia + XRXS_Dash::PLUSPEED
     else
       @move_speed = @move_speed_arcadia
     end
   end
   # 呼び戻す
   xrxs25_update
end
#--------------------------------------------------------------------------
# ○ 移動タイプ : カスタム [オーバーライド]
#--------------------------------------------------------------------------
def move_type_custom
   # 例外補正
   if @move_speed_arcadia == nil
     @move_speed_arcadia = @move_speed
   end
   # 標準速度に戻す
   @move_speed = @move_speed_arcadia
   # 呼び戻す
   super
   # 速度の保存
   @move_speed_arcadia = @move_speed
end
end


然后我想可不可以在某些地图上禁用SHIFT键或者别的什么禁止人物加速跑的方法。。

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

2
发表于 2013-2-23 15:06:34 | 只看该作者
楼主可以考虑加一个开关判断
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================
  4. # ▼▲▼ XRXS25. ダッシュ機能 ver.2 ▼▲▼
  5. # by 桜雅 在土 (基本、再改訂)
  6. #    Tetra-Z   (改訂原案)
  7. #==============================================================================
  8. # □ カスタマイズポイント
  9. #==============================================================================
  10. module XRXS_Dash
  11. #
  12. # 按下加速键之后的速度増加量
  13. #
  14. PLUSPEED = 1
  15. #
  16. # 行走加速的按键
  17. #
  18. BUTTON = Input::C
  19. end
  20. #==============================================================================
  21. # ■ Game_Player
  22. #==============================================================================
  23. class Game_Player < Game_Character
  24. #--------------------------------------------------------------------------
  25. # ● フレーム更新
  26. #--------------------------------------------------------------------------
  27. alias xrxs25_update update
  28. def update
  29.    # 例外補正
  30.    if @move_speed_arcadia == nil
  31.      @move_speed_arcadia = @move_speed
  32.    end
  33.    # 移動中、イベント実行中、移動ルート強制中、
  34.    # メッセージウィンドウ表示中、
  35.    # ダッシュボタン挿下中、のいずれでもない場合
  36.    unless moving? or $game_system.map_interpreter.running? or
  37.           @move_route_forcing or $game_temp.message_window_showing
  38.      # 速度の変更
  39.      if Input.press?(XRXS_Dash::BUTTON)
  40.        if $game_switches[3] == false
  41.        @move_speed = @move_speed_arcadia + XRXS_Dash::PLUSPEED
  42.      else
  43.        @move_speed = @move_speed_arcadia
  44.      end
  45.      end
  46.    end
  47.    # 呼び戻す
  48.    xrxs25_update
  49. end
  50. #--------------------------------------------------------------------------
  51. # ○ 移動タイプ : カスタム [オーバーライド]
  52. #--------------------------------------------------------------------------
  53. def move_type_custom
  54.    # 例外補正
  55.    if @move_speed_arcadia == nil
  56.      @move_speed_arcadia = @move_speed
  57.    end
  58.    # 標準速度に戻す
  59.    @move_speed = @move_speed_arcadia
  60.    # 呼び戻す
  61.    super
  62.    # 速度の保存
  63.    @move_speed_arcadia = @move_speed
  64. end
  65. end
  66. #==============================================================================
  67. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  68. #==============================================================================
复制代码
如当3号开关打开时无法加速

点评

脚本写法错误,像上面那样的话,无论怎样折腾都加不了速了  发表于 2013-2-23 15:26
小露露在欺负人,没看见控制按键加速的开关设置捏?  发表于 2013-2-23 15:22

评分

参与人数 1星屑 +150 收起 理由
明特·布兰马修 + 150 认可答案

查看全部评分

大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2013-2-15
帖子
20
3
 楼主| 发表于 2013-2-23 15:14:43 | 只看该作者
美丽晨露 发表于 2013-2-23 15:06
楼主可以考虑加一个开关判断如当3号开关打开时无法加速

哇~~~十分感谢~~~
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33624
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

4
发表于 2013-2-23 15:15:19 | 只看该作者
   脚本已修改,加入开关控制是否按键加速,脚本上有设置
  1. module XRXS_Dash
  2. #
  3. # 按下加速键之后的速度増加量
  4. #
  5. PLUSPEED = 1
  6. #
  7. # 行走加速的按键
  8. #
  9. BUTTON = Input::SHIFT
  10. #
  11. end
  12. #  行走加速的控制开关ID,开关打开,按键加速有效,反之则无效。
  13. SWITCHE_ID = 1
  14. #==============================================================================
  15. # ■ Game_Player
  16. #==============================================================================
  17. class Game_Player < Game_Character
  18. #--------------------------------------------------------------------------
  19. # ● フレーム更新
  20. #--------------------------------------------------------------------------
  21. alias xrxs25_update update
  22. def update
  23.    # 例外補正
  24.    if @move_speed_arcadia == nil
  25.      @move_speed_arcadia = @move_speed
  26.    end
  27.    # 移動中、イベント実行中、移動ルート強制中、
  28.    # メッセージウィンドウ表示中、
  29.    # ダッシュボタン挿下中、のいずれでもない場合
  30.    unless moving? or $game_system.map_interpreter.running? or
  31.           @move_route_forcing or $game_temp.message_window_showing
  32.      # 速度の変更
  33.     if Input.press?(XRXS_Dash::BUTTON)
  34.       @move_speed = $game_switches[SWITCHE_ID] ? @move_speed_arcadia + XRXS_Dash::PLUSPEED :
  35.                      @move_speed_arcadia
  36.     else
  37.       @move_speed = @move_speed_arcadia
  38.     end
  39.    end
  40.    # 呼び戻す
  41.    xrxs25_update
  42. end
  43. #--------------------------------------------------------------------------
  44. # ○ 移動タイプ : カスタム [オーバーライド]
  45. #--------------------------------------------------------------------------
  46. def move_type_custom
  47.    # 例外補正
  48.    if @move_speed_arcadia == nil
  49.      @move_speed_arcadia = @move_speed
  50.    end
  51.    # 標準速度に戻す
  52.    @move_speed = @move_speed_arcadia
  53.    # 呼び戻す
  54.    super
  55.    # 速度の保存
  56.    @move_speed_arcadia = @move_speed
  57. end
  58. end
复制代码

点评

true 是 开 false 为关  发表于 2013-2-23 15:38
其实我也不知道开关的开和关市数字表示还是true 和 false。所以只用 ? 判断  发表于 2013-2-23 15:29
语法错误不代表不能执行吧,我是经过测试才发布的!  发表于 2013-2-23 15:29
if $game_switches[3] == false 这个不是吗?  发表于 2013-2-23 15:25
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 18:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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