home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / OLS / Win95 / HT315 / HT315.LZH / CSC.SCR < prev    next >
Text File  |  1996-02-09  |  4KB  |  178 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.             #Mes = ""
  37.             input "JOB番号" + @JOB + "に送り返すメッセージ", #Mes
  38.             if( #Mes != "" ) send "/P " + @JOB + " (PAGE:" + %C_H + ") " + #Mes + "^M"
  39.         case " のユーザーからのメッセージです-^M"
  40.             if( @SendRep == "Off" ) loopagain
  41.             readbuffer 0, #B
  42.             if( part( #B, 0, 2 ) != "-" ) loopagain
  43.             @ID = part( #B, 2, 8 )
  44.             #Mes = ""
  45.             input @ID + "に送り返すメッセージ", #Mes
  46.             if( #Mes != "" ) send "/SEND " + @ID + " (SEND:" + %C_H + ") " + #Mes + "^M"
  47.         case "^J>", "^JFORUM>", "^JCCS(N)>", "^JCCS(R)>", "^JBBS>", "^JLIB>", "^JMAIL>", timeout
  48.             timeoutquestion "CSCを終了しますか?", 30
  49.             if( yes ) goto Ed
  50.             if( timeout ) goto Ed
  51.         endswitch
  52.     endloop
  53.  
  54. Sub1:
  55.     wait "^M"
  56.     readbuffer 0, #B
  57.     if( part( #B, 0, 1 ) != "(" )
  58.         readbuffer 1, #C
  59.         #B = #C + #B
  60.         if( part( #B, 0, 1 ) != "(" )
  61.             readbuffer 2, #C
  62.             #B = #C + #B
  63.         endif
  64.     endif
  65.     #H = part( search( drop( #B, ")" ), "," ), 1, 20 )
  66.     switch #H
  67.     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]
  68.     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]
  69.     case default
  70.         play %C_S
  71.         send "/Who " + #H + "^M"
  72.         @H[ @@T ] = #H
  73.         @@T = @@T + 1
  74.         if( @@T > 29 ) @@T = 0
  75.     endswitch
  76.     return
  77.  
  78. Quit:
  79.     send "/SC CSC^M◇CSC:終了(このメッセージは通常は他の人には見えません)^M/UNS^M"
  80.     %CS = "E"
  81.     return
  82.  
  83. Mnu2:
  84.     ##M = 15
  85. Mnu1:
  86.     while( ##T < 15 )
  87.         addnumbermenu @H[ ##M + ##T ]
  88.         ##T = ##T + 1
  89.     endwhile
  90.     showmenu
  91.     switch result
  92.     case -1
  93.     case default
  94.         getchat #E
  95.         setchat #E + ">" + @H[ result + ##M ] + %C_F
  96.     endswitch
  97.     return
  98.  
  99. Undo:
  100.     getchat #E
  101.     #E = dropback( #E, ">" )
  102.     setchat #E
  103.     return
  104.  
  105. MnuReset:
  106.     while( ##T < 30 )
  107.         @H[ ##T ] = ""
  108.         ##T = ##T + 1
  109.     endwhile
  110.     @@T = 0
  111.     return
  112.  
  113. SetSend:
  114.     input "相手のID", @ID, @ID
  115.     if( cancel ) return
  116.     if( length( tohankaku( @ID ) ) != 8 )
  117.         message "IDが不正です!"
  118.         return
  119.     endif
  120.     input @ID + "に送るメッセージ", #Mes
  121.     if( #Mes != "" ) send "/SEND " + @ID + " (SEND:" + %C_H + ") " + #Mes + "^M"
  122.     return
  123.  
  124. SetPage:
  125.     input "相手のJOB番号", @JOB, @JOB
  126.     if( cancel ) return
  127.     ##JOB = @JOB
  128.     if( ##JOB < 1 or ##JOB > 999 )
  129.         message "JOB番号が不正です!"
  130.         return
  131.     endif
  132.     input "JOB番号" + @JOB + "に送るメッセージ", #Mes
  133.     if( #Mes != "" ) send "/P " + @JOB + " (PAGE:" + %C_H + ") " + #Mes + "^M"
  134.     return
  135.  
  136. SendRepOn:
  137.     @SendRep = "On"
  138.     keyassign B5 ,"5:SEND返切" , script, SendRepOff
  139.     return
  140.  
  141. SendRepOff:
  142.     @SendRep = "Off"
  143.     keyassign B5 ,"5:SEND返入" , script, SendRepOn
  144.     return
  145.  
  146. PageRepOn:
  147.     @PageRep = "On"
  148.     keyassign B6 ,"6:PAGE返切" , script, PageRepOff
  149.     return
  150.  
  151. PageRepOff:
  152.     @PageRep = "Off"
  153.     keyassign B6 ,"6:PAGE返入" , script, PageRepOn
  154.     return
  155.  
  156. Name:
  157.     input "自分のハンドル", %C_H, %C_H
  158.     question "ハンドルの変更コマンドを送信しますか?"
  159.     if( yes ) send "/HA " + %C_H + "^M"
  160.     return
  161.  
  162. Foot:
  163.     input "敬称", %C_F, %C_F
  164.     return
  165.  
  166. Snd:
  167.     input "新しいハンドルの警告音", %C_S, %C_S
  168.     return
  169.  
  170. Ed:
  171.     %CS= ""
  172.     timeout 0
  173.     title #HostName
  174.     chat off
  175.     keyassign reset
  176.     call NIF.SCR:SetNifKeyAssign
  177.     return
  178.