if (strcmp("/login", cmd, true) == 0)
{
if(RestartTimer != DONT_RESTART)
{
format(string, sizeof(string), "The Server will be restarting, untill then login has been disabled.");
SendClientMessage(playerid, COLOR_LIGHTRED, string);
return 1;
}
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: You are already logged in.");
return 1;
}
if(strcount(cmdtext, ' ') != 2)
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /login [password]");
return 1;
}
if(PlayerInfo[playerid][pSQLId] == INVALID_SQL_ID)
{
SendClientMessage(playerid, COLOR_YELLOW, "You dont have an account. Please register by using /register [password]");
return 1;
}
new inputhash[50];
new checkhash[33];
new cmdstring[64];
new rawcheckhash[99];
inputhash = MD5_Hash(strtok(cmdtext, idx));
strmid(checkhash,PlayerInfo[playerid][pPassword],0,strlen(PlayerInfo[playerid][pPassword]),sizeof(checkhash));
strmid(rawcheckhash,PlayerInfo[playerid][pPassword],0,strlen(PlayerInfo[playerid][pPassword]),sizeof(checkhash));
//printf("RAW CHECK HASH: %s",rawcheckhash);
//printf("CHECK HASH: %s",checkhash);
//printf("INPUT HASH: %s",inputhash);
if (strfind(checkhash, inputhash, true) != -1)
{
gPlayerLogged[playerid] = 1;
//printf("%s has entered his password",PlayerInfo[playerid][pName]);
SendClientMessage(playerid, COLOR_WHITE,"Please hold while we log you in...");
format (cmdstring, sizeof(cmdstring), "/xlogin %s", checkhash);
CallRemoteFunction("OnPlayerCommandText", "is", playerid, cmdstring);
// new timer for login -> spawn
SetTimerEx("SpawnPlayerEx",5000,0,"i",playerid);
}
else
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Password does not match your name.");
}
return 1;
}
format (cmdstring, sizeof(cmdstring), "/xlogin %s", checkhash);
CallRemoteFunction("OnPlayerCommandText", "is", playerid, cmdstring);
if (strcmp(cmd, "/login", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
new tmppass[64];
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: You are already logged in.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /login [password]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
return 1;
}
if (strcmp(cmd, "/register", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: You are already logged in.");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "That Username is already taken, please choose a different one.");
fclose(hFile);
return 1;
}
new tmppass[64];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /register [password]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
return 1;
}


|
Originally Posted by tomnidi
Dude its not an error or somethin like that, It just I need a help to make an auto /xregister [same Pass] when I type only /register [pass]
Please help! ![]() |