05.12.2009, 23:50
Something's not working in my OnPlayerLogin function, When you join the server you will get a dialog saying to login, When you type it in(Your password, whtever) Nothing happens. Code Below for (OnPlayerLogin):
'
Here is the code on OnDialogResponse
Код:
public OnPlayerLogin(playerid,password[]) { new string2[128]; new name[MAX_PLAYER_NAME], string[48]; GetPlayerName(playerid, name, sizeof(name)); format(string2, sizeof(string2), "South-WestRP/%s.ini", name); new File: UserFile = fopen(string2, io_read); if ( UserFile ) { new PassData[256]; new keytmp[256], valtmp[256]; fread( UserFile , PassData , sizeof( PassData ) ); keytmp = ini_GetKey( PassData ); if( strcmp( keytmp , "Key" , true ) == 0 ) { valtmp = ini_GetValue( PassData ); strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255); } if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 ) { new key[ 256 ] , val[ 256 ]; new Data[ 256 ]; while ( fread( UserFile , Data , sizeof( Data ) ) ) { key = ini_GetKey( Data ); if( strcmp( key , "Age" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAge] = strval( val ); } if( strcmp( key , "Religon" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pReligon] = strval( val ); } } fclose(UserFile); } else { ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Login to your account","Note - A account with this name was found inside the database,\n If this is your account,type in your password\n if not press cancel!","Login","Cancel"); SendClientMessage(playerid, 0xFFFFFFFF, "Password does not match the username!"); LoginTry[playerid] += 1; if(LoginTry[playerid] == MAX_TRY) { SendClientMessage(playerid, COLOR_SYSTEM, "-------------------------------"); SendClientMessage(playerid, COLOR_SYSTEM, " You Were Banned "); SendClientMessage(playerid, COLOR_SYSTEM, "Admin who banned you - SYSTEM"); SendClientMessage(playerid, COLOR_SYSTEM, "Reason - Failure to login to account maximum times"); SendClientMessage(playerid, COLOR_SYSTEM, "Type - Perma. Ban"); SendClientMessage(playerid, COLOR_SYSTEM, " Press F8 to take a picture of this"); SendClientMessage(playerid, COLOR_SYSTEM, "-------------------------------"); BanEx(playerid, "Failure to login 3 times"); } fclose(UserFile); return 1; } } return 1; }
Here is the code on OnDialogResponse
Код:
if(dialogid == 2) { if(!strlen(inputtext)) { SendClientMessage(playerid, 0xFFFFFFFF, "Your Password Cannot be left Blank"); return 1; } if(!response){ SendClientMessage(playerid, 0xFFFFFFFF, "You canceled!"); Kick(playerid); return 0; } OnPlayerLogin(playerid,inputtext); }