2003.07.24 (木) 02:03:27 <Heracules> 新形式の強制入室はまだ不完全で、たまに失敗するときがあるため、切り替えられるようにしました。
2003.07.24 (木) 02:31:15 <Heracules> WinMX 3は自動入室にちゃんと反応しないので、無駄と判断し、まったくしないようにしました。
2003.07.24 (木) 08:25:30 <Heracules> 忘れてたけど、新形式側も修正入ってます(870コマンドの件)。
2003.07.24 (木) 21:01:54 <u*j*2*6*> MX3.xの強制隔離入室は、IMをおくりつけるのに便利です
2003.07.24 (木) 21:47:52 <Heracules> #WinMX_v3チャンネルはWinMX3自体が勝手にチャンネル作って入ろうとするので一緒だと思います
2003.07.24 (木) 21:49:03 <Heracules> ・・・あー、そっか、誤解だ、そうだね、うん、誤解してた。MX3が勝手に入るんじゃなくて、Slavaのコードが入れてたんだね、うんw
2003.07.24 (木) 21:49:27 <Heracules> オプション化するといいかも>MX3の自動入室について。
2005.03.05 (土) 23:15:36 <あ> あ
shuusei211104:旧形式の強制入室と新形式の強制入室の切り替えを可能にした(source by Heracules)

diff --dos -urN 211103/handler.pas 211104/handler.pas
--- 211103/handler.pas	Tue Jul 08 00:42:48 2003
+++ 211104/handler.pas	Thu Jul 24 01:42:08 2003
@@ -1248,11 +1248,21 @@
        if loginim[i]<>'' then
          local.Exec(MSG_CLIENT_PRIVMSG,loginim_user+' '+loginim[i]);
  end;
-// if force_enter then begin
-//   if (AnsiPos('WinMX',local.software)<>0) and (AnsiPos('3',local.software)<>0) then gcmd.cmd:='#WinMX_v3.x'
-//   else gcmd.cmd:=force_enter_channel;
-//   Handler_JoinChannel;
-// end;
+
+ if force_enter then
+ begin
+   if old_force_enter then
+   begin
+     if not ((Pos('WinMX',local.software)<>0) and (Pos('3',local.software)<>0)) then
+     begin
+       gcmd.cmd:=force_enter_channel;
+       Handler_JoinChannel;
+     end;
+     local.auto_channel:=True;
+   end else
+   local.auto_channel:=False;
+ end else
+   local.auto_channel:=True;
  local.Flush;
  if dengon_enabled then begin
    gcmd.id:=MSG_CLIENT_DENGON_READNEW2;
@@ -10189,8 +10199,8 @@
   if query=queryNormal then
   begin
     str1:=gcmd.cmd;
-    if (gcmd.id=100) or (gcmd.id=10300) then
-      local.last_channel_time:=10;
+    if (gcmd.id=100) or (gcmd.id=870) or (gcmd.id=10300) then
+      local.last_channel_time:=3;
     if (gcmd.id=2) or (gcmd.id=6) then
     begin
       SplitString(str1,hlist);
diff --dos -urN 211103/mainform.pas 211104/mainform.pas
--- 211103/mainform.pas	Sun Jul 06 17:02:32 2003
+++ 211104/mainform.pas	Thu Jul 24 01:46:58 2003
@@ -1303,6 +1303,7 @@
   force_enter:=ini.ReadBool('Channels','ForceEnter',false);
   force_enter_channel:=ini.ReadString('Channels','ForceEnterChannel','#Alternative');
   force_enter_furiwake:=ini.ReadBool('Channels','ForceEnterFuriwake',false);
+  old_force_enter:=ini.ReadBool('Channels','OldForceEnter',true);
   enable_inflections:=ini.ReadBool('Channels','EnableInflections',false);
   levels[0]:=ini.ReadString('Levels','Leech',levels[0]);
   levels[1]:=ini.ReadString('Levels','User',levels[1]);
@@ -1879,6 +1880,7 @@
   ini.WriteBool('Channels','ForceEnter',force_enter);
   ini.WriteString('Channels','ForceEnterChannel',force_enter_channel);
   ini.WriteBool('Channels','ForceEnterFuriwake',force_enter_furiwake);
+  ini.WriteBool('Channels','OldForceEnter',old_force_enter);
   ini.WriteBool('Channels','EnableInflections',enable_inflections);
   ini.WriteString('Napigator','Host',napigator_host);
   ini.WriteString('Napigator','Port',napigator_port);
diff --dos -urN 211103/settings.pas 211104/settings.pas
--- 211103/settings.pas	Sun Jul 06 17:02:32 2003
+++ 211104/settings.pas	Wed Jul 23 13:48:00 2003
@@ -575,6 +575,7 @@
     edit_allow_sign4: TEdit;
     cb_allow_teknap: TCheckBox;
     cb_regsoft_only: TCheckBox;
+    cb_channels_old_forceenter: TCheckBox;
     procedure Panel3Resize(Sender: TObject);
     procedure headerPaint(Sender: TObject);
     procedure SetTopText(str: String);
@@ -646,6 +647,7 @@
     procedure cb_enable_ratingClick(Sender: TObject);
     procedure sh_other4Show(Sender: TObject);
     procedure cb_allow_otherClick(Sender: TObject);
+    procedure cb_channels_forceenterClick(Sender: TObject);
   private
     { Private declarations }
     procedure SetBanItems(control: TComboBox);
@@ -1379,7 +1381,11 @@
   cb_loginim_enable.Checked:=loginim_enabled;
   cb_channels_forceenter.Checked:=force_enter;
   edit_channels_forceenter.Text:=force_enter_channel;
+  cb_channels_old_forceenter.Checked:=old_force_enter;
   cb_force_enter_furiwake.Checked:=force_enter_furiwake;
+  edit_channels_forceenter.Visible:=cb_channels_forceenter.Checked;
+  cb_channels_old_forceenter.Visible:=cb_channels_forceenter.Checked;
+  cb_force_enter_furiwake.Visible:=cb_channels_forceenter.Checked;
   cb_restrict_searchresult_per_user.Checked:=restrict_searchresult_per_user;
   edit_max_searchresult_per_user.Value:=max_searchresult_per_user;
   edit_loginim_user.Text:=loginim_user;
@@ -1913,6 +1919,7 @@
    loginim_user:=edit_loginim_user.Text;
    force_enter:=cb_channels_forceenter.Checked;
    force_enter_channel:=edit_channels_forceenter.Text;
+   old_force_enter:=cb_channels_old_forceenter.Checked;
    force_enter_furiwake:=cb_force_enter_furiwake.Checked;
    restrict_searchresult_per_user:=cb_restrict_searchresult_per_user.Checked;
    max_searchresult_per_user:=edit_max_searchresult_per_user.Value;
@@ -2407,6 +2414,13 @@
   edit_allow_sign2.Visible:=cb_allow_other.Checked;
   edit_allow_sign3.Visible:=cb_allow_other.Checked;
   edit_allow_sign4.Visible:=cb_allow_other.Checked;
+end;
+
+procedure TSlavaNapSettings.cb_channels_forceenterClick(Sender: TObject);
+begin
+  edit_channels_forceenter.Visible:=cb_channels_forceenter.Checked;
+  cb_channels_old_forceenter.Visible:=cb_channels_forceenter.Checked;
+  cb_force_enter_furiwake.Visible:=cb_channels_forceenter.Checked;
 end;
 
 end.
diff --dos -urN 211103/settings.dfm 211104/settings.dfm
--- 211103/settings.dfm	Sun Jul 06 17:02:32 2003
+++ 211104/settings.dfm	Thu Jul 24 01:39:16 2003
@@ -5,7 +5,7 @@
   BorderStyle = bsSingle
   Caption = 'SlavaNapの設定'
   ClientHeight = 483
-  ClientWidth = 490
+  ClientWidth = 491
   Color = clBtnFace
   Font.Charset = SHIFTJIS_CHARSET
   Font.Color = clWindowText
@@ -152,7 +152,7 @@
   object Panel1: TPanel
     Left = 0
     Top = 422
-    Width = 490
+    Width = 491
     Height = 61
     Align = alBottom
     BevelOuter = bvNone
@@ -250,7 +250,7 @@
   object Panel2: TPanel
     Left = 126
     Top = 0
-    Width = 364
+    Width = 365
     Height = 422
     Align = alClient
     BevelOuter = bvNone
@@ -259,7 +259,7 @@
     object Panel3: TPanel
       Left = 0
       Top = 0
-      Width = 364
+      Width = 365
       Height = 38
       Align = alTop
       BevelOuter = bvNone
@@ -283,9 +283,9 @@
     object pages: TDFWPageControles
       Left = 0
       Top = 38
-      Width = 364
+      Width = 365
       Height = 384
-      ActivePage = sh_other4
+      ActivePage = sh_other2
       Align = alClient
       MultiLine = True
       OwnerDraw = True
@@ -5333,23 +5333,16 @@
         end
         object cb_channels_forceenter: TCheckBox
           Left = 7
-          Top = 109
+          Top = 85
           Width = 210
           Height = 16
           Caption = '強制入室!! 入室させるチャンネル:'
           TabOrder = 2
-        end
-        object edit_channels_forceenter: TEdit
-          Left = 236
-          Top = 109
-          Width = 112
-          Height = 20
-          TabOrder = 7
-          Text = '#Alternative'
+          OnClick = cb_channels_forceenterClick
         end
         object cb_force_enter_furiwake: TCheckBox
           Left = 7
-          Top = 124
+          Top = 122
           Width = 173
           Height = 15
           Caption = 'ファイル名で強制ふりわけ入室'
@@ -5532,6 +5525,22 @@
             Enabled = False
             TabOrder = 1
           end
+        end
+        object cb_channels_old_forceenter: TCheckBox
+          Left = 7
+          Top = 102
+          Width = 282
+          Height = 17
+          Caption = '旧形式の強制入室(ログイン後即入室)を使用する'
+          TabOrder = 13
+        end
+        object edit_channels_forceenter: TEdit
+          Left = 236
+          Top = 82
+          Width = 112
+          Height = 20
+          TabOrder = 7
+          Text = '#Alternative'
         end
       end
       object sh_other3: TTabSheet
diff --dos -urN 211103/vars.pas 211104/vars.pas
--- 211103/vars.pas	Sun Jul 06 17:02:32 2003
+++ 211104/vars.pas	Wed Jul 23 05:10:04 2003
@@ -261,6 +261,7 @@
  loginim: Array[0..MAX_LOGINIM] of String;
  force_enter: Boolean;
  force_enter_channel: String;
+ old_force_enter: Boolean;
  force_enter_furiwake: Boolean;
  restrict_searchresult_per_user: Boolean;
  max_searchresult_per_user: Integer;