#1

i have still problems with login/register system with dialogs ... I know how to made...

but look at login

Код:
if(dialogid == 2) // login dialog
	{
	  if(response == 1) // make sure "login" was pressed
	  {
			PlayerInfo[playerid][pMoney] = dini_Int(str, "Money");
			
			format(str,sizeof(str),"System:Welcome on Roleplay Server %s.~n~Server current version:%d.~n~Total players online:%d",name,SV);
			SendClientMessage(playerid,0xFFFF00AA,str);
			return 1;
		}
 		if(strcmp(dini_Get(str, "pPassword"), tmp, true) == 1)
  	{
			ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Login faild!Enter the correct passowrd!", "Login", "Quit");
			return 1;
		}
		if(response == 0) // if is not pressed "Login"
		{
		  SendClientMessage(playerid,0xFF9900AA,"System:Open a new account!");
			printf("System:Player - %s - was kicked by System,Reson:Quit at registering",name);
			Kick(playerid);
			return 1;
		}
	}
  	return 1;
}
it login me if i write wrong password too ... what is the problem ?
Reply
#2

can i get any help i am sick of this ?
Reply
#3

You're setting the players money the moment the player presses 'login'. Try first checking if the passwords even match, before setting it.

pawn Код:
if(dialogid == 2) // login dialog
{
    if(response == 1) // make sure "login" was pressed
    {
        if(strcmp(dini_Get(str, "pPassword"), tmp, true) == 0) //if passwords match
        {
            PlayerInfo[playerid][pMoney] = dini_Int(str, "Money");
               
            format(str,sizeof(str),"System:Welcome on Roleplay Server %s.~n~Server current version:%d.~n~Total players online:%d",name,SV);
            SendClientMessage(playerid,0xFFFF00AA,str);
            return 1;
        }
        else //if they dont
        {
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Login faild!Enter the correct passowrd!", "Login", "Quit");
            return 1;
        }
    }
   
    if(response == 0) // if is not pressed "Login"
    {
        SendClientMessage(playerid,0xFF9900AA,"System:Open a new account!");
        printf("System:Player - %s - was kicked by System,Reson:Quit at registering",name);
        Kick(playerid);
        return 1;
    }
}
Reply
#4

i knew it won't work i was doing on this for about 3 weeks and won't work

Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>
#include <dini>

#define COLOR_ORANGE 0xFF9900AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_WHITE 0xFFFFFFAA
#define yellow 0xFFFF00AA
#define green 0x33FF33AA
#define red 0xFF0000AA

#define SV 1.0 // Server Version

enum pInfo // Stats
{
	pDoneTut,
	pMoney,
	pPassword
};
new PlayerInfo[MAX_PLAYERS][pInfo];
main()
{
	print("\n----------------------------------");
	print(" Blank Gamemode by your name here");
	print("----------------------------------\n");
}

public OnGameModeInit()
{
	// Don't use these lines if it's a filterscript
	SetGameModeText("Roleplay");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}

public OnPlayerConnect(playerid)
{
	new str[256];
	new file[256];
  new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	format(file,sizeof(file),"Accounts/%s.ini",name);
	if(!fexist(file))
	{
	  format(str,sizeof(str),"Welcome %s on Roleplay Server\nPlease register a new account.",name);
	  ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register", str, "Register", "Quit");
	}
	else
	{
	  format(str,sizeof(str),"Welcome back %s!\nPlease login before playing.",name);
	  ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", str, "Login", "Quit");
	}
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
	{
		// Do something here
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	new file[256];
	new tmp[128];
	new str[256];
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	format(file,sizeof(file),"Accounts/%s.ini",name);
	if(dialogid == 1) // register dialog
	{
	  if(response == 1) // make sure "Register" was pressed
	  {
      dini_Create(file);
      dini_IntSet(file,"pDoneTut", 0);
      dini_IntSet(file,"pMoney", 20000);
      dini_Set(file,"pPassword",inputtext);
      printf("Player - %s - sussesfuly registered a new account!",name);
      
      format(str,sizeof(str),"Welcome %s!\nPlease login before playing.",name);
	  	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", str, "Login", "Quit");
		}
		if(response == 0) // if is not pressed "Register"
		{
			SendClientMessage(playerid,0xFF9900AA,"[System]:Open a new account!");
			printf("[System]:Player - %s - was kicked by System,Reson:Quit at registering",name);
			Kick(playerid);
			return 1;
		}
	}
	if(dialogid == 2) // login dialog
	{
		if(response == 1) // make sure "login" was pressed
		{
			if(strcmp(dini_Get(str, "pPassword"), tmp, true) == 0) //if passwords match
			{
				PlayerInfo[playerid][pMoney] = dini_Int(str, "Money");

				format(str,sizeof(str),"System:Welcome on Roleplay Server %s.~n~Server current version:%d.~n~Total players online:%d",name,SV);
				SendClientMessage(playerid,0xFFFF00AA,str);
				return 1;
			}
			else //if they dont
			{
				ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Login faild!Enter the correct passowrd!", "Login", "Quit");
				return 1;
			}
		}
		if(response == 0) // if is not pressed "Login"
		{
			SendClientMessage(playerid,0xFF9900AA,"System:Open a new account!");
			printf("System:Player - %s - was kicked by System,Reson:Quit at registering",name);
			Kick(playerid);
			return 1;
		}
	}
	return 1;
}


public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

//------------------------------------------------------------------------------
//----------------------TUTORIAL------------------------------------------------
here is teh full come its just start but its impossible to do /login /register with dialogs ...
Reply
#5

anyone please ?
Reply
#6

Replace tmp with inputtext.

Also str with file.

pawn Код:
if(dialogid == 2) // login dialog
{
    if(response == 1) // make sure "login" was pressed
    {
        if(strcmp(dini_Get(file, "pPassword"), inputtext, true) == 0) //if passwords match
        {
            PlayerInfo[playerid][pMoney] = dini_Int(file, "Money");
               
            format(str,sizeof(str),"System:Welcome on Roleplay Server %s.~n~Server current version:%d.~n~Total players online:%d",name,SV);
            SendClientMessage(playerid,0xFFFF00AA,str);
            return 1;
        }
        else //if they dont
        {
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Login faild!Enter the correct passowrd!", "Login", "Quit");
            return 1;
        }
    }
Reply
#7

thank you so much i love you :P
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)