[HELP] Dialog problem in LA:RP GameMode
#1

Hi, I have a problem with a login/register dialog. When I register my account it saves in "script files --> users", but when I go login, it says that I need to register. I allready registered, so I don't know the problem.

Here's the code :
Код:
public OnPlayerRequestClass(playerid, classid)
{
	new string[128];
	PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
	PlayerInfo[playerid][pModel] = Peds[classid][0];

	if (RegistrationStep[playerid] == 0 && gPlayerLogged[playerid] != 1)
	{
		ClearChatbox(playerid, 10);
		format(string, sizeof(string), "Welcome to Los Angeles Roleplay, running %s", SCRIPT_VERSION);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		SendClientMessage(playerid, COLOR_YELLOW2, " ");
		if (gPlayerAccount[playerid] != 0)
		{
      new loginstring[128];
			new loginname[64];
			GetPlayerName(playerid,loginname,sizeof(loginname));
			format(loginstring,sizeof(loginstring),"Welcome, %s\nThat nick is registered.\nYou can now login:",loginname);
			ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login",loginstring,"Login","Exit");
		}
		else
		{
      new regstring[128];
			new regname[64];
			GetPlayerName(playerid,regname,sizeof(regname));
			format(regstring,sizeof(regstring),"Welcome, %s\nYou dont have an account.\nPlease register:",regname);
			ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register",regstring,"Register","Exit");
		}
		PlayerPlaySound(playerid, 1187, 0.0, 0.0, 0.0);
		SetPlayerCameraPos(playerid, 1890.1014,-1194.7969,25.8091);
		SetPlayerCameraLookAt(playerid, 1933.4393,-1196.2479,18.8163);
		PlayerInfo[playerid][pModel] = Peds[classid][0];
		SetPlayerTeamFromClass(playerid,classid);
	}
	else SpawnPlayer(playerid);
	return false;
Reply
#2

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == ReGiStEr)
    {
    if(response ==0)
        {
        Kick(playerid);
        new string[128], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
    format(string,sizeof string,"%s je automatski kickan | Razlog: Nije se htio registrirati",pName);
    SendClientMessageToAll(COLOR_YELLOW,string);
        }
        if(response ==1)
        {
          new file[128];
          new string[128];
          new name[MAX_PLAYER_NAME];
            GetPlayerName(playerid, name, sizeof(name));
            if(strlen(inputtext) == 0)
            {
                format(string, sizeof string, "Dobrodosli na Extreme Fun Server %s\nOvo ime nije registrirano\n\nUpisi svoju zeljenu lozinku:", name);
                ShowPlayerDialog(playerid, ReGiStEr, DIALOG_STYLE_INPUT, "EFS registracija", string, "Registriraj", "Odustani");
                return 0;
            }
            format(file,sizeof(file),"/EFS/%s.ini",name);
            if(!fexist(file))
            {
                dini_Create(file);
                dini_IntSet(file,"Password", inputtext[playerid]);
                dini_IntSet(file, "Admin", IgracInfo[playerid][Admin]);
                dini_IntSet(file,"Bodovi", GetPlayerScore(playerid));
                dini_IntSet(file,"Novci", GetPlayerMoney(playerid));
                dini_IntSet(file,"Umiranja", IgracInfo[playerid][Umiranja]);
              dini_IntSet(file,"Ubojstva", IgracInfo[playerid][Ubojstva]);
              dini_IntSet(file,"Online", IgracInfo[playerid][Online]);
                format(string, sizeof string, "Dobrodosao %s\nTvoj nick je registriran\n\nMolim vas upisite svoju lozinku:", name);
                ShowPlayerDialog(playerid, LoGiN, DIALOG_STYLE_INPUT, "EFS logiranje", string, "Logiraj", "Odustani");
                PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
                GetPlayerName(playerid, name, sizeof(name));
                printf("%s je registrirao svoje ime!", name);
            }
        }
    }
    if(dialogid == LoGiN)
    {
    if(response ==0)
        {
        Kick(playerid);
        }
        if(response ==1)
        {
          new file[128];
          new string[128];
          new PlayerName[24];
            if(strlen(inputtext) == 0)
            {
              GetPlayerName(playerid, PlayerName, sizeof PlayerName);
              format(string, sizeof string, "Dobrodosao %s \nTvoj nick je registriran\n\nPMolim vas upisite svoju lozinku:", PlayerName);
                ShowPlayerDialog(playerid, LoGiN, DIALOG_STYLE_INPUT, "EFS logiranje", string, "Logiraj", "Odustani");
                return 0;
            }
            new name[MAX_PLAYER_NAME];
            GetPlayerName(playerid, name, sizeof(name));
            format(file,sizeof(file),"/EFS/%s.ini",name);
            if(fexist(file))
            {
              //new password = dini_Int(file, "Password");
                if(!strcmp(inputtext, dini_Get(file,"Password")))
        {
                  SendClientMessage(playerid, COLOR_RED, "Wrong password");
                  Kick(playerid);
                    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
                    printf("%s has didnt login", name);
                }
                else
                {
                    JeLogiran[playerid] = 1;
                    ResetPlayerMoney(playerid);
                    SetPlayerScore(playerid, dini_Int(file,"Bodovi"));
                    IgracInfo[playerid][Admin] = dini_IntSet(file, "Admin", 0);
                    GivePlayerMoney(playerid, dini_Int(file,"Novci"));
                    IgracInfo[playerid][Umiranja] = dini_Int(file,"Umiranja");
                    IgracInfo[playerid][Ubojstva] = dini_Int(file,"Ubojstva");
                    IgracInfo[playerid][Online] = dini_Int(file,"Online");
                    Vrijeme = SetTimerEx("OnlineNaServeru", 1000, 1, "i", playerid);
                    SendClientMessage(playerid, COLOR_GREEN, "You are logged");
                    TogglePlayerSpectating(playerid, 0);
                }
            }
        }
    }
    return 0;
}
Good luck DONT PM-ME I WONT REPLY
Reply
#3

Can you fix my dialog, it looks like this :
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	new sendername[MAX_PLAYER_NAME];
	new string[128];
	if(response)
	{
		if(dialogid == 12346 || dialogid == 12347)
		{
		  if(strlen(inputtext))
		  {
				new tmppass[64];
				strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
				//Encrypt(tmppass);
				OnPlayerLogin(playerid,tmppass);
			}
			else
			{
				new loginstring[128];
				new loginname[64];
				GetPlayerName(playerid,loginname,sizeof(loginname));
				format(loginstring,sizeof(loginstring),"WRONG PASSWORD\nPlease enter the correct password:",loginname);
				ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",loginstring,"Login","Exit");
				gPlayerLogTries[playerid] += 1;
				if(gPlayerLogTries[playerid] == 5) { Ban(playerid); }
			}
		}
		if(dialogid == 12345)
		{
		  if(strlen(inputtext))
		  {
				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];
				strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
				//Encrypt(tmppass);
				OnPlayerRegister(playerid,tmppass);
			}
			else
			{
 				new regstring[128];
				new regname[64];
				GetPlayerName(playerid,regname,sizeof(regname));
				format(regstring,sizeof(regstring),"Welcome, %s\nYou dont have an account.\nPlease register:",regname);
				ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register",regstring,"Register","Exit");
			}
		}
	}
	else
	{
		Kick(playerid);
	}
	return 1;
}
Reply
#4

Anyone?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)