do -- 寝落ち対策 -- 設定 ------------------------------------------- -- 寝落ち対策による終了までの秒数(無効にしたい場合は nil ) local EXIT_TIME = 1800 -- 寝落ち対策の終了時間が近づいたらケミの周りを動いて知らせる local EXIT_SIGNAL = true -- EXIT_SIGNAL 機能が発動する経過時間のパーセント -- 例: EXIT_TIME が600でこの値が80であれば600の80%である480秒後 local EXIT_SIGNAL_PERCENTAGE = 90 -- スキル「安息」を使用してホムをしまう -- 露店を出していたり座っているなどでスキルが失敗した場合は、通常通りクライアントを終了する local EXIT_USE_REST = true -- この設定の時間のぶんだけEXIT_TIMEよりも前に安息を使用します -- 安息が失敗した場合、この設定の秒数のあとにクライアントを終了します local EXIT_REST_RESERVE_TIME = 5 --------------------------------------------------- local x, y, motion, timestamp = -1, -1, -1, os.time() local function AutoExit( eventid, eventflag ) local x2, y2 = GetV( V_POSITION, GetV( V_OWNER, MyID ) ) local motion2 = GetV( V_MOTION, GetV( V_OWNER, MyID ) ) if x ~= x2 or y ~= y2 or motion ~= motion2 then x, y, motion = x2, y2, motion2 timestamp = os.time() -- TraceAI("AutoExit: Reset Time") return end local diff = os.difftime( os.time(), timestamp ) if EXIT_SIGNAL and diff >= EXIT_TIME * EXIT_SIGNAL_PERCENTAGE * 0.01 then MoveToOwner( MyID ) -- ケミの周りをうろうろする end if EXIT_USE_REST and diff >= EXIT_TIME - EXIT_REST_RESERVE_TIME then TraceAI("AutoExit: Use Skill Rest") SkillObject( MyID, 1, 244, MyID ) end if diff >= EXIT_TIME then -- 経過時間が過ぎたら終了 TraceAI("AutoExit: Shutdown") os.exit() end end ROAIPlus.setEvent( ROAIPlus.EVENT_BEGIN, AutoExit ) end