- 0
Problema la mod de login 0.3c
-
Similar Content
-
Recently Browsing 0 members
- No registered users viewing this page.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.
Question
damarius
Am o poblema la un mod de login am incercat sa fac acest fs
#include < a_samp > #include < ZCMD > #include <YSI/y_ini> #define COL_RED \ "{F81414}" #define COL_LIGHTBLUE \ "{00C0FF}" #define COL_LRED \ "{FFA1A1}" #define COL_GREEN \ "{6EF83C}" #define DIALOG_REG \ 1995 #define DIALOG_REG_REQ \ 1996 #define DIALOG_LOGIN \ 1997 #define DIALOG_LOGIN2 \ 1998 #define DIALOG_LOG_DONE \ 1999 #define DIALOG_LOG \ 2000 public OnFilterScriptInit( ) return 1; public OnFilterScriptExit( ) return 1; forward Parola( playerid, name[ ], value[ ] ); public Parola( playerid, name[ ], value[ ] ) { if ( !strcmp( name, "PAROLA" ) ) { SetPVarString( playerid, "pPass", value ); } } forward LoadUser( playerid, name[ ], value[ ] ); public LoadUser( playerid, name[ ], value[ ] ) { if ( !strcmp(name, "DATA INREGISTRARII" ) )SetPVarString( playerid, "Data", value ); if ( !strcmp(name, "BANI" ) )SetPVarInt( playerid, "Moneys", strval( value ) ); if ( !strcmp(name, "SCOR" ) )SetPVarInt( playerid, "Score", strval( value ) ); } CMD:register( playerid, params[ ] ) { #pragma unused params if ( GetPVarInt( playerid, "Logged" ) == 1 ) return SendClientMessage( playerid, -1, ""COL_RED"ERROR:{FFFFFF} Deja esti inregistrat si logat."); ShowPlayerDialog( playerid, DIALOG_REG, DIALOG_STYLE_INPUT, "{FFFFFF}Parola", "{FFFFFF}Te rog scrie parola dorita.", ">>>", "Exit"); return 1; } CMD:login( playerid, params[ ] ) { #pragma unused params if ( GetPVarInt( playerid, "Logged" ) == 1 ) return SendClientMessage( playerid, -1, ""COL_RED"ERROR:{FFFFFF} Deja esti inregistrat si logat."); ShowPlayerDialog( playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, "{FFFFFF}Parola", "{FFFFFF}Te rog scrie parola ta.", "Login", "Exit"); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch( dialogid ) { case DIALOG_REG: { if ( response ) { if ( sscanf( inputtext, "s", inputtext[ 0 ] || strlen( inputtext[ 0 ] ) == 0 ) ) return ShowPlayerDialog( playerid, DIALOG_REG, DIALOG_STYLE_INPUT, "{FFFFFF}Parola", ""COL_RED"Eroare!\n\ {FFFFFF}Te rog scrie parola dorita.\n", ">>>", "Exit"); if ( strlen( inputtext[ 0 ] ) < 3 || strlen( inputtext[ 0 ] ) > 20 ) return ShowPlayerDialog( playerid, DIALOG_REG, DIALOG_STYLE_INPUT, "{FFFFFF}Parola", ""COL_RED"Eroare!\n\ {FFFFFF}Te rog scrie parola dorita.\n\ "COL_RED"#{FFFFFF}Minim 3 caractere si maxim 20.", ">>>", "Exit"); new PlayerFile[ 13 + MAX_PLAYER_NAME ], pDate[ 8 + 15 ], //HH:MM:SS + DD.MM.YYYY = 18 pYear, pMonth, pDay, pHour, pMinute, pSecond, pIP[ 20 ], InfBox[ 512 ] ; getdate(pYear, pMonth, pDay ),gettime(pHour, pMinute, pSecond ); GetPlayerIp( playerid, pIP, 20 ); format( PlayerFile , sizeof PlayerFile, "Accounts/%s.ini", Encode( pName( playerid ) ) ); format( pDate, sizeof pDate, "%d:%d:%d %d/%d/%d",pHour, pMinute, pSecond , pDay, pMonth, pYear ); format( InfBox, sizeof InfBox, "{FFFFFF}Te-ai inregistrat cu succes!\n\n\ "COL_LIGHTBLUE"Cont: {FFFFFF}%s\n\ "COL_LIGHTBLUE"Parola: {FFFFFF}%s\n\n\ Ai primit "COL_GREEN"$5000{FFFFFF}.\n\ Doresti sa te loghezi?", pName( playerid ), inputtext ); ShowPlayerDialog( playerid, DIALOG_LOG, DIALOG_STYLE_MSGBOX, "Login", InfBox, "Da", "Nu" ); new INI:PlayerAcc = INI_Open( PlayerFile ); INI_WriteString( PlayerAcc, "NUME", pName( playerid ) ); INI_WriteString( PlayerAcc, "PAROLA", inputtext ); INI_WriteString( PlayerAcc, "DATA INREGISTRARII", pDate ); INI_WriteInt( PlayerAcc, "BANI", 5000 ); INI_WriteInt( PlayerAcc, "SCOR", 15 ); INI_Close( PlayerAcc ); SetPVarString( playerid, "Data", pDate ); SetPVarInt( playerid, "Logged", 1 ); GivePlayerMoney( playerid, 5000 ); SetPlayerScore( playerid, GetPlayerScore( playerid ) + 15 ); } } case DIALOG_REG_REQ: { if ( response ) cmd_register( playerid, ""); if ( !response ) return 0; } case DIALOG_LOGIN: ShowPlayerDialog( playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, "{FFFFFF}Parola", "{FFFFFF}Te rog scrie parola ta.", "Login", "Exit"); case DIALOG_LOG: { if ( response ) ShowPlayerDialog( playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, "{FFFFFF}Parola", "{FFFFFF}Te rog scrie parola ta.","Login","Exit"); } case DIALOG_LOGIN2: { if ( !response ) return Kick( playerid ); if ( response ) { if ( strlen( inputtext ) == 0 ) return ShowPlayerDialog( playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, "{FFFFFF}Parola", ""COL_RED"Eroare!\n\ {FFFFFF}Te rog scrie parola ta.", "Login", "Kick"); new PlayerFile[ 13 + MAX_PLAYER_NAME ], Password[ 20 + 1 ] ; format( PlayerFile , sizeof PlayerFile, "Accounts/%s.ini", Encode( pName( playerid ) ) ); INI_ParseFile( PlayerFile, "Parola", false, true, playerid ); GetPVarString( playerid, "pPass", Password, sizeof Password ); if ( !strcmp ( inputtext, Password, false ) ) { new sTitle[ 21 + MAX_PLAYER_NAME + 25 ], sBoxInfo[ 512 ], Pdata[ 8 + 15 ] ; SetPVarInt( playerid, "Logged", 1 ); format( PlayerFile , sizeof PlayerFile, "Accounts/%s.ini", Encode( pName( playerid ) ) ); INI_ParseFile( PlayerFile, "LoadUser", false, true, playerid, true, false ); GetPVarString( playerid, "Data", Pdata, 8 + 10 ); GivePlayerMoney( playerid,GetPVarInt( playerid, "Moneys" ) ); SetPlayerScore( playerid, GetPVarInt( playerid, "Score" ) ); format( sTitle, sizeof sTitle, "{FFFFFF}Bine ai revenit, "COL_LIGHTBLUE"%s{FFFFFF}!", pName( playerid ) ); format( sBoxInfo, sizeof sBoxInfo, "{FFFFFF}Acestea sunt statisticile tale:\n\n\ {FFFFFF}Bani: "COL_LIGHTBLUE"%d\n\ {FFFFFF}Scor: "COL_LIGHTBLUE"%d\n\ {FFFFFF}Inregistrat: "COL_LIGHTBLUE"%s", GetPVarInt( playerid, "Moneys" ), GetPVarInt( playerid, "Score" ), Pdata ); ShowPlayerDialog(playerid, DIALOG_LOG_DONE, DIALOG_STYLE_MSGBOX, sTitle, sBoxInfo, "Ok", ""); } else ShowPlayerDialog(playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, ""COL_RED"Parola Gresita", "Te rog scrie parola corecta", "Login", "Exit"); } } } return 1; } public OnPlayerConnect(playerid) { SetPVarInt( playerid, "Logged", 0 ); SetPVarInt( playerid, "Moneys", 0 ); SetPVarInt( playerid, "Score", 0 ); if ( !INI_Exist( pName( playerid ) ) ) ShowPlayerDialog( playerid, DIALOG_REG_REQ, DIALOG_STYLE_MSGBOX, "{FFFFFF}Parola", "{FFFFFF}Pentru a te putea juca trebuie sa te inregistrezi", "Ok", ""); else ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_MSGBOX, "{FFFFFF}Parola", "{FFFFFF}Numele tau este inregistrat, doresti sa te loghezi?", "Da", "Nu"); return 1; } public OnPlayerDisconnect(playerid, reason) { SetPVarInt( playerid, "Logged", 0 ); return 1;} stock INI_Exist(nickname[]) { new tmp[255]; format(tmp,sizeof(tmp),"Accounts/%s.ini",Encode( nickname ) ); return fexist(tmp); } stock pName( playerid ) { new Name[ MAX_PLAYER_NAME ]; GetPlayerName( playerid, Name, sizeof( Name ) ); return Name; } //DracoBlue stock Encode(nickname[]) { new tmp[255]; set(tmp,nickname); tmp=strreplace("_","_00",tmp); tmp=strreplace(";","_01",tmp); tmp=strreplace("!","_02",tmp); tmp=strreplace("/","_03",tmp); tmp=strreplace("\\","_04",tmp); tmp=strreplace("[","_05",tmp); tmp=strreplace("]","_06",tmp); tmp=strreplace("?","_07",tmp); tmp=strreplace(".","_08",tmp); tmp=strreplace("*","_09",tmp); tmp=strreplace("<","_10",tmp); tmp=strreplace(">","_11",tmp); tmp=strreplace("{","_12",tmp); tmp=strreplace("}","_13",tmp); tmp=strreplace(" ","_14",tmp); tmp=strreplace("\"","_15",tmp); tmp=strreplace(":","_16",tmp); tmp=strreplace("|","_17",tmp); tmp=strreplace("=","_18",tmp); return tmp; } stock set(dest[],source[]) { new count = strlen(source); new i=0; for (i=0;i<count;i++) { dest[i]=source[i]; } dest[count]=0; } stock strreplace(trg[],newstr[],src[]) { new f=0; new s1[255]; new tmp[255]; format(s1,sizeof(s1),"%s",src); f = strfind(s1,trg); tmp[0]=0; while (f>=0) { strcat(tmp,ret_memcpy(s1, 0, f)); strcat(tmp,newstr); format(s1,sizeof(s1),"%s",ret_memcpy(s1, f+strlen(trg), strlen(s1)-f)); f = strfind(s1,trg); } strcat(tmp,s1); return tmp; } ret_memcpy(source[],index=0,numbytes) { new tmp[255]; new i=0; tmp[0]=0; if (index>=strlen(source)) return tmp; if (numbytes+index>=strlen(source)) numbytes=strlen(source)-index; if (numbytes<=0) return tmp; for (i=index;i<numbytes+index;i++) { tmp[i-index]=source[i]; if (source[i]==0) return tmp; } tmp[numbytes]=0; return tmp; }Dar imi da o eroare la fs uitati eroarea aiciSper sa ma puteti ajuta va rog frumos.
6 answers to this question
Recommended Posts