Project1

标题: 请问怎样在脚本里实现变量控制的事件 [打印本页]

作者: 紫菜豆腐煲    时间: 2012-7-18 13:08
标题: 请问怎样在脚本里实现变量控制的事件
本帖最后由 紫菜豆腐煲 于 2012-7-19 01:16 编辑

protosssonny
我在VX区看到这个
http://rpg.blue/forum.php?mod=viewthread&tid=211271
  1.   #--------------------------------------------------------------------------
  2.   # ● 自然解除状态 (到达回合数时调用)
  3.   #--------------------------------------------------------------------------
  4.   def remove_states_auto
  5.     clear_action_results
  6.     for i in @state_turns.keys.clone
  7.       if @state_turns[i] > 0
  8.         @state_turns[i] -= 1
  9.       elsif rand(100) < $data_states[i].auto_release_prob
  10.         remove_state(i)
  11.         @removed_states.push(i)
  12.         if i==17                                              #(添加)
  13.           common_event = $data_common_events[1]               #(添加)
  14.           $game_troop.interpreter.setup(common_event.list,0)  #(添加)
  15.           $game_troop.interpreter.update                      #(添加)
  16.         end                                                   #(添加)
  17.       end
  18.     end
  19.   end
复制代码
第12行的状态和地13行的事件怎样用变量控制并用于VA呢??


我改动一下
  1. def remove_states_auto(timing)
  2.     states.each do |state|
  3.       if @state_turns[state.id] == 0 && state.auto_removal_timing == timing
  4.         remove_state(state.id)
  5.         if state.id==27                                             #(添加1)

  6.           common_event = $data_common_events[490]               #(添加1)

  7.           $game_troop.interpreter.setup(common_event.list,0)  #(添加1)

  8.           $game_troop.interpreter.update                      #(添加1)

  9.          end                                                   #(添加1)                                          
  10.       end
  11.     end
  12.   end
复制代码
这样是没问题的,但我想要多个状态,状态27=咏唱1回合,状态28=咏唱2回合
  1. def remove_states_auto(timing)
  2.     states.each do |state|
  3.       if @state_turns[state.id] == 0 && state.auto_removal_timing == timing
  4.         remove_state(state.id)
  5.         if state.id==27                                             #(添加1)

  6.           common_event = $data_common_events[490]               #(添加1)

  7.           $game_troop.interpreter.setup(common_event.list,0)  #(添加1)

  8.           $game_troop.interpreter.update                      #(添加1)

  9.          end                                                   #(添加1)
  10.          if state.id==28                                            #(添加2)

  11.           common_event = $data_common_events[491]               #(添加2)

  12.           $game_troop.interpreter.setup(common_event.list,0)  #(添加2)

  13.           $game_troop.interpreter.update                      #(添加2)

  14.         end                                                   #(添加2)
  15.       end
  16.     end
  17.   end
复制代码
这就有问题了,我想要技能(A、B)调用公共事件变量0001=1(A)或变量0001=2(B),给使用者状态27=咏唱1回合,状态结束时,调用事件490放技能 真A(当0001=1) 和 真B(当0001=2)。
还有技能(C、D)调用公共事件变量0002=1(A)或变量0002=2(B),给使用者状态28=咏唱2回合,状态结束时,调用事件491放技能 真C(当0002=1) 和 真D(当0002=2)。

但现在技能都重叠在一起


哪位高人看看添加2的脚本语法对吗??
作者: 怪蜀黍    时间: 2012-7-18 23:15
技能都重叠在一起是什么意思?
作者: 紫菜豆腐煲    时间: 2012-7-19 01:15
不好意思,我自己解决了,还是多做几个事件就行。
作者: cjlzbb    时间: 2012-12-19 23:30
紫菜豆腐煲 发表于 2012-7-19 01:15
不好意思,我自己解决了,还是多做几个事件就行。

能具体说下怎么做么,或者给个范例瞧瞧




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