View difference between Paste ID: kUSN6Dpn and bYLtTA6L
SHOW: | | - or go back to the newest paste.
1
#include <a_samp>
2
#include <dini>
3
#include <dudb>
4
5
6
7
new IsLogged[MAX_PLAYERS], file[128];
8
9
10
enum pInfo
11
{
12
AdminLevel,
13
SkinID,
14
PlayerLevel,
15
Cash,
16
Banned,
17
Sindacco,
18
Tier,
19
Faction,
20
Rank [256],
21
}
22
new PlayerInfo[MAX_PLAYERS][pInfo];
23
24
//==========================================//Moving the stored data in "Rank" into the
25
//==========================================//variable "pprank" and assigning it with the playerid.
26
27
public OnPlayerConnect(playerid)
28
{
29
GetPlayerName(playerid, aname, sizeof(aname));
30
format(stri, sizeof(stri), "%s.ini", aname);
31
if(fexist(stri))
32
{
33
new pprank[256];
34
pprank = dini_Get(stri, "Rank");
35
PlayerInfo [playerid] [Rank] = strval(pprank);
36
}
37
return 1;
38
}
39
40
// On OnPlayerDisconnect it is reset. ( The rank )
41
42
//===============// The faction chat /f ( The problem is that it does not show the rank )
43
44
if (strcmp(cmd, "/f", true) == 0)
45
	{
46
	GetPlayerName(playerid, name, sizeof(name));
47
	format(file, sizeof(file), "%s.ini", name);
48
	if(fexist(file))
49
	{
50
	new temp[256], temp2[256], temp3[256];
51
	temp = dini_Get(file, "Faction");
52
	temp2 = dini_Get(file, "Sindacco");
53
	temp3 = dini_Get(file, "Rank");
54
	if(strval(temp) > 0 && strval(temp2) > 0)
55
	{
56
	if(strlen(pID) == 0) return SendClientMessage(playerid, COLOR_USAGE, "USAGE: /f [Message].");
57
	kreplace(name, '_', ' ');
58
	format(s, sizeof(s), "(( %s %s says: %s ))",strval(PlayerInfo [playerid] [Rank]) ,name, cmdtext[3]);
59
	for( q = 0; q <= MAX_PLAYERS; q++)
60
	{
61
	GetPlayerName(q, pname, sizeof(pname));
62
	format(strin, sizeof(strin), "%s.ini", pname);
63
	if(fexist(strin))
64
	{
65
	new atemp[256], atemp2[256];
66
	atemp = dini_Get(strin, "Faction");
67
	atemp2 = dini_Get(file, "Sindacco");
68
	if(strval(atemp) > 0 && strval(atemp2) > 0)
69
	{
70
	SendClientMessage(q, COLOR_BRIGHT_YELLOW, s);
71
	}
72
	}
73
	}
74
	}
75
	else SendClientMessage(playerid, COLOR_ERROR, "ERROR: You are not authorized to perform this command.");
76
	}
77
	return 1;
78
	}
79
80
//=======================================// Setting the player's rank and storing it inside the 
81
//=======================================// "Rank" inside the player's file.
82
83
if(strcmp(cmd, "/setrank", true) == 0)
84
	{
85
	new tmp[256], tmp1[256], tmp2[256], tmp4[256], fRank[256];
86
	fRank = strtok1(cmdtext, idx);
87
	GetPlayerName(playerid, pname, sizeof(pname));
88
	format(strin, sizeof(strin), "%s.ini", pname);
89
	if(fexist(strin))
90
	{
91
	tmp1 = dini_Get(strin, "Faction");
92
	tmp2 = dini_Get(strin, "Tier");
93
	tmp4 = dini_Get(strin, "Sindacco");
94
	if(strval(tmp1) == 1 && strval(tmp2) == 0)
95
	{
96
	GetPlayerName(strval(pID), name, sizeof(name));
97
	format(file, sizeof(file), "%s.ini", name);
98
	if(!IsPlayerConnected(strval(pID))) return SendClientMessage(playerid, COLOR_ERROR, "ERROR: Wrong player name or player ID.");
99
	if(fexist(file))
100
	{
101
	if(strlen(pID) == 0) return SendClientMessage(playerid, COLOR_USAGE, "USAGE: /setrank [PlayerID] [Rank].");
102
	tmp = dini_Get(file, "Faction");
103
	if(strval(tmp) == 1)
104
	{
105
	new tmp3[256];
106
	tmp3 = dini_Get(file, "Sindacco");
107
	if( strval(tmp3) == strval(tmp4) )
108
	{
109
	dini_Set(file, "Rank", fRank);
110-
         PlayerInfo [strval(pID)] [Rank] == strval(fRank);
110+
         PlayerInfo [strval(pID)] [Rank] = strval(fRank);
111
	GetPlayerName(strval(pID), aname, sizeof(aname));
112
	kreplace(aname, '_', ' ');
113
	format(str, sizeof(str), "(Sindacco): %s's rank has been changed to %s", aname, cmdtext[10+strlen(pID)]);
114
	SendClientMessage(strval(pID), COLOR_FMESSAGES, str);
115
	}
116
	}
117
	else SendClientMessage(playerid, COLOR_ERROR, "ERROR: Selected player is not in any faction.");
118
	}
119
	else SendClientMessage(playerid, COLOR_ERROR, "ERROR: Wrong player name or player ID.");
120
	}
121
	else SendClientMessage(playerid, COLOR_ERROR, "ERROR: You are not authorized to use this command.");
122
	}
123
	return 1;
124
	}
125
126
//====================================// What may be wrong? When I go to the player's file, it
127
//====================================// shows only the first four letters of the rank, why?
128
//====================================// May I not store and load words using dini?