Junior Member
Join Date: Oct 2019
Location: Macedonia, Bogdanci
|
11-09-2019
, 06:33
Re: ZP VIP System
|
#7
|
Quote:
Originally Posted by edon1337
Yes, I'm blind, you're right.
Ur plugin:
PHP Code:
enum _:PlayerData { Player_ID[ MAX_NAME_LENGTH ], Player_Password[ MAX_PASSWORD_LENGTH ], Player_AccessFlags[ MAX_FLAGS_LENGTH ], Player_ExpireDate[ MAX_DATE_LENGTH ], Player_ModelCT[ MAX_NAME_LENGTH ], Player_ModelT[ MAX_NAME_LENGTH ], bool:Player_Expired, bool:Player_Suspended }
EAS:
PHP Code:
enum _:PlayerData { Player_ID[ MAX_NAME_LENGTH ], Player_Password[ MAX_PASSWORD_LENGTH ], Player_AccessFlags[ MAX_FLAGS_LENGTH ], Player_Prefix[ 32 ], Player_Model_T[ 64 ], Player_Model_CT[ 64 ], Player_Expire_Date[ MAX_DATE_LENGTH ], Player_FlagsExpire[ MAX_FLAGS_LENGTH ], Player_Immunity, bool:Player_Suspended, bool:Player_Expired, bool:Player_KeepPrivileges }
ur plugin:
PHP Code:
public plugin_precache(){
g_playerData = ArrayCreate(PlayerData); ReloadFile(); new iPlayer[PlayerData]; for(new i; i < ArraySize(g_playerData); i++ { ArrayGetArray(g_playerData,i,iPlayer) new szModel[64] if(iPlayer[Player_ModelCT][0] { formatex(szModel,charsmax(szModel),"models/player/%s/%s.mdl",iPlayer[Player_ModelCT],iPlayer[Player_ModelCT]) precache_model(szModel) } if(iPlayer[Player_ModelT][0]) { formatex(szModel,charsmax(szModel),"models/player/%s/%s.mdl",iPlayer[Player_ModelT],iPlayer[Player_ModelT]) precache_model(szModel) } break; } }
EAS (older version):
PHP Code:
public plugin_precache( ) { g_aDatabase = ArrayCreate( PlayerData ); g_aCommands = ArrayCreate( Commands );
ReloadFile( );
new eData[ PlayerData ], szModel[ 64 ]; for( new i; i < ArraySize( g_aDatabase ); i++ ) { ArrayGetArray( g_aDatabase, i, eData ); if( eData[ Player_Model_T ][ 0 ] ) { formatex( szModel, charsmax( szModel ), "models/player/%s/%s.mdl", eData[ Player_Model_T ], eData[ Player_Model_T ] ); precache_model( szModel ); } if( eData[ Player_Model_CT ][ 0 ] ) { formatex( szModel, charsmax( szModel ), "models/player/%s/%s.mdl", eData[ Player_Model_CT ], eData[ Player_Model_CT ] ); precache_model( szModel ); } } }
ur plugin:
PHP Code:
ReloadFile() { ArrayClear(g_playerData) new szFile[64],szPlayersData[512],eData[PlayerData]; formatex(szFile,charsmax(szFile),"%s/vips.ini",g_szConfig) new iFile = fopen(szFile,"rt") if(!iFile) { log_amx("File not found: %s", szFile); } if(iFile) { while(fgets(iFile,szPlayersData,charsmax(szPlayersData))) { trim(szPlayersData) switch(szPlayersData[0]) { case EOS,'#','/','\': { continue; }
default: { parse(szPlayersData,eData[Player_ID],charsmax(eData[Player_ID]),eData[Player_Password],charsmax(eData[Player_Password]),eData[Player_AccessFlags],charsmax(eData[Player_AccessFlags]),eData[Player_ExpireDate],charsmax(eData[Player_ExpireDate]),eData[Player_ModelCT],charsmax(eData[Player_ModelCT]),eData[Player_ModelT],charsmax(eData[Player_ModelT])) if(szPlayersData[0] == ';') { eData[Player_Suspended] = true; replace(eData[Player_ID],charsmax(eData[Player_ID]),";",""); } if(eData[Player_ExpireDate][0]) { if(HasVipExpired(eData[Player_ExpireDate])) { eData[Player_Expired] = true; } } ArrayPushArray(g_playerData,eData) arrayset(eData,0,sizeof(eData)) } } } fclose(iFile); } }
EAS:
PHP Code:
ReloadFile( ) { ArrayClear( g_aDatabase );
new szFormat[ 64 ], szPlayerData[ 512 ], eData[ PlayerData ]; formatex( szFormat, charsmax( szFormat ), "%s/%s", g_szConfigsDir, g_iConfig[ USERS_FILE ] ); new iFile = fopen( szFormat, "rt" ); if( iFile ) { while( fgets( iFile, szPlayerData, charsmax( szPlayerData ) ) ) { trim( szPlayerData ); switch( szPlayerData[ 0 ] ) { case EOS, '#', '/', '\': { continue; } default: { new szImmunity[ 8 ], szKeepPrivileges[ 3 ]; if( parse( szPlayerData, eData[ Player_ID ], charsmax( eData[ Player_ID ] ), eData[ Player_Password ], charsmax( eData[ Player_Password ] ), eData[ Player_AccessFlags ], charsmax( eData[ Player_AccessFlags ] ), eData[ Player_Prefix ], charsmax( eData[ Player_Prefix ] ), eData[ Player_Model_T ], charsmax( eData[ Player_Model_T ] ), eData[ Player_Model_CT ], charsmax( eData[ Player_Model_CT ] ), szImmunity, charsmax( szImmunity ), eData[ Player_Expire_Date ], charsmax( eData[ Player_Expire_Date ] ), eData[ Player_FlagsExpire ], charsmax( eData[ Player_FlagsExpire ] ), szKeepPrivileges, charsmax( szKeepPrivileges ) ) < 10 ) { continue; } if( szPlayerData[ 0 ] == ';' ) { eData[ Player_Suspended ] = true; replace( eData[ Player_ID ], charsmax( eData[ Player_ID ] ), ";", "" ); } if( eData[ Player_Expire_Date ][ 0 ] ) { if( HasAdminExpired( eData[ Player_Expire_Date ] ) ) { eData[ Player_Expired ] = true; } } // we don't want to use models that don't exist if( eData[ Player_Model_T ][ 0 ] ) { if( ! ModelExists( eData[ Player_Model_T ] ) ) { eData[ Player_Model_T ][ 0 ] = EOS; } } if( eData[ Player_Model_CT ][ 0 ] ) { if( ! ModelExists( eData[ Player_Model_CT ] ) ) { eData[ Player_Model_CT ][ 0 ] = EOS; } } new iImmunity = str_to_num( szImmunity ); eData[ Player_Immunity ] = ( ! is_str_num( szImmunity ) || iImmunity < 0 ) ? 0 : iImmunity; new iKeepPrivileges = str_to_num( szKeepPrivileges ); eData[ Player_KeepPrivileges ] = bool:( ( ! is_str_num( szKeepPrivileges ) || !( 0 <= iKeepPrivileges <= 1 ) ) ? 0 : iKeepPrivileges ); ArrayPushArray( g_aDatabase, eData ); arrayset( eData, 0, sizeof( eData ) ); } } } fclose( iFile ); } }
You didn't even re-name the variables..
|
i edited the message,and i copied only in file reading/writting in ReloadFile. I told u doni in steam if u didn't remember.
I copied only that in realodfile bcz i had something bugged in file writting/reading and that's all.
Why i should rename variables? if u look everywhere now 70% have similar variables or same variables.
Variables never be edited im continuing to finish this and gave it free to the people.
If u want credits, ill put it no problem
Last edited by riste.kgb; 11-09-2019 at 06:35.
|
|