· 8 years ago · Feb 26, 2018, 05:49 PM
1/*
2
3 GameMode Base GangWar v2.0 (New)
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 Spike Compiler - Criador do GameMode Base
11
12 IlanZ - Pelo GameMode Base em Registro/Login MySQL.
13
14 YourShadow - Pelo processador de comandos Pawn.CMD
15
16 BlueG - Pelo MySQL SAMP.
17
18 JFS - Pelo sistema de Rank do seu Gamemode Base GangWar.
19
20 Kalcor - Criador do SAMP.
21
22 Versão MySQL Utilizada: R41-4
23
24*/
25#include <a_samp>
26#include <a_mysql>
27#include <Pawn.CMD>
28#include <mSelection>
29
30#define host "localhost"
31#define usuario "root"
32#define database "samp"
33#define senha "" //Não contém SENHA, Pois estou utilizando Wamp
34
35#define Kick(%0) SetTimerEx("Kickar", 200, false, "i", %0)
36#define Ban(%0) SetTimerEx("Banir", 200, false, "i", %0)
37
38#if defined MAX_PLAYERS
39 #undef MAX_PLAYERS
40 #define MAX_PLAYERS (100)
41#endif
42
43#define VERDE 0x21DD00FF
44#define VERMELHO 0xFB0000FF
45#define AMARELO 0xFFFF00FF
46#define AZUL_CLARO 0x00C2ECFF
47#define BRANCO 0xFFFFFFFF
48#define CINZA 0xCECECEFF
49
50#define COR_GROVE 0x00D900C8
51#define COR_BALLAS 0x9900FFC8
52#define COR_VAGOS 0xFFC801C8
53#define COR_AZTECAS 0x2641FEC8
54#define COR_BIKERS 0xA2B5CDFF
55#define COR_LOST 0x008B8BFF
56
57#define DIALOG_REGISTRO 1
58#define DIALOG_LOGIN 2
59#define DIALOG_GANGUES 3
60#define DIALOG_CREDITOS 4
61#define DIALOG_RANK 5
62
63forward Kickar(playerid);
64forward Banir(playerid);
65forward mMensagens();
66
67enum PlayerD
68{
69 ID,
70 Senha,
71 Dinheiro,
72 Nivel,
73 Logado,
74 Gangue,
75 Skin
76}
77new Mensagens[][] =
78{
79 "INFO: Deseja ver os desenvolvedores do servidor? /creditos!",
80 "INFO: Deseja ver o Rank das Gangue's do servidor e ver quem está liderando!? /rank!",
81 "INFO: Sempre ao entrar no servidor, tente otimizar sua conexão, evite prejudicar outros players.",
82 "INFO: Não utilize programas ilegais no servidor, poderá ser banido permanentemente!"
83};
84new RandomColors [] ={VERMELHO,AZUL_CLARO,AMARELO,CINZA};
85new Player[MAX_PLAYERS][PlayerD];
86new MySQL:Conexao;
87new query[250];
88new Text:TelaLogin[4];
89new ErrouSenha[MAX_PLAYERS];
90new GroveMatou, GroveMorreu, GroveTotal;
91new BallasMatou, BallasMorreu, BallasTotal;
92new VagosMatou, VagosMorreu, VagosTotal;
93new AztecasMatou, AztecasMorreu, AztecasTotal;
94new BikersMatou, BikersMorreu, BikersTotal;
95new LostMatou, LostMorreu, LostTotal;
96new skingrove = mS_INVALID_LISTID, skinballas = mS_INVALID_LISTID, skinvagos = mS_INVALID_LISTID;
97new skinaztecas = mS_INVALID_LISTID, skinbikers = mS_INVALID_LISTID, skinlost = mS_INVALID_LISTID;
98
99main()
100{
101 print("\n----------------------------------");
102 print(" GameMode Base GangWar | Iniciado.");
103 print("----------------------------------\n");
104}
105
106public OnGameModeInit()
107{
108 Conexao = mysql_connect(host, usuario, senha, database);
109 if(mysql_errno() != 0) print("Não foi possÃvel conectar-se na database MySQL."), SendRconCommand("exit");
110 else print("Conectado com sucesso na database MySQL!");
111 mysql_tquery(Conexao, "CREATE TABLE IF NOT EXISTS Contas(ID int AUTO_INCREMENT PRIMARY KEY,\
112 Nick varchar(20) NOT NULL,\
113 Senha int(20) NOT NULL,\
114 Dinheiro int NOT NULL DEFAULT 1000,\
115 Nivel int NOT NULL DEFAULT 1,\
116 Gangue int NOT NULL DEFAULT 0,\
117 Skin int NOT NULL DEFAULT 0)");
118
119 SetGameModeText("GameMode Base GangWar");
120 SendRconCommand("hostname GameMode Base GangWar | v2.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){GroveMorreu++; GroveTotal--;return 1;}
402 else if(Player[playerid][Gangue] == 2){BallasMorreu++; BallasTotal--;return 1;}
403 else if(Player[playerid][Gangue] == 3){VagosMorreu++; VagosTotal--;return 1;}
404 else if(Player[playerid][Gangue] == 4){AztecasMorreu++; AztecasTotal--;return 1;}
405 else if(Player[playerid][Gangue] == 5){BikersMorreu++; BikersTotal--;return 1;}
406 else if(Player[playerid][Gangue] == 6){LostMorreu++; LostTotal--;return 1;}
407 return 1;
408}
409public OnPlayerText(playerid, text[])
410{
411 if(strlen(text) > 100 || strval(text) > 100) return SendClientMessage(playerid,VERMELHO,"ERRO: {FFFFFF}Texto muito grande, diminua um pouco! (Máximo: 100 letras)");
412 return 1;
413}
414public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
415{
416 if(result == -1) SendClientMessage(playerid,VERMELHO,"ERRO: {FFFFFF}Comando não existe no servidor, utilize /ajuda para ver os comandos!");
417 return 1;
418}
419CMD:limparchat(playerid)
420{
421 LimparChat(playerid, 100);
422 return 1;
423}
424CMD:creditos(playerid)
425{
426 new creditos[800];
427 strcat(creditos, "{FF0000}GameMode Base GangWar {FFFFFF}v2.0\n\n");
428 strcat(creditos, "{FF0000}Criador do GameMode: {FFFFFF}Spike Compiler\n\n");
429 strcat(creditos, "{FF0000}Editor do GameMode: {FFFFFF}Seu_Nick\n\n");
430 strcat(creditos, "{FFFFFF}Créditos a todos os players por jogar conosco!\n");
431 ShowPlayerDialog(playerid,DIALOG_CREDITOS,DIALOG_STYLE_MSGBOX,"{FFFFFF}Créditos do servidor",creditos,"Informado","");
432 return 1;
433}
434CMD:equipar(playerid)
435{
436 if(IsPlayerInRangeOfPoint(playerid, 3.0, 2506.8540,-1685.8157,13.5592))
437 {
438 if(Player[playerid][Gangue] == 1)
439 {
440 Equipamentos(playerid);
441 SendClientMessage(playerid,COR_GROVE,"[Grove Street Families] {FFFFFF}Você pegou seus equipamentos!");
442 return 1;
443 }
444 }
445 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 2082.2151,-1578.1998,13.4291))
446 {
447 if(Player[playerid][Gangue] == 2)
448 {
449 Equipamentos(playerid);
450 SendClientMessage(playerid,COR_BALLAS,"[Front Yard Ballas] {FFFFFF}Você pegou seus equipamentos!");
451 return 1;
452 }
453 }
454 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 2232.4038,-1156.5575,25.8906))
455 {
456 if(Player[playerid][Gangue] == 3)
457 {
458 Equipamentos(playerid);
459 SendClientMessage(playerid,COR_VAGOS,"[Los Santos Vagos] {FFFFFF}Você pegou seus equipamentos!");
460 return 1;
461 }
462 }
463 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 1871.0402,-2020.4272,13.5469))
464 {
465 if(Player[playerid][Gangue] == 4)
466 {
467 Equipamentos(playerid);
468 SendClientMessage(playerid,COR_AZTECAS,"[Varrio Los Aztecas] {FFFFFF}Você pegou seus equipamentos!");
469 return 1;
470 }
471 }
472 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 2348.4954,-1372.6798,24.3984))
473 {
474 if(Player[playerid][Gangue] == 5)
475 {
476 Equipamentos(playerid);
477 SendClientMessage(playerid,COR_BIKERS,"[Los Santos Bikers] {FFFFFF}Você pegou seus equipamentos!");
478 return 1;
479 }
480 }
481 else if(IsPlayerInRangeOfPoint(playerid, 3.0, 2354.9946,-651.7393,128.0547))
482 {
483 if(Player[playerid][Gangue] == 6)
484 {
485 Equipamentos(playerid);
486 SendClientMessage(playerid,COR_LOST,"[The Lost MC] {FFFFFF}Você pegou seus equipamentos!");
487 return 1;
488 }
489 }
490 return 1;
491}
492CMD:kill(playerid)
493{
494 SetPlayerHealth(playerid, 0);
495 SetPlayerScore(playerid, GetPlayerScore(playerid) - 2);
496 SendClientMessage(playerid,VERMELHO,"INFO: {FFFFFF}Você se matou, perdeu 2 Score!");
497 return 1;
498}
499CMD:rank(playerid)
500{
501 new string[900], strgrove[128], strballas[128], strvagos[128], straztecas[128], strbikers[128], strlost[128];
502 format(strgrove,sizeof(strgrove),"{00D900}Grove Street Families: Matou {FFFFFF}%d {00D900}Morreu {FFFFFF}%d | {00D900}TOTAL: {FFFFFF}%d\n\n",GroveMatou,GroveMorreu,GroveTotal);
503 strcat(string, strgrove);
504 format(strballas,sizeof(strballas),"{9900FF}Front Yard Ballas: Matou {FFFFFF}%d {9900FF}Morreu {FFFFFF}%d | {9900FF}TOTAL: {FFFFFF}%d\n\n",BallasMatou,BallasMorreu,BallasTotal);
505 strcat(string, strballas);
506 format(strvagos,sizeof(strvagos),"{FFC801}Los Santos Vagos: Matou {FFFFFF}%d {FFC801}Morreu {FFFFFF}%d | {FFC801}TOTAL: {FFFFFF}%d\n\n",VagosMatou,VagosMorreu,VagosTotal);
507 strcat(string, strvagos);
508 format(straztecas,sizeof(straztecas),"{2641FE}Varrio Los Aztecas: Matou {FFFFFF}%d {2641FE}Morreu {FFFFFF}%d | {2641FE}TOTAL: {FFFFFF}%d\n\n",AztecasMatou,AztecasMorreu,AztecasTotal);
509 strcat(string, straztecas);
510 format(strbikers,sizeof(strbikers),"{A2B5CD}Los Santos Bikers: Matou {FFFFFF}%d {A2B5CD}Morreu {FFFFFF}%d | {A2B5CD}TOTAL: {FFFFFF}%d\n\n",BikersMatou,BikersMorreu,BikersTotal);
511 strcat(string, strbikers);
512 format(strlost,sizeof(strlost),"{008B8B}The Lost MC: Matou {FFFFFF}%d {008B8B}Morreu {FFFFFF}%d | {008B8B}TOTAL: {FFFFFF}%d\n",LostMatou,LostMorreu,LostTotal);
513 strcat(string, strlost);
514 ShowPlayerDialog(playerid,DIALOG_RANK,DIALOG_STYLE_MSGBOX,"{FFFFFF}Rank Gangue's",string,"Informado","");
515 return 1;
516}
517CMD:mudarskin(playerid)
518{
519 if(Player[playerid][Gangue] == 1) return ShowModelSelectionMenu(playerid, skingrove, "Grove Street Families");
520 else if(Player[playerid][Gangue] == 2) return ShowModelSelectionMenu(playerid, skinballas, "Front Yard Ballas");
521 else if(Player[playerid][Gangue] == 3) return ShowModelSelectionMenu(playerid, skinvagos, "Los Santos Vagos");
522 else if(Player[playerid][Gangue] == 4) return ShowModelSelectionMenu(playerid, skinaztecas, "Varrio Los Aztecas");
523 else if(Player[playerid][Gangue] == 5) return ShowModelSelectionMenu(playerid, skinbikers, "Los Santos Bikers");
524 else if(Player[playerid][Gangue] == 6) return ShowModelSelectionMenu(playerid, skinlost, "The Lost MC");
525 return 1;
526}
527public OnRconLoginAttempt(ip[], password[], success)
528{
529 if(!success)
530 {
531 new pip[16];
532 printf("IP %s Tentou logar RCON com a senha: %s",ip, password);
533 for(new i = GetPlayerPoolSize(); i != -1; --i)
534 {
535 GetPlayerIp(i, pip, sizeof(pip));
536 if(!strcmp(ip, pip, true))
537 {
538 SendClientMessage(i, VERMELHO, "INFO: {FFFFFF}Você foi kickado por errar a senha RCON.");
539 Kick(i);
540 }
541 }
542 }
543 return 1;
544}
545public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
546{
547 switch(dialogid)
548 {
549 case DIALOG_REGISTRO:
550 {
551 if(!response){Kick(playerid);return 1;}
552 if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
553 {
554 SendClientMessage(playerid, VERMELHO, "ERRO: {FFFFFF}Digite uma senha de 4 a 20 caracteres.");
555 ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registro no servidor", "Você não é registrado, digite uma senha abaixo", "Registrar", "Sair");
556 return 1;
557 }
558 if(!strval(inputtext))
559 {
560 ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registro no servidor", "Você não é registrado, digite uma senha abaixo", "Registrar", "Sair");
561 SendClientMessage(playerid,VERMELHO, "ERRO: {FFFFFF}Digite apenas numeros!");
562 return 1;
563 }
564 CriarConta(playerid, inputtext);
565 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");
566 }
567 case DIALOG_LOGIN:
568 {
569 if(!response){Kick(playerid);return 1;}
570 if(strval(inputtext) == Player[playerid][Senha])
571 {
572 SendClientMessage(playerid,VERDE, "INFO: {FFFFFF}Login efetuado com sucesso, bem vindo novamente ao servidor!");
573 SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
574 SpawnPlayer(playerid);
575 CarregarConta(playerid);
576 if(Player[playerid][Gangue] == 1)
577 {
578 SetPlayerPos(playerid, 2509.9033,-1680.5381,13.5469);
579 SetPlayerInterior(playerid, 0);
580 SetPlayerColor(playerid, COR_GROVE);
581 return 1;
582 }
583 else if(Player[playerid][Gangue] == 2)
584 {
585 SetPlayerPos(playerid, 2085.5129,-1575.9478,13.4100);
586 SetPlayerInterior(playerid, 0);
587 SetPlayerColor(playerid, COR_BALLAS);
588 return 1;
589 }
590 else if(Player[playerid][Gangue] == 3)
591 {
592 SetPlayerPos(playerid, 2226.5706,-1156.5385,25.7949);
593 SetPlayerInterior(playerid, 0);
594 SetPlayerColor(playerid, COR_VAGOS);
595 return 1;
596 }
597 else if(Player[playerid][Gangue] == 4)
598 {
599 SetPlayerPos(playerid, 1876.1732,-2018.1912,13.5391);
600 SetPlayerInterior(playerid, 0);
601 SetPlayerColor(playerid, COR_AZTECAS);
602 return 1;
603 }
604 else if(Player[playerid][Gangue] == 5)
605 {
606 SetPlayerPos(playerid, 2338.5767,-1373.2506,24.0129);
607 SetPlayerInterior(playerid, 0);
608 SetPlayerColor(playerid, COR_BIKERS);
609 return 1;
610 }
611 else if(Player[playerid][Gangue] == 6)
612 {
613 SetPlayerPos(playerid, 2351.7117,-655.1479,128.0547);
614 SetPlayerInterior(playerid, 0);
615 SetPlayerColor(playerid, COR_LOST);
616 return 1;
617 }
618 }
619 else
620 {
621 new string[90];
622 if(ErrouSenha[playerid] == 3)
623 {
624 SendClientMessage(playerid,VERMELHO,"ERRO: {FFFFFF}Você errou sua senha 3 vezes, foi kickado.");
625 ErrouSenha[playerid] = 0;
626 Kick(playerid);
627 return 1;
628 }
629 ErrouSenha[playerid]++;
630 format(string,sizeof(string),"ERRO: {FFFFFF}Senha Incorreta! (%d/3)",ErrouSenha);
631 SendClientMessage(playerid,VERMELHO,string);
632 ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Login no servidor", "Você é registrado, digite sua senha abaixo", "Logar", "Sair");
633 return 1;
634 }
635 }
636 }
637 if(dialogid == DIALOG_GANGUES)
638 {
639 if(response)
640 {
641 switch(listitem)
642 {
643 case 0:
644 {
645 Player[playerid][Gangue] = 1;
646 SetPlayerColor(playerid, COR_GROVE);
647 SetSpawnInfo(playerid, 0, 107 ,2514.4358,-1672.1802,13.5754,87.6967,0,0,0,0,0,0);
648 SpawnPlayer(playerid);
649 SendClientMessage(playerid,COR_GROVE,"INFO: Você agora é um membro da Gangue Grove Street Families!");
650 return 1;
651 }
652 case 1:
653 {
654 Player[playerid][Gangue] = 2;
655 SetPlayerColor(playerid, COR_BALLAS);
656 SetSpawnInfo(playerid,0, 104 ,2154.4451,-1684.4480,15.0859,271.5865,0,0,0,0,0,0);
657 SpawnPlayer(playerid);
658 SendClientMessage(playerid,COR_BALLAS,"INFO: Você agora é um membro da Gangue Front Yard Ballas!");
659 return 1;
660 }
661 case 2:
662 {
663 Player[playerid][Gangue] = 3;
664 SetPlayerColor(playerid, COR_VAGOS);
665 SetSpawnInfo(playerid, 0, 110 ,2226.7393,-1158.1874,25.7842,345.1212,0,0,0,0,0,0);
666 SpawnPlayer(playerid);
667 SendClientMessage(playerid,COR_VAGOS,"INFO: Você agora é um membro da Gangue Los Santos Vagos!");
668 return 1;
669 }
670 case 3:
671 {
672 Player[playerid][Gangue] = 4;
673 SetPlayerColor(playerid, COR_AZTECAS);
674 SetSpawnInfo(playerid, 0, 116 ,1875.6589,-2018.2567,13.5391,164.4207,0,0,0,0,0,0);
675 SpawnPlayer(playerid);
676 SendClientMessage(playerid,COR_AZTECAS,"INFO: Você agora é um membro da Gangue Varrio Los Aztecas!");
677 return 1;
678 }
679 case 4:
680 {
681 Player[playerid][Gangue] = 5;
682 SetPlayerColor(playerid, COR_BIKERS);
683 SetSpawnInfo(playerid, 0, 100 ,2305.2695,-1632.2406,14.4774,171.5569,0,0,0,0,0,0);
684 SpawnPlayer(playerid);
685 SendClientMessage(playerid,COR_BIKERS,"INFO: Você agora é um membro da Gangue Los Santos Biker's!");
686 return 1;
687 }
688 case 5:
689 {
690 Player[playerid][Gangue] = 6;
691 SetPlayerColor(playerid, COR_LOST);
692 SetSpawnInfo(playerid, 0, 158 ,1108.7306,-309.7142,73.9922,114.7386,0,0,0,0,0,0);
693 SpawnPlayer(playerid);
694 SendClientMessage(playerid,COR_LOST,"INFO: Você agora é um membro da Gangue The Lost MC!");
695 return 1;
696 }
697 }
698 }
699 }
700 return 1;
701}
702public Kickar(playerid)
703{
704 #undef Kick
705 Kick(playerid);
706 #define Kick(%0) SetTimerEx("Kickar", 150, false, "i", %0)
707 return 1;
708}
709public Banir(playerid)
710{
711 #undef Ban
712 Kick(playerid);
713 #define Ban(%0) SetTimerEx("Banir", 150, false, "i", %0)
714 return 1;
715}
716public mMensagens()
717{
718 new random2 = random(sizeof(RandomColors));
719 new randMSG = random(sizeof(Mensagens));
720 SendClientMessageToAll(RandomColors[random2], Mensagens[randMSG]);
721 return 1;
722}
723public OnPlayerModelSelection(playerid, response, listid, modelid)
724{
725 if(listid == skingrove, skinballas, skinvagos, skinaztecas, skinbikers, skinlost)
726 {
727 if(response)
728 {
729 if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid,VERMELHO,"ERRO: {FFFFFF}Você não tem dinheiro suficiente!");
730 SendClientMessage(playerid, VERDE, "INFO: {FFFFFF}Skin alterada, foi cobrado R$100!");
731 GivePlayerMoney(playerid, -100);
732 SetPlayerSkin(playerid, modelid);
733 }
734 else SendClientMessage(playerid, VERMELHO, "INFO: {FFFFFF}Você cancelou a troca de SKIN.");
735 return 1;
736 }
737 return 1;
738}
739Nome(playerid)
740{
741 new pNome[MAX_PLAYER_NAME];
742 GetPlayerName(playerid, pNome, 24);
743 return pNome;
744}
745LimparChat(playerid, linhas){for(new b = 0; b <= linhas; b++) SendClientMessage(playerid,CINZA, " ");}
746CriarConta(playerid, senhaz[])
747{
748 query[0] = EOS;
749 format(query, sizeof(query), "INSERT INTO Contas(Nick, Senha) VALUES ('%s', '%s')", Nome(playerid), senhaz);
750 mysql_query(Conexao, query, true);
751 CarregarConta(playerid);
752 return 1;
753}
754SalvarConta(playerid)
755{
756 if(Player[playerid][Logado] == 0) return 0;
757 format(query, sizeof(query), "SELECT * FROM Contas WHERE Nick='%s'", Nome(playerid));
758 mysql_query(Conexao,query,true);
759 format(query, sizeof(query), "UPDATE Contas SET \
760 Nick='%s',\
761 Nivel=%d,\
762 Dinheiro=%d,\
763 Gangue=%d,\
764 Skin=%d WHERE ID=%d",
765 Nome(playerid),
766 GetPlayerScore(playerid),
767 GetPlayerMoney(playerid),
768 Player[playerid][Gangue],
769 GetPlayerSkin(playerid),
770 Player[playerid][ID]);
771 mysql_query(Conexao, query, false);
772 return 1;
773}
774CarregarConta(playerid)
775{
776 format(query, sizeof(query), "SELECT * FROM Contas WHERE Nick='%s'", Nome(playerid));
777 mysql_query(Conexao,query,true);
778
779 cache_get_value_name_int(0, "ID", Player[playerid][ID]);
780 cache_get_value_name_int(0, "Dinheiro", Player[playerid][Dinheiro]);
781 cache_get_value_name_int(0, "Nivel", Player[playerid][Nivel]);
782 cache_get_value_name_int(0, "Gangue", Player[playerid][Gangue]);
783 cache_get_value_name_int(0, "Skin", Player[playerid][Skin]);
784
785 SetPlayerScore(playerid, Player[playerid][Nivel]);
786 GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
787 SetPlayerSkin(playerid, Player[playerid][Skin]);
788 Player[playerid][Logado] = 1;
789 return 1;
790}
791Equipamentos(playerid)
792{
793 ResetPlayerWeapons(playerid);
794 GivePlayerWeapon(playerid, 24, 500);
795 GivePlayerWeapon(playerid, 28, 500);
796 GivePlayerWeapon(playerid, 30, 500);
797 SetPlayerHealth(playerid, 100);
798 SetPlayerArmour(playerid, 100);
799 return 1;
800}