Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < a_samp >
- #include < ZCMD >
- #include < sscanf >
- #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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement