- Npr sad kad uradim acc na primer Test_Server lozinka je tripet124 idem relog logujem se izbacuje netacnu lozinku zasto nije mi jasno ?
Deo skripte:
///Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
/////////forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password",PlayerInfo);
INI_Int("Cash",PlayerInfo);
INI_Int("Admin",PlayerInfo);
INI_Int("Kills",PlayerInfo);
INI_Int("Deaths",PlayerInfo);
INI_Int("Skin",PlayerInfo);
INI_Int("Vip",PlayerInfo);
INI_Int("Ban",PlayerInfo);
INI_Int("DMwin",PlayerInfo);
return 1;
}
=============================
stock udb_hash(buf[]) {
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n {
s1 = (s1 + buf) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}
=============================
Public OnPlayer Connect
TogglePlayerSpectating(playerid, true);
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
//=================================================
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
}
=============================
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
INI_WriteInt(File,"Admin",PlayerInfo);
INI_WriteInt(File,"Kills",PlayerInfo);
INI_WriteInt(File,"Deaths",PlayerInfo);
INI_WriteInt(File,"Skin",PlayerInfo);
INI_WriteInt(File,"Vip",PlayerInfo);
INI_WriteInt(File,"Ban",PlayerInfo);
INI_WriteInt(File,"DMwin",PlayerInfo);
INI_Close(File);
}
=============================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_WriteInt(File,"Skin",0);
INI_WriteInt(File,"Vip",0);
INI_WriteInt(File,"Ban",0);
INI_WriteInt(File,"DMWin",0);
INI_Close(File);
SetSpawnInfo(playerid, 0, 0,1728.7982,-1668.4337,22.6094,43.5554, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerArmour(playerid, 999999);
GivePlayerMoney(playerid, 5000000);
SetPlayerScore(playerid, 24);
SetPlayerSkin(playerid, 121);
SetPlayerScore(playerid,3);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,25,500);
GivePlayerWeapon(playerid,31,500);
TogglePlayerSpectating(playerid, false);
//ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
=============================
=============================
stock udb_hash(buf[]) {
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n {
s1 = (s1 + buf) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
} public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_WriteInt(File,"Skin",0);
INI_WriteInt(File,"Vip",0);
INI_WriteInt(File,"Ban",0);
INI_WriteInt(File,"DMWin",0);
INI_Close(File);
SetSpawnInfo(playerid, 0, 0,1728.7982,-1668.4337,22.6094,43.5554, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerArmour(playerid, 999999);
GivePlayerMoney(playerid, 5000000);
SetPlayerScore(playerid, 24);
SetPlayerSkin(playerid, 121);
SetPlayerScore(playerid,3);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,25,500);
GivePlayerWeapon(playerid,31,500);
TogglePlayerSpectating(playerid, false);
//ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");INI_WriteString(File, "Password", strval(inputtext));forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_String("Password", PlayerInfo);
INI_Int("Cash",PlayerInfo);
INI_Int("Admin",PlayerInfo);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.n"COL_WHITE"Type your password below to login.","Login","Quit");if(!response) return Kick(playerid); //Ako klikne na izlaz da ga kicka
if(response)
{
if(udb_hash(inputtext) == PlayerInfo) //Proverava sifru igraca
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); //Ucitava igraca
SpawnPlayer(playerid); //Spawnuje ga
return 1;
}
else //Ako ne pogodi sifru da mu opet izadje dialog za login
{
Dialog_Show(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Login", "Sifra koju ste ukucali nije tacna!\nVas account je pronadjen.Unesite lozinku","Login","Izadji");
}
}
return 1;public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_WriteInt(File,"Skin",0);
INI_WriteInt(File,"Vip",0);
INI_WriteInt(File,"Ban",0);
INI_WriteInt(File,"DMWin",0);
INI_Close(File);
SetSpawnInfo(playerid, 0, 0,1728.7982,-1668.4337,22.6094,43.5554, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerArmour(playerid, 999999);
GivePlayerMoney(playerid, 5000000);
SetPlayerScore(playerid, 24);
SetPlayerSkin(playerid, 121);
SetPlayerScore(playerid,3);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,25,500);
GivePlayerWeapon(playerid,31,500);
TogglePlayerSpectating(playerid, false);
//ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(udb_hash(inputtext) == PlayerInfo)
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid,PlayerInfo);
SetSpawnInfo(playerid, 0, 0,1728.7982,-1668.4337,22.6094,43.5554, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetPlayerSkin(playerid, 121);
SetPlayerScore(playerid,3);
SetPlayerArmour(playerid, 999999);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,25,500);
GivePlayerWeapon(playerid,31,500);
TogglePlayerSpectating(playerid, false);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.n"COL_WHITE"Type your password below to login.","Login","Quit");
}
return 1;
if(dialogid == 1)
{Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava