Top/Tips/見切れ・重なり反応を里々風に
  トップページへ   [ 一覧 | 検索 | 最終更新 ]   [ 差分 | バックアップ ]

*見切れ・重なり反応を里々風に [#h732e298]

里々では、見切れ・重なり状態になっても多少の間を空けてから見切れ・重なりイベントが発生するようです。~
で、その方が動作としては自然っぽいので、文でやる方法を。

フラグ使いまくりなのであまり綺麗じゃありませんが。

#code(aya,nooutline,nolink){{
OnSecondChange
{
    if mikireenable && reference1 && !mikireflag {
       mikiretimer--;
       if mikiretimer < 1 {
          mikireflag   = 1
          "" //見切れ反応時のトーク
       }
    } else {
       mikiretimer = 5
    }
 
    if mikireflag && !reference1 {
       //5秒以内に復帰した場合は、見切れ後トークを行わない
       endmikire = 1
    }
 
    if endmikire {
       "" //見切れ終了時のトーク
    }
 
    if kasanarienable && reference2 {
       kasanaritimer--;
       if kasanaritimer < 1 {
          kasanarienable = 0;
          "" //重なり反応時のトーク
          kasanarienable = 1;
       }
    } else {
       kasanaritimer = 5
    }
}
}}

~--[[ひと:ぜろでばいど]]


別解書いてみました。~
上のサンプルが動作しない場合はこちらを。~
(reference*をreference[*]と書いています)

#code(aya,nooutline,nolink){{
OnSecondChange
{
  //見切れ反応(メインキャラ見切れ5秒後)
  if reference[1] && !mikireflag {
    mikiretimer--
    if mikiretimer < 1 {
      mikireflag = 1
      "\1\s[10]\0\s[0]見切れ反応。\e"
      "" //見切れ反応時のトーク
    }
  }
  else {
    mikiretimer = 5
  }

  //見切れ終了反応(見切れ終了直後)
  if mikireflag && !reference[1] {
    mikireflag = 0
    "\1\s[10]\0\s[0]見切れ終了。\e"
    "" //見切れ終了時のトーク
  }

  //重なり反応(メインとサブキャラの重なり5秒後)
  elseif !kasanariflag && reference[2] {

    if ISVAR('kasanaritimer') == 0 {
      kasanaritimer = 5
    }

    kasanaritimer--
    if kasanaritimer < 1 {
      kasanariflag = 1
      "\1\s[10]\0\s[0]重なり反応。\e"
      "" //重なり反応時のトーク
    }
  }
  //重なり終了反応(重なり終了直後)
  elseif kasanariflag && !reference[2] {
    kasanariflag = 0
    kasanaritimer = 5
    "\1\s[10]\0\s[0]重なり終了。\e"
    "" //重なり反応終了時のトーク
  }
  else {
    kasanaritimer = 5
  }
}
}}