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

Project1

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

[已经解决] 事件左侧的移动路线里面是否能执行独立开关

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1433
在线时间
1705 小时
注册时间
2011-8-17
帖子
818
跳转到指定楼层
1
发表于 2014-9-25 10:43:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
事件左侧移动方式改为自定义后在里面用脚本选项执行打开独立开关的命令是否可行?可行的话求一下打开独立开关的脚本语句
roguelike求生RPG研发中....

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2014-9-25 11:52:50 | 只看该作者
移动路线中是可以操作开关的(理论上应该所有脚本操作都是可以的吧

句子是这样的
  1. $game_self_switches[[1, 1,"A"]] = true
复制代码
意思是打开 地图1的1号事件的独立开关A

点评

另外独立开关和普通的开关本来差别就不大,唯一区别就是本事件用的而已……  发表于 2014-9-25 14:55
事件操作的独立开关就等于完成上面那个脚本,只是它能够自己识别是本事件吧  发表于 2014-9-25 14:42
额。。。好吧。。。  发表于 2014-9-25 14:31
脚本可没有那么方的方法,你的关键独立变量做,用变量来控制哪个地图的哪个事件  发表于 2014-9-25 14:06
这种不行啊。。事件太多了。。这种和打开开关的效果差别不大,要打开当前事件的独立开关才有用。。  发表于 2014-9-25 14:04

评分

参与人数 1星屑 +132 收起 理由
taroxd + 132 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22943
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
3
发表于 2014-9-25 11:57:14 | 只看该作者
本帖最后由 tseyik 于 2014-9-25 12:08 编辑

移動ルートの条件分岐応用
http://woodpenguin.web.fc2.com/rgss3/route_branch.html

    条件分岐可使用 if 。
    unless /elsif 不能使用使用。
    条件是使用 eval 判定、所以and / or 可以使用。
      如屏幕截圖所示,可以用條件做條件分支。
    ,你可以用開關S/變量v的條件。
    セルフ変数(脚本)対応。(http://woodpenguin.web.fc2.com/rgss3/self_variable.html
    同時使用這二個脚本時,請把移動ルートの条件分岐脚本放在セルフ変数(脚本)下
詳細応用方法請參考
http://woodpenguin.web.fc2.com/rgss3/route_branch.html
的説明

RUBY 代码复制
  1. =begin
  2.  
  3.  ▼ 移動ルートの条件分岐 ver. 1.0
  4.  
  5.  RPGツクールVXAce用スクリプト
  6.  
  7.  制作 : 木星ペンギン
  8.  URL  : [url]http://woodpenguin.blog.fc2.com/[/url]
  9.  
  10. ------------------------------------------------------------------------------
  11.  概要
  12.  
  13.  □ 移動ルートの設定で条件分岐が使用できるようになります。
  14.  
  15. ------------------------------------------------------------------------------
  16.  使い方
  17.  
  18.  ・ 移動ルート設定のスクリプトで、以下の文字列を入力すると条件分岐を行えます。
  19.  
  20.    if 条件              => 条件が真の場合の処理
  21.    else                 => 上記での条件に当てはまらない場合の処理
  22.    end                  => 条件分岐の終了
  23.  
  24.  ・ unless や elsif のような機能はありません。
  25.  
  26.  ・ 基本的にRubyの条件分岐と同じです。
  27.  
  28.  ・ 条件分岐中に別の条件分岐を入れることは可能です。
  29.  
  30.  ・ 条件では s でスイッチ、v で変数を参照できます。
  31.  
  32.  ・ セルフ変数も使用できます。
  33.     併用する場合はこちらのスクリプトを下にしてください。
  34.  
  35. =end
  36.  
  37. module WdTk
  38. module RouteBranch
  39. #//////////////////////////////////////////////////////////////////////////////
  40. #
  41. # 設定項目
  42. #
  43. #//////////////////////////////////////////////////////////////////////////////
  44.  
  45.   #--------------------------------------------------------------------------
  46.   # ● 移動ルートの処理改善
  47.   #     1 フレームに一行しか処理されない移動ルートの処理を
  48.   #     1 フレーム内に可能な限り処理を行うように変更します。
  49.   #--------------------------------------------------------------------------
  50.   RouteEX = true
  51.  
  52.  
  53. #//////////////////////////////////////////////////////////////////////////////
  54. #
  55. # 以降、変更する必要なし
  56. #
  57. #//////////////////////////////////////////////////////////////////////////////
  58.  
  59. end
  60.  
  61.   @material ||= []
  62.   @material << :RouteBranch
  63.   def self.include?(sym)
  64.     @material.include?(sym)
  65.   end
  66.  
  67. end
  68.  
  69. #==============================================================================
  70. # ■ Game_Character
  71. #==============================================================================
  72. class Game_Character
  73. if WdTk::RouteBranch::RouteEX
  74.   #--------------------------------------------------------------------------
  75.   # ◯ ルートに沿った移動の更新
  76.   #--------------------------------------------------------------------------
  77.   alias _wooden_ex_update_routine_move update_routine_move
  78.   def update_routine_move
  79.     if @wait_count > 0
  80.       @wait_count -= 1
  81.     else
  82.       _wooden_ex_update_routine_move
  83.       if @move_route_forcing && @move_succeed && stopping? &&
  84.         @wait_count == 0 && @move_route_index >= 0
  85.         update_routine_move
  86.       end
  87.     end
  88.   end
  89. end # if WdTk::RouteBranch::RouteEX
  90.   #--------------------------------------------------------------------------
  91.   # ◯ 移動コマンドの処理
  92.   #--------------------------------------------------------------------------
  93.   alias _wdtk_routeb_process_move_command process_move_command
  94.   def process_move_command(command)
  95.     if command.code == ROUTE_SCRIPT
  96.       case command.parameters[0]
  97.       when /if\s+(.+)/
  98.         command_skip(/else|end/) unless route_eval($1)
  99.         return
  100.       when "else"
  101.         command_skip("end")
  102.         return
  103.       when "end"
  104.         return
  105.       end
  106.     end
  107.     _wdtk_routeb_process_move_command(command)
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ● 移動ルート用
  111.   #--------------------------------------------------------------------------
  112.   def route_eval(formula)
  113.     s, v = $game_switches, $game_variables
  114.     begin
  115.       eval(formula)
  116.     rescue
  117.       msgbox "以下の条件判定でエラーが出ました。\n\n", formula
  118.       true
  119.     end
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● コマンドスキップ
  123.   #--------------------------------------------------------------------------
  124.   def command_skip(text)
  125.     @move_route_index += 1
  126.     loop do
  127.       command = @move_route.list[@move_route_index]
  128.       case command.code
  129.       when ROUTE_END
  130.         @move_route_index -= 1
  131.         return
  132.       when ROUTE_SCRIPT
  133.         case command.parameters[0]
  134.         when /^if\s/
  135.           command_skip("end")
  136.         when text
  137.           return
  138.         end
  139.       end
  140.       @move_route_index += 1
  141.     end
  142.   end
  143. end
  144.  
  145. #==============================================================================
  146. # ■ Game_Event
  147. #==============================================================================
  148. if WdTk.include?(:SelfVar)
  149. class Game_Event
  150.   #--------------------------------------------------------------------------
  151.   # ● ルートに沿った移動の更新
  152.   #--------------------------------------------------------------------------
  153.   def update_routine_move
  154.     $game_variables.set_key(@map_id, @id)
  155.     super
  156.     $game_map.interpreter.initiative_selfvar
  157.   end
  158. end
  159. end # if WdTk.include?(:SelfVar)

点评

我可能誤會了  发表于 2014-9-25 12:17
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1433
在线时间
1705 小时
注册时间
2011-8-17
帖子
818
4
 楼主| 发表于 2014-9-25 15:59:27 | 只看该作者
来个版主把这贴关了吧,这帖不需要了

@taroxd  @VIPArcher
roguelike求生RPG研发中....
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 10:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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