I'm working on a registration system, but for some reason the filterscript isnt working, two parts in particular (OnPlayerConnect and OnPlayerCommandText).
Код:
public OnPlayerConnect(playerid)
{
new pName[24];
GetPlayerName(playerid, pName, 24);
new File:reg=fopen("reg.txt", io_read);
new string[256];
while (fread(reg, string))
{
if (strcmp(string, pName, true, 24) ==0)
{
return SendClientMessage(playerid, 0x080808AA, "That name is registered, please login.");
}
else return SendClientMessage(playerid, 0x080808AA, "You must register to play on this server. To register, type /register <password>");
}
return 1;
}
That doesn't work at all on startup. Also the
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/register", cmdtext, true, 256) == 0)
{
new pNameReg[24];
new string[256];
new File: reg=fopen("reg.txt", io_read);
GetPlayerName(playerid, pNameReg, 24);
while (fread(reg, string))
{
if (strcmp(string, pNameReg, true, 24)==0)
return SendClientMessage(playerid, 0x080808AA, "That name is already registered, please pick a new name.");
else if (strcmp(!string, pNameReg, true, 24)==0)
{
SendClientMessage(playerid, 0x080808AA, "You are now registered with the server. Type /login <password> to log in");
fclose(reg);
reg=fopen("reg.txt", io_append);
format(string, 256, "%s\r\n", pNameReg, cmdtext);
fwrite(reg, pNameReg);
fclose(reg);
return 1;
}
return 1;
}
}
if (strcmp("/login", cmdtext, true, 256) == 0)
{
new pName[24];
new string[256];
new File: pw = fopen("reg.txt", io_read);
GetPlayerName(playerid, pName, 24);
while (fread(pw, string))
{
if (!strcmp(pName, cmdtext, true, 256))
{
return SendClientMessage(playerid, 0x080808AA, "Your character does not exsist, please type /register <password> to register");
}
else if (strcmp(pName, cmdtext, true, 256))
{
SendClientMessage(playerid, 0x080808AA, "You have successfully logged in");
return 1;
}
}
}
return 0;
}