· 9 years ago · Dec 04, 2016, 03:38 PM
1#include <a_samp>
2#include <zcmd>
3#include <sscanf2>
4
5#define cyan 0x00FFFFAA
6#define yellow 0xFFFF00AA
7#define green 0x33FF33AA
8#define red 0xFF0000AA
9#define white 0xFFFFFFAA
10#define blue 0x375FFFFF
11#define grey 0xC0C0C0AA
12#define orange 0xFF9900AA
13#define lightblue 0x33CCFFAA
14
15#define forpub%0(%1) forward%0(%1); public%0(%1)
16#define Connect 654
17
18new DB: xx;
19
20new zz[128];
21
22new pLevel[MAX_PLAYERS];
23
24public OnFilterScriptInit()
25{
26 xx = db_open("CGangSystem.db");
27 db_free_result(db_query(xx, "CREATE TABLE IF NOT EXISTS `CGangSystem` (`Key` INTEGER PRIMARY KEY AUTOINCREMENT , \
28 `Name` TEXT, \
29 `Vip` NUMERIC)"));
30 print("==============[BTTDM]==============\n");
31 print("==========Gang System=========\n");
32 print("==========by EziO==========\n");
33 return 1;
34}
35
36public OnPlayerConnect(playerid)
37{
38 new DBResult: w;
39 format(zz, 128, "SELECT * FROM `GangSystem` WHERE `Name` = '%s'", pName(playerid));
40 w = db_query(xx, zz);
41 if(!db_num_rows(w))
42 {
43 format(zz, 128, "INSERT INTO `GangSystem` VALUES (NULL, '%s', '%d')", pName(playerid), pLevel[playerid]=0);
44 db_query(xx, zz);
45 }
46 else
47 {
48 new az[69];
49 db_get_field_assoc(w, "Vip", az, 69); pLevel[playerid] = strval(az);
50 }
51 return 1;
52}
53
54public OnPlayerDisconnect(playerid, reason)
55{
56 format(zz, 128, "UPDATE `GangSystem` SET `Vip` = '%d' WHERE `Name` = '%s'", pLevel[playerid], pName(playerid));
57 db_query(xx, zz);
58 return 1;
59}
60
61stock pName(playerid) {
62 new id[25];
63 GetPlayerName(playerid, id, 25);
64 return(id);
65}
66
67forpub MessageToSAMP(colour, t[]) {
68 for(new i = 0; i < MAX_PLAYERS; i ++)
69 {
70 if(IsPlayerConnected(i), pLevel[i])
71 {
72 SendClientMessage(i, colour, t);
73 }
74 }
75 return 1;
76}
77
78forpub SendUsage(playerid, color, teks[])
79{
80 format(zz, 128, "USAGE: %s", teks);
81 SendClientMessage(playerid, red, zz);
82 return 1;
83}
84
85forpub Level(playerid, Lvl)
86{
87 if (Lvl >= 1) return SendClientMessage(playerid, red, "ERROR: You need to be [RN] Member to use this command");
88 return 1 ;
89}
90
91enum vInfo
92{
93 Modding,
94 Model,
95 Float:x_spawn,
96 Float:y_spawn,
97 Float:z_spawn,
98 Float:za_spawn,
99 Float:ox_spawn,
100 Float:oy_spawn,
101 Float:oz_spawn,
102 Float:oza_spawn,
103 Color_1,
104 Color_2,
105 owner[128],
106 VehicleCost,
107 bought,
108 Secure,
109 Asecure,
110 Vused,
111 Buybar,
112 name[128],
113 Mod_1,
114 Mod_2,
115 Mod_3,
116 Mod_4,
117 Mod_5,
118 Mod_6,
119 Mod_7,
120 Mod_8,
121 Mod_9,
122 Mod_10,
123 Mod_11,
124 Mod_12,
125 Mod_13,
126 Mod_14,
127 Mod_15,
128 Mod_16,
129 Mod_17,
130 Paintjob,
131 Temp,
132};
133
134new VehicleInfo[MAX_VEHICLES][vInfo];
135
136forpub CarSpawner(playerid, cmodel)
137{
138 if(IsPlayerInAnyVehicle(playerid)) return 0;
139 new Float:x, Float:y, Float:z, Float:angle;
140 GetPlayerPos(playerid, x, y, z);
141 GetPlayerFacingAngle(playerid, angle);
142 new ctsvehicle = CreateVehicle(cmodel, x, y, z, angle, -1, -1, 10000);
143 PutPlayerInVehicle(playerid, ctsvehicle, 0);
144 SetVehicleVirtualWorld(ctsvehicle, GetPlayerVirtualWorld(playerid));
145 LinkVehicleToInterior(ctsvehicle, GetPlayerInterior(playerid));
146 VehicleInfo[ctsvehicle][Temp] = 1;
147 return 1;
148}
149
150//--------------Commands
151CMD:rnhelp(playerid, params[]) {
152 if(pLevel[playerid] >= 1) {
153 SendClientMessage(playerid, red, "_____________[RN] Member Commands_____________");
154 SendClientMessage(playerid, cyan, "Rank 8-11: /setrn, /kicksrn\n");
155 SendClientMessage(playerid, cyan, "Rank 1-7: /rnsay, /rn, /rnafk, /rnback\n");
156 SendClientMessage(playerid, cyan, "/rnweaps, /rncar, /rncar2, /rncar3, /rnhu, /rnhy, /rnpl, /rnr, /rnbo /rnbike\n");
157 } else return SendClientMessage(playerid,red, "ERROR: You need to be [RN] member to use this command.");
158 return 1;
159}
160
161CMD:rnsamp(playerid, params[]) {
162 if(pLevel[playerid] >= 8-11 || IsPlayerAdmin(playerid)) {
163 new pid, Lvl;
164 if(sscanf(params, "ud", pid, Lvl)) return SendUsage(playerid, red, "/setrn [playerid] [rank]");
165 else if(pid == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "ERROR: Player Is Not Connected!");
166 else if(Lvl < 1 || Lvl > 11) return SendClientMessage(playerid, red, "ERROR: Invalid Rank (1-11)" ) ;
167 else if(Lvl == pLevel[pid]) return SendClientMessage(playerid, red, "ERROR: Player is already have this Rank");
168 else
169 {
170 if(Lvl > pLevel[pid]) {
171 GameTextForPlayer(pid, "~g~Promoted", 2000, 3);
172 }
173 else if(Lvl < pLevel[pid]) {
174 GameTextForPlayer(pid, "~g~Demoted", 2000, 3);
175 }
176 pLevel[pid]=Lvl;
177 format(zz, 128, ">>[INFO] {ff0000}%s {ffffff}has set you to [RN] gang status {FF0000}[Rank %d]", pName(playerid), Lvl);
178 SendClientMessage(pid, white, zz);
179
180 format(zz, 128, "[RN] '%s' (Rank: %d) | Command: SETRN", pName(playerid), pLevel[playerid]);
181 MessageToSAMP(green, zz);
182 }
183 }
184 else
185 {
186 SendClientMessage(playerid, red, "ERROR: You are not a high enough level to use this command");
187 }
188 return 1;
189}
190
191CMD:kickrn(playerid, params[]) {
192 if(pLevel[playerid] >= 11 || IsPlayerAdmin(playerid)) {
193 new pid, Lvl;
194 if(sscanf(params, "u", pid)) return SendUsage(playerid, red, "/kickrn [id]");
195 else if(pLevel[pid] == 0) return SendClientMessage(playerid, red, "ERROR: This player is not even [RN] member!");
196 else if(pid == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "ERROR: Player Is Not Connected!");
197 else
198 {
199 pLevel[pid] = Lvl;
200 format(zz, 128, ">>[INFO] %s has just Kicked you out from [RN] gang!", pName(playerid));
201 SendClientMessage(pid, red, zz);
202
203 format(zz, 128, "[SA:MP] '%s' (Rank: %d) | Command: KICKRN", pName(playerid), pLevel[playerid]);
204 MessageToSAMP(green, zz);
205 }
206 }
207 else
208 {
209 SendClientMessage(playerid, red, "ERROR: You are not a high enough level to use this command");
210 }
211 return 1;
212}
213
214CMD:revolvernations(playerid, params[])
215{
216 SendClientMessage(playerid, cyan, " ");
217 SendClientMessage(playerid, cyan, "_______ |- Online Revolver Nations Members -| _______");
218 SendClientMessage(playerid, cyan, " ");
219 new count = 0;
220 for(new i = 0; i < MAX_PLAYERS; i++)
221 {
222 if(!IsPlayerConnected(i)) continue;
223 if(!pLevel[i]) continue;
224 new pname[MAX_PLAYER_NAME], gg[70];
225 GetPlayerName(i, pname, sizeof(pname));
226 switch(pLevel[i])
227 {
228 case 1: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || Trial Revolver ||", pname, i, pLevel[i]);
229 case 2: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || Trained Revolver ||", pname, i, pLevel[i]);
230 case 3: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || Confirmed Revolver ||", pname, i, pLevel[i]);
231 case 4: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || Revolver ||", pname, i, pLevel[i]);
232 case 5: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || Experienced Revolver ||", pname, i, pLevel[i]);
233 case 6: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || Professional Revolver ||", pname, i, pLevel[i]);
234 case 7: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || Trainer/Tester ||", pname, i, pLevel[i]);
235 case 8: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || Adviser ||", pname, i, pLevel[i]);
236 case 9: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || Assistant ||", pname, i, pLevel[i]);
237 case 10: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || GodFather ||", pname, i, pLevel[i]);
238 case 11: format(gg, sizeof(gg), "|| %s (ID:%i) || Rank: %d || BOSS ||", pname, i, pLevel[i]);
239 default: continue;
240 }
241 count++;
242 SendClientMessage(playerid, lightblue, gg);
243 }
244 if(!count) SendClientMessage(playerid, red, "No Revolver Nations Member Online");
245 SendClientMessage(playerid, cyan, "_________________________________________");
246 return 1;
247}
248
249CMD:rnsay(playerid, params []) {
250 if(pLevel[playerid] >= 1) {
251 new t;
252 if(sscanf(params, "u", t)) return SendUsage(playerid, red, "/rnsay [text]");
253 else {
254 format(zz, 128, "**[RN]Member - %s : %s", pName(playerid), params[0]);
255 SendClientMessageToAll(red, zz);
256
257 format(zz, 128, "[SA:MP] '%s' (Rank: %d) | Command: RNSAY", pName(playerid), pLevel[playerid]);
258 MessageToSAMP(green, zz);
259 }
260 } else return SendClientMessage(playerid,red, "ERROR: You need to be [RN] member to use this command.");
261 return 1;
262}
263
264CMD:rn(playerid,params[]) {
265 new qq[128];
266 if(IsPlayerConnected(playerid)) {
267 GetPlayerName(playerid, pName(playerid), MAX_PLAYER_NAME);
268 if(pLevel[playerid] == 1)
269 {
270 format(qq,sizeof(qq), "[RN-Trail Revolver]{00FFFF} %s : %s", pName(playerid), params);
271 }
272 else if(pLevel[playerid] == 2)
273 {
274 format(qq,sizeof(qq), "[RN-Trained Revolver]{00FFFF} %s : %s", pName(playerid), params);
275 }
276 else if(pLevel[playerid] == 3)
277 {
278 format(qq,sizeof(qq), "[RN-Confirmed Revolver]{00FFFF} %s : %s", pName(playerid), params);
279 }
280 else if(pLevel[playerid] == 4)
281 {
282 format(qq,sizeof(qq), "[RN-Revolver]{00FFFF} %s : %s", pName(playerid), params);
283 }
284 else if(pLevel[playerid] == 5)
285 {
286 format(qq,sizeof(qq), "[RN-Experienced Revolver]{00FFFF} %s : %s", pName(playerid), params);
287 }
288 else if(pLevel[playerid] == 6)
289 {
290 format(qq,sizeof(qq), "[RN-Professonal Revolver Roller]{00FFFF} %s : %s", pName(playerid), params);
291 }
292 else if(pLevel[playerid] == 7)
293 {
294 format(qq,sizeof(qq), "[RN-Trainer/Tester]{00FFFF} %s : %s", pName(playerid), params);
295 }
296 else if(pLevel[playerid] == 8)
297 {
298 format(qq,sizeof(qq), "[RN-Adviser]{00FFFF} %s : %s", pName(playerid), params);
299 }
300 else if(pLevel[playerid] == 9)
301 {
302 format(qq,sizeof(qq), "[RN-Assistant]{00FFFF} %s : %s", pName(playerid), params);
303 }
304 else if(pLevel[playerid] == 10)
305 {
306 format(qq,sizeof(qq), "[RN-GodFather]{00FFFF} %s : %s", pName(playerid), params);
307 }
308 else if(pLevel[playerid] == 11)
309 {
310 format(qq,sizeof(qq), "[RN-BOSS]{00FFFF} %s : %s", pName(playerid), params);
311 }
312 MessageToSAMP(red, qq);
313 } else return SendClientMessage(playerid,red, "ERROR: You need to be [RN] member to use this command.");
314 return 1;
315}
316
317new Text3D: AFK[MAX_PLAYERS];
318CMD:rnafk(playerid, params[]) {
319 if(pLevel[playerid] >= 1) {
320 new string[256];
321 new boom[MAX_PLAYER_NAME];
322 SendClientMessage(playerid,0x99FF00AA,"Type /rnback when you will back.");
323 GameTextForPlayer(playerid,"~r~ You are now AFK", 5000, 1);
324 AFK[playerid] = Create3DTextLabel("AFK", 0xFF0000FF, 0.0, 0.0, 2.0, 40, 0, 0);
325 Attach3DTextLabelToPlayer(AFK[playerid],playerid, 0.0, 0.0, 0.4);
326 TogglePlayerControllable(playerid, 0);
327 GetPlayerName(playerid, boom, sizeof(boom));
328 GetPlayerName(playerid, pName(playerid),MAX_PLAYER_NAME);
329 if(pLevel[playerid] >= 1) {
330 format(string,sizeof(string), "[RN] Member - {FFFF00}%s now away from keyboard!", pName(playerid));
331 }
332 SendClientMessageToAll(cyan, string);
333 format(zz, 128, "[RN] '%s' (Rank: %d) | Command: RNAFK", pName(playerid), pLevel[playerid]);
334 MessageToSAMP(green, zz) ;
335 } else return SendClientMessage(playerid,green, "ERROR: You need to be [RN] member to use this command.");
336 return 1;
337}
338
339CMD:rnback(playerid, params[]) {
340 if(pLevel[playerid] >= 1) {
341 new string[256];
342 new boom[MAX_PLAYER_NAME];
343 Delete3DTextLabel(AFK[playerid]);
344 GameTextForPlayer(playerid,"~g~ Welcome Back", 5000, 1);
345 TogglePlayerControllable(playerid, 1);
346 GetPlayerName(playerid, boom, sizeof(boom));
347 GetPlayerName(playerid, pName(playerid), MAX_PLAYER_NAME);
348 if(pLevel[playerid] >= 1) {
349 format(string,sizeof(string), "[RN] Member - {FFFF00}%s now back from afk!", pName(playerid));
350 }
351 SendClientMessageToAll(cyan, string);
352 format(zz, 128, "[RN] '%s' (Rank: %d) | Command: RNBACK", pName(playerid), pLevel[playerid]);
353 MessageToSAMP(green, zz) ;
354 } else return SendClientMessage(playerid,green, "ERROR: You need to be [RN] member to use this command.");
355 return 1;
356}
357
358CMD:rnweaps(playerid, params[]) {
359 if(pLevel[playerid] >= 1) {
360 new yy[128];
361 new jjname[MAX_PLAYER_NAME];
362 GetPlayerName(playerid, jjname, sizeof(jjname));
363 format(yy, sizeof(yy), "[INFO]: %s has been used [RN] Gang Weapons /rnweaps", jjname);
364 SendClientMessageToAll(red, yy);
365 GivePlayerWeapon(playerid,4,500); GivePlayerWeapon(playerid,14,500); GivePlayerWeapon(playerid,16,500);
366 GivePlayerWeapon(playerid,24,10000); GivePlayerWeapon(playerid,26,10000); GivePlayerWeapon(playerid,29,10000);
367 GivePlayerWeapon(playerid,31,10000); GivePlayerWeapon(playerid,34,10000); GivePlayerWeapon(playerid,26,500); //You can add more weapons
368 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: RNWEAPS", pName(playerid), pLevel[playerid]);
369 MessageToSAMP(green, zz);
370 } else return SendClientMessage(playerid,red, "ERROR: You need to be [RN] member to use this command.");
371 return 1;
372}
373
374CMD:rncar(playerid,params[]) {
375 if(pLevel[playerid] >= 1) {
376 if(!IsPlayerInAnyVehicle(playerid)) {
377 CarSpawner(playerid, 579); //You can change the id of the car
378 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]CAR", pName(playerid), pLevel[playerid]);
379 MessageToSAMP(green, zz);
380 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation car (Huntley)");
381 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
382 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
383}
384CMD:rncar1(playerid,params[]) {
385 if(pLevel[playerid] >= 1) {
386 if(!IsPlayerInAnyVehicle(playerid)) {
387 CarSpawner(playerid, 580); //You can change the id of the car
388 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]CAR1", pName(playerid), pLevel[playerid]);
389 MessageToSAMP(green, zz);
390 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation car (Stafford)");
391 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
392 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
393}
394CMD:rncar2(playerid,params[]) {
395 if(pLevel[playerid] >= 1) {
396 if(!IsPlayerInAnyVehicle(playerid)) {
397 CarSpawner(playerid, 560); //You can change the id of the car
398 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]CAR2", pName(playerid), pLevel[playerid]);
399 MessageToSAMP(green, zz);
400 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation car (Sultan)");
401 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
402 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
403}
404CMD:rncar3(playerid,params[]) {
405 if(pLevel[playerid] >= 1) {
406 if(!IsPlayerInAnyVehicle(playerid)) {
407 CarSpawner(playerid, 541); //You can change the id of the car
408 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]CAR3", pName(playerid), pLevel[playerid]);
409 MessageToSAMP(green, zz);
410 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation car (Bullet)");
411 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
412 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
413}
414CMD:rnhu(playerid,params[]) {
415 if(pLevel[playerid] >= 1) {
416 if(!IsPlayerInAnyVehicle(playerid)) {
417 CarSpawner(playerid, 425); //You can change the id of the car
418 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]HU", pName(playerid), pLevel[playerid]);
419 MessageToSAMP(green, zz);
420 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation Plane (Hunter)");
421 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
422 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
423}
424CMD:rnhy(playerid,params[]) {
425 if(pLevel[playerid] >= 1) {
426 if(!IsPlayerInAnyVehicle(playerid)) {
427 CarSpawner(playerid, 520); //You can change the id of the car
428 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]HY", pName(playerid), pLevel[playerid]);
429 MessageToSAMP(green, zz);
430 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation Plane (Hydra)");
431 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
432 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
433}
434CMD:rnpl(playerid,params[]) {
435 if(pLevel[playerid] >= 1) {
436 if(!IsPlayerInAnyVehicle(playerid)) {
437 CarSpawner(playerid, 487); //You can change the id of the car
438 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]PLANE", pName(playerid), pLevel[playerid]);
439 MessageToSAMP(green, zz);
440 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation plane (Maverick)");
441 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
442 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
443}
444CMD:rnr(playerid,params[]) {
445 if(pLevel[playerid] >= 1) {
446 if(!IsPlayerInAnyVehicle(playerid)) {
447 CarSpawner(playerid, 432); //You can change the id of the car
448 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]RHINO", pName(playerid), pLevel[playerid]);
449 MessageToSAMP(green, zz);
450 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation vehicle (Rhino)");
451 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
452 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
453}
454CMD:rnbo(playerid,params[]) {
455 if(pLevel[playerid] >= 1) {
456 if(!IsPlayerInAnyVehicle(playerid)) {
457 CarSpawner(playerid, 493); //You can change the id of the car
458 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]BOAT", pName(playerid), pLevel[playerid]);
459 MessageToSAMP(green, zz);
460 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation vehicle (Rhino)");
461 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
462 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
463}
464
465CMD:rnbike(playerid,params[]) {
466 if(pLevel[playerid] >= 1) {
467 if(!IsPlayerInAnyVehicle(playerid)) {
468 CarSpawner(playerid, 522); //You can change the id of the bike
469 format(zz, 255, "[RN] '%s' (Rank: %d) | Command: [RN]Bike", pName(playerid), pLevel[playerid]);
470 MessageToSAMP(green, zz);
471 return SendClientMessage(playerid,blue,"Enjoy the Revolver-Nation bike (NRG-500)");
472 } else return SendClientMessage(playerid,red,"ERROR: You already have a vehicle");
473 } else return SendClientMessage(playerid,red,"ERROR: You need to be [RN] member to use this command.");
474}