Project1

标题: 能不能用开关控制是否使用脚本? [打印本页]

作者: AVENTZERO    时间: 2007-8-17 16:59
标题: 能不能用开关控制是否使用脚本?
我在工程里加了加速跑和跳跃脚本
但是我发现大地图上要是加速跳那我的很多机关就白设了
能不能使用开关把一个脚本控制一下,我想用那个脚本的时候再打开? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: AVENTZERO    时间: 2007-8-17 16:59
标题: 能不能用开关控制是否使用脚本?
我在工程里加了加速跑和跳跃脚本
但是我发现大地图上要是加速跳那我的很多机关就白设了
能不能使用开关把一个脚本控制一下,我想用那个脚本的时候再打开? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 湛蓝de海    时间: 2007-8-17 17:00
有这样的脚本,但不是所有脚本都是这样.
作者: AVENTZERO    时间: 2007-8-17 17:43
   
就是这个脚本,能不能改成用101号开关控制啊?
=============
# Advanced Jump Edit By: Title Loan Man
#==============================================================================      
  unless $game_system.map_interpreter.running?
    if Input.press?(Input::RIGHT) and Input.press?(Input::A)
      if passable?(@x, @y, 4) and $game_map.terrain_tag($game_player.x+1, $game_player.y) != 6
      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
      jump(2,0)
    end
  end
    if Input.press?(Input::LEFT) and Input.press?(Input::A)
      if passable?(@x, @y, 6) and $game_map.terrain_tag($game_player.x-1, $game_player.y) != 6
      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
      jump(-2,0)
    end
  end
    if Input.press?(Input::DOWN) and Input.press?(Input::A)
      if passable?(@x, @y, 8) and $game_map.terrain_tag($game_player.x, $game_player.y+1) != 6
      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
      jump(0,2)
    end
  end
    if Input.press?(Input::UP) and Input.press?(Input::A)
      if passable?(@x, @y, 2) and $game_map.terrain_tag($game_player.x, $game_player.y-1) != 6
      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
      jump(0,-2)
    end
  end
    if Input.trigger?(Input::A)
      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
      jump(0,0)
    end
  end
#============================================================================================
# Advanced Jump Edit By: Title Loan Man
#==============================================================================  

     unless $game_system.map_interpreter.running?
    if Input.press?(Input::RIGHT) and Input.press?(Input::A) and Input.press?(Input::C)
      if passable?(@x, @y, 4)
        if $game_map.terrain_tag($game_player.x+1, $game_player.y) != 6
         if $game_map.terrain_tag($game_player.x+2, $game_player.y) != 6
           if $game_map.terrain_tag($game_player.x+3, $game_player.y) != 6
            if $game_map.terrain_tag($game_player.x+4, $game_player.y) != 6
            Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
            jump(5,0)
            end
          end
        end
       end
     end
   end
    if Input.press?(Input::LEFT) and Input.press?(Input::A) and Input.press?(Input::C)
      if passable?(@x, @y, 6)
        if $game_map.terrain_tag($game_player.x-1, $game_player.y) != 6
         if $game_map.terrain_tag($game_player.x-2, $game_player.y) != 6
           if $game_map.terrain_tag($game_player.x-3, $game_player.y) != 6
            if $game_map.terrain_tag($game_player.x-4, $game_player.y) != 6         
            Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
            jump(-5,0)
            end
          end
        end
       end
     end
   end
    if Input.press?(Input::DOWN) and Input.press?(Input::A) and Input.press?(Input::C)
      if passable?(@x, @y, 8)
        if $game_map.terrain_tag($game_player.x, $game_player.y+1) != 6
         if $game_map.terrain_tag($game_player.x, $game_player.y+2) != 6
           if $game_map.terrain_tag($game_player.x, $game_player.y+3) != 6
            if $game_map.terrain_tag($game_player.x, $game_player.y+4) != 6         
            Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
            jump(0,5)
            end
          end
        end
       end
     end
   end
    if Input.press?(Input::UP) and Input.press?(Input::A) and Input.press?(Input::C)
      if passable?(@x, @y, 2)
        if $game_map.terrain_tag($game_player.x, $game_player.y-1) != 6
         if $game_map.terrain_tag($game_player.x, $game_player.y-2) != 6
           if $game_map.terrain_tag($game_player.x, $game_player.y-3) != 6
            if $game_map.terrain_tag($game_player.x, $game_player.y-4) != 6         
            Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
            jump(0,-5)
            end
          end
        end
       end
     end
   end
  end
    end
  end
end

作者: 精灵使者    时间: 2007-8-17 18:06
开关控制为101号。

  1. =============
  2. # Advanced Jump Edit By: Title Loan Man
  3. #==============================================================================      
  4. unless $game_system.map_interpreter.running? or !$game_switches[101]
  5.    if Input.press?(Input::RIGHT) and Input.press?(Input::A)
  6.      if passable?(@x, @y, 4) and $game_map.terrain_tag($game_player.x+1, $game_player.y) != 6
  7.      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
  8.      jump(2,0)
  9.    end
  10. end
  11.    if Input.press?(Input::LEFT) and Input.press?(Input::A)
  12.      if passable?(@x, @y, 6) and $game_map.terrain_tag($game_player.x-1, $game_player.y) != 6
  13.      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
  14.      jump(-2,0)
  15.    end
  16. end
  17.    if Input.press?(Input::DOWN) and Input.press?(Input::A)
  18.      if passable?(@x, @y, 8) and $game_map.terrain_tag($game_player.x, $game_player.y+1) != 6
  19.      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
  20.      jump(0,2)
  21.    end
  22. end
  23.    if Input.press?(Input::UP) and Input.press?(Input::A)
  24.      if passable?(@x, @y, 2) and $game_map.terrain_tag($game_player.x, $game_player.y-1) != 6
  25.      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
  26.      jump(0,-2)
  27.    end
  28. end
  29.    if Input.trigger?(Input::A)
  30.      Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
  31.      jump(0,0)
  32.    end
  33. end
  34. #============================================================================================
  35. # Advanced Jump Edit By: Title Loan Man
  36. #==============================================================================  

  37.     unless $game_system.map_interpreter.running? or !$game_switches[101]
  38.    if Input.press?(Input::RIGHT) and Input.press?(Input::A) and Input.press?(Input::C)
  39.      if passable?(@x, @y, 4)
  40.        if $game_map.terrain_tag($game_player.x+1, $game_player.y) != 6
  41.         if $game_map.terrain_tag($game_player.x+2, $game_player.y) != 6
  42.           if $game_map.terrain_tag($game_player.x+3, $game_player.y) != 6
  43.            if $game_map.terrain_tag($game_player.x+4, $game_player.y) != 6
  44.            Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
  45.            jump(5,0)
  46.            end
  47.          end
  48.        end
  49.       end
  50.     end
  51.   end
  52.    if Input.press?(Input::LEFT) and Input.press?(Input::A) and Input.press?(Input::C)
  53.      if passable?(@x, @y, 6)
  54.        if $game_map.terrain_tag($game_player.x-1, $game_player.y) != 6
  55.         if $game_map.terrain_tag($game_player.x-2, $game_player.y) != 6
  56.           if $game_map.terrain_tag($game_player.x-3, $game_player.y) != 6
  57.            if $game_map.terrain_tag($game_player.x-4, $game_player.y) != 6         
  58.            Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
  59.            jump(-5,0)
  60.            end
  61.          end
  62.        end
  63.       end
  64.     end
  65.   end
  66.    if Input.press?(Input::DOWN) and Input.press?(Input::A) and Input.press?(Input::C)
  67.      if passable?(@x, @y, 8)
  68.        if $game_map.terrain_tag($game_player.x, $game_player.y+1) != 6
  69.         if $game_map.terrain_tag($game_player.x, $game_player.y+2) != 6
  70.           if $game_map.terrain_tag($game_player.x, $game_player.y+3) != 6
  71.            if $game_map.terrain_tag($game_player.x, $game_player.y+4) != 6         
  72.            Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
  73.            jump(0,5)
  74.            end
  75.          end
  76.        end
  77.       end
  78.     end
  79.   end
  80.    if Input.press?(Input::UP) and Input.press?(Input::A) and Input.press?(Input::C)
  81.      if passable?(@x, @y, 2)
  82.        if $game_map.terrain_tag($game_player.x, $game_player.y-1) != 6
  83.         if $game_map.terrain_tag($game_player.x, $game_player.y-2) != 6
  84.           if $game_map.terrain_tag($game_player.x, $game_player.y-3) != 6
  85.            if $game_map.terrain_tag($game_player.x, $game_player.y-4) != 6         
  86.            Audio.se_play ("Audio/SE/016-Jump02", 90, 100)
  87.            jump(0,-5)
  88.            end
  89.          end
  90.        end
  91.       end
  92.     end
  93.   end
  94. end
  95.    end
  96. end
  97. end
复制代码

这里打开101号开关就能开启此脚本,如果关闭101号开关就可以使其关闭。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 越前リョーマ    时间: 2007-8-17 18:07
加个调用脚本进去就好了...

或者事件做.
作者: cftx    时间: 2007-8-17 18:08
嗯,unless那里加个判断大概就可以吧,没有实测..........
作者: 精灵使者    时间: 2007-8-17 18:09
以下引用cftx于2007-8-17 10:08:06的发言:

嗯,unless那里加个判断大概就可以吧,没有实测..........

unless能用双重判断+or么?如果能的话……嗯嗯。我就没必要写那么多了。
[LINE]1,#dddddd[/LINE]
经检查可以。那么,脚本已更新。
作者: cftx    时间: 2007-8-17 18:18
unless(a or b)=if !a and !b............
作者: 精灵使者    时间: 2007-8-17 18:20
那就对了。
我的脚本已经更新了。
只要在后面添个开关的非就可以了。。
这样开关关闭的时候脚本也不会执行。
作者: cftx    时间: 2007-8-17 18:23
呃,不也就是多两行吗,没什么区别的吧{/gg}
作者: 精灵使者    时间: 2007-8-17 18:30
代码越长执行的效率越差……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1