· 8 years ago · Feb 05, 2018, 06:14 PM
1/*
2
3 GameMode Base GangWar v1.0
4
5 Bom, simplesmente um GameMode Base de GangWar em Mysql.
6 GangWar é um confronto de gangues, nesse GM é em Los Santos.
7
8 Créditos.
9
10 IlanZ - Pelo GameMode Base em MySql.
11
12 YourShadow - Pelo processador de comandos Pawn.CMD
13
14 BlueG - Pelo MySql SAMP.
15
16 JFS - Pelo sistema de Rank do seu Gamemode Base GangWar.
17
18 Kalcor - Criador do SAMP.
19
20 Versão MySql Utilizada: R41-4
21
22*/
23#include <a_samp>
24#include <a_mysql>
25#include <Pawn.CMD>
26#include <mSelection>
27
28#define host "localhost"
29#define usuario "root"
30#define database "samp"
31#define senha "" //Não contém SENHA, Pois estou utilizando Wamp
32
33#define Kick(%0) SetTimerEx("Kickar", 200, false, "i", %0)
34#define Ban(%0) SetTimerEx("Banir", 200, false, "i", %0)
35
36#if defined MAX_PLAYERS
37 #undef MAX_PLAYERS
38 #define MAX_PLAYERS (100)
39#endif
40
41#define VERDE 0x21DD00FF
42#define VERMELHO 0xFB0000FF
43#define AMARELO 0xFFFF00FF
44#define AZUL_CLARO 0x00C2ECFF
45#define BRANCO 0xFFFFFFFF
46#define CINZA 0xCECECEFF
47
48#define COR_GROVE 0x00D900C8
49#define COR_BALLAS 0x9900FFC8
50#define COR_VAGOS 0xFFC801C8
51#define COR_AZTECAS 0x2641FEC8
52#define COR_BIKERS 0xA2B5CDFF
53#define COR_LOST 0x008B8BFF
54
55#define DIALOG_REGISTRO 1
56#define DIALOG_LOGIN 2
57#define DIALOG_GANGUES 3
58#define DIALOG_CREDITOS 4
59#define DIALOG_RANK 5
60
61forward Kickar(playerid);
62forward Banir(playerid);
63forward mMensagens();
64
65enum PlayerD
66{
67 ID,
68 Senha,
69 Dinheiro,
70 Nivel,
71 Logado,
72 Gangue,
73 Skin
74}
75new Mensagens[][] =
76{
77 "INFO: Deseja ver os desenvolvedores do servidor? /creditos!",
78 "INFO: Deseja ver o Rank das Gangue's do servidor e ver quem está liderando!? /rank!",
79 "INFO: Sempre ao entrar no servidor, tente otimizar sua conexão, evite prejudicar outros players.",
80 "INFO: Não utilize programas ilegais no servidor, poderá ser banido permanentemente!"
81};
82new RandomColors [] =
83{
84 VERMELHO,
85 AZUL_CLARO,
86 AMARELO,
87 CINZA
88};
89new Player[MAX_PLAYERS][PlayerD];
90new MySQL:Conexao;
91new query[250];
92new Text:TelaLogin[4];
93new ErrouSenha[MAX_PLAYERS];
94new GroveMatou, GroveMorreu, GroveTotal;
95new BallasMatou, BallasMorreu, BallasTotal;
96new VagosMatou, VagosMorreu, VagosTotal;
97new AztecasMatou, AztecasMorreu, AztecasTotal;
98new BikersMatou, BikersMorreu, BikersTotal;
99new LostMatou, LostMorreu, LostTotal;
100new skingrove = mS_INVALID_LISTID, skinballas = mS_INVALID_LISTID, skinvagos = mS_INVALID_LISTID;
101new skinaztecas = mS_INVALID_LISTID, skinbikers = mS_INVALID_LISTID, skinlost = mS_INVALID_LISTID;
102
103main()
104{
105 print("\n----------------------------------");
106 print(" GameMode Base GangWar | Iniciado.");
107 print("----------------------------------\n");
108}
109
110public OnGameModeInit()
111{
112 Conexao = mysql_connect(host, usuario, senha, database);
113 if(mysql_errno() != 0) print("Não foi possÃvel conectar-se na database MySql."), SendRconCommand("exit");
114 else print("Conectado com sucesso na database MySql!");
115 query[0] = EOS;
116 strcat(query, "CREATE TABLE IF NOT EXISTS Contas(ID int AUTO_INCREMENT PRIMARY KEY, Nick varchar(20) NOT NULL,Senha int(20) NOT NULL,Dinheiro int NOT NULL DEFAULT 1000, Nivel int NOT NULL DEFAULT 1, Gangue int NOT NULL DEFAULT 0, Skin int NOT NULL DEFAULT 0)");
117 mysql_query(Conexao, query, false);
118
119 SetGameModeText("GameMode Base GangWar");
120 SendRconCommand("hostname GameMode Base GangWar | v1.0");
121 SendRconCommand("language PT-BR | Brasil");
122 SendRconCommand("mapname Los Santos");
123 SendRconCommand("weburl www.seusite.com.br");
124 DisableInteriorEnterExits();
125 EnableStuntBonusForAll(0);
126 ShowPlayerMarkers(PLAYER_MARKERS_MODE_OFF);
127 ShowNameTags(1);
128 UsePlayerPedAnims();
129 SetNameTagDrawDistance(50.0);
130 SetTimer("mMensagens", 300000, true);
131
132 skingrove = LoadModelSelectionMenu("SkinsGrove.txt"); skinballas = LoadModelSelectionMenu("SkinsBallas.txt");
133 skinvagos = LoadModelSelectionMenu("SkinsVagos.txt"); skinaztecas = LoadModelSelectionMenu("SkinsAztecas.txt");
134 skinbikers = LoadModelSelectionMenu("SkinsBikers.txt"); skinlost = LoadModelSelectionMenu("SkinsLost.txt");
135
136 TelaLogin[0] = TextDrawCreate(641.529418, 1.500000, "usebox");
137 TextDrawLetterSize(TelaLogin[0], 0.000000, 12.905555);
138 TextDrawTextSize(TelaLogin[0], -2.000000, 0.000000);
139 TextDrawAlignment(TelaLogin[0], 1);
140 TextDrawColor(TelaLogin[0], 0);
141 TextDrawUseBox(TelaLogin[0], true);
142 TextDrawBoxColor(TelaLogin[0], 102);
143 TextDrawSetShadow(TelaLogin[0], 0);
144 TextDrawSetOutline(TelaLogin[0], 0);
145 TextDrawFont(TelaLogin[0], 0);
146
147 TelaLogin[1] = TextDrawCreate(641.529418, 339.833312, "usebox");
148 TextDrawLetterSize(TelaLogin[1], 0.000000, 11.803709);
149 TextDrawTextSize(TelaLogin[1], -2.000000, 0.000000);
150 TextDrawAlignment(TelaLogin[1], 1);
151 TextDrawColor(TelaLogin[1], 0);
152 TextDrawUseBox(TelaLogin[1], true);
153 TextDrawBoxColor(TelaLogin[1], 102);
154 TextDrawSetShadow(TelaLogin[1], 0);
155 TextDrawSetOutline(TelaLogin[1], 0);
156 TextDrawFont(TelaLogin[1], 0);
157
158 TelaLogin[2] = TextDrawCreate(164.705871, 34.999992, "~r~GAMEMODE ~w~BASE GANGWAR");
159 TextDrawLetterSize(TelaLogin[2], 0.688117, 2.416666);
160 TextDrawAlignment(TelaLogin[2], 1);
161 TextDrawColor(TelaLogin[2], -1);
162 TextDrawSetShadow(TelaLogin[2], 0);
163 TextDrawSetOutline(TelaLogin[2], 1);
164 TextDrawBackgroundColor(TelaLogin[2], 51);
165 TextDrawFont(TelaLogin[2], 1);
166 TextDrawSetProportional(TelaLogin[2], 1);
167
168 TelaLogin[3] = TextDrawCreate(228.705841, 76.999961, "Guerra de Gangue's em Los Santos!");
169 TextDrawLetterSize(TelaLogin[3], 0.234941, 0.970000);
170 TextDrawAlignment(TelaLogin[3], 1);
171 TextDrawColor(TelaLogin[3], -16776961);
172 TextDrawSetShadow(TelaLogin[3], 0);
173 TextDrawSetOutline(TelaLogin[3], 1);
174 TextDrawBackgroundColor(TelaLogin[3], 51);
175 TextDrawFont(TelaLogin[3], 2);
176 TextDrawSetProportional(TelaLogin[3], 1);
177
178 Create3DTextLabel("Grove Street Families\n{FFFFFF}Digite /equipar para equipar", COR_GROVE, 2506.8540,-1685.8157,13.5592, 20.0, 0, 0);
179 Create3DTextLabel("Front Yard Ballas\n{FFFFFF}Digite /equipar para equipar", COR_BALLAS, 2082.2151,-1578.1998,13.4291, 20.0, 0, 0);
180 Create3DTextLabel("Los Santos Vagos\n{FFFFFF}Digite /equipar para equipar", COR_VAGOS, 2232.4038,-1156.5575,25.8906, 20.0, 0, 0);
181 Create3DTextLabel("Varrio Los Aztecas\n{FFFFFF}Digite /equipar para equipar", COR_AZTECAS, 1871.0402,-2020.4272,13.5469, 20.0, 0, 0);
182 Create3DTextLabel("Los Santos Bikers\n{FFFFFF}Digite /equipar para equipar", COR_BIKERS, 2348.4954,-1372.6798,24.3984, 20.0, 0, 0);
183 Create3DTextLabel("The Lost MC\n{FFFFFF}Digite /equipar para equipar", COR_LOST, 2354.9946,-651.7393,128.0547, 20.0, 0, 0);
184
185 AddStaticPickup(19832, 23, 2506.8540,-1685.8157,13.5592, 0);
186 AddStaticPickup(19832, 23, 2082.2151,-1578.1998,13.4291, 0);
187 AddStaticPickup(19832, 23, 2232.4038,-1156.5575,25.8906, 0);
188 AddStaticPickup(19832, 23, 2348.4954,-1372.6798,24.3984, 0);
189 AddStaticPickup(19832, 23, 2354.9946,-651.7393,128.0547, 0);
190
191 // Carros Grove
192 AddStaticVehicleEx(412,2487.5000000,-1682.7000000,13.3000000,268.0000000,16,16,15); //Voodoo
193 AddStaticVehicleEx(412,2503.5000000,-1679.3000000,13.3000000,306.0000000,16,16,15); //Voodoo
194 AddStaticVehicleEx(536,2508.2000000,-1666.5000000,13.2000000,10.0000000,16,16,15); //Blade
195 AddStaticVehicleEx(567,2472.7000000,-1676.3000000,13.3000000,224.0000000,16,16,15); //Savanna
196 AddStaticVehicleEx(492,2501.2000000,-1657.0000000,13.3000000,62.0000000,16,16,15); //Greenwood
197 AddStaticVehicleEx(566,2486.8999000,-1655.2000000,13.2000000,90.0000000,16,16,15); //Tahoma
198 AddStaticVehicleEx(521,2477.7000000,-1655.0000000,13.0000000,178.0000000,16,16,15); //FCR-900
199 AddStaticVehicleEx(521,2476.6001000,-1655.0000000,13.0000000,178.0000000,16,16,15); //FCR-900
200 AddStaticVehicleEx(521,2478.8999000,-1655.0000000,13.0000000,182.0000000,16,16,15); //FCR-900
201
202 //Carros Ballas
203 AddStaticVehicleEx(412,2098.3999000,-1571.1000000,13.4000000,0.0000000,149,149,15); //Voodoo
204 AddStaticVehicleEx(412,2098.3999000,-1581.3000000,13.4000000,0.0000000,149,149,15); //Voodoo
205 AddStaticVehicleEx(536,2098.2000000,-1562.0000000,13.2000000,0.0000000,149,149,15); //Blade
206 AddStaticVehicleEx(567,2088.6001000,-1562.1000000,13.1000000,0.0000000,149,149,15); //Savanna
207 AddStaticVehicleEx(492,2088.3999000,-1571.2000000,13.1000000,0.0000000,149,149,15); //Greenwood
208 AddStaticVehicleEx(566,2088.5000000,-1580.7000000,13.2000000,0.0000000,149,149,15); //Tahoma
209 AddStaticVehicleEx(521,2094.1001000,-1555.1000000,12.8000000,0.0000000,149,149,15); //FCR-900
210 AddStaticVehicleEx(521,2093.0000000,-1555.1000000,12.8000000,0.0000000,149,149,15); //FCR-900
211 AddStaticVehicleEx(521,2091.8000000,-1555.2000000,12.8000000,0.0000000,149,149,15); //FCR-900
212
213 //Carros Vagos
214 AddStaticVehicleEx(412,2206.6001000,-1153.6000000,25.7000000,270.0000000,6,6,15); //Voodoo
215 AddStaticVehicleEx(412,2206.6001000,-1157.2000000,25.7000000,270.0000000,6,6,15); //Voodoo
216 AddStaticVehicleEx(536,2206.6001000,-1161.0000000,25.6000000,270.0000000,6,6,15); //Blade
217 AddStaticVehicleEx(567,2206.5000000,-1165.1000000,25.7000000,272.0000000,6,6,15); //Savanna
218 AddStaticVehicleEx(492,2206.3000000,-1169.1000000,25.6000000,272.0000000,6,6,15); //Greenwood
219 AddStaticVehicleEx(566,2206.0000000,-1172.9000000,25.6000000,270.0000000,6,6,15); //Tahoma
220 AddStaticVehicleEx(521,2204.5000000,-1177.8000000,25.4000000,0.0000000,6,6,15); //FCR-900
221 AddStaticVehicleEx(521,2205.7000000,-1177.7000000,25.4000000,0.0000000,6,6,15); //FCR-900
222 AddStaticVehicleEx(521,2206.7000000,-1177.7000000,25.4000000,0.0000000,6,6,15); //FCR-900
223
224 //Carros Aztecas
225 AddStaticVehicleEx(412,1876.6000000,-2037.4000000,13.5000000,0.0000000,7,7,15); //Voodoo
226 AddStaticVehicleEx(412,1876.5000000,-2028.5000000,13.5000000,0.0000000,7,7,15); //Voodoo
227 AddStaticVehicleEx(536,1889.3000000,-2038.0000000,13.4000000,0.0000000,7,7,15); //Blade
228 AddStaticVehicleEx(567,1889.7000000,-2029.4000000,13.5000000,0.0000000,7,7,15); //Savanna
229 AddStaticVehicleEx(492,1889.7000000,-2021.0000000,13.4000000,0.0000000,7,7,15); //Greenwood
230 AddStaticVehicleEx(566,1876.4000000,-2020.4000000,13.4000000,0.0000000,7,7,15); //Tahoma
231 AddStaticVehicleEx(521,1871.1000000,-2029.4000000,13.2000000,0.0000000,7,7,15); //FCR-900
232 AddStaticVehicleEx(521,1870.1000000,-2029.5000000,13.2000000,0.0000000,7,7,15); //FCR-900
233 AddStaticVehicleEx(521,1869.1000000,-2029.5000000,13.2000000,0.0000000,7,7,15); //FCR-900
234
235 //Carros Bikers
236 AddStaticVehicleEx(463,2357.3999000,-1359.6000000,23.6000000,270.0000000,0,0,15); //Freeway
237 AddStaticVehicleEx(463,2357.3999000,-1361.0000000,23.6000000,272.0000000,0,0,15); //Freeway
238 AddStaticVehicleEx(463,2357.3999000,-1358.4000000,23.6000000,272.0000000,0,0,15); //Freeway
239 AddStaticVehicleEx(463,2357.3999000,-1357.1000000,23.6000000,272.0000000,0,0,15); //Freeway
240 AddStaticVehicleEx(463,2357.3999000,-1362.2000000,23.6000000,272.0000000,0,0,15); //Freeway
241 AddStaticVehicleEx(463,2357.3999000,-1363.5000000,23.6000000,270.0000000,0,0,15); //Freeway
242 AddStaticVehicleEx(463,2357.3999000,-1364.8000000,23.6000000,268.0000000,0,0,15); //Freeway
243 AddStaticVehicleEx(463,2357.3999000,-1366.2000000,23.6000000,272.0000000,0,0,15); //Freeway
244 AddStaticVehicleEx(463,2357.3999000,-1367.6000000,23.6000000,270.0000000,0,0,15); //Freeway
245
246 //Carros The Lost MC
247 AddStaticVehicleEx(586,2359.2000000,-647.2999900,127.7000000,0.0000000,123,123,15); //Wayfarer
248 AddStaticVehicleEx(586,2360.8999000,-647.2999900,127.8000000,0.0000000,123,123,15); //Wayfarer
249 AddStaticVehicleEx(586,2362.5000000,-647.2000100,127.6000000,0.0000000,123,123,15); //Wayfarer
250 AddStaticVehicleEx(478,2365.2000000,-647.5999800,127.9000000,0.0000000,123,123,15); //Walton
251 AddStaticVehicleEx(478,2368.8000000,-647.5999800,127.7000000,0.0000000,123,123,15); //Walton
252 AddStaticVehicleEx(422,2372.1001000,-647.7000100,127.6000000,0.0000000,123,123,15); //Bobcat
253 AddStaticVehicleEx(422,2375.3000000,-647.7000100,127.5000000,0.0000000,123,123,15); //Bobcat
254 AddStaticVehicleEx(422,2378.6001000,-647.5999800,127.5000000,0.0000000,123,123,15); //Bobcat
255 AddStaticVehicleEx(422,2381.7000000,-647.5000000,127.5000000,0.0000000,123,123,15); //Bobcat
256 return 1;
257}
258public OnGameModeExit()
259{
260 print("\n----------------------------------");
261 print(" GameMode Base GangWar | Desligado.");
262 print("----------------------------------\n");
263 for(new i; i < MAX_PLAYERS; i++){if(Player[i][Logado] == 1){SalvarConta(i);return 1;}}
264 return 1;
265}
266public OnPlayerRequestClass(playerid, classid)
267{
268 new row;
269 LimparChat(playerid,100);
270 TextDrawShowForPlayer(playerid,TelaLogin[0]),TextDrawShowForPlayer(playerid,TelaLogin[1]);
271 TextDrawShowForPlayer(playerid,TelaLogin[2]),TextDrawShowForPlayer(playerid,TelaLogin[3]);
272 InterpolateCameraPos(playerid, 2414.344970, -1666.639404, 54.605773, 1483.025146, -907.421142, 82.550628, 6000);
273 InterpolateCameraLookAt(playerid, 2414.251220, -1671.561523, 53.731388, 1480.151367, -903.330383, 82.464698, 6000);
274 format(query, sizeof(query), "SELECT * FROM Contas WHERE Nick='%s' LIMIT 1", Nome(playerid));
275 mysql_query(Conexao, query, true);
276 cache_get_row_count(row);
277 cache_get_value_name_int(0, "Senha", Player[playerid][Senha]);
278 if(row > 0) ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Login no servidor", "Você é registrado, digite sua senha abaixo", "Logar", "Sair");
279 else ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registro no servidor", "Você não é registrado, digite uma senha abaixo", "Registrar", "Sair");
280 return 1;
281}
282public OnPlayerConnect(playerid)
283{
284 new string[100];
285 format(string,sizeof(string),"%s {FFFFFF}conectou no servidor.",Nome(playerid));
286 SendClientMessageToAll(CINZA,string);
287 LimparChat(playerid,100);
288 return 1;
289}
290public OnPlayerDisconnect(playerid, reason)
291{
292 new string[100];
293 new szDisconnectReason[3][] ={"Conexão/Crash","Vontade Própria","Kickado/Banido"};
294 format(string,sizeof(string),"%s {FFFFFF}desconectou do servidor. (Motivo: %s)",Nome(playerid), szDisconnectReason[reason]);
295 SendClientMessageToAll(CINZA,string);
296 if(Player[playerid][Logado]) SalvarConta(playerid);
297 TextDrawHideForPlayer(playerid,TelaLogin[0]),TextDrawHideForPlayer(playerid,TelaLogin[1]);
298 TextDrawHideForPlayer(playerid,TelaLogin[2]),TextDrawHideForPlayer(playerid,TelaLogin[3]);
299 return 1;
300}
301public OnPlayerSpawn(playerid)
302{
303 ResetPlayerWeapons(playerid);
304 SetPlayerHealth(playerid, 100);
305 SetPlayerTeam(playerid, Player[playerid][Gangue]); //Evita Team Kill
306 TextDrawHideForPlayer(playerid,TelaLogin[0]),TextDrawHideForPlayer(playerid,TelaLogin[1]);
307 TextDrawHideForPlayer(playerid,TelaLogin[2]),TextDrawHideForPlayer(playerid,TelaLogin[3]);
308 if(Player[playerid][Gangue] == 1)
309 {
310 SetPlayerPos(playerid, 2509.9033,-1680.5381,13.5469);
311 SetPlayerInterior(playerid, 0);
312 SetPlayerColor(playerid, COR_GROVE);
313 return 1;
314 }
315 else if(Player[playerid][Gangue] == 2)
316 {
317 SetPlayerPos(playerid, 2085.5129,-1575.9478,13.4100);
318 SetPlayerInterior(playerid, 0);
319 SetPlayerColor(playerid, COR_BALLAS);
320 return 1;
321 }
322 else if(Player[playerid][Gangue] == 3)
323 {
324 SetPlayerPos(playerid, 2226.5706,-1156.5385,25.7949);
325 SetPlayerInterior(playerid, 0);
326 SetPlayerColor(playerid, COR_VAGOS);
327 return 1;
328 }
329 else if(Player[playerid][Gangue] == 4)
330 {
331 SetPlayerPos(playerid, 1876.1732,-2018.1912,13.5391);
332 SetPlayerInterior(playerid, 0);
333 SetPlayerColor(playerid, COR_AZTECAS);
334 return 1;
335 }
336 else if(Player[playerid][Gangue] == 5)
337 {
338 SetPlayerPos(playerid, 2338.5767,-1373.2506,24.0129);
339 SetPlayerInterior(playerid, 0);
340 SetPlayerColor(playerid, COR_BIKERS);
341 return 1;
342 }
343 else if(Player[playerid][Gangue] == 6)
344 {
345 SetPlayerPos(playerid, 2351.7117,-655.1479,128.0547);
346 SetPlayerInterior(playerid, 0);
347 SetPlayerColor(playerid, COR_LOST);
348 return 1;
349 }
350 return 1;
351}
352public OnPlayerDeath(playerid, killerid, reason)
353{
354 new string[256];
355 SendDeathMessage(killerid, playerid, reason);
356 if(playerid != INVALID_PLAYER_ID) SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);
357 if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
358 if(Player[killerid][Gangue] == 1)
359 {
360 GroveMatou++; GroveTotal++;
361 format(string,sizeof(string),"INFO: {FFFFFF}%s Matou %s e conquistou mais 1 ponto para os {00D900}Grove Street Families!",Nome(killerid),Nome(playerid));
362 SendClientMessageToAll(COR_GROVE,string);
363 return 1;
364 }
365 else if(Player[killerid][Gangue] == 2)
366 {
367 BallasMatou++; BallasTotal++;
368 format(string,sizeof(string),"INFO: {FFFFFF}%s Matou %s e conquistou mais 1 ponto para os {9900FF}Front Yard Ballas!",Nome(killerid),Nome(playerid));
369 SendClientMessageToAll(COR_BALLAS,string);
370 return 1;
371 }
372 else if(Player[killerid][Gangue] == 3)
373 {
374 VagosMatou++; VagosTotal++;
375 format(string,sizeof(string),"INFO: {FFFFFF}%s Matou %s e conquistou mais 1 ponto para os {FFC801}Los Santos Vagos!",Nome(killerid),Nome(playerid));
376 SendClientMessageToAll(COR_VAGOS,string);
377 return 1;
378 }
379 else if(Player[killerid][Gangue] == 4)
380 {
381 AztecasMatou++; AztecasTotal++;
382 format(string,sizeof(string),"INFO: {FFFFFF}%s Matou %s e conquistou mais 1 ponto para os {2641FE}Varrio Los Aztecas!",Nome(killerid),Nome(playerid));
383 SendClientMessageToAll(COR_AZTECAS,string);
384 return 1;
385 }
386 else if(Player[killerid][Gangue] == 5)
387 {
388 BikersMatou++; BikersTotal++;
389 format(string,sizeof(string),"INFO: {FFFFFF}%s Matou %s e conquistou mais 1 ponto para os {A2B5CD}Los Santos Bikers!",Nome(killerid),Nome(playerid));
390 SendClientMessageToAll(COR_BIKERS,string);
391 return 1;
392 }
393 else if(Player[killerid][Gangue] == 6)
394 {
395 LostMatou++; LostTotal++;
396 format(string,sizeof(string),"INFO: {FFFFFF}%s Matou %s e conquistou mais 1 ponto para os {A2B5CD}The Lost MC!",Nome(killerid),Nome(playerid));
397 SendClientMessageToAll(COR_LOST,string);
398 return 1;
399 }
400 //
401 if(Player[playerid][Gangue] == 1)
402 {
403 GroveMorreu++; GroveTotal--;
404 return 1;
405 }
406 else if(Player[playerid][Gangue] == 2)
407 {
408 BallasMorreu++; BallasTotal--;
409 return 1;
410 }
411 else if(Player[playerid][Gangue] == 3)
412 {
413 VagosMorreu++; VagosTotal--;
414 return 1;
415 }
416 else if(Player[playerid][Gangue] == 4)
417 {
418 AztecasMorreu++; AztecasTotal--;
419 return 1;
420 }
421 else if(Player[playerid][Gangue] == 5)
422 {
423 BikersMorreu++; BikersTotal--;
424 return 1;
425 }
426 else if(Player[playerid][Gangue] == 6)
427 {
428 LostMorreu++; LostTotal--;
429 return 1;
430 }
431 return 1;
432}
433public OnVehicleSpawn(vehicleid)
434{
435 return 1;
436}
437public OnVehicleDeath(vehicleid, killerid)
438{
439 return 1;
440}
441public OnPlayerText(playerid, text[])
442{
443 if(strlen(text) > 100 || strval(text) > 100) return SendClientMessage(playerid,VERMELHO,"ERRO: {FFFFFF}Texto muito grande, diminua um pouco! (Máximo: 100 letras)");
444 return 1;
445}
446public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
447{
448 if(result == -1) SendClientMessage(playerid,VERMELHO,"ERRO: {FFFFFF}Comando não existe no servidor, utilize /ajuda para ver os comandos!");
449 return 1;
450}
451CMD:limparchat(playerid)
452{
453 LimparChat(playerid, 100);
454 return 1;
455}
456CMD:creditos(playerid)
457{
458 new creditos[800];
459 strcat(creditos, "{FF0000}GameMode Base GangWar {FFFFFF}v1.0\n\n");
460 strcat(creditos, "{FF0000}Criador do GameMode: {FFFFFF}Spike Compiler\n\n");
461 strcat(creditos, "{FF0000}Editor do GameMode: {FFFFFF}Seu_Nick\n\n");
462 strcat(creditos, "{FFFFFF}Créditos a todos os players por jogar conosco!\n");
463 ShowPlayerDialog(playerid,DIALOG_CREDITOS,DIALOG_STYLE_MSGBOX,"{FFFFFF}Créditos do servidor",creditos,"Informado","");
464 return 1;
465}
466CMD:equipar(playerid)
467{
468 if(IsPlayerInRangeOfPoint(playerid, 3.0, 2506.8540,-1685.8157,13.5592))
469 {
470 if(Player[playerid][Gangue] == 1)
471 {
472 Equipamentos(playerid);
473 SendClientMessage(playerid,COR_GROVE,"[Grove Street Families] {FFFFFF}Você pegou seus equipamentos!");
474 return 1;
475 }
476 return 1;
477 }
478 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 2082.2151,-1578.1998,13.4291))
479 {
480 if(Player[playerid][Gangue] == 2)
481 {
482 Equipamentos(playerid);
483 SendClientMessage(playerid,COR_BALLAS,"[Front Yard Ballas] {FFFFFF}Você pegou seus equipamentos!");
484 return 1;
485 }
486 return 1;
487 }
488 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 2232.4038,-1156.5575,25.8906))
489 {
490 if(Player[playerid][Gangue] == 3)
491 {
492 Equipamentos(playerid);
493 SendClientMessage(playerid,COR_VAGOS,"[Los Santos Vagos] {FFFFFF}Você pegou seus equipamentos!");
494 return 1;
495 }
496 return 1;
497 }
498 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 1871.0402,-2020.4272,13.5469))
499 {
500 if(Player[playerid][Gangue] == 4)
501 {
502 Equipamentos(playerid);
503 SendClientMessage(playerid,COR_AZTECAS,"[Varrio Los Aztecas] {FFFFFF}Você pegou seus equipamentos!");
504 return 1;
505 }
506 return 1;
507 }
508 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 2348.4954,-1372.6798,24.3984))
509 {
510 if(Player[playerid][Gangue] == 5)
511 {
512 Equipamentos(playerid);
513 SendClientMessage(playerid,COR_BIKERS,"[Los Santos Bikers] {FFFFFF}Você pegou seus equipamentos!");
514 return 1;
515 }
516 return 1;
517 }
518 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 2354.9946,-651.7393,128.0547))
519 {
520 if(Player[playerid][Gangue] == 6)
521 {
522 Equipamentos(playerid);
523 SendClientMessage(playerid,COR_LOST,"[The Lost MC] {FFFFFF}Você pegou seus equipamentos!");
524 return 1;
525 }
526 return 1;
527 }
528 return 1;
529}
530CMD:kill(playerid)
531{
532 SetPlayerHealth(playerid, 0);
533 SetPlayerScore(playerid, GetPlayerScore(playerid) - 2);
534 SendClientMessage(playerid,VERMELHO,"INFO: {FFFFFF}Você se matou, perdeu 2 Score!");
535 return 1;
536}
537CMD:rank(playerid)
538{
539 new string[900], strgrove[128], strballas[128], strvagos[128], straztecas[128], strbikers[128], strlost[128];
540 format(strgrove,sizeof(strgrove),"{00D900}Grove Street Families: Matou {FFFFFF}%d {00D900}Morreu {FFFFFF}%d | {00D900}TOTAL: {FFFFFF}%d\n\n",GroveMatou,GroveMorreu,GroveTotal);
541 strcat(string, strgrove);
542 format(strballas,sizeof(strballas),"{9900FF}Front Yard Ballas: Matou {FFFFFF}%d {9900FF}Morreu {FFFFFF}%d | {9900FF}TOTAL: {FFFFFF}%d\n\n",BallasMatou,BallasMorreu,BallasTotal);
543 strcat(string, strballas);
544 format(strvagos,sizeof(strvagos),"{FFC801}Los Santos Vagos: Matou {FFFFFF}%d {FFC801}Morreu {FFFFFF}%d | {FFC801}TOTAL: {FFFFFF}%d\n\n",VagosMatou,VagosMorreu,VagosTotal);
545 strcat(string, strvagos);
546 format(straztecas,sizeof(straztecas),"{2641FE}Varrio Los Aztecas: Matou {FFFFFF}%d {2641FE}Morreu {FFFFFF}%d | {2641FE}TOTAL: {FFFFFF}%d\n\n",AztecasMatou,AztecasMorreu,AztecasTotal);
547 strcat(string, straztecas);
548 format(strbikers,sizeof(strbikers),"{A2B5CD}Los Santos Bikers: Matou {FFFFFF}%d {A2B5CD}Morreu {FFFFFF}%d | {A2B5CD}TOTAL: {FFFFFF}%d\n\n",BikersMatou,BikersMorreu,BikersTotal);
549 strcat(string, strbikers);
550 format(strlost,sizeof(strlost),"{008B8B}The Lost MC: Matou {FFFFFF}%d {008B8B}Morreu {FFFFFF}%d | {008B8B}TOTAL: {FFFFFF}%d\n",LostMatou,LostMorreu,LostTotal);
551 strcat(string, strlost);
552 ShowPlayerDialog(playerid,DIALOG_RANK,DIALOG_STYLE_MSGBOX,"{FFFFFF}Rank Gangue's",string,"Informado","");
553 return 1;
554}
555CMD:mudarskin(playerid)
556{
557 if(Player[playerid][Gangue] == 1) return ShowModelSelectionMenu(playerid, skingrove, "Grove Street Families");
558 else if(Player[playerid][Gangue] == 2) return ShowModelSelectionMenu(playerid, skinballas, "Front Yard Ballas");
559 else if(Player[playerid][Gangue] == 3) return ShowModelSelectionMenu(playerid, skinvagos, "Los Santos Vagos");
560 else if(Player[playerid][Gangue] == 4) return ShowModelSelectionMenu(playerid, skinaztecas, "Varrio Los Aztecas");
561 else if(Player[playerid][Gangue] == 5) return ShowModelSelectionMenu(playerid, skinbikers, "Los Santos Bikers");
562 else if(Player[playerid][Gangue] == 6) return ShowModelSelectionMenu(playerid, skinlost, "The Lost MC");
563 return 1;
564}
565public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
566{
567 return 1;
568}
569public OnPlayerExitVehicle(playerid, vehicleid)
570{
571 return 1;
572}
573public OnPlayerStateChange(playerid, newstate, oldstate)
574{
575 return 1;
576}
577public OnPlayerEnterCheckpoint(playerid)
578{
579 return 1;
580}
581public OnPlayerLeaveCheckpoint(playerid)
582{
583 return 1;
584}
585public OnPlayerEnterRaceCheckpoint(playerid)
586{
587 return 1;
588}
589public OnPlayerLeaveRaceCheckpoint(playerid)
590{
591 return 1;
592}
593public OnRconCommand(cmd[])
594{
595 return 1;
596}
597public OnPlayerRequestSpawn(playerid)
598{
599 return 0;
600}
601public OnObjectMoved(objectid)
602{
603 return 1;
604}
605public OnPlayerObjectMoved(playerid, objectid)
606{
607 return 1;
608}
609public OnPlayerPickUpPickup(playerid, pickupid)
610{
611 return 1;
612}
613public OnVehicleMod(playerid, vehicleid, componentid)
614{
615 return 1;
616}
617public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
618{
619 return 1;
620}
621public OnVehicleRespray(playerid, vehicleid, color1, color2)
622{
623 return 1;
624}
625public OnPlayerSelectedMenuRow(playerid, row)
626{
627 return 1;
628}
629public OnPlayerExitedMenu(playerid)
630{
631 return 1;
632}
633public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
634{
635 return 1;
636}
637public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
638{
639 return 1;
640}
641public OnRconLoginAttempt(ip[], password[], success)
642{
643 if(!success)
644 {
645 new pip[16];
646 printf("IP %s Tentou logar RCON com a senha: %s",ip, password);
647 for(new i = GetPlayerPoolSize(); i != -1; --i)
648 {
649 GetPlayerIp(i, pip, sizeof(pip));
650 if(!strcmp(ip, pip, true))
651 {
652 SendClientMessage(i, VERMELHO, "INFO: {FFFFFF}Você foi kickado por errar a senha RCON.");
653 Kick(i);
654 }
655 }
656 }
657 return 1;
658}
659public OnPlayerUpdate(playerid)
660{
661 return 1;
662}
663public OnPlayerStreamIn(playerid, forplayerid)
664{
665 return 1;
666}
667public OnPlayerStreamOut(playerid, forplayerid)
668{
669 return 1;
670}
671public OnVehicleStreamIn(vehicleid, forplayerid)
672{
673 return 1;
674}
675public OnVehicleStreamOut(vehicleid, forplayerid)
676{
677 return 1;
678}
679public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
680{
681 switch(dialogid)
682 {
683 case DIALOG_REGISTRO:
684 {
685 if(!response){Kick(playerid);return 1;}
686 if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
687 {
688 SendClientMessage(playerid, VERMELHO, "ERRO: {FFFFFF}Digite uma senha de 4 a 20 caracteres.");
689 ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registro no servidor", "Você não é registrado, digite uma senha abaixo", "Registrar", "Sair");
690 return 1;
691 }
692 if(!strval(inputtext))
693 {
694 ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registro no servidor", "Você não é registrado, digite uma senha abaixo", "Registrar", "Sair");
695 SendClientMessage(playerid,VERMELHO, "ERRO: {FFFFFF}Digite apenas numeros!");
696 return 1;
697 }
698 CriarConta(playerid, inputtext);
699 ShowPlayerDialog(playerid,DIALOG_GANGUES,DIALOG_STYLE_LIST,"{FFFFFF}Gangue's Los Santos","{32CD32}Grove Street Families - GSF\n{9932CC}Front Yard Ballas - FYB\n{FFD700}Los Santos Vagos - LSV\n{4876FF}Varrio Los Aztecas - VLA\n{A2B5CD}Los Santos Bikers - LSB\n{008B8B}The Lost MC - TLM","Selecionar","Cancelar");
700 }
701 case DIALOG_LOGIN:
702 {
703 if(!response){Kick(playerid);return 1;}
704 if(strval(inputtext) == Player[playerid][Senha])
705 {
706 SendClientMessage(playerid,VERDE, "INFO: {FFFFFF}Login efetuado com sucesso, bem vindo novamente ao servidor!");
707 SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
708 SpawnPlayer(playerid);
709 CarregarConta(playerid);
710 if(Player[playerid][Gangue] == 1)
711 {
712 SetPlayerPos(playerid, 2509.9033,-1680.5381,13.5469);
713 SetPlayerInterior(playerid, 0);
714 SetPlayerColor(playerid, COR_GROVE);
715 return 1;
716 }
717 else if(Player[playerid][Gangue] == 2)
718 {
719 SetPlayerPos(playerid, 2085.5129,-1575.9478,13.4100);
720 SetPlayerInterior(playerid, 0);
721 SetPlayerColor(playerid, COR_BALLAS);
722 return 1;
723 }
724 else if(Player[playerid][Gangue] == 3)
725 {
726 SetPlayerPos(playerid, 2226.5706,-1156.5385,25.7949);
727 SetPlayerInterior(playerid, 0);
728 SetPlayerColor(playerid, COR_VAGOS);
729 return 1;
730 }
731 else if(Player[playerid][Gangue] == 4)
732 {
733 SetPlayerPos(playerid, 1876.1732,-2018.1912,13.5391);
734 SetPlayerInterior(playerid, 0);
735 SetPlayerColor(playerid, COR_AZTECAS);
736 return 1;
737 }
738 else if(Player[playerid][Gangue] == 5)
739 {
740 SetPlayerPos(playerid, 2338.5767,-1373.2506,24.0129);
741 SetPlayerInterior(playerid, 0);
742 SetPlayerColor(playerid, COR_BIKERS);
743 return 1;
744 }
745 else if(Player[playerid][Gangue] == 6)
746 {
747 SetPlayerPos(playerid, 2351.7117,-655.1479,128.0547);
748 SetPlayerInterior(playerid, 0);
749 SetPlayerColor(playerid, COR_LOST);
750 return 1;
751 }
752 }
753 else
754 {
755 new string[90];
756 if(ErrouSenha[playerid] == 3)
757 {
758 SendClientMessage(playerid,VERMELHO,"ERRO: {FFFFFF}Você errou sua senha 3 vezes, foi kickado.");
759 ErrouSenha[playerid] = 0;
760 Kick(playerid);
761 return 1;
762 }
763 ErrouSenha[playerid]++;
764 format(string,sizeof(string),"ERRO: {FFFFFF}Senha Incorreta! (%d/3)",ErrouSenha);
765 SendClientMessage(playerid,VERMELHO,string);
766 ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Login no servidor", "Você é registrado, digite sua senha abaixo", "Logar", "Sair");
767 return 1;
768 }
769 }
770 }
771 if(dialogid == DIALOG_GANGUES)
772 {
773 if(response)
774 {
775 switch(listitem)
776 {
777 case 0:
778 {
779 Player[playerid][Gangue] = 1;
780 SetPlayerColor(playerid, COR_GROVE);
781 SetSpawnInfo(playerid, 0, 107 ,2514.4358,-1672.1802,13.5754,87.6967,0,0,0,0,0,0);
782 SpawnPlayer(playerid);
783 SendClientMessage(playerid,COR_GROVE,"INFO: Você agora é um membro da Gangue Grove Street Families!");
784 return 1;
785 }
786 case 1:
787 {
788 Player[playerid][Gangue] = 2;
789 SetPlayerColor(playerid, COR_BALLAS);
790 SetSpawnInfo(playerid,0, 104 ,2154.4451,-1684.4480,15.0859,271.5865,0,0,0,0,0,0);
791 SpawnPlayer(playerid);
792 SendClientMessage(playerid,COR_BALLAS,"INFO: Você agora é um membro da Gangue Front Yard Ballas!");
793 return 1;
794 }
795 case 2:
796 {
797 Player[playerid][Gangue] = 3;
798 SetPlayerColor(playerid, COR_VAGOS);
799 SetSpawnInfo(playerid, 0, 110 ,2226.7393,-1158.1874,25.7842,345.1212,0,0,0,0,0,0);
800 SpawnPlayer(playerid);
801 SendClientMessage(playerid,COR_VAGOS,"INFO: Você agora é um membro da Gangue Los Santos Vagos!");
802 return 1;
803 }
804 case 3:
805 {
806 Player[playerid][Gangue] = 4;
807 SetPlayerColor(playerid, COR_AZTECAS);
808 SetSpawnInfo(playerid, 0, 116 ,1875.6589,-2018.2567,13.5391,164.4207,0,0,0,0,0,0);
809 SpawnPlayer(playerid);
810 SendClientMessage(playerid,COR_AZTECAS,"INFO: Você agora é um membro da Gangue Varrio Los Aztecas!");
811 return 1;
812 }
813 case 4:
814 {
815 Player[playerid][Gangue] = 5;
816 SetPlayerColor(playerid, COR_BIKERS);
817 SetSpawnInfo(playerid, 0, 100 ,2305.2695,-1632.2406,14.4774,171.5569,0,0,0,0,0,0);
818 SpawnPlayer(playerid);
819 SendClientMessage(playerid,COR_BIKERS,"INFO: Você agora é um membro da Gangue Los Santos Biker's!");
820 return 1;
821 }
822 case 5:
823 {
824 Player[playerid][Gangue] = 6;
825 SetPlayerColor(playerid, COR_LOST);
826 SetSpawnInfo(playerid, 0, 158 ,1108.7306,-309.7142,73.9922,114.7386,0,0,0,0,0,0);
827 SpawnPlayer(playerid);
828 SendClientMessage(playerid,COR_LOST,"INFO: Você agora é um membro da Gangue The Lost MC!");
829 return 1;
830 }
831 }
832 }
833 }
834 return 1;
835}
836public OnPlayerClickPlayer(playerid, clickedplayerid, source)
837{
838 return 1;
839}
840public Kickar(playerid)
841{
842 #undef Kick
843 Kick(playerid);
844 #define Kick(%0) SetTimerEx("Kickar", 150, false, "i", %0)
845 return 1;
846}
847public Banir(playerid)
848{
849 #undef Ban
850 Kick(playerid);
851 #define Ban(%0) SetTimerEx("Banir", 150, false, "i", %0)
852 return 1;
853}
854public mMensagens()
855{
856 new random2 = random(sizeof(RandomColors));
857 new randMSG = random(sizeof(Mensagens));
858 SendClientMessageToAll(RandomColors[random2], Mensagens[randMSG]);
859 return 1;
860}
861public OnPlayerModelSelection(playerid, response, listid, modelid)
862{
863 if(listid == skingrove, skinballas, skinvagos, skinaztecas, skinbikers, skinlost)
864 {
865 if(response)
866 {
867 if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid,VERMELHO,"ERRO: {FFFFFF}Você não tem dinheiro suficiente!");
868 SendClientMessage(playerid, VERDE, "INFO: {FFFFFF}Skin alterada, foi cobrado R$100!");
869 GivePlayerMoney(playerid, -100);
870 SetPlayerSkin(playerid, modelid);
871 }
872 else SendClientMessage(playerid, VERMELHO, "INFO: {FFFFFF}Você cancelou a troca de SKIN.");
873 return 1;
874 }
875 return 1;
876}
877stock Nome(playerid)
878{
879 new pNome[MAX_PLAYER_NAME];
880 GetPlayerName(playerid, pNome, 24);
881 return pNome;
882}
883stock LimparChat(playerid, linhas){
884 for(new b = 0; b <= linhas; b++) SendClientMessage(playerid,CINZA, " ");
885}
886CriarConta(playerid, senhaz[])
887{
888 query[0] = EOS;
889 format(query, sizeof(query), "INSERT INTO Contas(Nick, Senha) VALUES ('%s', '%s')", Nome(playerid), senhaz);
890 mysql_query(Conexao, query, true);
891 CarregarConta(playerid);
892 return 1;
893}
894SalvarConta(playerid)
895{
896 if(Player[playerid][Logado] == 0) return 0;
897 format(query, sizeof(query), "SELECT * FROM Contas WHERE Nick='%s'", Nome(playerid));
898 mysql_query(Conexao,query,true);
899 format(query, sizeof(query), "UPDATE Contas SET Nick='%s', Nivel=%d, Dinheiro=%d, Gangue=%d, Skin=%d WHERE ID=%d", Nome(playerid), GetPlayerScore(playerid), GetPlayerMoney(playerid), Player[playerid][Gangue], GetPlayerSkin(playerid), Player[playerid][ID]);
900 mysql_query(Conexao, query, false);
901 return 1;
902}
903CarregarConta(playerid)
904{
905 format(query, sizeof(query), "SELECT * FROM Contas WHERE Nick='%s'", Nome(playerid));
906 mysql_query(Conexao,query,true);
907
908 cache_get_value_name_int(0, "ID", Player[playerid][ID]);
909 cache_get_value_name_int(0, "Dinheiro", Player[playerid][Dinheiro]);
910 cache_get_value_name_int(0, "Nivel", Player[playerid][Nivel]);
911 cache_get_value_name_int(0, "Gangue", Player[playerid][Gangue]);
912 cache_get_value_name_int(0, "Skin", Player[playerid][Skin]);
913
914 SetPlayerScore(playerid, Player[playerid][Nivel]);
915 GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
916 SetPlayerSkin(playerid, Player[playerid][Skin]);
917 Player[playerid][Logado] = 1;
918 return 1;
919}
920stock Equipamentos(playerid)
921{
922 ResetPlayerWeapons(playerid);
923 GivePlayerWeapon(playerid, 24, 500);
924 GivePlayerWeapon(playerid, 28, 500);
925 GivePlayerWeapon(playerid, 30, 500);
926 SetPlayerHealth(playerid, 100);
927 SetPlayerArmour(playerid, 100);
928 return 1;
929}