Project1

标题: 如何让某状态消失时执行公共事件 [打印本页]

作者: XVI    时间: 2015-9-21 12:41
标题: 如何让某状态消失时执行公共事件
突然脑洞大开想好好利用一下状态,自己在站里没搜到类似的帖子,望指教。( ´_っ`)
作者: 猪衰衰    时间: 2015-9-21 17:31
用条件分歧就行.当角色状态为xx时,勾选当不符合条件时,然后在否则的下面插入公共事件。
作者: XVI    时间: 2015-9-21 19:03
猪衰衰 发表于 2015-9-21 17:31
用条件分歧就行.当角色状态为xx时,勾选当不符合条件时,然后在否则的下面插入公共事件。 ...

那样不是只要不在该状态就会执行公共事件么,我希望是只在消失那一刻执行公共事件( ´_っ`)
作者: 天寿    时间: 2015-9-21 20:13
{:2_260:}把这个状态弄成道具怎么样?状态结束道具消失,状态出现道具出现,分歧触发。

作者: XVI    时间: 2015-9-22 11:28
天寿 发表于 2015-9-21 20:13
把这个状态弄成道具怎么样?状态结束道具消失,状态出现道具出现,分歧触发。
...

不好意思 不是很明白你的意思 而且我想设置的状态比较多 如果用公共事件来是不是是很卡呢
作者: tseyik    时间: 2015-9-22 13:43
本帖最后由 tseyik 于 2015-9-22 15:53 编辑

 ●状态付与時执行公共事件
  在状态的附註欄『<付与時コモン x>』

 ●状态解除時执行公共事件
  在状态的附註欄『<解除時コモン x>』
  X為公共事件IDID
  1. #==============================================================================
  2. # ■ステート付与と解除時にコモンイベント for RGSS3 Ver1.00-β
  3. # □作成者 kure
  4. #===============================================================================

  5. #==============================================================================
  6. # ■ RPG::State(追加定義)
  7. #==============================================================================
  8. class RPG::State < RPG::BaseItem
  9.   #--------------------------------------------------------------------------
  10.   # ★ 付与時コモン(追加定義)
  11.   #--------------------------------------------------------------------------  
  12.   def add_common_id
  13.     @note.match(/<付与時コモン\s?(\d+)\s?>/)
  14.     return $1 ? $1.to_i : nil
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ★ 付与時コモン(追加定義)
  18.   #--------------------------------------------------------------------------  
  19.   def remove_common_id
  20.     @note.match(/<解除時コモン\s?(\d+)\s?>/)
  21.     return $1 ? $1.to_i : nil
  22.   end  
  23. end

  24. #==============================================================================
  25. # ■ Game_Actor
  26. #==============================================================================
  27. class Game_Actor < Game_Battler
  28.   #--------------------------------------------------------------------------
  29.   # ◎ 新しいステートの付加(エイリアス再定義)
  30.   #--------------------------------------------------------------------------
  31.   alias k_state_trigger_common_add_new_state add_new_state unless $!
  32.   def add_new_state(state_id)
  33.     k_state_trigger_common_add_new_state(state_id)
  34.    
  35.     state = $data_states[state_id]
  36.     $game_temp.reserve_common_event(state.add_common_id) if state.add_common_id
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ◎ ステートの消去(エイリアス再定義)
  40.   #--------------------------------------------------------------------------
  41.   alias k_state_trigger_common_erase_state erase_state unless $!
  42.   def erase_state(state_id)
  43.     k_state_trigger_common_erase_state(state_id)
  44.    
  45.     state = $data_states[state_id]
  46.     $game_temp.reserve_common_event(state.remove_common_id) if state.remove_common_id
  47.   end
  48. end
复制代码

作者: XVI    时间: 2015-9-22 15:07
tseyik 发表于 2015-9-22 13:43
 ●状态付与時执行公共事件
  在状态的附註欄『』

感谢大大




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