REGISTER











[FS]Account Sistem
#1
Acccount System



Informatii :Acest filterscript a fost creat cu ajutorul lui Y_Less care a facut y_ini,Roach pt. YDB si a lui Zex pt. Zcmd ! Cu acest script , banii si scorul jucatorilor se vor salva !

Last Release: Account System v.1.0
Curent Release: Account System v. 1.1(switch to Zcmd & Y_INI )
[

Code:
/*-------------------------------
   Y_Less - y_ini
---------------------------------
   JoKeR - Script
---------------------------------
   www.sa-mp.ro - Tutorials
   www.sa-mp.com- Tutorials
--------------------------------*/

#include    
#include    < zcmd >
#include    < YDB  >
#include < YSI\y_ini >

#define DIRECTORY       "Accounts/%s.ini"
//Colors//
#define COLOR_SYSTEM    (0xEFEFF7AA)
#define green          (0x33FF33AA)
#define blue          (0x00FFFFAA)

forward Pass( playerid, name[ ], value[ ] );
forward LoadpUser( playerid, name[ ], value[ ] );

public OnFilterScriptInit( )
{
   print( "\n--------------------------------------" );
   print( "Account System                          " );
   print( "--------------------------------------\n" );
   return ( 1 );
}

public OnPlayerRequestSpawn( playerid )
{
   if( INI_Exist ( pName( playerid ) ) )
   {
      if( GetPVarInt( playerid, "pLog" ) == 0 )
      {
         SendClientMessage( playerid, green, "You have already registered, use /login to log into your account. ");
         return ( 0 );
      }
   }
   return ( 1 );
}

public OnPlayerDisconnect( playerid )
{
   if( GetPVarInt( playerid, "pLog" ) == 1 )
   {
       new file[ 256 ]; format( file, sizeof file, DIRECTORY, pName( playerid ) );
       new INI:PlayerAcc = INI_Open( file );
      INI_WriteInt( PlayerAcc, "Money", GetPlayerMoney( playerid ) );
      INI_WriteInt( PlayerAcc, "Score", GetPlayerScore( playerid ) );
      INI_Close( PlayerAcc );
      SetPVarInt( playerid, "pLog", 0 );
   }
   return ( 1 );
}

public OnPlayerConnect( playerid )
{
   if( GetPVarInt( playerid, "pLog" ) == 0 )
   {
      if( INI_Exist ( pName( playerid ) ) )
      {
         SystemMsg( playerid, "You have already registered, please /login [password] to login." );
      }
      else SystemMsg( playerid, "You do not have an account, use /register [password] to register then /login [password] to login." );
   }
   return ( 1 );
}

stock SystemMsg( playerid, msg[ ] )
{
   if( ( IsPlayerConnected ( playerid ) ) && ( strlen ( msg ) > 0 ) ) SendClientMessage( playerid, COLOR_SYSTEM, msg );
   return ( 1 );
}

stock pName( playerid )
{
   new name[ MAX_PLAYER_NAME ];
   GetPlayerName( playerid, name, sizeof name );
   return name;
}

CMD:register( playerid, params[ ] )
{
    new file[ 256 ]; format( file, sizeof file, DIRECTORY, pName( playerid ) );
    new INI:PlayerAcc = INI_Open( file );
   if( GetPVarInt( playerid, "pLog" ) == 1 ) return SystemMsg( playerid, "You have already had an account." );
   if( INI_Exist( pName( playerid ) ) ) return SystemMsg( playerid, "You have already created an account, /login [password] to login." );
   if( strlen ( params ) == 0 ) return SystemMsg( playerid, "Usage: /register [password]" );
    SystemMsg( playerid, "You have successfully created your account, now use /login [password] to login." );
    INI_WriteString( PlayerAcc, "Name", pName( playerid ) );
    INI_WriteString( PlayerAcc, "Password", params );
    INI_WriteInt( PlayerAcc, "Money", 0 );
    INI_WriteInt( PlayerAcc, "Score", 0 );
    INI_Close( PlayerAcc );
   return ( 1 );
}

CMD:login( playerid, params[ ] )
{
    new file[ 256 ], Passw[ 500 ]; format( file, sizeof file, DIRECTORY, pName( playerid ) );
    INI_ParseFile(file, "Pass", false, true, playerid);
    GetPVarString( playerid, "pPass", Passw, sizeof Passw );
   if( GetPVarInt( playerid, "pLog" ) == 1 ) return SystemMsg( playerid, "You have already logined." );
   if( !INI_Exist ( pName( playerid ) ) ) return SystemMsg( playerid, "You do not have an account, please /register [password]" );
   if( isnull ( params ) ) return SystemMsg( playerid, "Usage: /login [password]" );
   if( strcmp ( Passw, params, false ) == 0 )
   {
      SetPlayerScore( playerid, GetPVarInt( playerid, "pScore" ) );
      ResetPlayerMoney( playerid );
      GivePlayerMoney( playerid, GetPVarInt( playerid, "pCash" ) );
      SetPVarInt( playerid, "pLog", 1 );
      SystemMsg( playerid, "You have successfully logined." );
   }else SystemMsg( playerid, "Wrong password or nickname!" );
   return ( 1 );
}

public Pass( playerid, name[ ], value[ ] )
{
   if( !strcmp ( name, "Password" ) )
   {
      SetPVarString( playerid, "pPass", value );
   }
}

public LoadpUser( playerid, name[ ], value[ ] )
{
   if( !strcmp ( name, "Money" ) )
   {
      SetPVarInt( playerid, "pCash", strval( value ) );
   }
   if( !strcmp ( name, "Score" ) )
   {
      SetPVarInt( playerid, "pScore", strval( value ) );
   }
}
/*-----------------------------------------
   Thanks for use my Register & Login Script
  ------------------------------------------*/




Amx.+Pwn./ScriptFiles/Include : Download
Daca aveti probleme cu bug-urile lasa-ti un reply !

Pentru a se salva banii si scorul creati un folder in scriptfiles (pentru cei care nu stiu )
#2
Multumim ca ai postat acest FS .
Ii ajuta pe cei incepatori .
#3
T.C pentru evitarea spamului . Multumim !



Powered by MyBB All rights reserved
Developed with for FASTCS 2011 - 2024 FASTCS