#==============================================================================
#
# uؘavCxgpȈՃXNvg(Kawari Easy Event Programmed Script)
#  Cxg
#
# jddor   F܁
# OpenKEEPS    : njddorvWFNg`[
# OpenKEEPSy[W  : http://keeps.sourceforge.jp
# Version1.0.3 2002.5.10 11:35
# 
#==============================================================================
# ΏہFuؘavPhase 7.3.1 yяʌ݊łgpB
#           uviufvjMATERIA period 480 yяʌ݊\tggpB
#==============================================================================

#C[o[W\L====================================================
Layer.Name : OpenKEEPS
Layer.Version : 1.0.3
#==============================================================================


#==============================================================================
#ʁiėpjTu[`Q
#==============================================================================


#JE^֌Wϐ\(fobOpECOMMUNCATEgp)==============================

#R~jP[g{bNXɁuparavuapprivƓ͂邱ƂŁA
#tbȌԂSHIORI2.2Ή̃AvP[V̏m邱Ƃo܂

[ "para" ] : \_q\0t[YF${freeze}F${sw.randomtalk}\ng[NF${cnttalk}^${interval}\n؂F${sw.mikire}F${cntmikire}^60F${flagmikire}\ndȂF${sw.kasanari}F${cntkasanari}^60\e

[ "appli" ] : \_q\0ғ̃AvP[V\nOF${AppliName}\nF${AppliMaker}\no[WF${AppliVersion}\n쌠F${AppliCopyright}\n֘AtqkF${AppliURL}\e

#==============================================================================


#1N11猻݂܂ł̂܂ł̌oߕ (CallMinCalc)=======================

#S[Xg݂ĂԂ̎ԌvɎg܂B
#NAACRJnAACRȂǂŔėpIɎg܂

CallMinCalc : $(expr $(expr ${CallDayCalc} * 1440) + $(expr $(date %k) * 60) + $(date %N))

CallDayCalc : $(expr $(expr $(date %y) * 365) + $(expr $(date %y) / 4)  - $(expr $(date %y) / 100) + $(expr $(date %y) / 400) + $(date %J))

#==============================================================================


##ԑє (HourZone)========================================================

#${HourZone}Ăяo${timezone}ɎԑтɂĎ̕񂪊i[܂

#T`U@@@EarlyMorning
#V`PO@@@Morning
#PP`PR@Day
#PS`PW@Evening
#PX`QQ@Night
#QR`S@@Midnight

HourZone : $(set temp $(date %k))$(set timezone $(if $([ ${temp} -lt 5 ]) "Midnight" $(if $([ ${temp} -lt 7 ]) "Earlymorning" $(if $([ ${temp} -lt 11 ]) "Morning" $(if $([ ${temp} -lt 14 ]) "Day" $(if $([ ${temp} -lt 19 ]) "Evening" $(if $([ ${temp} -lt 23 ]) "Night" "Midnight")))))))

#==============================================================================


#Z[u[`(CallSave,CallSave2)============================================

#Z[uP(CallSave)-----------------------------------------------------------
#IɃZ[uϐł
#datasaveparamɍڂǉ邱Ƃo܂

datasaveparam : sw.randomtalk , interval , sw.mikire , sw.kasanari , FlagMode , username

CallSave : $(eval "$(save dict-keeps-savedata.txt "$(foreach temp datasaveparam ${temp}" " ) ")" )

#Z[uQ(CallSave2)------------------------------------------------------------
#lbg[NXV̈ꎞZ[uϐł
#databackupparamɍڂǉ邱Ƃo܂

databackupparam : sw.randomtalk , interval , sw.mikire , sw.kasanari , FlagMode , username , worktime , DislpayDpp , DisplayWidth , DisplayHeight , AppliName , AppliMaker , AppliVersion , AppliCopyright , AppliURL , AppliFile

CallSave2 : $(eval "$(save dict-keeps-savedata.txt "$(foreach temp databackupparam ${temp}" " ) ")" )

#==============================================================================


##L[`(CallGetWords)===============================================
#
#̃[`́AGgɎgȂ܂ijhrœʂȕƂ
#gĂׂ̂Ɍ듮̌ƂȂj

#镶
#SpXy[XApXy[XA
#SĔṕu\"!#$%&'()*+,-./:;<=>?@[]^_`{|}~v

#u镶
#Spp召p啶˔p
#Sp[}@@˔p
#ꕔꕶiPʁj@@˂ꑊ̔p

#KEEPSł͑SpL폜悤ɂȂĂ܂AKRȂ
#폜܂

#̓p[^
# param1 : p[^
#߂p[^
# answer : ϊp[^
#ϐ
# temp1 : ʒu
# temp2 : rpɎoP
#f[^ϐ
#Lf[^
ctrlword : "\ \\\"\!\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\]\^\_\`\{\|\}\~\\\\\@"

CallGetWords :$(clear answer ; set temp1 0 ; loop $(expr length ${param1}) $(inc temp1 ; set temp2 $(expr substr ${param1} ${temp1} 1) ; if $([ $(NULL) == $(expr find ${ctrlword} \${temp2}) ]) $(if $(size "ConvTable."${temp2}) $(set answer ${answer}$(entry "ConvTable."${temp2})) $(set answer ${answer}${temp2}))))

#==============================================================================


#Cxgɂg[N[`==============================================

#SHIORI2.2ɂCxg̃g[N𔭓ṽ[`ł
#܂Akp.entrynamȇOFlagModeili[hj܂鎖ɂA
#liʂ̔ԂƂo܂B

#̓p[^
# FlagMode : g[N[h
# kp.entryname : g[NGg

CallTalk : $(set system.communicate "stop")$(set cnttalk 0)$(if $(size ${FlagMode}"."${kp.entryname}) $(entry ${FlagMode}"."${kp.entryname}) $(entry ${kp.entryname}))

#==============================================================================


#g[NGgL`FbN====================================================

#g[NĂяofɎg܂
#Ăяog[NGg݂Δb[`iQlɂĂj
#Ăяodg݂ɂȂĂ܂
# $(if ${CallEntryCheck} ${calltalk})

#̓p[^
# FlagMode : g[N[h
# kp.entryname : g[NGg

#߂茋
# YGg(LN^[[h܂)Ȃ0A0ȊO̐l

CallEntryCheck : $(expr $(size ${FlagMode}"."${kp.entryname}) | $(size ${kp.entryname}))

#==============================================================================


#N(f[^Ǎ)(ؘa)======================================

system.OnLoad : ${CallSetTime}$(foreach param1 databackupparam ${CallReset})$(if $([ ${interval} -lt 1 ]) $(set interval 57))$(if $([ ${username} == $(NULL) ]) $(set username "[U["))

CallReset : $(clear temp1 ; foreach temp ${param1} $(set temp1 $(expr ${temp} | ${temp1})) ; set ${param1} ${temp1})

CallSetTime : $(if ${parawork} $(set cntwork ${CallMinCalc}) $(clear cntwork))

#==============================================================================

#==============================================================================
#ȏėp[`
#==============================================================================




#==============================================================================
#ȉSHIORI2.2Cxg
#==============================================================================

#Pʏ(OnMinuteChange)====================================================

#ςƂɁi܂PƁjɎs܂B
#(CallOclock)ƌoߎ(CallWorkTime)̔fɎgĂ܂

event.OnMinuteChange : $(if $([ ${freeze} -eq 0 ]) ${CallTimeTalk}${CallWorktime})

#Cxgg[N(CallTimeTalk)----------------------------------------------

CallTimeTalk : $(set kp.minutes $(date %M))$(set kp.entryname "TalkTime"${N} ; if ${CallEntryCheck} ${CallTalk})$(set kp.entryname "TalkTime"${} ; if ${CallEntryCheck} ${CallTalk})$(set kp.entryname "TalkTime"${j} ; if ${CallEntryCheck} ${CallTalk})$(set kp.entryname "TalkTime"${})${CallTalk}

N : $(date %Y)"_"$(date %m%d)"_"$(date %H)${kp.minutes}
 : $(date %m%d)"_"$(date %H)${kp.minutes}
j : $(date %w)"_"$(date %H)${kp.minutes}
 : $(date %H)${kp.minutes}

#Cxgg[N݃`FbN(CallTimeTalkCheck)-----------------------------
#1.0.3Œǉ
#Cxgg[N_g[NƔĂ܂ĔbȂׂ
#[`BCxgg[NQObOɌĂяoÃg[N݂
#g[NԊuJE^[ZbgB

CallTimeTalkCheck : $(set kp.minutes $(expr $(date %N) + 1))$(if $([ $(expr ${kp.minutes} - 10) -le 0 ]) $(set kp.minutes "0"${kp.minutes}))$(if $([ ${kp.minutes} -eq 60 ]) $(set kp.minutes "00"))${CallTimeTalk.entrycheck}

CallTimeTalk.entrycheck : $(set kp.entryname "TalkTime"${N} ; if ${CallEntryCheck} $(set cnttalk 0))$(set kp.entryname "TalkTime"${} ; if ${CallEntryCheck} $(set cnttalk 0))$(set kp.entryname "TalkTime"${j} ; if ${CallEntryCheck} $(set cnttalk 0))$(set kp.entryname "TalkTime"${} ; if ${CallEntryCheck} $(set cnttalk 0))


#oߎ(CallWorkTime)--------------------------------------------------------
CallWorktime : $(if ${parawork} ${CallWorktimeB} ${CallWorktimeA})

CallWorktimeA : $(if $([ $(expr ${system.Reference0} - ${worktime}) -eq 1 ]) ${CallWorktimeX})$(set worktime ${system.Reference0})

CallWorktimeB : $(if $([ 60 -le $(expr ${CallMinCalc} - ${cntwork}) ]) $(set temp $(expr ( ${CallMinCalc} - ${cntwork} ")" / 60) ; inc cntwork $(expr ${temp} * 60) ; inc worktime ${temp})${CallWorktimeX})

CallWorktimeX : $(set worktime ${system.Reference0})$(if $([ 20 -le ${worktime} ]) $(set kp.entryname "TalkWorktimeVerylong")  $(if $([ 11 -le ${worktime} ]) $(set kp.entryname "TalkWorktimeLong") $(if $([ 8 -le ${worktime} ]) $(set kp.entryname "TalkWorktimeMiddle") $(if $([ 5 -le ${worktime} ]) $(set kp.entryname "TalkWorktimeShort")  $(set kp.entryname "TalkWorktimeVeryshort")))))${CallTalk}

#==============================================================================


#bPʏ(OnSecondChange)====================================================

#bς邲Ɓi܂PbƁjɎs܂

#dȂ(CallKasanari)A؂(CallMikire)
#g[N(Calltalk)̏ɎgĂ܂

event.OnSecondChange : $(if $([ ${freeze} -eq 0 ]) $(if $([ $(date %r) -eq 40 ]) ${CallTimeTalkCheck} ${CallKasanari}${CallMikire}${CallTalkEvent}))

#g[N(CallTalkEvent)-----------------------------------------------------

CallTalkEvent : $(if $([ ${sw.randomtalk} -eq 0 ]) $(inc cnttalk 1)$(if $([ ${interval} -lt ${cnttalk} ]) $(set kp.entryname "sentence")${CallTalk}))

#؂(CallMikire)------------------------------------------------------------
CallMikire : $(if $([ ${sw.mikire} -eq 0 ]) $(if ${system.Reference1} ${CallMikire1} ${CallMikire2}))

CallMikire1 :$(inc cntmikire ; if $([ 60 -lt ${cntmikire} ]) $(set flagmikire 1)$(set cntmikire 0 ; set kp.entryname "TalkMikire")${CallTalk})

CallMikire2 : $(set cntmikire 55 ; if ${flagmikire} $(set flagmikire 0 ; set kp.entryname "TalkMikirez")${CallTalk})


#dȂ(CallKasanari)----------------------------------------------------------
CallKasanari : $(if $([ ${sw.kasanari} -eq 0 ]) $(if ${system.Reference2} ${CallKasanari1} $(set cntkasanari 52)))

CallKasanari1 : $(inc cntkasanari 1 ; if $([ 60 -lt ${cntkasanari} ]) $(set cntkasanari 0 ; set kp.entryname "TalkKasanari")${CallTalk})

#==============================================================================


#T[tBXł̃}EXJ[\ړ(OnMouseMove)===============================

#T[tBX̏Ń}EXJ[\𓮂ۂɎs܂
#ł⋹ȂǂɎgĂ܂

event.OnMouseMove : $(if $([ ${freeze} -eq 0 ]) $(if ${system.Reference4} ${CallStroke} $(set "cnt."${kp.stroke1} 0)))

CallStroke : $(set kp.stroke1 "Character"${system.Reference3}"Stroke."${system.Reference4})$(if $(size ${FlagMode}"."${kp.stroke1}) $(set ${FlagMode}"."${kp.stroke1}))$(if $(size ${kp.stroke1}".half") $(set "limithalf."${kp.stroke1} $(expr $(entry "limit."${kp.stroke1}) / 2))  $(set "limithalf."${kp.stroke1} 0))${CallStroke2}

CallStroke2 : $(if $([ ${kp.stroke1} == ${kp.stroke2} ]) $(inc "cnt."${kp.stroke1} 1))$(set kp.stroke2 ${kp.stroke1})${CallStroke3}${CallStroke4}

CallStroke3 : $(if $([ $(entry "cnt."${kp.stroke1}) -eq $(entry "limithalf."${kp.stroke1}) ]) $(set kp.entryname ${kp.stroke1}".half")${CallTalk})

CallStroke4 : $(if $([ $(entry "cnt."${kp.stroke1}) -eq $(entry "limit."${kp.stroke1}) ]) $(set "cnt."${kp.stroke1} 0)$(set kp.entryname ${kp.stroke1})${CallTalk})

#==============================================================================


#T[tBXŃ_uNbN(OnMouseDoubleClick)==============================

#T[tBXŃ_uNbNۂɎs܂
#oj[Ɏg܂
#̈ŃVONbNƃ_uNbN̋͏oȂ̂Œ
#ꍇVONbND悳܂

event.OnMouseDoubleClick : $(if $([ ${freeze} -eq 0 ]) ${CallDoubleClick})

CallDoubleClick : $(set kp.entryname "Character"${system.Reference3}"Doubleclick")${CallDoubleClick1} 
CallDoubleClick1 : $(if ${system.Reference4} $(set kp.entryname ${kp.entryname}"."${system.Reference4}))${CallDoubleClick2} 
CallDoubleClick2 : $(if ${CallEntryCheck} ${CallTalk} $(set kp.entryname "Character"${system.Reference3}"Doubleclick")${CallTalk}) 

#==============================================================================


#T[tBXŃVONbN(OnMouseClick)==================================

#̈wi:Bust,Facejꍇ͖܂
#܂Äł̃_uNbNƂ̋͏o܂

event.OnMouseClick : $(if $([ ${freeze} -eq 0 ]) $(if ${system.Reference4} ${CallSingleClick}))

CallSingleClick : $(set kp.entryname "Character"${system.Reference3}"Singleclick."${system.Reference4})${CallTalk}

#==============================================================================


#T[tBXŃ}EXzC[](OnMouseWheel)================================

event.OnMouseWheel : $(if $([ ${freeze} -eq 0 ]) ${CallWheelRotate1})

CallWheelRotate1 : $(set kp.entryname "Character"${system.Reference3}"Wheel")$(if $([ ${system.Reference2} -gt 0 ]) $(set wheel "Plus") $(set wheel "Minus"))$(if ${system.Reference4} $(set kp.entryname ${kp.entryname}"."${system.Reference4}))${CallWheelRotate2}

CallWheelRotate2 : $(if ${CallEntryCheck} ${CallTalk})$(set kp.entryname ${kp.entryname}"."${wheel})${CallTalk}

#==============================================================================


#j[i\qjɂII(OnChoiceSelect)================================

#u\qvɂIIꂽƂɎs܂

event.OnChoiceSelect : $(set kp.entryname "Select."${system.Reference0})${CallTalk}

#==============================================================================


#I^CAEgiOnChoiceTimeoutj=========================================

#u\qvɂI莞ԕuꂽƂɎs܂
#wbhCZT[̑IuĂяoׁAfreezeOɖ߂Ă܂

event.OnChoiceTimeout : $(set freeze 0)$(set kp.entryname "TalkTimeout")${CallTalk}

#==============================================================================


#T[tBX(OnSurface...)==============================================

#T[tBXԍ擾(OnSurfaceChange)---------------------------------------

#T[tBXςۂɎsA\0,\1ꂼ̃T[tBXԍ
#SakuraFace,KeroFaceɊi[܂B
#̔ԍAOnSurfaceRestorełǂ̃T[tBX畜A邩̖ڈɂȂ܂

event.OnSurfaceChange : $(set SakuraFace ${system.Reference0} ; set KeroFace ${system.Reference1})


#T[tBXA(OnSurfaceRestore)----------------------------------------------

#T[tBXCM[ȏԂiʏ@\0:T[tBX0 \1:T[tBX10j
#߂^C~OƂɎs܂

event.OnSurfaceRestore : $(if $([ ${system.Reference1} -ne 10 ]) $(set kp.entryname "TalkReturn"${system.Reference1}) $(set kp.entryname "TalkReturn"${system.Reference0}))$(if ${CallEntryCheck} ${CallSurfaceRestore} $(set kp.entryname "TalkReturn")${CallSurfaceRestore}) 

CallSurfaceRestore : $(set system.communicate "stop")$(if $(size ${FlagMode}"."${kp.entryname}) $(entry ${FlagMode}"."${kp.entryname}) $(entry ${kp.entryname}))

#==============================================================================


#[`FbN֘A(OnBiff...)=================================================
#CxgJnfreezetO(1)𗧂ĂāA0ɖ߂Ă

#
#OnBIFFBegin͉ENbNj[̑݃`FbNɂgĂ܂B
#ref0testĂꍇ͂ł̂ŁAfreezetȌꏊɒ

event.OnBIFFBegin : $(if $([ ${system.Reference0} == "test" ]) "Mail.OK" $(set freeze 1)$(set kp.entryname "TalkMailstart")${CallTalk})

event.OnBIFFComplete : $(set freeze 0)$(if $(expr ${system.Reference0} * ${system.Reference1}) $(set kp.entryname "TalkGottaMail")  $(set kp.entryname "TalkNoMail"))${CallTalk}

event.OnBIFF2Complete : $(set freeze 0)$(if $(expr ( ${system.Reference0} * ${system.Reference1} ")" * ${system.Reference3} ) $(if $([ ${system.Reference3} -lt 0 ]) $(set NewMail ${system.Reference0}) $(set NewMail ${system.Reference3}) ; set kp.entryname "TalkGottaMail2")  $(set kp.entryname "TalkNoMail2"))${CallTalk}

event.OnBIFFFailure : $(set freeze 0)$(set kp.entryname "TalkMailError"${system.Reference0})$(if ${CallEntryCheck} $(NULL) $(set kp.entryname "TalkMailError"))${CallTalk}

#==============================================================================


#wbhCZT[֘A(OnHeadlinesense...)==================================
#CxgJnfreezetO(1)𗧂ĂāA0ɖ߂Ă

#
#OnHeadlinesenseBegin͉ENbNj[̑݃`FbNɂgĂ܂B
#ref0testĂꍇ͂ł̂ŁAfreezetȌꏊɒ

event.OnHeadlinesenseBegin : $(if $([ ${system.Reference0} == "test" ]) "HeadLine.OK" $(set freeze 1)$(set JumpURL ${system.Reference1} ; set kp.entryname "TalkHeadlineBegin")${CallTalk})

event.OnHeadlinesense.OnFind : \t${CallHeadlineRead1}\n\n${system.Reference3}\n${CallHeadlineRead2}

CallHeadlineRead1 : $(if $(expr find ${system.Reference2} "First") $(set kp.entryname "TalkHeadlineFirst")  $(set kp.entryname "TalkHeadlineNext"))${CallTalk}

CallHeadlineRead2 : $(if $(expr find ${system.Reference2} "Last") $(set kp.entryname "TalkHeadlineChoiceEnd")  $(set kp.entryname "TalkHeadlineChoice"))${CallTalk}

event.OnHeadlinesenseComplete : ${CallHeadlineFail}
event.OnHeadlinesenseFailure : ${CallHeadlineFail}

CallHeadlineFail : $(set freeze 0)$(if $([ ${system.Reference0} == "no update" ]) $(set kp.entryname "TalkHeadlineNoupdate") $(if $([ ${system.Reference0} == "can't download" ]) $(set kp.entryname "TalkHeadlineFailed") $(if $([ ${system.Reference0} == "can't analyze" ]) $(set kp.entryname "TalkHeadlineMiss") $(set kp.entryname "TalkHeadlineError"))))${CallTalk}

#==============================================================================


#v킹֘A(OnSNTP...)=====================================================
#CxgJnfreezetO(1)𗧂ĂāA0ɖ߂Ă

#
#OnSNTPBegin͉ENbNj[̑݃`FbNɂgĂ܂B
#ref0testĂꍇ͂ł̂ŁAfreezetȌꏊɒ

#v킹Jn(OnSNTPBegin)---------------------------------------------------
event.OnSNTPBegin : $(if $([ ${system.Reference0} == "test" ]) "SNTP.OK" $(set freeze 1)$(set kp.entryname "TalkNTPstart")${CallTalk})

#SNTPT[oɐڑs(OnSNTPFailure)-------------------------------------------
event.OnSNTPFailure : $(set freeze 0)$(set kp.entryname "TalkNTPfailed")${CallTalk}


#SNTPT[oɐڑ̎Ԕr(event.OnSNTPCompare)-------------------------
event.OnSNTPCompare : ${CallSntpCompare1}${CallSntpCompare2}${CallSntpCompare3}

TimeDisplay : $(split temp ${param1} "," ; set ${param0} ${temp.1}"N"${temp.2}""${temp.3}" "${temp.4}""${temp.5}""${temp.6}"b")

CallSntpCompare1 : $(set param0 "TimeSNTP" ; set param1 ${system.Reference1})${TimeDisplay}

CallSntpCompare2 : $(set param0 "TimeLOCAL" ; set param1 ${system.Reference2})${TimeDisplay}

CallSntpCompare3 : $(set freeze 0)$(set kp.entryname "TalkNTPcompare")${CallTalk}

#==============================================================================



#lbg[NXV֘A(OnUpdate...)=============================================
#CxgJnfreezetO(1)𗧂ĂāA0ɖ߂Ă

event.OnUpdateBegin : $(set freeze 1)${CallSave2}$(set kp.entryname "TalkUpdateBegin")${CallTalk}
event.OnUpdateReady : $(set freeze 1)$(set kp.entryname "TalkUpdateReady")${CallTalk}

event.OnUpdate.OnDownloadBegin : $(set kp.entryname "TalkDownloadBegin")${CallTalk}
event.OnUpdate.OnMD5CompareBegin : $(set kp.entryname "TalkMD5Begin")${CallTalk}
event.OnUpdate.OnMD5CompareComplete : $(set kp.entryname "TalkMD5Complete")${CallTalk}
event.OnUpdate.OnMD5CompareFailure  : $(set kp.entryname "TalkMD5Fail")${CallTalk}

event.OnUpdateComplete : $(set freeze 0)$(if $([ ${system.Reference0} == "none" ]) $(set kp.entryname "TalkUpdatenoupdate") $(set kp.entryname "TalkUpdatecomplete"))${CallTalk}

event.OnUpdateFailure : $(set freeze 0)$(set kp.entryname "TalkUpdatefailetc" ; foreach temp dataupdateerror $(if $(expr find ${system.Reference0} ${temp}) $(set kp.entryname "TalkUpdatefail"${temp})))${CallTalk}

#lbg[NXVG[pi\G[̃R[hj
#event.OnUpdateFailure${system.Reference0}ɂ̓G[R[hړ邽
#ɖG[ȂTalkUpdatefailetcĂяo
dataupdateerror : timeout , md5 , 404 , 403

#==============================================================================


#tqkccɂ_E[h(OnURLDrop...)==================================
#ł̓VXeɂ鑼Cxg}freeze͎g܂
#ifreezetOςȂɂȂ\j

event.OnURLDropping : $(set kp.entryname "TalkDownload")${CallTalk}

#_E[hs(OnDropFailure)-----------------------------------------------

#Reference0@_E[hft@C̃[Jł̐΃pX 
#Reference1@s̗R 
#@timeout @@^CAEg 
#@artificial@[UӐ}Iɒf 

event.OnURLDropFailure : $(if $([ {system.Reference1} == "artifical" ]) $(set kp.entryname "DownloadRefused") $(set kp.entryname "DownloadFailed"))${CallTalk}

#==============================================================================


#lbg[Nd(OnNetworkHeavy)============================================

#v킹Albg[NXVAwbhCZT[A[`FbNA
#tqkccɂ_E[hA
#ȂȂqȂAgtBbNݍĂꍇɎs܂B

event.OnNetworkHeavy : $(set kp.entryname "TalkNetworkheavy")${CallTalk}

#==============================================================================


#rrsoMf(OnSSTPBreak)=================================================

event.OnSSTPBreak : $(set kp.entryname "TalkSSTPbreak")${CallTalk}

#==============================================================================


#SSTPMIPubNXgɓꂽ(OnSSTPBlacklisting)======================

event.OnSSTPBlacklisting : $(set kp.entryname "TalkBlacklist")\t${CallTalk}

#==============================================================================


#N(OnFirstBoot)=========================================================

#NAyэ폜čēxCXg[ꂽۂɎs܂B
#Reference0ɍ폜񐔂邽߁A폜ẴZtꂽ
#ӂĂ
#ł\t}g܂

event.OnFirstBoot : \t$(set freeze 0)$(set kp.entryname "TalkFirstboot")${CallTalk}

#==============================================================================


#ʏN(Onboot)==============================================================

event.OnBoot : \t$(set freeze 0)${HourZone}${CallOnBoot1}

CallOnBoot1 : $(set kp.entryname "TalkBootup."$(date %m%d) ; if ${CallEntryCheck} ${CallTalk} ${CallOnBoot2})
CallOnBoot2 : $(set kp.entryname "TalkBootup"${timezone}"."$(date %m%d) ; if ${CallEntryCheck} ${CallTalk} ${CallOnBoot3})
CallOnBoot3 : $(set kp.entryname "TalkBootup"${timezone} ; if ${CallEntryCheck} ${CallTalk} ${CallOnBoot4})
CallOnBoot4 : $(set kp.entryname "TalkBootup")${CallTalk}

#==============================================================================


#I(OnClose)=================================================================

event.OnClose : \t$(set freeze 1)${CallSave}${HourZone}${CallClose1}

CallClose1 : $(set kp.entryname "TalkClose."$(date %m%d) ; if ${CallEntryCheck} ${CallTalk}\w9\w9\- ${CallClose2})
CallClose2 : $(set kp.entryname "TalkClose"${timezone}"."$(date %m%d) ; if ${CallEntryCheck} ${CallTalk}\w9\w9\- ${CallClose3})
CallClose3 : $(set kp.entryname "TalkClose"${timezone} ; if ${CallEntryCheck} ${CallTalk}\w9\w9\- ${CallClose4})
CallClose4 : $(set kp.entryname "TalkClose")${CallTalk}\w9\w9\-

#==============================================================================


#ŏ֘A(OnWindowState...)==================================================
#freezeɂ}giWinAMPŔ\ׁj

#ŏJn(OnWindowStateMinimize)---------------------------------------------
event.OnWindowStateMinimize : $(set freeze 1)$(set minimumbegin ${CallMinCalc})${CallSave}

#ŏ畜A(OnWindowStateRestore)------------------------------------------

event.OnWindowStateRestore : \t$(set freeze 0)$(set minimizedtime $(expr ${CallMinCalc} - ${minimumbegin}))$(set kp.entryname "TalkRestore")${CallTalk}

#==============================================================================


#̃S[Xg֕ύX(OnGhostChanging)==========================================

event.OnGhostChanging : $(set freeze 1)${CallSave}$(set param1 ${system.Reference0})${CallGetWords}${CallGhostChanging1}

CallGhostChanging1 : $(if $([ ${system.Reference1} == "automatic" ]) $(set kp.entryname ${kp.entryname}"Auto")${CallTalk} ${CallGhostChanging2})
CallGhostChanging2 : $(set kp.entryname "TalkGhostChanging."${answer}"."$(date %m%d) ; if ${CallEntryCheck} ${CallTalk} ${CallGhostChanging3})
CallGhostChanging3 : $(set kp.entryname "TalkGhostChanging."${answer} ; if ${CallEntryCheck} ${CallTalk} ${CallGhostChanging4})
CallGhostChanging4 : $(set kp.entryname "TalkGhostChanging")${CallTalk}

#==============================================================================


#̃S[Xg̕ύX(OnGhostChanged)========================================

event.OnGhostChanged : $(set freeze 0)$(set param1 ${system.Reference0})${CallGetWords}${CallGhostChanged1}

CallGhostChanged1 : $(set kp.entryname "TalkGhostChanged."${answer}"."$(date %m%d) ; if ${CallEntryCheck} ${CallTalk} ${CallGhostChanged2})
CallGhostChanged2 : $(set kp.entryname "TalkGhostChanged."${answer} ; if ${CallEntryCheck} ${CallTalk} ${CallGhostChanged3})
CallGhostChanged3 : $(set kp.entryname "TalkGhostChanged")${CallTalk}

#==============================================================================


#Vanish֘A(OnVanish...)===================================================
#freezetOݒ

event.OnVanishSelecting : $(set freeze 1)$(set kp.entryname "TalkVanishSelecting")${CallTalk}
event.OnVanishSelected : $(set freeze 1)$(set kp.entryname "TalkVanishSelected")${CallTalk}

event.OnVanishCancel : $(set freeze 0)$(set kp.entryname "TalkVanishCancel")${CallTalk}
event.OnVanishButtonHold : $(set freeze 0)$(set kp.entryname "TalkVanishButtonHold")${CallTalk}

#S[XgVanishĂ̌--------------------------------------------
event.OnVanished : $(set kp.entryname "TalkOtherGhostVanished")${CallTalk}

#==============================================================================


#VFZbg؂ւ֘A(OnShellChange...)====================================

#VFZbg؂ւO(OnShellChanging)---------------------------------------
event.OnShellChanging : $(set freeze 1)$(set shellbefore ${system.Reference0} ; set kp.entryname "TalkShellChanging")${CallTalk}

#VFZbg؂ւ(OnShellChanged)----------------------------------------
event.OnShellChanged : $(set freeze 0)$(set kp.entryname "TalkShellChanged")${CallTalk}

#==============================================================================


#eCXg[֘A(OnInstall...)============================================
#CxgJnfreezetO(1)𗧂ĂāA0ɖ߂Ă

event.OnInstallBegin : $(set freeze 1)$(set kp.entryname "TalkInstallBegin")${CallTalk}

event.OnInstallComplete : $(set freeze 0)${CallInstallComplete1}${CallInstallComplete2}

event.OnInstallFailure : $(set freeze 0)$(set kp.entryname "TalkInstallfail")$(foreach temp datainsterror $(if $(expr find ${system.Reference0} ${temp}) $(set kp.entryname ${kp.entryname}${temp})))$(if $([ ! ${CallEntryCheck} ]) $(set kp.entryname "TalkInstallfail"))${CallTalk}

event.OnInstallRefuse : $(set freeze 0)$(set kp.entryname "TalkInstallrefuse")${CallTalk}

#CXg[ꂽIuWFNg̔ʃ[`----------------------------------

CallInstallComplete1 : $(set InstallName ${system.Reference1} ; if ${system.Reference2} $(set InstallName1 ${system.Reference2} ; set temp1 "balloon")  $(clear InstallName1 ; clear temp1))

CallInstallComplete2 : $(set kp.entryname "TalkInstall" ; foreach temp datainst $(if $(expr find ${system.Reference0} ${temp}) $(set kp.entryname ${kp.entryname}${temp})) ; set kp.entryname ${kp.entryname}${temp1} ; if ${CallEntryCheck} ${CallTalk} $(set kp.entryname "TalkInstall")${CallTalk})

##CXg[ꂽIuWFNgʂ鎯ʎq(ʎq̓o^ɒ)
datainst : calender , skin , shell , ghost , plugin , balloon
##CXg[G[pf[^
datainsterror : unlha32 , unzip32 , invalid

#==============================================================================


#T[tBXɃt@Ccc(OnFileDropping)================================

#T[tBXɃt@ChbvꂽۂɎs܂
#Ghost-KEEPS.txtɁuTalkFileDrop.gqv̌`Ŕǉł܂

#܂AhbOꂽt@C͎̋Kŕϊ܂
#Spp召p啶˔p
#Sp[}@@˔p
#ꕔꕶiPʁj@@˂ꑊ̔p

event.OnFileDropping : $(set param1 ${system.Reference0})${CallFileType}$(if ${answer} $(set kp.entryname "TalkFileDrop."${answer})${CallTalk}) 

CallFileType : $(clear answer ; set temp1 $(expr length ${param1}) ; while ${temp1} $(set temp2 $(expr substr ${param1} ${temp1} 1) ; dec temp1 ; if $([ ${temp2} == "." ]) $(set temp1 0)  $(if ${temp2} $(if $(entry "ConvTable."${temp2}) $(set answer $(entry "ConvTable."${temp2})${answer})  $(set answer ${temp2}${answer}))  $(set temp1 0 ; clear answer) )))


#==============================================================================


#ǎύX(OnWallpaperChange)=============================================

#T[tBXɃhbvꂽt@C摜t@Cꍇs܂B
#FMATERIA490p~܂

event.OnWallpaperChange : $(set kp.entryname "TalkWallpaper")${CallTalk}

#==============================================================================


#fBXvC𑜓xύX(OnDisplayChange)=======================================

#fBXvC𑜓xςۂɁi𑜓xAF̂łjs܂

event.OnDisplayChange : $(if $([ ${freeze} -eq 0 ]) ${displaychange})

displaychange : $(set DisplayDpp ${system.Reference0} ; set DisplayWidth ${system.Reference1} ; set DisplayHeight ${system.Reference2} ; if ${flagdisplay} $(set kp.entryname "TalkDisplayChange")${CallTalk}  $(set flagdisplay 1))

#==============================================================================


#updates2.dau쐬֘A(OnUpdatedata...)=========================================
#freezetOݒKv

#updates2.dau쐬O(OnUpdatedataCreating)--------------------------------------
event.OnUpdatedataCreating : $(set freeze 1)$(set kp.entryname "TalkUpdateCreating")${CallTalk}

#updates2.dau(OnUpdatedataCreated)---------------------------------------
event.OnUpdatedataCreated : $(set freeze 0)$(set kp.entryname "TalkUpdateCreated")${CallTalk}

#==============================================================================


#nart@C쐬֘A(OnNarCreate...)===========================================
#freezetOݒKv

#nart@C쐬O(OnNarCreating)----------------------------------------------
event.OnNarCreating : $(set freeze 1)$(set kp.entryname "TalkNarCreating")${CallTalk}

#nart@C(OnNarCreated)-----------------------------------------------
event.OnNarCreated : $(set freeze 0)$(set kp.entryname "TalkNarCreated")${CallTalk}

#==============================================================================


#߃TCgXgI(OnRecommendsiteChoice)=============================

#\0,\1̂߃TCgI΂ꂽƂɎs܂B
#ꕶ[`ʂďo͂̂ŒӂĂ

event.OnRecommendsiteChoice : $(set param1 ${system.Reference0})${CallGetWords}$(set kp.entryname "TalkURL."${answer})${CallTalk}

#==============================================================================


#WinAmp(OnMusicPlay)=====================================================

#yuna-sexyfont-pluginKvłB
#ȎҖȖ𒝂Ă܂

event.OnMusicPlay : $(if $([ ${freeze} -eq 0 ]) ${OnMusicPlay1}) 

OnMusicPlay1 : $(if $([ $(expr substr ${system.Reference0} 2 6) != "Buffer" ]) ${OnMusicPlay2}) 
OnMusicPlay2 : $(if $([ $(expr substr ${system.Reference0} 2 10) != "ICY 200 OK" ]) ${OnMusicPlay3}) 
OnMusicPlay3 : $(if $([ $(expr substr ${system.Reference0} 2 10) != "Connecting" ]) ${OnMusicPlay4}) 
OnMusicPlay4 : $(if $([ $(expr substr ${system.Reference0} 2 26) != "error opening sound device" ]) ${OnMusicPlay5}) 
OnMusicPlay5 : ${CallWinamp}$(set kp.entryname "TalkWinampplay")${CallTalk}

CallWinamp : $(set param1 $(escape ${system.Reference0}) ; clear Wartist ; if $([ $(expr substr ${param1} 1 2) == "- " ]) $(set Wtitle $(expr substr ${param1} 3 $(expr ( length ${param1} ")"  - 2)))  ${CallWinamp1})

CallWinamp1 : $(set temp $(expr findpos ${param1} " - ") ; if ${temp} $(set Wartist $(expr substr ${param1} 1 ${temp}) ; set Wtitle $(expr substr ${param1} $(expr ${temp} + 3) $(expr "(" $(expr length ${param1}) - ${temp} ")" - 2))) $(set Wtitle ${param1}))

#==============================================================================


#ԂĂ邩SSTPNotifyM(OnDoubleTailScriptSend)======================
#͕ςKv܂
event.OnDoubleTailScriptSend : ${system.Reference0}
#==============================================================================


##InputBoxɂ́iOnUserInputj============================================

event.OnUserInput : $(set kp.entryname $(if $([ ${system.Reference1} == "timeout" ]) "TalkInputTimeOut."  "TalkInput.")${system.Reference0})${CallTalk}

#==============================================================================

#==============================================================================
#ȏSHIORI2.2Cxg
#==============================================================================




#==============================================================================
#ȉSHIORI2.5ɂ郊\[X擾
#==============================================================================

#߃TCgXg擾(SHIORI2.5)=============================================

resource.sakura.recommendsites : $(set param1 "sakura")${CallMakeList}

resource.kero.recommendsites : $(set param1 "kero")${CallMakeList}

resource.sakura.portalsites : $(set param1 "portal")${CallMakeList}

CallMakeList : $(if $(entry ${FlagMode}".URL."${param1}) $(set kp.entryname ${Flagmode}".") $(clear kp.entryname))$(if $(entry ${kp.entryname}"randlist."${param1}) ${CallMakeListB} ${CallMakeListA})

CallMakeListA : $(foreach temp ${kp.entryname}"URL."${param1} $(eval ${temp}))

CallMakeListB : $(clear temp ; set temp1 $(entry ${kp.entryname}"URL."${param1}) ; loop $(entry "randlist."${param1}) ${CallMakeListB1} ; eval ${temp})

CallMakeListB1 : $(while $(expr find ${temp} ${temp1}) $(set temp1 $(entry ${kp.entryname}"URL."${param1})) ; set temp ${temp}${temp1})

#==============================================================================


#߃{^擾(SHIORI2.5)=================================================

resource.sakura.recommendbuttoncaption : $(if $(entry ${FlagMode}".Sakura.URLCaption") $(entry ${FlagMode}".Sakura.URLCaption") $(entry "Sakura.URLCaption"))

resource.kero.recommendbuttoncaption   : $(if $(entry ${FlagMode}".Kero.URLCaption") $(entry ${FlagMode}".Kero.URLCaption") $(entry "Kero.URLCaption"))

resource.sakura.portalbuttoncaption    : $(if $(entry ${FlagMode}".Portal.URLCaption") $(entry ${FlagMode}".Portal.URLCaption") $(entry "Portal.URLCaption"))

#==============================================================================


#[U[擾(SHIORI2.5)=====================================================
#[U[݂ȂƂ́u[U[vɂȂ܂
#isystem.OnloadŔ肳܂j
resource.username : ${username}
#==============================================================================


#lbg[NXV{^擾(SHIORI2.5)=======================================
resource.updatebuttoncaption : $(if $(size ${FlagMode}".UpdateCaption") $(entry ${FlagMode}".UpdateCaption") $(entry "UpdateCaption"))
#==============================================================================


#Ŏw{^擾(SHIORI2.5)===============================================
resource.vanishbuttoncaption : $(if $(size ${FlagMode}".VanishCaption") $(entry ${FlagMode}".VanishCaption") $(entry "VanishCaption"))
#==============================================================================


#==============================================================================
#ȏSHIORI2.5ɂ郊\[X擾
#==============================================================================



#==============================================================================
#ϊe[uiCallGetWordsAOnFileDropŕϊɎgGgQj
#
#Spp召p啶˔p
#Sp[}@@˔p
#ꕔꕶiPʁj@@˂ꑊ̔p
#==============================================================================

ConvTable.O : 0
ConvTable.P , ConvTable.T : 1
ConvTable.Q , ConvTable.U : 2
ConvTable.R , ConvTable.V : 3
ConvTable.S , ConvTable.W : 4
ConvTable.T , ConvTable.X : 5
ConvTable.U , ConvTable.Y : 6
ConvTable.V , ConvTable.Z : 7
ConvTable.W , ConvTable.[ : 8
ConvTable.X , ConvTable.\ : 9
ConvTable.] : 10
ConvTable. , ConvTable.` , ConvTable.A : a
ConvTable. , ConvTable.a , ConvTable.B : b
ConvTable. , ConvTable.b , ConvTable.C : c
ConvTable. , ConvTable.c , ConvTable.D : d
ConvTable. , ConvTable.d , ConvTable.E : e
ConvTable. , ConvTable.e , ConvTable.F : f
ConvTable. , ConvTable.f , ConvTable.G : g
ConvTable. , ConvTable.g , ConvTable.H : h
ConvTable. , ConvTable.h , ConvTable.I : i
ConvTable. , ConvTable.i , ConvTable.J : j
ConvTable. , ConvTable.j , ConvTable.K : k
ConvTable. , ConvTable.k , ConvTable.L : l
ConvTable. , ConvTable.l , ConvTable.M : m
ConvTable. , ConvTable.m , ConvTable.N : n
ConvTable. , ConvTable.n , ConvTable.O : o
ConvTable. , ConvTable.o , ConvTable.P : p
ConvTable. , ConvTable.p , ConvTable.Q : q
ConvTable. , ConvTable.q , ConvTable.R : r
ConvTable. , ConvTable.r , ConvTable.S : s
ConvTable. , ConvTable.s , ConvTable.T : t
ConvTable. , ConvTable.t , ConvTable.U : u
ConvTable. , ConvTable.u , ConvTable.V : v
ConvTable. , ConvTable.v , ConvTable.W : w
ConvTable. , ConvTable.w , ConvTable.X : x
ConvTable. , ConvTable.x , ConvTable.Y : y
ConvTable. , ConvTable.y , ConvTable.Z : z
ConvTable.o : mm
ConvTable.p : cm
ConvTable.q : km
ConvTable.r : mg
ConvTable.s : kg
ConvTable.t : cc
ConvTable.u : m2

#==============================================================================


#==============================================================================
##ȉAΉ
#==============================================================================
#event.OnSNTPCorrect : \_q\1\s[10](x)C܂B${DataResult}\_q\e
#event.OnFileDropped : \_q\1\s[10](x)t@Chbv܂B${DataResult}\_q\e
#event.OnDirectoryDrop : \_q\1\s[10](x)fBNghbv܂B${DataResult}\_q\e
#event.OnKeyPress : \_q\1\s[10](x)L[܂B${DataResult}\_q\e
#event.OnURLDropped : \_q\1\s[10](x)t@C_E[h܂B${DataResult}\_q\e
#event.OnTeachStart : \_q\1\s[10](x)uTEACH forv{bNXJ܂B${DataResult}\_q\e
#DataResult : \0\s[0]OF${system.Reference0}\nPF${system.Reference1}\nQF${system.Reference2}\nRF${system.Reference3}\nSF${system.Reference4}\nTF${system.Reference5}\nUF${system.Reference6}\nVF${system.Reference7}
#-----------------------------------------------------------------------------


############################################################################
#
# Copyright (C) 2002 OpenKEEPS Project Team
# (Akira Koyama(original works)/UMKS6.p2/A-01/takuru/tommyrot/sato/suikyo)
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################

