#========================================================================= #WTERM マクロプログラム レギュラー会員他用 WTMR_R.MAC V10.8 #========================================================================= SELECT__: CALL(LOOP0) SELECT_: #CHAT信号判断ルーチン。 VSWITCH(R$) CASE("C") CALL(CHAT) #CHATへ。 VCLEAR("R") #CHATから復帰。 GOTO(F$) ELSE GOTO(F$) END #------------------------------------------------------------------------- SELECT0: H$="ボードチャット 2〜7+他にも色々できるよ。" I$="ボードチャット 8〜11+GAMEをします。 GAME内は,自由行動です。" J$="データライブラリに行きます。+伝言を新たに入力後,ログアウトします。" SMENU(H$,I$,J$) VSWITCH(H$) CASE("0") PRINTCR(" MACRO STOP! SEE YOU AGAIN! (^o^)/゚") EXIT CASE("1") GOTO(BC1) CASE("2") GOTO(BC2) CASE("3") GOTO(DL) CASE("4") GOTO(ETC) CASE("5") GOTO(GAME) CASE("6") GOTO(OFF1) ELSE GOTO(SELECT0) END ETC: H$="各種 RANK表示をします。+もっと,いろいろできるよ。" I$="誰がアクセスしてるかな?+設定済の伝言内容の確認をします。" J$="今日はどんな日かな?+設定済の伝言を自動的に入力してログアウトします。" SMENU(H$,I$,J$) VSWITCH(H$) CASE("0") GOTO(SELECT0) CASE("1") GOTO(ETC01) CASE("2") Y$="LOG" GOTO(ETC1) CASE("3") Y$="DAY" GOTO(ETC1) CASE("4") GOTO(ETC2) CASE("5") GOTO(DEF) CASE("6") GOTO(OFF4) ELSE GOTO(ETC) END ETC01: H$="所有GOLD RANKINGを表示します。+発言回数RANKINGを表示します。" I$="書き込み率RANKINGを表示します。+元のメニューに戻る。" J$="アクセス回数RANKINGを表示します。" SMENU(H$,I$,J$) VSWITCH(H$) CASE("0") GOTO(ETC) CASE("1") Y$="GRNK" GOTO(ETC1_) CASE("2") Y$="RRNK" GOTO(ETC1_) CASE("3") Y$="ARNK" GOTO(ETC1_) CASE("4") Y$="WRNK" GOTO(ETC1_) CASE("5") GOTO(ETC) ELSE GOTO(ETC01) END ETC2: H$="50,000GOLD取得者を表示します。+まだまだできるよ。" I$="ハンドル名を一時的に変更します。+PROFIELを表示します。" J$="ハンドル名を元に戻します。+自由行動します。" SMENU(H$,I$,J$) VSWITCH(H$) CASE("0") GOTO(SELECT0) CASE("1") Y$="KING" GOTO(ETC1) CASE("2") Y$="CHAN" GOTO(CHAN) CASE("3") Y$="RHAN" GOTO(ETC1) CASE("4") GOTO(ETC3) CASE("5") Y$="PROF" GOTO(PROF) CASE("6") GOTO(ETC4) ELSE GOTO(ETC2) END ETC3: H$="規約を読みます。+チャットをします。抜ける時は「/E」を入れてね。" I$="郵送規約を読みます。+未読ポインター移動を行います。指示通り入力してね。" J$="会議室とボードチャットの一覧を見ます(MAP)。+未読情報を表示します。" SMENU(H$,I$,J$) VSWITCH(H$) CASE("0") GOTO(SELECT0) CASE("1") Y$="規約" GOTO(ETC1) CASE("2") Y$="郵送" GOTO(ETC1) CASE("3") Y$="MAP" GOTO(ETC1) CASE("4") GOTO(CHATS) CASE("5") GOTO(HAND) CASE("6") Y$="BST" GOTO(ETC0100) ELSE GOTO(ETC2) END BC1: H$="No.2 異次元の部屋+No.5 夢と希望の部屋" I$="(No.3 この部屋は会員レヴェル制限によりアクセス不可)+No.6 ギャグの部屋" J$="No.4 アニメの部屋+No.7 音楽の部屋" SMENU(H$,I$,J$) VSWITCH(H$) CASE("0") GOTO(SELECT0) CASE("1") ADD(H$,H$,"1") GOTO(BCSEND) CASE("3") ADD(H$,H$,"1") GOTO(BCSEND) CASE("4") ADD(H$,H$,"1") GOTO(BCSEND) CASE("5") ADD(H$,H$,"1") GOTO(BCSEND) CASE("6") ADD(H$,H$,"1") GOTO(BCSEND) ELSE GOTO(BC1) END BC2: H$="No. 8 尻取りの部屋+No.11 マルフィーの法則 ESCで戻る" I$="No. 9 電脳の部屋+メイン・メニュー・セレクターに戻る。" J$="No.10 TRPGの部屋" SMENU(H$,I$,J$) VSWITCH(H$) CASE("0") GOTO(SELECT0) CASE("1") ADD(H$,H$,"7") GOTO(BCSEND) CASE("2") ADD(H$,H$,"7") GOTO(BCSEND) CASE("3") ADD(H$,H$,"7") GOTO(BCSEND) CASE("4") ADD(H$,H$,"7") GOTO(BCSEND) CASE("5") GOTO(SELECT0) ELSE GOTO(BC2) END #========================================================================= CHAN: #SELECTERからハンドル名変更の場合。 INPUT(A$,"12バイト以内で入力。キャンセルはリターンのみ。","705.60") JUMPE(A$,"",SELECT0) SEND(Y$) SEND("\R") LEFT(A$,"12") CALL(LOOP0) CONVERT(OFF) SEND(A$) CONVERT(ON) SEND("\R") WAIT("\010") SEND("\R") VCLEAR("AY") F$="SELECT0" GOTO(SELECT__) #========================================================================= HAND: #SELECTERから,ポインター移動ルーチン。 F$="ETC3" INPUT(H$,"移動する会議室番号を入力。キャンセルはリターンのみ。:","705.60") JUMPE(H$,"",SELECT0) #入力がない場合。 UPCASE(H$,H$) JUMPSRCHY(H$,"M",SELECT0) #MAILモードを指定した場合。 SEND(H$) #会議室番号送信。 SEND("\R") STIMEOUT(2) SWITCH CASE("◆") GOTO(SELECT__) END WAIT("(BOAD") CALL(LOOP0) INPUT(H$,"ポインター数を入力。キャンセルはリターンのみ。:","705.60") JUMPE(H$,"",SELECT_) #入力がない場合。 SEND("RP ") #RPはポインター移動コマンド。 SEND(H$) #移動先ポインター数送信。 SEND("\R") STIMEOUT(2) SWITCH CASE("◆") GOTO(SELECT__) END WAIT("(BOAD") GOTO(SELECT__) #========================================================================= PROF: #PROFIELEルーチン(SELECTERから)。 INPUT(H$,"ID or ハンドルを入力。キャンセルはリターンのみ。:","705.60") JUMPE(H$,"",SELECT0) #ID等の指定がない場合。 CAT(Y$," ") #Y$=PROF CAT(Y$,H$) #Y$=PROF ID SEND(Y$) SEND("\R") SWITCH CASE("☆ プロフィール表示終了 ☆") WAIT("(") CASE("☆ プロフィールが登録されていません ☆") WAIT("(") CASE("☆ そのID(名前)は未登録です ☆") WAIT("(") END F$="SELECT0" GOTO(SELECT__) #========================================================================= ETC4: #SELECTERから,自由行動選択の場合。 F$="ETC2" #戻り先指定フラグ。 GETCRTS(S$,"0") #居場所を格納。 IFSRCHN(S$,"BOAD1)") #BOAD1にメインプロンプトがない場合。 SEND("1\R") #メインプロンプトをBOAD1に固定。 INPUT(H$,"コマンドを入力。キャンセルはリターンのみ。:","705.60") JUMPE(H$,"",SELECT0) #コマンド入力がない場合。 SEND(H$) SEND("\R") WAIT("(BOAD1)") GOTO(SELECT__) #========================================================================= DEF: #MAR.PADで指定した一行伝言の内容表示。 PRINTCR("") PRINTCR("一行伝言に設定されているのは----") PRINTCR(X$) PRINTCR("----です。") F$="ETC" GOTO(SELECT_) #プロンプト表示は待たない。 #========================================================================= ETC1: #SELECTERから,単純コマンド指定の場合。 F$="SELECT0" GETCRTS(S$,"0") #居場所を格納。 IFSRCHN(S$,"BOAD1)") #BOAD1にメインプロンプトがない場合。 SEND("1\R") #メインプロンプトをBOAD1に固定。 SEND(Y$) SEND("\R") WAIT("(BOAD1)") GOTO(SELECT__) ETC1_: #各種ランキング表示コマンドの場合。 SEND(Y$) SEND("\R") WAIT("★ 以上! 現在のランキングですじゃ") F$="SELECT0" GOTO(SELECT__) ETC0100: #未読情報一覧表示の場合(Bコマンド)。 SEND(Y$) SEND("\R") F$="ETC3" GOTO(SELECT__) #========================================================================= BCSEND: #SELECTERから,BC発言の場合。 F$="SELECT0" I$="BC" CAT(I$,H$,"\R") SEND(I$) STIMEOUT(4) SWITCH CASE("◆") GOTO(SELECT__) CASE("メッ") WAIT("セージ") END CALL(LOOP0) INPUT(K$,"書き込まない場合はリターンのみ。","705.120") IFE(K$,"") #リターン処理をした場合。 K$="/E" CONVERT(OFF) SEND(K$) #入力内容を送信。 CONVERT(ON) SEND("\R") JUMPE(K$,"/E",BCSENDE) #入力がない場合。確認処理を飛ばす。 CALL(LOOP0) SEND("\R") #確認。 BCSENDE: GOTO(SELECT__) #========================================================================= GAME: SEND("GAME\R") F$="GAME0" #F$はLOOP1内で使用する移動先フラグ。 GAME0: L$=")>" #L$はLOOP1内で使用するプロンプト判断変数。 CALL(LOOP1) F$="SELECT0" #F$はSELECT_内で使用する移動先フラグ。 GOTO(SELECT_) #========================================================================= DL: H$="自由行動です。アップロード,ダウンロードはできません。" I$="最新到着データを見ます。" J$="メイン・メニュー・セレクターに戻る。" SMENU(H$,I$,J$) VSWITCH(H$) CASE("0") GOTO(SELECT0) CASE("1") GOTO(DL0) CASE("2") GOTO(DL1) CASE("3") GOTO(SELECT0) ELSE GOTO(DL) END DL0: SEND("DL\R") F$="SELECT0" #DLに入れない場合には,メイン・メニューへ戻る。 STIMEOUT(4) SWITCH CASE("◆") GOTO(SELECT__) CASE("OFF.") WAIT(">") END PRINTCR("□DL 終了までは手動運転です□") DL00: WAIT("−データライブラリを終了しました−") F$="DL" GOTO(SELECT__) #------------------------------------------------------------------------- DL1: #最新DLリスト取得ルーチン。 F$="SELECT0" #DLに入れない場合には,メイン・メニューへ戻る。 SEND("DL\R") STIMEOUT(2) SWITCH CASE("◆") GOTO(SELECT__) END CALL(LOOP0) SEND("N\R") CALL(LOOP0) SEND("T\R") WAIT("−データライブラリを終了しました−") F$="DL" GOTO(SELECT__) #========================================================================= OFF1: #手動伝言書き込み終了処理。 CHAIN("WTMR.MAC$OFF1") OFF4: CHAIN("WTMR.MAC$OFF4") #========================================================================= CHAT: WAIT("",1,CHAT) SEND(C$) #C$=C\R or /C\R CALL(CHAT0) RETURN CHAT0: WAIT("",1,CHAT0) VCLEAR("A") INPUT(A$,"チャットは楽しいね。リターンのみで終了です。",705.120) IFE(A$,"") CALL(CHATERR) CONVERT(OFF) SEND(A$) CONVERT(ON) SEND("\R") IFE(A$,"/E") RETURN GOTO(CHAT0) CHATERR: SEND("自動運転中で,反応できないの。ごめんなさい。 m(_._)m\R") CHATERR0: WAIT("",1,CHATERR0) A$="/E" RETURN #------------------------------------------------------------------------- CHATS: WAIT("",1,CHATS) SEND("C\R") CHATS0: WAIT("",1,CHATS0) INPUT(R$,"チャットは楽しいね。/Eで終了します",705.120) CONVERT(OFF) SEND(R$) CONVERT(ON) SEND("\R") JUMPE(R$,"/E",CHATS1) JUMPE(R$,"/e",CHATS1) GOTO(CHATS0) CHATS1: WAIT("",1,CHATS1) VCLEAR("R") GOTO(SELECT0) #------------------------------------------------------------------------- CHA: #OFF直前のCHAT。確認リターン前の場合。 SEND("\R") #終了を確認するリターン。 CALL(CHAT) GOTO(F$) #========================================================================= LOOP0: #CHAT判断ルーチン(その1)。汎用。 SWITCH CASE("T{^。^`}ヨホホホ。") R$="C" RETURN CASE("+\013\010") WAIT("",1,LOOP0) RETURN CASE("0\013\010") WAIT("",1,LOOP0) RETURN CASE("い\013\010:") WAIT(" ",1,LOOP0) RETURN CASE("\010:") WAIT("",1,LOOP0) RETURN CASE("\010:") WAIT("",1,LOOP0) RETURN CASE("名】:") WAIT("",1,LOOP0) RETURN CASE(">") GETCRTS(Z$,"0") WAIT("",1,LOOP0) RETURN CASE("):") WAIT("",1,LOOP0) RETURN CASE(":") WAIT("",1,LOOP0) RETURN END RETURN #------------------------------------------------------------------------- LOOP1: #GAME内CHATサイン判断。 SWITCH CASE("T{^。^`}ヨホホホ。") PRINTCR("□CHATが呼びかけられました。GAME終了後,CHATします□") R$="C" #CHATサインがあった場合,Cを格納。 GOTO(F$) CASE(L$) WAIT("",1,LOOP1) RETURN END RETURN #=========================================================================