Spawn Bug
#1

Well guys, I need some help from you all to fix this bug

Well, when I connect to the server, it shows the login DialogBox




After that, when I enter a wrong password, it automatically spawns




It spawns to this specific location because of this code:

(NOTE: This is under OnPlayerSpawn function!)

Код:
if(gPlayerLogged[playerid] == 0)
	{

    	SetPlayerInterior(playerid,0);
		SetPlayerVirtualWorld(playerid, 20);
		SetPlayerPos(playerid, -1979.9329,138.0958,27.6875);
		SetPlayerPos(playerid,-1979.9329,138.0958,27.6875);
		SetPlayerFacingAngle(playerid, 90);
		SetCameraBehindPlayer(playerid);
		
        return 1;
 	}
This is the Login Dialogbox's code

Код:
if(dialogid == 1) //LOGIN
    {
		if(gPlayerLogged[playerid] == 1)
		{
			SendClientMessage(playerid, COLOR_WHITE, "SERVER: You are already logged in.");
			return 1;
		}
		if(response)
		{
		    if(!strlen(inputtext))
		    {
		        DisplayDialogForPlayer(playerid, 1); //login
				SendClientMessage(playerid, COLOR_WHITE, "SERVER: You must enter a password.");
				return 1;
			}
			if(strlen(inputtext) >= 50)
			{
			    DisplayDialogForPlayer(playerid, 1); //login
				SendClientMessage(playerid, COLOR_WHITE, "SERVER: Password is too long.");
				return 0;
			}
	        new tmppass[64];
	        new playername[MAX_PLAYER_NAME];
	        strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
	        GetPlayerName(playerid, playername, sizeof(playername));
			if(strlen(playername) == 3)
			{
			    if(strcmp(playername, "Smo", true) == 0)
			    {
					return 0;
			    }
			    else
			    {
			    	SendClientMessage(playerid, COLOR_LIGHTRED, "Sorry, that name is too short, please change it.");
			    	Kick(playerid);
			    	return 1;
				}
			}
	        Encrypt(tmppass);
	        OnPlayerLogin(playerid,tmppass,inputtext);
		}
        else
        {
            SendClientMessage(playerid, COLOR_RED, "You chose to leave the server.");
	        Kick(playerid);
        }
    }
This is the login attempt code under OnPlayerLogin(playerid) function:

Код:
if(strcmp(PlayerInfo[playerid][pKey],password, true ) != 0)
		{
		    if(LogAttempt[playerid] < 3)
		    {
		        ++LogAttempt[playerid];
			    new relogstring[256];
			    format(relogstring, sizeof(relogstring), "{FF0000}You've entered a wrong password \n{FFFFFF}Please re-enter your password, and make sure that you enter it correct this time. (Case senstive)\n You have %d/3 attempts left.", LogAttempt[playerid]);
			    return ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login", relogstring,"Login","Cancel");
		    }
		    else
		    {
			    new ip[16];
		   		GetPlayerIp(playerid, ip, sizeof(ip));
				new logstring[256];
				new year, month, day;
				getdate(year, month, day);
				SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: Password does not match your name. you have been kicked as a result.");
	    	   	format(logstring, sizeof(logstring), "%s [%d/%d/%d] Name: %s Pass: %s.", ip, day, month, year,PlayerName(playerid),password2);
				BLLog(logstring);
				LogAttempt[playerid] = 0;
				KickNew(playerid);
			}
	        return 1;
		}
Reply


Messages In This Thread
Spawn Bug - by Bani Raheja - 17.06.2013, 17:08
Re: Spawn Bug - by OrMisicL - 17.06.2013, 17:10
Re: Spawn Bug - by Bani Raheja - 17.06.2013, 17:12
Re: Spawn Bug - by Jeffry - 17.06.2013, 17:13
Re: Spawn Bug - by Bani Raheja - 17.06.2013, 17:14
Re: Spawn Bug - by OrMisicL - 17.06.2013, 17:17
Re: Spawn Bug - by Bani Raheja - 17.06.2013, 17:22
Re: Spawn Bug - by OrMisicL - 17.06.2013, 18:31
Re: Spawn Bug - by Bani Raheja - 18.06.2013, 15:52

Forum Jump:


Users browsing this thread: 2 Guest(s)