Автор: Sezam 1.3.2018, 8:04
Наконец то нашел эту функцию от PPK, alex82, которой нету в релизах на сайте PtokaX
Эта функция удаления не регистрированных юзеров с одинаковым IP и НИК
Если юзер повторно подключается с одним ником и IP тоже одинаковый, то предыдущая копия удаляется из хаба.
DcCommands.cpp ValidateDenideArrival - Добавил код ниже
LuaScriptManager.h VALIDATE_DENIDE_ARRIVAL - Добавил
LuaScriptManager.cpp "ValidateDenideArrival" - Добавил
VALIDATE_DENIDE_ARRIVAL
Код
if(Reg == NULL) {
// alex82 ... добавили ValidateDenideArrival
clsScriptManager::mPtr->Arrival(curUser, Nick, szNickLen, clsScriptManager::VALIDATE_DENIDE_ARRIVAL);
int imsgLen = sprintf(msg, "$ValidateDenide %s|", Nick);
if(CheckSprintf(imsgLen, 1024, "clsDcCommands::ValidateUserNick14") == true) {
curUser->SendChar(msg, imsgLen);
}
if(strcmp(OtherUser->sIP, curUser->sIP) != 0 || strcmp(OtherUser->sNick, curUser->sNick) != 0) {
imsgLen = sprintf(msg, "[SYS] Nick taken [%s (%s)] %s (%s) - user closed.", OtherUser->sNick, OtherUser->sIP, curUser->sNick, curUser->sIP);
if(CheckSprintf(imsgLen, 1024, "clsDcCommands::ValidateUserNick15") == true) {
clsUdpDebug::mPtr->Broadcast(msg, imsgLen);
}
}
curUser->Close();
return false;
} else {
// PPK ... addition for registered users, kill your own ghost >:-]
curUser->ui8State = User::STATE_VERSION_OR_MYPASS;
curUser->ui32BoolBits |= User::BIT_WAITING_FOR_PASS;
curUser->AddPrcsdCmd(PrcsdUsrCmd::GETPASS, NULL, 0, NULL);
return true;
}
}
}
}
if(Reg == NULL) {
PtokaX_0.5.0.1_LEDE__DCBEELINEKZ_.rar ( 236.92 килобайт )
: 9