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; }
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); } }
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; }
you have to show us the code under 'OnDialogResponse' callback, otherwise we'll not be able to know what the problem is
|
You might share your code with us, so we can actually help you. Just a tip.
(OnDialogResponse is what we need.) |
the code above spawns the player when he fails to login, just change '== 0' to '== 1', that Will spawn him only after login
|
if(gPlayerLogged[playerid] == 1)
{
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;
}