Heute lernen wir einen Schalter für Auto-Serverwechsel zu machen !!!!
IMPLEMENT_DYNAMIC(CServerListCtrl, CMuleListCtrl/*CTreeCtrl*/)
Ersetze den gesamten Abschnitt mit:
// Auto Serverwechsel 150 MIN
IMPLEMENT_DYNAMIC(CServerListCtrl, CMuleListCtrl/*CTreeCtrl*/)
CServerListCtrl::CServerListCtrl() {
server_list = 0; // i_a
SetGeneralPurposeFind(true);
{m_hTimer2 = :

etTimer(NULL, NULL, 9000000, (TIMERPROC)
CServerListCtrl:

erverUpdateTimerConnection);
if (!m_hTimer2)
theApp.emuledlg->AddLogLine(false, GetResString(IDS_ERR_TIMERCREATEFAILED));
}
}
// Auto Serverwechsel 150 MIN END
9000000 = 150 Min
Ganz unten nun dies rein:
// Auto Serverwechsel 150 MIN
void CALLBACK CServerListCtrl:

erverUpdateTimerConnection(HWND hwnd, UINT uiMsg, UINT
idEvent, DWORD dwTime)
{
if (theApp.glob_prefs->Isserverwechsel()){
if (!theApp.emuledlg->IsRunning())
return;
theApp.emuledlg->AddLogLine(true,"Serverreconnect, verbinde zu neuem Server... ");
theApp.serverconnect->Disconnect();
theApp.serverconnect->ConnectToAnyServer();
}
}
// Auto Serverwechsel 150 MIN END
In der ServerListCtrl.h suchen nach:
uint32 lastupdatetime;
Darüber dies hier:
UINT_PTR m_hTimer2;
static void CALLBACK ServerUpdateTimerConnection(HWND hwnd, UINT uiMsg, UINT idEvent, DWORD
dwTime);
have fun
So nun haben wir den Serverwechsel. Nun die Buttons.
In der resource.h:
#define IDC_Isserverwechsel 4778 // Auto Serverwechsel 150 MIN
In der Preferences.h nach suchen:
uint16 MaxConperFive;
drunter:
bool m_bserverwechsel; // Auto Serverwechsel 150 MIN
suchen:
bool IsOnlineSignatureEnabled() {return prefs->onlineSig;}
drunter:
const bool Isserverwechsel() const {return prefs->m_bserverwechsel;} // Auto Serverwechsel 150 MIN
In der Preferences.cpp suchen nach:
ini.WriteInt ("3DDepth", prefs->depth3D);
drunter:
ini.WriteBool("Serverwechsel", prefs->m_bserverwechsel); // Auto Serverwechsel 150 MIN
suchen:
prefs->depth3D = 5;
drunter:
prefs->m_bserverwechsel = ini.GetBool("serverwechsel", false); // Auto Serverwechsel 150 MIN
So nun in eurer *.h Pref Datei z.B bei mir PPGek.h das suchen:
protected:
CPreferences *app_prefs;
drunter:
afx_msg void OnBnClickedserverwechsel() {SetModified();} // Auto Serverwechsel 150 MIN
So nun in eurer *.cpp Pref Datei z.B bei mir PPG.cpp das suchen:
BEGIN_MESSAGE_MAP(CPPg, CPropertyPage)
drunter:
ON_BN_CLICKED(IDC_Isserverwechsel,OnBnClickedserverwechsel) // Auto Serverwechsel 150 MIN
suchen:
void CPPgek::LoadSettings(void)
{
if(m_hWnd)
{
CString strBuffer;
drunter:
// Auto Serverwechsel 150 MIN
if (app_prefs->Isserverwechsel())
CheckDlgButton(IDC_Isserverwechsel,1);
else
CheckDlgButton(IDC_Isserverwechsel,0);
// Auto Serverwechsel 150 MIN END
suchen:
BOOL CPPgek:

nApply()
{
CString sBuffer;
drunter:
// Auto Serverwechsel 150 MIN END
if(IsDlgButtonChecked(IDC_Isserverwechsel))
app_prefs->prefs->m_bserverwechsel = true;
else
app_prefs->prefs->m_bserverwechsel = false;
// Auto Serverwechsel 150 MIN END
In der emule.rc deine Pref Seite suchen und das hier zwischen Beginn und End setzen:
// Auto Serverwechsel 150 MIN
CONTROL "Serverwechsel nach 150 Min",IDC_Isserverwechsel,"Button",
BS_AUTOCHECKBOX | BS_FLAT | WS_TABSTOP,15,40,142,10
// Auto Serverwechsel 150 MIN END