· 9 years ago · Jan 23, 2017, 05:42 PM
1
2#include <a_samp>
3#include <zcmd>
4#include <sscanf2>
5
6//[========================================[Configurações]========================================]//
7#define HOSTNAME "hostname Login/Registro SQL, Carlos001"// Nome do servidor.
8#define MODENAME "gamemodetext byCarlos001"// Nome do Mode(Gamemode)
9#define LANGUAGE "language PT-BR" //Linguagem
10#define RCON "rcon_password 1234" //Rcon
11#define WEBURL "weburl ..."//Site
12
13#define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)//correção de quando levar kick, não aparecer a Mensagem
14#define Ban(%0) SetTimerEx("Bana", 100, false, "i", %0) //correção de quando levar kick, não aparecer a Mensagem
15
16//[========================================[Dialogs]========================================]//
17#define DIALOG_REGISTER (0)
18#define DIALOG_LOGIN (1)
19#define DialogFormat (2)
20
21enum player_data
22{
23 Score,//Level(Score)
24 Kills,//matou
25 Deaths,//Morreu
26 Money, //Dinheiro
27 Float:px, //Posição X
28 Float:py, //Posição Y
29 Float:pz, //Posição Z
30 Float:pa //Posição A
31};
32new DB:SanAndreasData;//definimos nossa database
33new PlayerText:LoginDraw[22][MAX_PLAYERS];
34native WP_Hash(buffer[], len, const str[]);//usado para criptografar as senhas.
35new pInfo[MAX_PLAYERS][player_data];//variavel da nossa Enum "player_dados"
36main() { print("\n>Carregando, Aguarde.\n\n\n\n\n\n\n> Servidor Carregado, by Carlos001..."); }
37public OnGameModeInit()
38{
39 ServerInit();//inicia nossa Calback, que seta as configurações do servidor.
40 SanAndreasData = db_open("SanAndreasData.db");//Abre nossa database
41
42 new table_accs[1024];
43 strcat(table_accs, "CREATE TABLE IF NOT EXISTS `CONTAS` ( \
44 `NAME` VARCHAR(24) NOT NULL DEFAULT '', \
45 `PASSWORD` VARCHAR(129) NOT NULL DEFAULT '', \
46 `IP` VARCHAR(18) NOT NULL DEFAULT '', \
47 `KILLS` INT NOT NULL DEFAULT '0', \
48 `Deaths` INT NOT NULL DEFAULT '0', \
49 `Money` INT NOT NULL DEFAULT '0', \
50 `SCORE` INT NOT NULL DEFAULT '0', `px` INT NOT NULL DEFAULT '0.0', `py` INT NOT NULL DEFAULT '0.0', `pz` INT NOT NULL DEFAULT '0.0', `pa` INT NOT NULL DEFAULT '0.0')");
51 db_query(SanAndreasData,table_accs);
52 return 1;
53}
54public OnGameModeExit()
55{
56 db_close(SanAndreasData);//aki fecha a conexão com o nosso database
57 for(new i = 0; i < MAX_PLAYERS; i++) SavePlayer(i);//loop para salvar os jogadores.
58 return 1;
59}
60public OnPlayerConnect(playerid)
61{
62 SetTimerEx("CriarTextdraws", 250, false, "i", playerid);//criar textdraws, e mover a camera.
63 return 1;
64}
65forward CriarTextdraws(playerid);
66public CriarTextdraws(playerid)
67{
68 TogglePlayerSpectating(playerid, true);
69 InterpolateCameraPos(playerid, -1.9223,-1240.7756,117.9103, 1142.4589,-717.8170,139.2966, 15000, CAMERA_MOVE);
70 InterpolateCameraLookAt(playerid,186.6470,-1261.1404,78.2794,1280.0114,-640.1159,106.2128, 15000, CAMERA_MOVE);
71
72 LoginDraw[0][playerid] = CreatePlayerTextDraw(playerid, 468.178527, 10.833333, "usebox");
73 PlayerTextDrawLetterSize(playerid, LoginDraw[0][playerid], 0.000000, 47.127773);
74 PlayerTextDrawTextSize(playerid, LoginDraw[0][playerid], 162.450942, 0.000000);
75 PlayerTextDrawAlignment(playerid, LoginDraw[0][playerid], 1);
76 PlayerTextDrawColor(playerid, LoginDraw[0][playerid], -16776961);
77 PlayerTextDrawUseBox(playerid, LoginDraw[0][playerid], true);
78 PlayerTextDrawBoxColor(playerid, LoginDraw[0][playerid], 85);
79 PlayerTextDrawSetShadow(playerid, LoginDraw[0][playerid], 0);
80 PlayerTextDrawSetOutline(playerid, LoginDraw[0][playerid], 0);
81 PlayerTextDrawFont(playerid, LoginDraw[0][playerid], 0);
82
83 LoginDraw[1][playerid] = CreatePlayerTextDraw(playerid, 468.178466, 8.500000, "usebox");
84 PlayerTextDrawLetterSize(playerid, LoginDraw[1][playerid], 0.000000, -0.003519);
85 PlayerTextDrawTextSize(playerid, LoginDraw[1][playerid], 162.450942, 0.000000);
86 PlayerTextDrawAlignment(playerid, LoginDraw[1][playerid], 1);
87 PlayerTextDrawColor(playerid, LoginDraw[1][playerid], 0);
88 PlayerTextDrawUseBox(playerid, LoginDraw[1][playerid], true);
89 PlayerTextDrawBoxColor(playerid, LoginDraw[1][playerid], 255);
90 PlayerTextDrawSetShadow(playerid, LoginDraw[1][playerid], 0);
91 PlayerTextDrawSetOutline(playerid, LoginDraw[1][playerid], 0);
92 PlayerTextDrawFont(playerid, LoginDraw[1][playerid], 0);
93
94 LoginDraw[2][playerid] = CreatePlayerTextDraw(playerid, 468.241241, 434.749908, "usebox");
95 PlayerTextDrawLetterSize(playerid, LoginDraw[2][playerid], 0.000000, -0.050371);
96 PlayerTextDrawTextSize(playerid, LoginDraw[2][playerid], 162.919464, 0.000000);
97 PlayerTextDrawAlignment(playerid, LoginDraw[2][playerid], 1);
98 PlayerTextDrawColor(playerid, LoginDraw[2][playerid], 0);
99 PlayerTextDrawUseBox(playerid, LoginDraw[2][playerid], true);
100 PlayerTextDrawBoxColor(playerid, LoginDraw[2][playerid], 255);
101 PlayerTextDrawSetShadow(playerid, LoginDraw[2][playerid], 0);
102 PlayerTextDrawSetOutline(playerid, LoginDraw[2][playerid], 0);
103 PlayerTextDrawFont(playerid, LoginDraw[2][playerid], 0);
104
105 LoginDraw[3][playerid] = CreatePlayerTextDraw(playerid, 168.793563, 9.083333, "usebox");
106 PlayerTextDrawLetterSize(playerid, LoginDraw[3][playerid], 0.000000, 47.134815);
107 PlayerTextDrawTextSize(playerid, LoginDraw[3][playerid], 161.982437, 0.000000);
108 PlayerTextDrawAlignment(playerid, LoginDraw[3][playerid], 1);
109 PlayerTextDrawColor(playerid, LoginDraw[3][playerid], 0);
110 PlayerTextDrawUseBox(playerid, LoginDraw[3][playerid], true);
111 PlayerTextDrawBoxColor(playerid, LoginDraw[3][playerid], 255);
112 PlayerTextDrawSetShadow(playerid, LoginDraw[3][playerid], 0);
113 PlayerTextDrawSetOutline(playerid, LoginDraw[3][playerid], 0);
114 PlayerTextDrawFont(playerid, LoginDraw[3][playerid], 0);
115
116 LoginDraw[4][playerid] = CreatePlayerTextDraw(playerid, 467.773315, 9.500001, "usebox");
117 PlayerTextDrawLetterSize(playerid, LoginDraw[4][playerid], 0.000000, 47.134815);
118 PlayerTextDrawTextSize(playerid, LoginDraw[4][playerid], 459.962188, 0.000000);
119 PlayerTextDrawAlignment(playerid, LoginDraw[4][playerid], 1);
120 PlayerTextDrawColor(playerid, LoginDraw[4][playerid], 0);
121 PlayerTextDrawUseBox(playerid, LoginDraw[4][playerid], true);
122 PlayerTextDrawBoxColor(playerid, LoginDraw[4][playerid], 255);
123 PlayerTextDrawSetShadow(playerid, LoginDraw[4][playerid], 0);
124 PlayerTextDrawSetOutline(playerid, LoginDraw[4][playerid], 0);
125 PlayerTextDrawFont(playerid, LoginDraw[4][playerid], 0);
126
127 LoginDraw[5][playerid] = CreatePlayerTextDraw(playerid, 264.714477, 7.583337, "SanAndreas");
128 PlayerTextDrawLetterSize(playerid, LoginDraw[5][playerid], 0.449999, 1.600000);
129 PlayerTextDrawAlignment(playerid, LoginDraw[5][playerid], 1);
130 PlayerTextDrawColor(playerid, LoginDraw[5][playerid], -5963521);
131 PlayerTextDrawSetShadow(playerid, LoginDraw[5][playerid], 0);
132 PlayerTextDrawSetOutline(playerid, LoginDraw[5][playerid], 1);
133 PlayerTextDrawBackgroundColor(playerid, LoginDraw[5][playerid], 51);
134 PlayerTextDrawFont(playerid, LoginDraw[5][playerid], 1);
135 PlayerTextDrawSetProportional(playerid, LoginDraw[5][playerid], 1);
136
137 LoginDraw[6][playerid] = CreatePlayerTextDraw(playerid, 285.392242, 16.750005, "Carlos001");
138 PlayerTextDrawLetterSize(playerid, LoginDraw[6][playerid], 0.273835, 1.139165);
139 PlayerTextDrawAlignment(playerid, LoginDraw[6][playerid], 1);
140 PlayerTextDrawColor(playerid, LoginDraw[6][playerid], -1);
141 PlayerTextDrawSetShadow(playerid, LoginDraw[6][playerid], 0);
142 PlayerTextDrawSetOutline(playerid, LoginDraw[6][playerid], 1);
143 PlayerTextDrawBackgroundColor(playerid, LoginDraw[6][playerid], 51);
144 PlayerTextDrawFont(playerid, LoginDraw[6][playerid], 1);
145 PlayerTextDrawSetProportional(playerid, LoginDraw[6][playerid], 1);
146
147 LoginDraw[7][playerid] = CreatePlayerTextDraw(playerid, 246.442092, 22.749994, ".");
148 PlayerTextDrawLetterSize(playerid, LoginDraw[7][playerid], 11.426046, 0.567499);
149 PlayerTextDrawAlignment(playerid, LoginDraw[7][playerid], 1);
150 PlayerTextDrawColor(playerid, LoginDraw[7][playerid], -1061109505);
151 PlayerTextDrawSetShadow(playerid, LoginDraw[7][playerid], 0);
152 PlayerTextDrawSetOutline(playerid, LoginDraw[7][playerid], 1);
153 PlayerTextDrawBackgroundColor(playerid, LoginDraw[7][playerid], 51);
154 PlayerTextDrawFont(playerid, LoginDraw[7][playerid], 1);
155 PlayerTextDrawSetProportional(playerid, LoginDraw[7][playerid], 1);
156
157 LoginDraw[8][playerid] = CreatePlayerTextDraw(playerid, 280.175903, 85.749954, "LOGIN");
158 PlayerTextDrawLetterSize(playerid, LoginDraw[8][playerid], 0.483733, 1.658333);
159 PlayerTextDrawAlignment(playerid, LoginDraw[8][playerid], 1);
160 PlayerTextDrawColor(playerid, LoginDraw[8][playerid], -1061109505);
161 PlayerTextDrawSetShadow(playerid, LoginDraw[8][playerid], 0);
162 PlayerTextDrawSetOutline(playerid, LoginDraw[8][playerid], 1);
163 PlayerTextDrawBackgroundColor(playerid, LoginDraw[8][playerid], 51);
164 PlayerTextDrawFont(playerid, LoginDraw[8][playerid], 1);
165 PlayerTextDrawSetProportional(playerid, LoginDraw[8][playerid], 1);
166 PlayerTextDrawSetSelectable(playerid, LoginDraw[8][playerid], true);
167
168 LoginDraw[9][playerid] = CreatePlayerTextDraw(playerid, 466.304534, 87.833328, "usebox");
169 PlayerTextDrawLetterSize(playerid, LoginDraw[9][playerid], 0.000000, 1.433333);
170 PlayerTextDrawTextSize(playerid, LoginDraw[9][playerid], 163.856506, 0.000000);
171 PlayerTextDrawAlignment(playerid, LoginDraw[9][playerid], 1);
172 PlayerTextDrawColor(playerid, LoginDraw[9][playerid], 0);
173 PlayerTextDrawUseBox(playerid, LoginDraw[9][playerid], true);
174 PlayerTextDrawBoxColor(playerid, LoginDraw[9][playerid], 96);
175 PlayerTextDrawSetShadow(playerid, LoginDraw[9][playerid], 0);
176 PlayerTextDrawSetOutline(playerid, LoginDraw[9][playerid], 0);
177 PlayerTextDrawFont(playerid, LoginDraw[9][playerid], 0);
178
179 LoginDraw[10][playerid] = CreatePlayerTextDraw(playerid, 467.304534, 126.166664, "usebox");
180 PlayerTextDrawLetterSize(playerid, LoginDraw[10][playerid], 0.000000, 1.433333);
181 PlayerTextDrawTextSize(playerid, LoginDraw[10][playerid], 163.856506, 0.000000);
182 PlayerTextDrawAlignment(playerid, LoginDraw[10][playerid], 1);
183 PlayerTextDrawColor(playerid, LoginDraw[10][playerid], 0);
184 PlayerTextDrawUseBox(playerid, LoginDraw[10][playerid], true);
185 PlayerTextDrawBoxColor(playerid, LoginDraw[10][playerid], 96);
186 PlayerTextDrawSetShadow(playerid, LoginDraw[10][playerid], 0);
187 PlayerTextDrawSetOutline(playerid, LoginDraw[10][playerid], 0);
188 PlayerTextDrawFont(playerid, LoginDraw[10][playerid], 0);
189
190 LoginDraw[11][playerid] = CreatePlayerTextDraw(playerid, 276.022155, 125.833312, "REGISTRO");
191 PlayerTextDrawLetterSize(playerid, LoginDraw[11][playerid], 0.426105, 1.506666);
192 PlayerTextDrawAlignment(playerid, LoginDraw[11][playerid], 1);
193 PlayerTextDrawColor(playerid, LoginDraw[11][playerid], -1061109505);
194 PlayerTextDrawSetShadow(playerid, LoginDraw[11][playerid], 0);
195 PlayerTextDrawSetOutline(playerid, LoginDraw[11][playerid], 1);
196 PlayerTextDrawBackgroundColor(playerid, LoginDraw[11][playerid], 51);
197 PlayerTextDrawFont(playerid, LoginDraw[11][playerid], 1);
198 PlayerTextDrawSetProportional(playerid, LoginDraw[11][playerid], 1);
199 PlayerTextDrawSetSelectable(playerid, LoginDraw[11][playerid], true);
200
201 LoginDraw[12][playerid] = CreatePlayerTextDraw(playerid, 466.430389, 162.166641, "usebox");
202 PlayerTextDrawLetterSize(playerid, LoginDraw[12][playerid], 0.000000, 1.433333);
203 PlayerTextDrawTextSize(playerid, LoginDraw[12][playerid], 161.982421, 0.000000);
204 PlayerTextDrawAlignment(playerid, LoginDraw[12][playerid], 1);
205 PlayerTextDrawColor(playerid, LoginDraw[12][playerid], 0);
206 PlayerTextDrawUseBox(playerid, LoginDraw[12][playerid], true);
207 PlayerTextDrawBoxColor(playerid, LoginDraw[12][playerid], 96);
208 PlayerTextDrawSetShadow(playerid, LoginDraw[12][playerid], 0);
209 PlayerTextDrawSetOutline(playerid, LoginDraw[12][playerid], 0);
210 PlayerTextDrawFont(playerid, LoginDraw[12][playerid], 0);
211
212 LoginDraw[13][playerid] = CreatePlayerTextDraw(playerid, 277.022186, 161.249954, "CREDITOS");
213 PlayerTextDrawLetterSize(playerid, LoginDraw[13][playerid], 0.409238, 1.489166);
214 PlayerTextDrawAlignment(playerid, LoginDraw[13][playerid], 1);
215 PlayerTextDrawColor(playerid, LoginDraw[13][playerid], -1061109505);
216 PlayerTextDrawSetShadow(playerid, LoginDraw[13][playerid], 0);
217 PlayerTextDrawSetOutline(playerid, LoginDraw[13][playerid], 1);
218 PlayerTextDrawBackgroundColor(playerid, LoginDraw[13][playerid], 51);
219 PlayerTextDrawFont(playerid, LoginDraw[13][playerid], 1);
220 PlayerTextDrawSetProportional(playerid, LoginDraw[13][playerid], 1);
221 PlayerTextDrawSetSelectable(playerid, LoginDraw[13][playerid], true);
222
223 LoginDraw[14][playerid] = CreatePlayerTextDraw(playerid, 467.430267, 198.166519, "usebox");
224 PlayerTextDrawLetterSize(playerid, LoginDraw[14][playerid], 0.000000, 1.433333);
225 PlayerTextDrawTextSize(playerid, LoginDraw[14][playerid], 161.982421, 0.000000);
226 PlayerTextDrawAlignment(playerid, LoginDraw[14][playerid], 1);
227 PlayerTextDrawColor(playerid, LoginDraw[14][playerid], 0);
228 PlayerTextDrawUseBox(playerid, LoginDraw[14][playerid], true);
229 PlayerTextDrawBoxColor(playerid, LoginDraw[14][playerid], 96);
230 PlayerTextDrawSetShadow(playerid, LoginDraw[14][playerid], 0);
231 PlayerTextDrawSetOutline(playerid, LoginDraw[14][playerid], 0);
232 PlayerTextDrawFont(playerid, LoginDraw[14][playerid], 0);
233
234 LoginDraw[15][playerid] = CreatePlayerTextDraw(playerid, 282.707305, 196.666625, "REGRAS");
235 PlayerTextDrawLetterSize(playerid, LoginDraw[15][playerid], 0.432196, 1.629167);
236 PlayerTextDrawAlignment(playerid, LoginDraw[15][playerid], 1);
237 PlayerTextDrawColor(playerid, LoginDraw[15][playerid], -1061109505);
238 PlayerTextDrawSetShadow(playerid, LoginDraw[15][playerid], 0);
239 PlayerTextDrawSetOutline(playerid, LoginDraw[15][playerid], 1);
240 PlayerTextDrawBackgroundColor(playerid, LoginDraw[15][playerid], 51);
241 PlayerTextDrawFont(playerid, LoginDraw[15][playerid], 1);
242 PlayerTextDrawSetProportional(playerid, LoginDraw[15][playerid], 1);
243 PlayerTextDrawSetSelectable(playerid, LoginDraw[15][playerid], true);
244
245 LoginDraw[16][playerid] = CreatePlayerTextDraw(playerid, 468.430236, 235.916519, "usebox");
246 PlayerTextDrawLetterSize(playerid, LoginDraw[16][playerid], 0.000000, 1.433333);
247 PlayerTextDrawTextSize(playerid, LoginDraw[16][playerid], 161.982421, 0.000000);
248 PlayerTextDrawAlignment(playerid, LoginDraw[16][playerid], 1);
249 PlayerTextDrawColor(playerid, LoginDraw[16][playerid], 0);
250 PlayerTextDrawUseBox(playerid, LoginDraw[16][playerid], true);
251 PlayerTextDrawBoxColor(playerid, LoginDraw[16][playerid], 96);
252 PlayerTextDrawSetShadow(playerid, LoginDraw[16][playerid], 0);
253 PlayerTextDrawSetOutline(playerid, LoginDraw[16][playerid], 0);
254 PlayerTextDrawFont(playerid, LoginDraw[16][playerid], 0);
255
256 LoginDraw[17][playerid] = CreatePlayerTextDraw(playerid, 283.238708, 234.416625, "DICAS");
257 PlayerTextDrawLetterSize(playerid, LoginDraw[17][playerid], 0.447657, 1.705000);
258 PlayerTextDrawAlignment(playerid, LoginDraw[17][playerid], 1);
259 PlayerTextDrawColor(playerid, LoginDraw[17][playerid], -1061109505);
260 PlayerTextDrawSetShadow(playerid, LoginDraw[17][playerid], 0);
261 PlayerTextDrawSetOutline(playerid, LoginDraw[17][playerid], 1);
262 PlayerTextDrawBackgroundColor(playerid, LoginDraw[17][playerid], 51);
263 PlayerTextDrawFont(playerid, LoginDraw[17][playerid], 1);
264 PlayerTextDrawSetProportional(playerid, LoginDraw[17][playerid], 1);
265 PlayerTextDrawSetSelectable(playerid, LoginDraw[17][playerid], true);
266
267 LoginDraw[18][playerid] = CreatePlayerTextDraw(playerid, 467.556121, 270.749847, "usebox");
268 PlayerTextDrawLetterSize(playerid, LoginDraw[18][playerid], 0.000000, 1.573889);
269 PlayerTextDrawTextSize(playerid, LoginDraw[18][playerid], 162.919464, 0.000000);
270 PlayerTextDrawAlignment(playerid, LoginDraw[18][playerid], 1);
271 PlayerTextDrawColor(playerid, LoginDraw[18][playerid], 0);
272 PlayerTextDrawUseBox(playerid, LoginDraw[18][playerid], true);
273 PlayerTextDrawBoxColor(playerid, LoginDraw[18][playerid], 96);
274 PlayerTextDrawSetShadow(playerid, LoginDraw[18][playerid], 0);
275 PlayerTextDrawSetOutline(playerid, LoginDraw[18][playerid], 0);
276 PlayerTextDrawFont(playerid, LoginDraw[18][playerid], 0);
277
278 LoginDraw[19][playerid] = CreatePlayerTextDraw(playerid, 281.427551, 269.833282, "FORUM");
279 PlayerTextDrawLetterSize(playerid, LoginDraw[19][playerid], 0.447657, 1.705000);
280 PlayerTextDrawAlignment(playerid, LoginDraw[19][playerid], 1);
281 PlayerTextDrawColor(playerid, LoginDraw[19][playerid], -1061109505);
282 PlayerTextDrawSetShadow(playerid, LoginDraw[19][playerid], 0);
283 PlayerTextDrawSetOutline(playerid, LoginDraw[19][playerid], 1);
284 PlayerTextDrawBackgroundColor(playerid, LoginDraw[19][playerid], 51);
285 PlayerTextDrawFont(playerid, LoginDraw[19][playerid], 1);
286 PlayerTextDrawSetProportional(playerid, LoginDraw[19][playerid], 1);
287 PlayerTextDrawSetSelectable(playerid, LoginDraw[19][playerid], true);
288
289 LoginDraw[20][playerid] = CreatePlayerTextDraw(playerid, 167.262084, 287.000000, "loadsc2:loadsc2");
290 PlayerTextDrawLetterSize(playerid, LoginDraw[20][playerid], 0.000000, 0.000000);
291 PlayerTextDrawTextSize(playerid, LoginDraw[20][playerid], 296.105499, 147.000030);
292 PlayerTextDrawAlignment(playerid, LoginDraw[20][playerid], 1);
293 PlayerTextDrawColor(playerid, LoginDraw[20][playerid], -1);
294 PlayerTextDrawSetShadow(playerid, LoginDraw[20][playerid], 0);
295 PlayerTextDrawSetOutline(playerid, LoginDraw[20][playerid], 0);
296 PlayerTextDrawFont(playerid, LoginDraw[20][playerid], 4);
297
298 LoginDraw[21][playerid] = CreatePlayerTextDraw(playerid, 166.793685, 426.416778, "by Carlos001");
299 PlayerTextDrawLetterSize(playerid, LoginDraw[21][playerid], 0.259780, 0.864999);
300 PlayerTextDrawAlignment(playerid, LoginDraw[21][playerid], 1);
301 PlayerTextDrawColor(playerid, LoginDraw[21][playerid], -5963521);
302 PlayerTextDrawSetShadow(playerid, LoginDraw[21][playerid], 0);
303 PlayerTextDrawSetOutline(playerid, LoginDraw[21][playerid], 1);
304 PlayerTextDrawBackgroundColor(playerid, LoginDraw[21][playerid], 51);
305 PlayerTextDrawFont(playerid, LoginDraw[21][playerid], 1);
306 PlayerTextDrawSetProportional(playerid, LoginDraw[21][playerid], 1);
307 for(new t = 0; t < 22; t ++) PlayerTextDrawShow(playerid, LoginDraw[t][playerid]);
308 SelectTextDraw(playerid, 0xFFFFFFFF);
309 return 1;
310}
311
312public OnPlayerDisconnect(playerid, reason)
313{
314 SavePlayer(playerid);
315 for(new player_data:i; i < player_data; i++) pInfo[playerid][i] = 0;//resetar os dados
316 return 1;
317}
318public OnPlayerDeath(playerid, killerid, reason)
319{
320 pInfo[killerid][Kills] ++;
321 pInfo[playerid][Deaths] ++;
322 SetPlayerScore(killerid, GetPlayerScore(killerid)+2);
323 SetPlayerScore(playerid, GetPlayerScore(playerid)-1);
324 SendClientMessage(playerid,-1,"Você morreu, perdeu 1 de Score e R$500");
325 SendClientMessage(killerid, -1, "Você matou e ganhou 1 de Score +1000");
326 GivePlayerMoney(killerid, GetPlayerMoney(killerid)+1000);
327 GivePlayerMoney(playerid, GetPlayerMoney(playerid)-500);
328 SavePlayer(playerid);
329 return 1;
330}
331public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
332{
333 switch(dialogid)
334 {
335 case DIALOG_REGISTER:
336 {
337 if(response)
338 {
339 if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"{FF0000}# {FFFFFF}Registro","Digite uma Senha Segura para\nse Registrar.","Registrar","Sair");
340 new senha[129],ip[18];
341 GetPlayerIp(playerid,ip,18);
342 WP_Hash(senha, sizeof (senha), inputtext);
343
344 new Query[300],Salvar[1024];
345 format(Salvar,sizeof(Salvar),"INSERT INTO `CONTAS` (`NAME`, `PASSWORD`, `IP`, `KILLS`, `Deaths`, `Money`, `SCORE`, `px`, `py`, `pz`, `pa`) VALUES ('%q', '%s', '%q', '0', '0', '0', '0', '0.0', '0.0', '0.0', '0.0')",pName(playerid), senha, ip);
346 db_query(SanAndreasData,Salvar);
347
348 new DBResult: Result;
349 format(Query, sizeof(Query), "SELECT * FROM `CONTAS` WHERE `NAME` = '%q'", pName(playerid));
350 Result = db_query(SanAndreasData, Query);
351
352 if(db_num_rows(Result) == 1)
353 {
354 pInfo[playerid][Kills] = db_get_field_assoc_int(Result,"KILLS");
355 pInfo[playerid][Score] = db_get_field_assoc_int(Result,"SCORE");
356 pInfo[playerid][Deaths] = db_get_field_assoc_int(Result,"Deaths");
357 pInfo[playerid][Money] = db_get_field_assoc_int(Result,"Money");
358 pInfo[playerid][px] = db_get_field_assoc_int(Result,"px");
359 pInfo[playerid][py] = db_get_field_assoc_int(Result,"py");
360 pInfo[playerid][pz] = db_get_field_assoc_int(Result,"pz");
361 pInfo[playerid][pa] = db_get_field_assoc_int(Result,"pa");
362 }
363 db_free_result(Result);
364 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}# {FFFFFF}Login","Digite sua senha Corretamente Para se Logar.","Login","Sair");
365 }
366 else Kick(playerid);
367 }
368 case DIALOG_LOGIN:
369 {
370 if(response)
371 {
372 new hashpass[129],Query[256];
373 new DBResult:Result;
374 WP_Hash(hashpass, sizeof(hashpass), inputtext);
375 format(Query, sizeof(Query), "SELECT * FROM `CONTAS` WHERE `NAME` = '%q' COLLATE NOCASE AND `PASSWORD` = '%q'",pName(playerid), hashpass);
376 Result = db_query(SanAndreasData,Query);
377 if(db_num_rows(Result))
378 {
379 CarregarJogador(playerid);
380 }
381 else
382 {
383 SendClientMessage(playerid, -1, "A senha digitada não corresponde a senha da conta, tente novamente.");
384 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}# {FFFFFF}Login","Digite a senha Corretamente para Logar-se","Login","Sair");
385 }
386 db_free_result(Result);
387 }
388 else Kick(playerid);
389 }
390 }
391 return 1;
392}
393public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
394{
395 new str[200];
396 if(playertextid == LoginDraw[8][playerid])
397 {
398 if(!IsNameRegistered(pName(playerid))) return SendClientMessage(playerid, 0xFF0000AA, "{FF0000}# {FFFFFF}Você não possui Conta, se Registre antes de Logar-se.");
399 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}# {FFFFFF}Login","Digite a senha Corretamente para Logar-se.","Login","Sair");
400 }
401 if(playertextid == LoginDraw[11][playerid])
402 {
403 if(IsNameRegistered(pName(playerid))) return SendClientMessage(playerid, 0xFF0000AA, "{FF0000}# {FFFFFF}Você já possui uma Conta, Logue-se Para Jogar.");
404 ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"{FF0000}# {FFFFFF}Registro","Digite uma Senha segura para se registrar.","Registrar","Sair");
405 }
406 if(playertextid == LoginDraw[13][playerid])
407 {
408 format(str, sizeof(str), "Login/Registro/Textdraw: Carlos001\nSalvamento: Carlos001\n");
409 ShowPlayerDialog(playerid, DialogFormat, DIALOG_STYLE_MSGBOX, "Creditos", str, "Fechar", "Ok");
410 }
411 if(playertextid == LoginDraw[15][playerid])//regras
412 {
413 format(str, sizeof(str), "1° Nunca usar Programas Ilegais.\n2° Sempre Respeitar Todos os Jogadores.\n3°Resto das Regras...\n");
414 ShowPlayerDialog(playerid, DialogFormat, DIALOG_STYLE_MSGBOX, "Regras", str, "Fechar", "Ok");
415 }
416 if(playertextid == LoginDraw[17][playerid])//dicas
417 {
418 format(str, sizeof(str), "1°Dicas Aki...\n2° Dicas Aki...\n3° Dicas aki...\n");
419 ShowPlayerDialog(playerid, DialogFormat, DIALOG_STYLE_MSGBOX, "Dicas.", str, "Fechar", "Ok");
420 }
421 if(playertextid == LoginDraw[19][playerid])//forum
422 {
423 format(str, sizeof(str), "Acesse nosso Forum: www.site.com\n");
424 ShowPlayerDialog(playerid, DialogFormat, DIALOG_STYLE_MSGBOX, "Forum", str, "Fechar", "Ok");
425 }
426 return 1;
427}
428ServerInit()
429{
430 SendRconCommand(MODENAME), SendRconCommand(HOSTNAME), SendRconCommand(LANGUAGE), SendRconCommand(RCON), SendRconCommand(WEBURL);
431 ShowPlayerMarkers(PLAYER_MARKERS_MODE_OFF);
432 ShowNameTags(1);
433 UsePlayerPedAnims();
434 DisableInteriorEnterExits();
435 EnableStuntBonusForAll(false);
436 return 1;
437}
438
439pName(playerid)//pegar o nome do Jogador
440{
441 new
442 gName[MAX_PLAYER_NAME + 1];
443 GetPlayerName(playerid, gName, sizeof(gName));
444 return gName;
445}
446forward Kicka(p); public Kicka(p) //da kick
447{
448 #undef Kick
449 Kick(p);
450 #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
451 return 1;
452}
453
454forward Bana(p); public Bana(p) //ban
455{
456 #undef Ban
457 Ban(p);
458 #define Ban(%0) SetTimerEx("Bana", 100, false, "i", %0)
459 return 1;
460}
461
462stock CarregarJogador(playerid)//carregar os Dados
463{
464 for(new t = 0; t < 22; t ++) PlayerTextDrawHide(playerid, LoginDraw[t][playerid]);//Esconder as Textdraw
465 CancelSelectTextDraw(playerid);
466 new Query[256];
467 new DBResult: Result;
468 format(Query, sizeof(Query), "SELECT * FROM `CONTAS` WHERE `NAME` = '%q'", pName(playerid));
469 Result = db_query(SanAndreasData, Query);
470 if(db_num_rows(Result))
471 {
472 pInfo[playerid][Kills] = db_get_field_assoc_int(Result,"KILLS");
473 pInfo[playerid][Score] = db_get_field_assoc_int(Result,"SCORE");
474 pInfo[playerid][Deaths] = db_get_field_assoc_int(Result,"Deaths");
475 pInfo[playerid][Money] = db_get_field_assoc_int(Result,"Money");
476 pInfo[playerid][px] = db_get_field_assoc_int(Result,"px");
477 pInfo[playerid][py] = db_get_field_assoc_int(Result,"py");
478 pInfo[playerid][pz] = db_get_field_assoc_int(Result,"pz");
479 pInfo[playerid][pa] = db_get_field_assoc_int(Result,"pa");
480 }
481 TogglePlayerSpectating(playerid, false);
482 ResetPlayerMoney(playerid);
483 GivePlayerMoney(playerid, pInfo[playerid][Money]);
484 SpawnPlayer(playerid);
485 SetPlayerPos(playerid, pInfo[playerid][px], pInfo[playerid][py], pInfo[playerid][pz]);
486 SetPlayerScore(playerid, pInfo[playerid][Score]);
487 SetPlayerFacingAngle(playerid, pInfo[playerid][pa]);
488 db_free_result(Result);
489 return 1;
490}
491stock SavePlayer(playerid)
492{
493 new gQuery[550],IP[16];
494 GetPlayerIp(playerid, IP, sizeof(IP));
495 GetPlayerPos(playerid, pInfo[playerid][px], pInfo[playerid][py], pInfo[playerid][pz]);
496 GetPlayerFacingAngle(playerid, pInfo[playerid][pa]);
497 format(gQuery, sizeof(gQuery), "UPDATE `CONTAS` SET `IP` = '%q', `KILLS` = '%i', `Deaths` = '%i',`Money` = '%i', `SCORE` = '%i', `px` = '%f', `py` = '%f', `pz` = '%f', `pa` = '%f' WHERE `NAME` = '%s'",
498 IP,pInfo[playerid][Kills],pInfo[playerid][Deaths],GetPlayerMoney(playerid),GetPlayerScore(playerid),pInfo[playerid][px], pInfo[playerid][py], pInfo[playerid][pz], pInfo[playerid][pa], pName(playerid));
499 db_query(SanAndreasData,gQuery);
500 return 1;
501}
502stock IsNameRegistered(name[])//verifica se o Player(Nick) Esta Registrado
503{
504 new Query[128];
505 new DBResult: Result;
506 format(Query, sizeof(Query), "SELECT * FROM `CONTAS` WHERE `NAME` = '%q'", name);
507 Result = db_query(SanAndreasData, Query);
508 new r = db_num_rows(Result);
509 db_free_result(Result);
510 return r;
511}
512CMD:score (playerid,params[])
513{
514 new Target,ScoreQuant,String[100];
515 if (sscanf(params,"ui",Target,ScoreQuant))return SendClientMessage (playerid, -1, "/SETLEVEL[ID] [Quantidade]");
516 format (String,sizeof(String), "%s setou a quantia de %i em Score para o player %s", pName(playerid),ScoreQuant,pName(Target));
517 SendClientMessageToAll (-1,String);
518 pInfo[Target][Score] = ScoreQuant;
519 return 1;
520}
521CMD:money (playerid,params[])
522{
523 new Target,MoneyQuant,String[120];
524 if ( sscanf ( params, "ui", Target, MoneyQuant ) )return SendClientMessage ( playerid, -1, "/SETMONEY [ID] [MoneyQuant]" );
525 format (String,sizeof(String), "%s setou a quantia de %i em dinheiro para o player %s", pName(playerid),MoneyQuant,pName(Target));
526 SendClientMessageToAll (-1,String);
527 format (String,sizeof(String), "%s setou seu dinheiro para %i", pName (playerid),MoneyQuant);
528 SendClientMessage(Target,-1,String);
529 pInfo[Target][Money] = MoneyQuant;
530 return 1;
531}