home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / OLS / Win31 / HT219 / HT219.LZH / CSC.SCR < prev    next >
Text File  |  1995-06-02  |  4KB  |  176 lines

  1. ;Chat Scirpt Compact version 2.10 for HideTerm & HideTerm32
  2. ;copyright (c)1995 OFFICE-OA (PFA03003)
  3.  
  4.     setautohangup 10
  5.     %CS = ""
  6.     call MnuReset
  7.     if( %C_H == "" ) input "あなたのハンドルが未登録です", %C_H
  8.     keyassign reset
  9.     keyassign F1 ,"1:選択1", script, Mnu1
  10.     keyassign F2 ,"2:選択2", script, Mnu2
  11.     keyassign F3 ,"3:取消" , script, Undo
  12.     keyassign F5 ,"5:SEND" , script, SetSend
  13.     keyassign F6 ,"6:PAGE" , script, SetPage
  14.     keyassign F12,"2:終了" , script, Quit
  15.     keyassign B4 ,"4:消去" , script, MnuReset
  16.     keyassign B9 ,"9:名前" , script, Name
  17.     keyassign B10,"0:敬称" , script, Foot
  18.     keyassign B11,"1:音"   , script, Snd
  19.     call SendRepOn
  20.     call PageRepOn
  21.     send "/EC OFF^M/HA " + %C_H + "^M"
  22.     gethostname #HostName
  23.     title "NIFTYでChat中[" + #HostName + "]"
  24.     chat on
  25.     timeout 600
  26.     beginloop
  27.         if( %CS != "" ) goto Ed
  28.         switch
  29.         case "^J("
  30.             call Sub1
  31.         case "^J- JOB番号"
  32.             if( @PageRep == "Off" ) loopagain
  33.             wait "^M"
  34.             readbuffer 0, #B
  35.             @JOB = tohankaku( drop( part( #B, 10, 6 ), "の" ) )
  36.             input "JOB番号" + @JOB + "に送り返すメッセージ", #Mes
  37.             if( #Mes != "" ) send "/P " + @JOB + " (PAGE:" + %C_H + ") " + #Mes + "^M"
  38.         case " のユーザーからのメッセージです-^M"
  39.             if( @SendRep == "Off" ) loopagain
  40.             readbuffer 0, #B
  41.             if( part( #B, 0, 2 ) != "-" ) loopagain
  42.             @ID = part( #B, 2, 8 )
  43.             input @ID + "に送り返すメッセージ", #Mes
  44.             if( #Mes != "" ) send "/SEND " + @ID + " (SEND:" + %C_H + ") " + #Mes + "^M"
  45.         case "^J>", "^JFORUM>", "^JCCS(N)>", "^JCCS(R)>", "^JBBS>", "^JLIB>", "^JMAIL>", timeout
  46.             timeoutquestion "CSCを終了しますか?", 30
  47.             if( yes ) goto Ed
  48.             if( timeout ) goto Ed
  49.         endswitch
  50.     endloop
  51.  
  52. Sub1:
  53.     wait "^M"
  54.     readbuffer 0, #B
  55.     if( part( #B, 0, 1 ) != "(" )
  56.         readbuffer 1, #C
  57.         #B = #C + #B
  58.         if( part( #B, 0, 1 ) != "(" )
  59.             readbuffer 2, #C
  60.             #B = #C + #B
  61.         endif
  62.     endif
  63.     #H = part( search( drop( #B, ")" ), "," ), 1, 20 )
  64.     switch #H
  65.     case %C_H, "", @H[0], @H[1], @H[2], @H[3], @H[4], @H[5], @H[6], @H[7], @H[8], @H[9], @H[10], @H[11], @H[12], @H[13], @H[14]
  66.     case @H[15], @H[16], @H[17], @H[18], @H[19], @H[20], @H[21], @H[22], @H[23], @H[24], @H[25], @H[26], @H[27], @H[28], @H[29]
  67.     case default
  68.         play %C_S
  69.         send "/Who " + #H + "^M"
  70.         @H[ @@T ] = #H
  71.         @@T = @@T + 1
  72.         if( @@T > 29 ) @@T = 0
  73.     endswitch
  74.     return
  75.  
  76. Quit:
  77.     send "/SC CSC^M◇CSC:終了(このメッセージは通常は他の人には見えません)^M/UNS^M"
  78.     %CS = "E"
  79.     return
  80.  
  81. Mnu2:
  82.     ##M = 15
  83. Mnu1:
  84.     while( ##T < 15 )
  85.         addnumbermenu @H[ ##M + ##T ]
  86.         ##T = ##T + 1
  87.     endwhile
  88.     showmenu
  89.     switch result
  90.     case -1
  91.     case default
  92.         getchat #E
  93.         setchat #E + ">" + @H[ result + ##M ] + %C_F
  94.     endswitch
  95.     return
  96.  
  97. Undo:
  98.     getchat #E
  99.     #E = dropback( #E, ">" )
  100.     setchat #E
  101.     return
  102.  
  103. MnuReset:
  104.     while( ##T < 30 )
  105.         @H[ ##T ] = ""
  106.         ##T = ##T + 1
  107.     endwhile
  108.     @@T = 0
  109.     return
  110.  
  111. SetSend:
  112.     input "相手のID", @ID, @ID
  113.     if( cancel ) return
  114.     if( length( tohankaku( @ID ) ) != 8 )
  115.         message "IDが不正です!"
  116.         return
  117.     endif
  118.     input @ID + "に送るメッセージ", #Mes
  119.     if( #Mes != "" ) send "/SEND " + @ID + " (SEND:" + %C_H + ") " + #Mes + "^M"
  120.     return
  121.  
  122. SetPage:
  123.     input "相手のJOB番号", @JOB, @JOB
  124.     if( cancel ) return
  125.     ##JOB = @JOB
  126.     if( ##JOB < 1 or ##JOB > 999 )
  127.         message "JOB番号が不正です!"
  128.         return
  129.     endif
  130.     input "JOB番号" + @JOB + "に送るメッセージ", #Mes
  131.     if( #Mes != "" ) send "/P " + @JOB + " (PAGE:" + %C_H + ") " + #Mes + "^M"
  132.     return
  133.  
  134. SendRepOn:
  135.     @SendRep = "On"
  136.     keyassign B5 ,"5:SEND返切" , script, SendRepOff
  137.     return
  138.  
  139. SendRepOff:
  140.     @SendRep = "Off"
  141.     keyassign B5 ,"5:SEND返入" , script, SendRepOn
  142.     return
  143.  
  144. PageRepOn:
  145.     @PageRep = "On"
  146.     keyassign B6 ,"6:PAGE返切" , script, PageRepOff
  147.     return
  148.  
  149. PageRepOff:
  150.     @PageRep = "Off"
  151.     keyassign B6 ,"6:PAGE返入" , script, PageRepOn
  152.     return
  153.  
  154. Name:
  155.     input "自分のハンドル", %C_H, %C_H
  156.     question "ハンドルの変更コマンドを送信しますか?"
  157.     if( yes ) send "/HA " + %C_H + "^M"
  158.     return
  159.  
  160. Foot:
  161.     input "敬称", %C_F, %C_F
  162.     return
  163.  
  164. Snd:
  165.     input "新しいハンドルの警告音", %C_S, %C_S
  166.     return
  167.  
  168. Ed:
  169.     %CS= ""
  170.     timeout 0
  171.     title #HostName
  172.     chat off
  173.     keyassign reset
  174.     call NIF.SCR:SetNifKeyAssign
  175.     return
  176.