Please help with login and register.
#1

hi im new to pawn and programming.
how do i make my script to write .txt file like this?

password
email

but now i only get .txt file with this info:

password


and no email

this is my code:

Код:
new pname[20], filename[24];
new File:user;

public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, pname, 20);
    format(filename, 24, "users/%s.txt", pname);
    if(!fexist(filename))
    
    {
        ShowPlayerDialog(playerid, 1, 1, "Please register", "Enter password:", "Register", "Exit");
}

    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{


    if(dialogid == 1)
    {
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "You have been disconnected!");
            Kick(playerid);
        }
        user = fopen(filename, io_write);
        fwrite(user, inputtext);
        fclose(user);
        SendClientMessage(playerid, Blue, "Your Message");

        if(response == 1)
		   {

            ShowPlayerDialog(playerid , 2, 1,"Please enter E-Mail", "Enter e-mail:", "Play", "Exit");
            
          }

     if(dialogid == 2)
    {
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "2");
            Kick(playerid);

        }

        user = fopen(filename, io_write);
        fwrite(user, inputtext);
        fclose(user);
        SendClientMessage(playerid, Blue, "2");

        if(response == 1)
		{
            Ban(playerid);

        }

}
}
    return 1;
}
sorry for bad london speak ^^
Reply
#2

I recommend use io_append to this case.
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)
    {
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "You have been disconnected!");
            Kick(playerid);
        }

        if(response == 1)
		{
			ShowPlayerDialog(playerid, 2, 1, "Prasome ivesti E-MAIL adresa", "Iveskite e-mail:", "Zaisti", "Iseiti");
			
			user = fopen(filename, io_write);
			fwrite(user, inputtext);
			fclose(user);
			SendClientMessage(playerid, Blue, "Your Message");
		}
	}
	
     if(dialogid == 2)
	{
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "2");
            Kick(playerid);

        }

        if(response == 1)
		{
            Ban(playerid);
			user = fopen(filename, io_write);
			fwrite(user, inputtext);
			fclose(user);
			SendClientMessage(playerid, Blue, "2");
        }

	}	
    return 1;
}
Reply
#3

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
I recommend use io_append to this case.
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)
    {
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "You have been disconnected!");
            Kick(playerid);
        }

        if(response == 1)
		{
			ShowPlayerDialog(playerid, 2, 1, "Prasome ivesti E-MAIL adresa", "Iveskite e-mail:", "Zaisti", "Iseiti");
			
			user = fopen(filename, io_write);
			fwrite(user, inputtext);
			fclose(user);
			SendClientMessage(playerid, Blue, "Your Message");
		}
	}
	
     if(dialogid == 2)
	{
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "2");
            Kick(playerid);

        }

        if(response == 1)
		{
            Ban(playerid);
			user = fopen(filename, io_write);
			fwrite(user, inputtext);
			fclose(user);
			SendClientMessage(playerid, Blue, "2");
        }

	}	
    return 1;
}
after i enter first dialog it saves it but after i write text in second dialog .txt file shows only second dialog input. is there any way to show both? password and email in different lines?
Reply
#4

up up
Reply
#5

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)
    {
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "You have been disconnected!");
            Kick(playerid);
        }

        if(response == 1)
		{
			ShowPlayerDialog(playerid, 2, 1, "Prasome ivesti E-MAIL adresa", "Iveskite e-mail:", "Zaisti", "Iseiti");
			
			user = fopen(filename, io_append);
			new String[129];
			format(String, sizeof String, "%s\r\n", inputtext);
			fwrite(user, String);
			fclose(user);
			SendClientMessage(playerid, Blue, "Your Message");
		}
	}
	
     if(dialogid == 2)
	{
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "2");
            Kick(playerid);

        }

        if(response == 1)
		{
            Ban(playerid);
			user = fopen(filename, io_append);
			new String[129];
			format(String, sizeof String, "%s\r\n", inputtext);
			fwrite(user, String);
			fclose(user);
			SendClientMessage(playerid, Blue, "2");
        }

	}	
    return 1;
}
Reply
#6

I recommend you use a well-established and proven system instead. Writing your own system having little experience is a bad idea, especially from a security standpoint. Never store passwords in plain text.
Reply
#7

Vince, i know i just wan to learn the basics

Thanks F1N4L it works! a̶n̶y̶ ̶w̶a̶y̶ ̶t̶o̶ ̶m̶a̶k̶e̶ ̶.̶t̶x̶t̶ ̶f̶i̶l̶e̶ ̶l̶o̶o̶k̶s̶ ̶s̶o̶m̶e̶t̶h̶i̶n̶g̶ ̶l̶i̶k̶e̶ ̶t̶h̶i̶s̶:̶ ̶ ̶p̶a̶s̶s̶w̶o̶r̶d̶:̶ ̶p̶a̶s̶s̶w̶o̶r̶d̶ ̶T̶h̶a̶t̶ ̶u̶s̶e̶r̶ ̶e̶n̶t̶e̶r̶e̶d̶ ̶e̶m̶a̶i̶l̶:̶ ̶e̶m̶a̶i̶l̶ ̶T̶H̶A̶T̶ ̶u̶s̶e̶r̶ ̶e̶n̶t̶e̶r̶e̶d̶
made it myself
Reply
#8

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)
    {
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "You have been disconnected!");
            Kick(playerid);
        }

        if(response == 1)
		{
			ShowPlayerDialog(playerid, 2, 1, "Prasome ivesti E-MAIL adresa", "Iveskite e-mail:", "Zaisti", "Iseiti");
			
			user = fopen(filename, io_append);
			new String[129];
			format(String, sizeof String, "Email: %s\r\n", inputtext);
			fwrite(user, String);
			fclose(user);
			SendClientMessage(playerid, Blue, "Your Message");
		}
	}
	
     if(dialogid == 2)
	{
        if(response == 0)
        {
            SendClientMessage(playerid, Blue, "2");
            Kick(playerid);

        }

        if(response == 1)
		{
            Ban(playerid);
			user = fopen(filename, io_append);
			new String[129];
			format(String, sizeof String, "Password: %s\r\n", inputtext);
			fwrite(user, String);
			fclose(user);
			SendClientMessage(playerid, Blue, "2");
        }

	}	
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)