mirror of https://github.com/OpenTTD/OpenTTD
(svn r21855) -Feature [FS#4368]: [Network] Console command to change the password of other companies for servers (dihedral)
parent
795a528328
commit
3f9fa65a42
|
@ -1518,19 +1518,43 @@ DEF_CONSOLE_CMD(ConSayClient)
|
||||||
DEF_CONSOLE_CMD(ConCompanyPassword)
|
DEF_CONSOLE_CMD(ConCompanyPassword)
|
||||||
{
|
{
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
IConsoleHelp("Change the password of your company. Usage: 'company_pw \"<password>\"'");
|
const char *helpmsg;
|
||||||
|
|
||||||
|
if (_network_dedicated) {
|
||||||
|
helpmsg = "Change the password of a company. Usage: 'company_pw <company-no> \"<password>\"";
|
||||||
|
} else if (_network_server) {
|
||||||
|
helpmsg = "Change the password of your or any other company. Usage: 'company_pw [<company-no>] \"<password>\"'";
|
||||||
|
} else {
|
||||||
|
helpmsg = "Change the password of your company. Usage: 'company_pw \"<password>\"'";
|
||||||
|
}
|
||||||
|
|
||||||
|
IConsoleHelp(helpmsg);
|
||||||
IConsoleHelp("Use \"*\" to disable the password.");
|
IConsoleHelp("Use \"*\" to disable the password.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (argc != 2) return false;
|
CompanyID company_id;
|
||||||
|
const char *password;
|
||||||
|
const char *errormsg;
|
||||||
|
|
||||||
if (!Company::IsValidID(_local_company)) {
|
if (argc == 2) {
|
||||||
IConsoleError("You have to own a company to make use of this command.");
|
company_id = _local_company;
|
||||||
|
password = argv[1];
|
||||||
|
errormsg = "You have to own a company to make use of this command.";
|
||||||
|
} else if (argc == 3 && _network_server) {
|
||||||
|
company_id = (CompanyID)(atoi(argv[1]) - 1);
|
||||||
|
password = argv[2];
|
||||||
|
errormsg = "You have to specify the ID of a valid human controlled company.";
|
||||||
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *password = NetworkChangeCompanyPassword(_local_company, argv[1], false);
|
if (!Company::IsValidHumanID(company_id)) {
|
||||||
|
IConsoleError(errormsg);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
password = NetworkChangeCompanyPassword(company_id, password, false);
|
||||||
|
|
||||||
if (StrEmpty(password)) {
|
if (StrEmpty(password)) {
|
||||||
IConsolePrintF(CC_WARNING, "Company password cleared");
|
IConsolePrintF(CC_WARNING, "Company password cleared");
|
||||||
|
|
Loading…
Reference in New Issue