Quote (Skiner)
Мля.... телепаты в отпуске(с) =) че ты вставляешь то дай
я вставляю с Freeroam
}
if(strcmp(cmd, "/register", true) == 0) {
tmp = dini_Get(FILE_SETTINGS, "register");
if (strval(tmp) == 0) {
SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
return 1;
}
tmp = dini_Get(FILE_SETTINGS, "maxusers");
tmp2 = dini_Get(FILE_TOTALSTAT, "users");
if (strval(tmp2) >= strval(tmp)) {
SendClientMessage(playerid, COLOR_RED, "* User limit reached! You cannot register.");
return 1;
}
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, playername, sizeof(playername));
if(20 < strlen(tmp) || strlen(tmp) < 5) {
SendClientMessage(playerid, COLOR_YELLOW, "* Password length must be 5-20 symbols.");
return 1;
}
if(!strlen(tmp))
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /register [password]");
else {
if (!dini_Exists(udb_encode(playername))) {
dini_Create(udb_encode(playername));
dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
tmp2 = dini_Get(FILE_SETTINGS, "defaultprotection");
dini_IntSet(udb_encode(playername), "protection", strval(tmp2));
dini_Set(udb_encode(playername), "x", "x");
dini_Set(udb_encode(playername), "y", "y");
dini_Set(udb_encode(playername), "z", "z");
if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
tmp2 = dini_Get(FILE_TOTALSTAT, "users");
dini_IntSet(FILE_TOTALSTAT, "users", strval(tmp2)+1);
format(string, sizeof(string), "--- %s (id: %d) created account. Password: %s.", playername, playerid, tmp);
printf(string);
format(string, sizeof(string), "* Account named %s created! You can login with password %s.", playername, tmp);
SendClientMessage(playerid, COLOR_GREEN, string);
}
else {
format(string, sizeof(string), "* %s already registered.", playername,tmp);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;
}
if(strcmp(cmd, "/setpass", true) == 0) {
tmp = dini_Get(FILE_SETTINGS, "register");
if (strval(tmp) == 0) {
SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
return 1;
}
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, playername, sizeof(playername));
if(20 < strlen(tmp) || strlen(tmp) < 5) {
SendClientMessage(playerid, COLOR_YELLOW, "* Password length must be 5-20 symbols.");
return 1;
}
if(!strlen(tmp))
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setpass [password]");
else {
if (dini_Exists(udb_encode(playername))) {
if (logged[playerid] == 1) {
dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
format(string, sizeof(string), "--- %s (id: %d) changed his pass to %s.", playername, playerid, tmp);
printf(string);
format(string, sizeof(string), "* Password changed to %s, remember it.", tmp);
SendClientMessage(playerid, COLOR_GREEN, string);
}
else SendClientMessage(playerid, COLOR_RED, "* You must be logged in to change your password.");
}
else {
format(string, sizeof(string), "* %s no such account.", playername);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;
}
if(strcmp(cmd, "/login", true) == 0) {
tmp = dini_Get(FILE_SETTINGS, "register");
if (strval(tmp) == 0) {
SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
return 1;
}
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, playername, sizeof(playername));
if(!strlen(tmp))
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /login [password]");
else {
if (dini_Exists(udb_encode(playername))) {
if (logged[playerid] == 1) {
format(string, sizeof(string), "--- %s already logged.", playername);
printf(string);
SendClientMessage(playerid, COLOR_YELLOW, "* You already logged.");
}
else {
tmp2 = dini_Get(udb_encode(playername), "password");
if (udb_hash(tmp) != strval(tmp2)) {
format(string, sizeof(string), "--- %s (id: %d) typed wrong password: %s.", playername, playerid, tmp);
printf(string);
SendClientMessage(playerid, COLOR_RED, "* Wrong password.");
}
else {
logged[playerid] = 1;
format(string, sizeof(string), "--- %s (id: %d) logged in. Password: %s.", playername, playerid, tmp);
printf(string);
SendClientMessage(playerid, COLOR_GREEN, "* You are logged in!");
}
}
}
else {
format(string, sizeof(string), "* %s no such account.", playername);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;