View difference between Paste ID: NCuAN8v8 and b1GVC3c3
SHOW: | | - or go back to the newest paste.
1
/*
2
3
	VIP ir ADMIN su laiku @ MartynasK
4
	Už idėja dėkoju Renas!.
5
6
*/
7-
#define VERSIJA "0.1"
7+
#define VERSIJA "0.2"
8
#define mySQL_HOST  "localhost"
9
#define mySQL_USER  "root"
10
#define mySQL_DATA  "test"
11
#define mySQL_PASS  ""
12
#define USERS_TABLE "zaidejai"
13
14-
#define MAX_PLAYERS 10
14+
#define MAX_PLAYERS 	10
15
#define p 		playerid
16
17
#include <a_samp>
18
#include <a_mysql>
19
#include <zmcd>
20
#include <sscanf2>
21
22
enum playerInfo
23
{
24
	Admin,
25
	AdminL,
26
	Vip,
27
	VipL
28
}
29
new pData[ MAX_PLAYERS ][ playerInfo ];
30
31
main( )
32
{
33
	print( "# VIP and ADMIN privileges ( v"VERSIJA" ) for 30 days by MartynasK" );
34
}
35
36
public OnGameModeInit()
37
{
38
	mysql_debug( true );
39
	mysql_connect( mySQL_HOST, mySQL_USER, mySQL_DATA, mySQL_PASS );
40
	print( "# Jungiamasi prie mySQL..." );
41
	if( mysql_ping( ) >= 1 )
42
	{
43
	    print( "# Prie mySQL prisijungta sėkmingai." );
44
	    
45
	} else {
46
	
47
	    print( "# Prie mySQL prisijungti nepavyko. Serveris išjungiamas." );
48
	    SendRconCommand( "exit" );
49
	}
50
	return 1;
51
}
52
53
public OnGameModeExit()
54
{
55
	mysql_close( );
56
	return 1;
57
}
58
59
CMD:p( playerid, params[] )
60
{
61
	if( isnull( params ) ) return SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Pirkimai: /p admin, /p vip" );
62
	
63-
	    Check   [ 1 ][ 10 ];
63+
	if( !strcmp( params, "admin", true ) )
64
	{
65-
	sscanf( params, "s[ 10 ]", Check[ 0 ] ) );
65+
66
	    	pData[ playerid ][ Admin ] = 1;
67-
	if( !strcmp( Check[ 0 ], "admin", true ) )
67+
	    	pData[ playerid ][ AdminL ] = gettime( ) + 86400 * 30;
68
	    	SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Jūsų administratoriaus statusas aktyvuotas 30 dienų." );
69
	    	return true;
70
	}
71-
	    	pData[ playerid ][ AdminL ] = gettime( ) + 86400000 * 30;
71+
72
	else if( !strcmp( params, "vip", true ) )
73
	{
74
	    	if( pData[ playerid ][ Vip ] > 0 ) return SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Jūs jau turite VIP privilegijas." );
75
	    	pData[ playerid ][ Vip ] = 1;
76-
	else if( !strcmp( Check[ 0 ], "vip", true ) )
76+
	    	pData[ playerid ][ VipL ] = gettime( ) + 86400 * 30;
77
	    	SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Jūsų VIP statusas aktyvuotas 30 dienų." );
78
	    	return true;
79
	}
80-
	    	pData[ playerid ][ VipL ] = gettime( ) + 86400000 * 30;
80+
81
}
82
83
public OnPlayerConnect(playerid)
84
{
85
	LoadPlayer( playerid );
86
	return 1;
87
}
88
89
public OnPlayerDisconnect(playerid, reason)
90
{
91
	SavePlayer( playerid );
92
	return 1;
93
}
94
95
public OnPlayerSpawn(playerid)
96
{
97
	if( pData[ playerid ][ AdminL ] < gettime( ) )
98
	{
99
	    	if( pData[ playerid ][ Admin ] > 0 )
100
	    	{
101
	    		SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Deja, bet jūsų ADMIN laikas baigėsi, todėl privilegijos jums nuimamos." );
102
	    		pData[ playerid ][ Admin ] = 0;
103
	    		return true;
104
		}
105
	}
106
	
107
	else if( pData[ playerid ][ VipL ] < gettime( ) )
108
	{
109
	    	if( pData[ playerid ][ Vip ] > 0 )
110
	    	{
111
	    		SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Deja, bet jūsų VIP laikas baigėsi, todėl privilegijos jums nuimamos." );
112
	    		pData[ playerid ][ Vip ] = 0;
113
	    		return true;
114
		}
115
	}
116
	return 1;
117
}
118
119
stock LoadPlayer( playerid )
120
{
121
	new
122
	    Query   [ 100 ],
123
	    tempInt;
124
	    
125
	format( Query, sizeof( Query ), "SELECT Admin, AdminL, Vip, VipL FROM "USERS_TABLE" WHERE Vardas = '%s'", zVardas( playerid ) );
126-
	    Query   [ 280 ],
126+
127-
	    Fetch   [ 280 ],
127+
128
	if( myqsl_fetch_field_row_format( Query, "|" ) )
129
	{
130-
	format( Query, sizeof( Query ), "SELECT * FROM "USERS_TABLE" WHERE Vardas = '%s'", zVardas( playerid ) );
130+
		sscanf( Query, "p<|>iiii>", pData[ playerid ][ Admin ], pData[ playerid ][ AdminL ], pData[ playerid ][ Vip ], pData[ playerid ][ VipL ] );
131
		mysql_free_result( );
132
	}
133-
	mysql_retrieve_row( );
133+
134
135-
	mysql_fetch_field_row( Fetch, "Admin" );
135+
136-
	sscanf( Fetch, "i", pData[ playerid ][ Admin ] );
136+
137
	new
138-
	mysql_fetch_field_row( Fetch, "AdminL" );
138+
139-
	sscanf( Fetch, "i", pData[ playerid ][ AdminL ] );
139+
140
	format( Query, sizeof( Query ), "UPDATE "USERS_TABLE" SET Admin = '%i', AdminL = '%i', Vip = '%i', VipL = '%i' WHERE Vardas = '%s'", pData[p][Admin], pData[p][AdminL], pData[p][Vip], pData[p][VipL], zVardas( playerid ) );
141-
	mysql_fetch_field_row( Fetch, "Vip" );
141+
142-
	sscanf( Fetch, "i", pData[ playerid ][ Vip ] );
142+
143
144-
	mysql_fetch_field_row( Fetch, "VipL" );
144+
145-
	sscanf( Fetch, "i", pData[ playerid ][ VipL ] );
145+
146
	new pName[ MAX_PLAYER_NAME ];
147-
	mysql_free_result( );
147+
148
	return pName;
149
}