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

Project1

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

[已经解决] 改密码锁脚本的小问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
84 小时
注册时间
2009-1-30
帖子
175
跳转到指定楼层
1
发表于 2014-8-20 12:45:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这个限时密码锁脚本目前只支持几个按键,窝自己改了下,加了几个按键,结果好像不行,本人只是初学脚本,窝绝不是伸手党,但是确实没看懂{:2_270:}
希望大大们能告诉我:1添加12以后的按键之后怎么搞;2时间限制怎么修改;
脚本来着恐怖解谜游戏集合脚本,原版如下:
RUBY 代码复制
  1. #===============================================================================
  2. # +++ MOG - Chain Commands (v1.4) +++
  3. #===============================================================================
  4. # By Moghunter                                                               
  5. # [url]http://www.atelier-rgss.com[/url]                     
  6. #===============================================================================
  7. # Sistema de sequência de botões para ativar switchs.
  8. #
  9. # Serão necessárias as seguintes imagens. (Graphics/System)
  10. #
  11. # Chain_Cursor.png
  12. # Chain_Command.png
  13. # Chain_Layout.png
  14. # Chain_Timer_Layout.png
  15. # Chain_Timer_Meter.png
  16. #
  17. #===============================================================================
  18. #
  19. # Para ativar o script use o comando abaixo.  (*Call Script)
  20. #
  21. # chain_commands(ID)
  22. #
  23. # ID - Id da switch.
  24. #
  25. #===============================================================================
  26.  
  27. #==============================================================================
  28. # ● Histórico (Version History)
  29. #==============================================================================
  30. # v 1.4 - Correção do crash aleatório.
  31. # v 1.3 - Melhoria no sistema de dispose
  32. # v 1.2 - Melhoria na codificação e correção de alguns glitches.
  33. # v 1.1 - Animação de fade ao sair da cena de chain.
  34. #       - Opção de definir a prioridade da hud na tela.
  35. #==============================================================================
  36.  
  37. module MOG_CHAIN_COMMANDS
  38. #==============================================================================
  39. # CHAIN_COMMAND = { SWITCH_ID => [COMMAND] }
  40. #
  41. # SWITCH_ID = ID da switch
  42. # COMMANDS = Defina aqui a sequência de botões.
  43. #            (Para fazer a sequência use os comandos abaixo)   
  44. #  
  45. # "Down" ,"Up" ,"Left" ,"Right" ,"Shift" ,"D" ,"S" ,"A" ,"Z" ,"X" ,"Q" ,"W"
  46. #
  47. # Exemplo de utilização
  48. #
  49. # CHAIN_SWITCH_COMMAND = {
  50. # 25=>["Down","D","S","Right"],
  51. # 59=>["Down","Up","Left","Right","Shift","D","S","A","Z","X","Q","W"],
  52. # 80=>["Shift","D"]
  53. # }
  54. #==============================================================================
  55. CHAIN_SWITCH_COMMAND = {
  56. 5=>["X","Right","Left","Z","Z"],
  57. 7=>["X","X","X","X","X"],
  58. 6=>["Left","Right","Left","Right","Left","Right","Q","Z","Up","A","S",
  59.       "Down","D","Z","Right","Up","Up","Z","W","Left","Down","D","A","W"],
  60. 8=>["Up","Down","Left","Right","Z"]}
  61. #Duração para colocar os comandos. (A duração é multiplicado pela quantidade
  62. #de comandos) *60 = 1 sec
  63. #上面的锁代表成功输入这些按键后会开启相应的开关
  64. CHAIN_INPUT_DURATION = 30
  65. #Som ao acertar.
  66. CHAIN_RIGHT_SE = "Chime1"
  67. #Som ao errar.
  68. CHAIN_WRONG_SE = "Buzzer1"
  69. #Switch que ativa o modo automático.
  70. CHAIN_AUTOMATIC_MODE_SWITCH_ID = 20
  71. #Definição da prioridade da hud na tela
  72. CHAIN_HUD_Z = 300
  73. end
  74.  
  75.  
  76. #===============================================================================
  77. # ■ Chain Commands
  78. #===============================================================================
  79. class Chain_Commands
  80.    include MOG_CHAIN_COMMANDS
  81. #--------------------------------------------------------------------------
  82. # ● Initialize
  83. #--------------------------------------------------------------------------      
  84.   def initialize
  85.       @action_id = $game_temp.chain_switch_id
  86.       @chain_command = CHAIN_SWITCH_COMMAND[@action_id]
  87.       @chain_command = ["?"] if @chain_command == nil  
  88.       duration = [[CHAIN_INPUT_DURATION, 1].max, 9999].min
  89.       @timer_max = duration * @chain_command.size
  90.       @timer = @timer_max
  91.       @slide_time = [[60 / duration, 10].max, 60].min
  92.       @change_time = 0
  93.       if $game_switches[CHAIN_AUTOMATIC_MODE_SWITCH_ID]
  94.          @auto = true
  95.       else
  96.          @auto = false
  97.       end
  98.       [url=home.php?mod=space&uid=10462]@Com[/url] = 0  
  99.   end   
  100.  
  101. #--------------------------------------------------------------------------
  102. # ● Main
  103. #--------------------------------------------------------------------------     
  104. def main
  105.      dispose
  106.      @background_sprite = Sprite.new
  107.      @background_sprite.bitmap = SceneManager.background_bitmap2
  108.      create_chain_command
  109.      create_cusrsor
  110.      create_layout
  111.      create_meter
  112.      create_text
  113.      create_number
  114.      Graphics.transition
  115.      loop do
  116.           Graphics.update
  117.            Input.update
  118.            update
  119.            break if SceneManager.scene != self
  120.      end
  121.      dispose
  122. end  
  123.  
  124. #--------------------------------------------------------------------------
  125. # ● Create Cursor
  126. #--------------------------------------------------------------------------            
  127. def create_cusrsor
  128.      @fy_time = 0
  129.      @fy = 0
  130.      @com_index = 0
  131.      @cursor = Sprite.new
  132.      @cursor.bitmap = Cache.system("Chain_Cursor")
  133.      @cursor.z = 4 + CHAIN_HUD_Z
  134.      @cursor_space = ((@bitmap_cw + 5) * @chain_command.size) / 2
  135.      if @chain_command.size <= 20
  136.         @cursor.x = (544 / 2) - @cursor_space + @cursor_space * @com_index
  137.      else   
  138.         @cursor.x = (544 / 2)
  139.      end  
  140.      @cursor.y = (416 / 2) + 30   
  141. end
  142.  
  143. #--------------------------------------------------------------------------
  144. # ● Create Chain Command
  145. #--------------------------------------------------------------------------      
  146. def create_chain_command
  147.      @image = Cache.system("Chain_Command")     
  148.      width_max = ((@image.width / 13) + 5) * @chain_command.size
  149.      @bitmap = Bitmap.new(width_max,@image.height * 2)
  150.      @bitmap_cw = @image.width / 13
  151.      @bitmap_ch = @image.height  
  152.      index = 0
  153.      for i in @chain_command
  154.          command_list_check(i)
  155.          bitmap_src_rect = Rect.new(@com * @bitmap_cw, 0, @bitmap_cw, @bitmap_ch)
  156.          if index == 0
  157.             @bitmap.blt(index * (@bitmap_cw + 5) , 0, @image, bitmap_src_rect)
  158.          else
  159.             @bitmap.blt(index * (@bitmap_cw + 5) , @bitmap_ch, @image, bitmap_src_rect)
  160.          end
  161.          index += 1
  162.      end
  163.      @sprite = Sprite.new
  164.      @sprite.bitmap = @bitmap
  165.      if @chain_command.size <= 15
  166.         @sprite.x = (544 / 2) - ((@bitmap_cw + 5) * @chain_command.size) / 2
  167.         @new_x = 0
  168.      else   
  169.         @sprite.x = (544 / 2)
  170.         @new_x = @sprite.x
  171.      end   
  172.      @sprite.y = (416 / 2) + 30  - @bitmap_ch  - 15
  173.      @sprite.z = 3 + CHAIN_HUD_Z
  174.      @sprite.zoom_x = 1.5
  175.      @sprite.zoom_y = 1.5
  176. end
  177.  
  178. #--------------------------------------------------------------------------
  179. # * create_layout
  180. #--------------------------------------------------------------------------  
  181. def create_layout
  182.      @back = Plane.new
  183.      @back.bitmap = Cache.system("Chain_Layout")
  184.      @back.z = 0
  185.      @layout = Sprite.new
  186.      @layout.bitmap = Cache.system("Chain_Timer_Layout")
  187.      @layout.z = 1 + CHAIN_HUD_Z
  188.      @layout.x = 160
  189.      @layout.y = 150
  190.   end
  191.  
  192. #--------------------------------------------------------------------------
  193. # * create_meter
  194. #--------------------------------------------------------------------------  
  195. def create_meter
  196.      @meter_flow = 0
  197.      @meter_image = Cache.system("Chain_Timer_Meter")
  198.      @meter_bitmap = Bitmap.new(@meter_image.width,@meter_image.height)
  199.      @meter_range = @meter_image.width / 3
  200.      @meter_width = @meter_range * @timer / @timer_max
  201.      @meter_height = @meter_image.height
  202.      @meter_src_rect = Rect.new(@meter_range, 0, @meter_width, @meter_height)
  203.      @meter_bitmap.blt(0,0, @meter_image, @meter_src_rect)
  204.      @meter_sprite = Sprite.new
  205.      @meter_sprite.bitmap = @meter_bitmap
  206.      @meter_sprite.z = 2 + CHAIN_HUD_Z
  207.      @meter_sprite.x = 220
  208.      @meter_sprite.y = 159
  209.      update_flow
  210. end  
  211.  
  212. #--------------------------------------------------------------------------
  213. # ● Create Text
  214. #--------------------------------------------------------------------------        
  215. def create_text
  216.      @text = Sprite.new
  217.      @text.bitmap = Bitmap.new(200,32)
  218.      @text.z = 2 + CHAIN_HUD_Z
  219.      @text.bitmap.font.name = "Georgia"
  220.      @text.bitmap.font.size = 25
  221.      @text.bitmap.font.bold = true
  222.      @text.bitmap.font.italic = true
  223.      @text.bitmap.font.color.set(255, 255, 255,220)
  224.      @text.x = 230
  225.      @text.y = 100
  226. end
  227.  
  228. #--------------------------------------------------------------------------
  229. # ● Create Number
  230. #--------------------------------------------------------------------------        
  231. def create_number
  232.      @combo = 0
  233.      @number = Sprite.new
  234.      @number.bitmap = Bitmap.new(200,64)
  235.      @number.z = 2 + CHAIN_HUD_Z
  236.      @number.bitmap.font.name = "Arial"
  237.      @number.bitmap.font.size = 24
  238.      @number.bitmap.font.bold = true
  239.      @number.bitmap.font.color.set(0, 255, 255,200)
  240.      @number.bitmap.draw_text(0, 0, 200, 32, "Ready",1)         
  241.      @number.x = 30
  242.      @number.y = 100
  243. end
  244.  
  245. #--------------------------------------------------------------------------
  246. # ● Pre Dispose
  247. #--------------------------------------------------------------------------      
  248. def exit
  249.      loop do
  250.          Graphics.update
  251.          @sprite.x += 5
  252.          @layout.x -= 5
  253.          @meter_sprite.x -= 5
  254.          @text.x -= 2
  255.          @text.opacity -= 5
  256.          @sprite.opacity -= 5
  257.          @layout.opacity -= 5
  258.          @meter_sprite.opacity -= 5
  259.          @number.opacity -= 5
  260.          @back.opacity -= 5
  261.          @cursor.visible = false   
  262.          break if @sprite.opacity == 0
  263.      end
  264.      SceneManager.call(Scene_Map)
  265. end
  266.  
  267. #--------------------------------------------------------------------------
  268. # ● Dispose
  269. #--------------------------------------------------------------------------      
  270. def dispose
  271.      return if @layout == nil
  272.      Graphics.freeze
  273.      @background_sprite.bitmap.dispose
  274.      @background_sprite.dispose
  275.      @bitmap.dispose
  276.      @sprite.bitmap.dispose
  277.      @sprite.dispose
  278.      @cursor.bitmap.dispose
  279.      @cursor.dispose  
  280.      @meter_image.dispose
  281.      @meter_bitmap.dispose
  282.      @meter_sprite.bitmap.dispose
  283.      @meter_sprite.dispose
  284.      @layout.bitmap.dispose  
  285.      @layout.dispose
  286.      @layout = nil
  287.      @back.bitmap.dispose
  288.      @back.dispose
  289.      @text.bitmap.dispose
  290.      @text.dispose
  291.      @number.bitmap.dispose
  292.      @number.dispose
  293.      @image.dispose
  294. end
  295.  
  296. #--------------------------------------------------------------------------
  297. # ● Update
  298. #--------------------------------------------------------------------------      
  299. def update
  300.      update_command
  301.      update_cursor_slide
  302.      update_flow
  303.      update_change_time
  304. end
  305.  
  306. #--------------------------------------------------------------------------
  307. # ● Change_Time
  308. #--------------------------------------------------------------------------        
  309. def update_change_time
  310.      return unless @auto
  311.      @change_time += 1
  312.      check_command(-1) if @change_time >= CHAIN_INPUT_DURATION - 1
  313. end
  314.  
  315. #--------------------------------------------------------------------------
  316. # ● Update Flow
  317. #--------------------------------------------------------------------------      
  318. def update_flow
  319.      @timer -= 1
  320.      @meter_sprite.bitmap.clear
  321.      @meter_width = @meter_range * @timer / @timer_max
  322.      @meter_src_rect = Rect.new(@meter_flow, 0, @meter_width, @meter_height)
  323.      @meter_bitmap.blt(0,0, @meter_image, @meter_src_rect)  
  324.      @meter_flow += 20
  325.      @meter_flow = 0 if @meter_flow >= @meter_image.width - @meter_range      
  326.      wrong_command if @timer == 0 and @auto == false
  327.   end  
  328.  
  329. #--------------------------------------------------------------------------
  330. # ● Update Command
  331. #--------------------------------------------------------------------------      
  332. def update_command
  333.      return if @auto
  334.      if Input.trigger?(Input::X)
  335.         check_command(0)
  336.      elsif Input.trigger?(Input::Z)  
  337.         check_command(1)
  338.      elsif Input.trigger?(Input::Y)  
  339.         check_command(2)
  340.      elsif Input.trigger?(Input::A)   
  341.         check_command(3)
  342.      elsif Input.trigger?(Input::C)           
  343.         check_command(4)
  344.      elsif Input.trigger?(Input::B)        
  345.         check_command(5)
  346.      elsif Input.trigger?(Input::L)        
  347.         check_command(6)
  348.      elsif Input.trigger?(Input::R)        
  349.         check_command(7)        
  350.      elsif Input.trigger?(Input::RIGHT)      
  351.         check_command(8)
  352.      elsif Input.trigger?(Input::LEFT)
  353.         check_command(9)
  354.      elsif Input.trigger?(Input::DOWN)
  355.         check_command(10)
  356.      elsif Input.trigger?(Input::UP)  
  357.         check_command(11)
  358.      end   
  359. end  
  360.  
  361. #--------------------------------------------------------------------------
  362. # ● command_list_check
  363. #--------------------------------------------------------------------------      
  364. def command_list_check(command)
  365.      case command
  366.          when "A"
  367.             @com = 0  
  368.          when "D"
  369.             @com = 1  
  370.          when "S"
  371.             @com = 2
  372.          when "Shift"
  373.             @com = 3
  374.          when "Z"
  375.             @com = 4
  376.          when "X"
  377.             @com = 5
  378.          when "Q"
  379.             @com = 6
  380.          when "W"
  381.             @com = 7            
  382.          when "Right"
  383.             @com = 8
  384.          when "Left"
  385.             @com = 9
  386.          when "Down"
  387.             @com = 10
  388.          when "Up"  
  389.             @com = 11
  390.          else   
  391.             @com = 12           
  392.      end
  393. end   
  394.  
  395. #--------------------------------------------------------------------------
  396. # ● check_command
  397. #--------------------------------------------------------------------------            
  398. def check_command(com)
  399.      index = 0
  400.      if com != -1
  401.         right_input = false
  402.         for i in @chain_command
  403.            if index == @com_index
  404.               command_list_check(i)
  405.               right_input = true if @com == com
  406.            end  
  407.           index += 1  
  408.        end  
  409.      else  
  410.        command_list_check(@com_index)
  411.        @change_time = 0
  412.        right_input = true
  413.      end  
  414.      if right_input
  415.         refresh_number
  416.         next_command
  417.      else  
  418.         wrong_command
  419.      end  
  420. end  
  421.  
  422. #--------------------------------------------------------------------------
  423. # ● Next Command
  424. #--------------------------------------------------------------------------            
  425. def next_command   
  426.      @com_index += 1   
  427.      Audio.se_play("Audio/SE/" + CHAIN_RIGHT_SE, 100, 100)
  428.      if @com_index == @chain_command.size
  429.         $game_switches[@action_id] = true
  430.         exit
  431.         $game_map.need_refresh = true
  432.      end  
  433.      refresh_command
  434.      refresh_text(0)
  435. end     
  436.  
  437. #--------------------------------------------------------------------------
  438. # ● wrong_command
  439. #--------------------------------------------------------------------------              
  440. def wrong_command
  441.      Audio.se_play("Audio/SE/" + CHAIN_WRONG_SE, 100, 100)
  442.      refresh_text(1)
  443.      exit
  444.      $game_player.jump(0,0)
  445. end
  446.  
  447. #--------------------------------------------------------------------------
  448. # ● Refresh Command
  449. #--------------------------------------------------------------------------               
  450. def refresh_command
  451.      @sprite.bitmap.clear
  452.      index = 0
  453.      for i in @chain_command
  454.          command_list_check(i)
  455.          bitmap_src_rect = Rect.new(@com * @bitmap_cw, 0, @bitmap_cw, @bitmap_ch)
  456.          if @com_index == index
  457.             @bitmap.blt(index * (@bitmap_cw + 5) , 0, @image, bitmap_src_rect)
  458.          else
  459.             @bitmap.blt(index * (@bitmap_cw + 5) , @bitmap_ch, @image, bitmap_src_rect)
  460.          end
  461.          index += 1
  462.        end
  463.      if @chain_command.size > 15  
  464.         @new_x = (544 / 2) - ((@bitmap_cw + 5) * @com_index)
  465.      else   
  466.         @cursor.x = (544 / 2) - @cursor_space + ((@bitmap_cw + 5) * @com_index)
  467.      end
  468. end  
  469.  
  470. #--------------------------------------------------------------------------
  471. # ● Refresh Text
  472. #--------------------------------------------------------------------------               
  473. def refresh_text(type)
  474.      @text.bitmap.clear
  475.      if type == 0
  476.         if @com_index == @chain_command.size
  477.            @text.bitmap.font.color.set(55, 255, 55,220)
  478.            @text.bitmap.draw_text(0, 0, 200, 32, "Perfect!",1)              
  479.         else  
  480.            @text.bitmap.font.color.set(55, 155, 255,220)
  481.            @text.bitmap.draw_text(0, 0, 200, 32, "Success!",1)              
  482.         end
  483.      else
  484.         @text.bitmap.font.color.set(255, 155, 55,220)
  485.         if @timer == 0
  486.            @text.bitmap.draw_text(0, 0, 200, 32, "Time Limit!",1)  
  487.         else  
  488.            @text.bitmap.draw_text(0, 0, 200, 32, "Fail!",1)   
  489.         end
  490.      end  
  491.      @text.x = 230   
  492.      @text.opacity = 255
  493. end
  494.  
  495. #--------------------------------------------------------------------------
  496. # ● Refresh Number
  497. #--------------------------------------------------------------------------               
  498. def refresh_number
  499.      @combo += 1
  500.      @number.bitmap.clear
  501.      @number.bitmap.font.size = 34
  502.      @number.bitmap.draw_text(0, 0, 200, 32, @combo.to_s,1)         
  503.      @number.opacity = 255
  504.      @number.zoom_x = 2
  505.      @number.zoom_y = 2
  506. end
  507.  
  508. #--------------------------------------------------------------------------
  509. # ● Update Cursor Slide
  510. #--------------------------------------------------------------------------           
  511. def update_cursor_slide   
  512.      @sprite.zoom_x -= 0.1 if @sprite.zoom_x > 1
  513.      @sprite.zoom_y -= 0.1 if @sprite.zoom_y > 1
  514.      @text.x -= 2 if @text.x > 210
  515.      @text.opacity -= 5 if @text.opacity > 0
  516.      @sprite.x -= @slide_time if @sprite.x > @new_x and @chain_command.size > 15
  517.      if @number.zoom_x > 1
  518.         @number.zoom_x -= 0.1
  519.         @number.zoom_y -= 0.1
  520.      end
  521.      if @fy_time > 15
  522.         @fy += 1
  523.      elsif @fy_time > 0
  524.         @fy -= 1
  525.      else   
  526.         @fy = 0
  527.         @fy_time = 30
  528.      end  
  529.      @fy_time -= 1
  530.      @cursor.oy = @fy     
  531. end  
  532. end
  533.  
  534. #==============================================================================
  535. # ■ Game Temp
  536. #==============================================================================
  537. class Game_Temp
  538.  
  539. attr_accessor :chain_switch_id
  540.  
  541. #--------------------------------------------------------------------------
  542. # ● Initialize
  543. #--------------------------------------------------------------------------         
  544.   alias mog_chain_commands_initialize initialize
  545.   def initialize
  546.       @chain_switch_id = 0
  547.       mog_chain_commands_initialize
  548.   end  
  549.  
  550. end
  551.  
  552. #==============================================================================
  553. # ■ Game_Interpreter
  554. #==============================================================================
  555. class Game_Interpreter
  556.  
  557. #--------------------------------------------------------------------------
  558. # ● Chain Commands
  559. #--------------------------------------------------------------------------           
  560.   def chain_commands(switch_id = 0)
  561.       return if switch_id <= 0
  562.       $game_temp.chain_switch_id = switch_id
  563.       SceneManager.call(Chain_Commands)
  564.       wait(1)
  565.   end
  566.  
  567. end
  568.  
  569. #===============================================================================
  570. # ■ SceneManager
  571. #===============================================================================
  572. class << SceneManager
  573.   @background_bitmap2 = nil
  574.  
  575.   #--------------------------------------------------------------------------
  576.   # ● Snapshot For Background2
  577.   #--------------------------------------------------------------------------
  578.   def snapshot_for_background2
  579.       @background_bitmap2.dispose if @background_bitmap2
  580.       @background_bitmap2 = Graphics.snap_to_bitmap
  581.   end
  582.  
  583.   #--------------------------------------------------------------------------
  584.   # ● Background Bitmap2
  585.   #--------------------------------------------------------------------------
  586.   def background_bitmap2
  587.       @background_bitmap2
  588.   end
  589.  
  590. end
  591.  
  592. #===============================================================================
  593. # ■ Scene Map
  594. #===============================================================================
  595. class Scene_Map < Scene_Base
  596.  
  597.   #--------------------------------------------------------------------------
  598.   # ● Terminate
  599.   #--------------------------------------------------------------------------  
  600.   alias mog_chain_commands_terminate terminate
  601.   def terminate
  602.       SceneManager.snapshot_for_background2
  603.       mog_chain_commands_terminate      
  604.   end
  605.  
  606. end  
  607.  
  608. $mog_rgss3_chain_commands = true

ps:该脚本来源与RPG制作大师吧的置顶帖

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

2
发表于 2014-8-20 13:08:14 | 只看该作者
1 按键添加完成后,在事件指令中的脚本里输入 chain_commands(喵呜喵5)
括号中的喵呜喵5换成你设置的ID

2 时间长短在脚本第64行

P.S 虽然没什么大影响,63行的注释,位置错了= =

点评

好吧我现在看懂了你的意思  发表于 2014-8-20 13:15
难道不是说:依次按下了相应的键就会打开SwitchID对应的开关?  发表于 2014-8-20 13:13
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
84 小时
注册时间
2009-1-30
帖子
175
3
 楼主| 发表于 2014-8-20 13:11:35 | 只看该作者
喵呜喵5 发表于 2014-8-20 13:08
1 按键添加完成后,在事件指令中的脚本里输入 chain_commands(喵呜喵5)
括号中的喵呜喵5换成你设置的ID

可是我实际测试时,12以后的按键出来都是“?”而且即便按对了也不显示正确,另外能解释一下elas后弟13个是什么用的?

点评

贴上你的设置  发表于 2014-8-20 13:17
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
84 小时
注册时间
2009-1-30
帖子
175
4
 楼主| 发表于 2014-8-20 13:36:02 | 只看该作者
我设置了一个开关11来测试,修改了脚本中如下(2个)地方:


RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● Update Command
  3. #--------------------------------------------------------------------------      
  4. def update_command
  5.      return if @auto
  6.      if Input.trigger?(Input::X)
  7.         check_command(0)
  8.      elsif Input.trigger?(Input::Z)  
  9.         check_command(1)
  10.      elsif Input.trigger?(Input::Y)  
  11.         check_command(2)
  12.      elsif Input.trigger?(Input::A)   
  13.         check_command(3)
  14.      elsif Input.trigger?(Input::C)           
  15.         check_command(4)
  16.      elsif Input.trigger?(Input::B)        
  17.         check_command(5)
  18.      elsif Input.trigger?(Input::L)        
  19.         check_command(6)
  20.      elsif Input.trigger?(Input::R)        
  21.         check_command(7)        
  22.      elsif Input.trigger?(Input::RIGHT)      
  23.         check_command(8)
  24.      elsif Input.trigger?(Input::LEFT)
  25.         check_command(9)
  26.      elsif Input.trigger?(Input::DOWN)
  27.         check_command(10)
  28.      elsif Input.trigger?(Input::UP)  
  29.         check_command(11)
  30.      elsif Input.trigger?(Input::B)  
  31.         check_command(12)
  32.      elsif Input.trigger?(Input::C)  
  33.         check_command(13)  
  34.      end   
  35. end


以上是我认为添加按键的地方,虽然标签是刷新按键
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● command_list_check
  3. #--------------------------------------------------------------------------      
  4. def command_list_check(command)
  5.      case command
  6.          when "A"
  7.             [url=home.php?mod=space&uid=10462]@Com[/url] = 0  
  8.          when "D"
  9.             @com = 1  
  10.          when "S"
  11.             @com = 2
  12.          when "Shift"
  13.             @com = 3
  14.          when "Z"
  15.             @com = 4
  16.          when "X"
  17.             @com = 5
  18.          when "Q"
  19.             @com = 6
  20.          when "W"
  21.             @com = 7            
  22.          when "Right"
  23.             @com = 8
  24.          when "Left"
  25.             @com = 9
  26.          when "Down"
  27.             @com = 10
  28.          when "Up"  
  29.             @com = 11
  30.          when "B"  
  31.             @com = 12
  32.          when "C"  
  33.             @com = 13
  34.          else   
  35.             @com = 14         
  36.      end
  37. end

之后测试就各种不正常了。。

QQ图片20140820133131.jpg (6.16 KB, 下载次数: 31)

QQ图片20140820133131.jpg

QQ图片20140820133048.jpg (5.27 KB, 下载次数: 28)

QQ图片20140820133048.jpg

QQ图片20140820133127.jpg (1.76 KB, 下载次数: 30)

QQ图片20140820133127.jpg

QQ图片20140820133531.jpg (42.15 KB, 下载次数: 28)

QQ图片20140820133531.jpg

点评

你难道没发现你 B和C按键重复了吗?。这个不需要你去改动的说。  发表于 2014-8-20 13:44
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
84 小时
注册时间
2009-1-30
帖子
175
5
 楼主| 发表于 2014-8-20 13:38:51 | 只看该作者
Forever火 发表于 2014-8-20 13:36
我设置了一个开关11来测试,修改了脚本中如下(2个)地方:

@余烬之中 已经发了
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6543
在线时间
1275 小时
注册时间
2013-8-21
帖子
3657

开拓者

6
发表于 2014-8-20 13:48:38 | 只看该作者
噗 你这个错的太狠了
脚本的本意是让你设置这个:
RUBY 代码复制
  1. CHAIN_SWITCH_COMMAND = {
  2. 5=>["X","Right","Left","Z","Z"],
  3. 7=>["X","X","X","X","X"],
  4. 6=>["Left","Right","Left","Right","Left","Right","Q","Z","Up","A","S",
  5.       "Down","D","Z","Right","Up","Up","Z","W","Left","Down","D","A","W"],
  6. 8=>["Up","Down","Left","Right","Z"]}


通过有限的十二个键的不同组合组成不同的连击链条

然后 脚本调用特定的连击链条 让玩家去击打 成功的话就将该链条对应的开关打开
比如  7=>["X","X","X","X","X"]
玩家按下五次X 就打开七号开关
按错了什么都不发生


而你的第一处更改 在update_command那里的

我要先向你介绍 if - elsif - else - end
RUBY 代码复制
  1. if <条件A>
  2.   <执行的内容A>
  3. elsif <条件B>
  4.   <执行的内容B>
  5. ......
  6. else
  7.   <执行的内容X>
  8. end

满足条件A时,执行内容A
不满足条件A,但是满足条件B 则执行内容B
……
所有的条件都不满足 执行else对应的内容

现在再回来看你的更改
第14行 elsif Input.trigger?(Input::C)
你所加的 在第32行 elsif Input.trigger?(Input::C)
一模一样 这当然不行(为什么?自己想一想.我已经把语法告诉你了)



再看你的第二处更改

这是case - when - else - end
RUBY 代码复制
  1. case <A>
  2. when <C1>
  3.   <B1>
  4. when <C2>
  5.   <B2>
  6. ...
  7. else
  8.   <BB>
  9. end

依次将A与C1 C2 C3……比较
一旦发现两个相同
就执行所对应的语句
如果都不相同
执行else的语句

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 我很赞同

查看全部评分

萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
84 小时
注册时间
2009-1-30
帖子
175
7
 楼主| 发表于 2014-8-20 14:09:16 | 只看该作者
余烬之中 发表于 2014-8-20 13:48
噗 你这个错的太狠了
脚本的本意是让你设置这个:
CHAIN_SWITCH_COMMAND = {

额。。。真没发现BC重复了{:2_270:},然后我刚刚又去改成D和E了,结果报错了,以我有限的英语水平看好像是没有定义input::D,然后我又找不到它在哪定义这玩意的。我想说12个按键有点少。。我想改成全26个字母

QQ图片20140820140549.jpg (13.96 KB, 下载次数: 25)

QQ图片20140820140549.jpg

QQ图片20140820140540.jpg (12.11 KB, 下载次数: 29)

QQ图片20140820140540.jpg

点评

论坛搜索 全键盘脚本  发表于 2014-8-20 14:15
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6543
在线时间
1275 小时
注册时间
2013-8-21
帖子
3657

开拓者

8
发表于 2014-8-20 14:21:18 | 只看该作者
你需要全键盘脚本+相应图片素材
萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
84 小时
注册时间
2009-1-30
帖子
175
9
 楼主| 发表于 2014-8-20 14:21:18 | 只看该作者
@VIPArcher 火狐浏览器不知为毛点评刷补出验证码,在这给您回了,我觉得如果挨个检测按键也不必要用ISA(其实我是看不懂然后觉得麻烦){:2_272:}

点评

RM自带的按键检测并不支持全键盘,因此需要全键盘脚本  发表于 2014-8-20 14:27
泥放弃吧。12个按键够多了→。→  发表于 2014-8-20 14:27
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
84 小时
注册时间
2009-1-30
帖子
175
10
 楼主| 发表于 2014-8-20 14:52:02 | 只看该作者
本帖最后由 Forever火 于 2014-8-20 14:53 编辑

好吧我去看看全键盘脚本。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-25 23:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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