Advertisement
CreativityLacker

Untitled

May 15th, 2013
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 112.16 KB | None | 0 0
  1. //----------- INCLUDES ---------------
  2. #include <a_samp>
  3. #include <zcmd>
  4. #include <sscanf2>
  5. #include <YSI\y_ini>
  6. #include <foreach>
  7. #include <streamer>
  8.  
  9. #define MAX_OBJ 1001
  10. //----------- DEFINES ---------------
  11. #define DIALOG_REGISTER 1
  12. #define DIALOG_LOGIN 2
  13. #define DIALOG_SUCCESS_1 3
  14. #define DIALOG_SUCCESS_2 4
  15. #define PATH "/Users/%s.ini"
  16. #define PATH1 "/Users/Banned/%s.ini"
  17.  
  18. #define MAX_WARNS 4
  19. #define MAX_ADMIN_LEVEL 7
  20. #define MAX_DONOR_LEVEL 3
  21.  
  22. #define MAX_DISTANCE_TO_PROP 1.5
  23. #define MAX_HOUSE 1000
  24.  
  25. #define TEAM_COPS 1
  26. #define TEAM_RESCUE 2
  27.  
  28. #define POLICE 3
  29. #define FBI 4
  30. #define SWAT 5
  31. #define MEDIC 6
  32. #define FIREMAN 7
  33. #define ROBBER 8
  34.  
  35. #define MAX_HOUSES 50
  36. #define HOUSE__PATH "Houses"
  37.  
  38. #define VERY_SMALL 0
  39. #define SMALL 1
  40. #define MEDIUM 2
  41. #define BIG 3
  42. #define VERY_BIG 4
  43. #define LARGE 5
  44. #define EXTRA_LARGE 6
  45. //----------- NEW ---------------
  46. new Text:Textdraw10;
  47. new Text:Textdraw11;
  48. new Text:Textdraw12;
  49. new Text:Textdraw13;
  50. new Text:Textdraw14;
  51. new Text:Textdraw15;
  52. new Text:Textdraw16;
  53. new Text:Textdraw17;
  54. new Text:CnR1;
  55. new Text:CnR2;
  56. new Text:PD;
  57. new Text:CV;
  58. new Text:FD;
  59. new Text:CT;
  60.  
  61. new bool:ownshouse[MAX_PLAYERS];
  62. new bool:onDuty[MAX_PLAYERS];
  63. new bool:Siren[MAX_VEHICLES];
  64. new bool:TeamChoosen[MAX_PLAYERS];
  65. new bool:FSpawn[MAX_PLAYERS];
  66. new bool:gateopen;
  67.  
  68. new PWarns[MAX_PLAYERS];
  69. new pMoneyy[MAX_PLAYERS];
  70. new SirenObject[MAX_VEHICLES];
  71. new gate;
  72. new gate2;
  73.  
  74. new SetPlayerClasS[MAX_PLAYERS];
  75. new oEdit[MAX_PLAYERS];
  76. new oEditID[MAX_PLAYERS];
  77. new Float:oPos[MAX_PLAYERS][3];
  78. new Float:oRot[MAX_PLAYERS][3];
  79. new oldoID;
  80. new Float:oldodX, Float:oldodY, Float:oldodZ, Float:oldodRX, Float:oldodRY, Float:oldodRZ;
  81.  
  82. new VehicleNames[212][] = {
  83. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
  84. {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
  85. {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
  86. {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
  87. {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
  88. {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
  89. {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
  90. {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
  91. {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
  92. {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
  93. {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
  94. {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
  95. {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
  96. {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
  97. {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
  98. {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
  99. {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
  100. {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
  101. {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
  102. {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
  103. {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
  104. {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
  105. {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
  106. {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
  107. {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
  108. {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
  109. {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
  110. {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
  111. {"Utility Trailer"}
  112. }, vehicle = -1;
  113. //----------- ENUMS ---------------
  114. enum houseinfo
  115. {
  116. Owner[24],
  117. Name[80],
  118. Float:Entry[3],
  119. Type,
  120. Value,
  121. bool:Locked,
  122. H_Pickup,
  123. Text3D:H_Info
  124. }
  125. new H[MAX_HOUSES][houseinfo],
  126. house_count,
  127. inside[MAX_PLAYERS];
  128.  
  129. enum pInfo
  130. {
  131. pRegistered,
  132. pLogged,
  133. pAdmin,
  134. pScore,
  135. pMoney,
  136. pDonor,
  137. pMuted,
  138. pPass,
  139. pJailed,
  140. pFrozen,
  141. pSkin,
  142. pBanned,
  143. pKills,
  144. pDeaths,
  145. pData
  146. }
  147. new PlayerInfo[MAX_PLAYERS][pData];
  148.  
  149. enum objInfo
  150. {
  151. obj,
  152. Text3D:oText,
  153. oModel,
  154. Float:oX,
  155. Float:oY,
  156. Float:oZ,
  157. Float:oRX,
  158. Float:oRY,
  159. Float:oRZ,
  160. }
  161. new ObjInfo[MAX_OBJ][objInfo];
  162. //----------- STOCKS ---------------
  163. stock GiveClassWeapons(playerid)
  164. {
  165. new team = GetPlayerTeam(playerid);
  166. if(team == TEAM_COPS)
  167. {
  168. if(SetPlayerClasS[playerid] == POLICE)
  169. {
  170. ResetPlayerWeapons(playerid);
  171. GivePlayerWeapon(playerid, 24, 500);
  172. GivePlayerWeapon(playerid, 3, 5);
  173. GivePlayerWeapon(playerid, 41, 500);
  174. GivePlayerWeapon(playerid, 25, 500);
  175. SetPlayerArmour(playerid, 20);
  176. }
  177. else if(SetPlayerClasS[playerid] == FBI)
  178. {
  179. ResetPlayerWeapons(playerid);
  180. GivePlayerWeapon(playerid, 24, 500);
  181. GivePlayerWeapon(playerid, 3, 5);
  182. GivePlayerWeapon(playerid, 29, 500);
  183. GivePlayerWeapon(playerid, 41, 500);
  184. GivePlayerWeapon(playerid, 27, 100);
  185. SetPlayerArmour(playerid, 50);
  186. }
  187. else if(SetPlayerClasS[playerid] == SWAT)
  188. {
  189. ResetPlayerWeapons(playerid);
  190. GivePlayerWeapon(playerid, 24, 500);
  191. GivePlayerWeapon(playerid, 3, 5);
  192. GivePlayerWeapon(playerid, 29, 500);
  193. GivePlayerWeapon(playerid, 41, 500);
  194. GivePlayerWeapon(playerid, 27, 200);
  195. GivePlayerWeapon(playerid, 31, 300);
  196. SetPlayerArmour(playerid, 100);
  197. }
  198. }
  199. else if(team == TEAM_RESCUE)
  200. {
  201. if(SetPlayerClasS[playerid] == MEDIC)
  202. {
  203. ResetPlayerWeapons(playerid);
  204. GivePlayerWeapon(playerid, 4, 1);
  205. }
  206. else if(SetPlayerClasS[playerid] == FIREMAN)
  207. {
  208. ResetPlayerWeapons(playerid);
  209. GivePlayerWeapon(playerid, 42, 500);
  210. }
  211. }
  212. return 1;
  213. }
  214. stock HousePath(id)
  215. {
  216. new str[40];
  217. format(str, 40, "%s/%d", HOUSE__PATH, id);
  218. return str;
  219. }
  220.  
  221. stock GetPickupModel(houseid)
  222. {
  223. if(strcmp(H[houseid][Owner], "Unowned", false) == 0) return 1273;
  224. else return 1272;
  225. }
  226. stock GetTypeName(hid)
  227. {
  228. new htype[80];
  229. new type = H[hid][Type];
  230. switch(type)
  231. {
  232. case VERY_SMALL: htype = "Very small";
  233. case SMALL: htype = "Small";
  234. case MEDIUM: htype = "Medium";
  235. case BIG: htype = "Big";
  236. case VERY_BIG: htype = "Very big";
  237. case LARGE: htype = "Large";
  238. case EXTRA_LARGE: htype = "Extra large";
  239. }
  240. return htype;
  241. }
  242.  
  243. stock GetHouseExit(hid, &Float:X, &Float:Y, &Float:Z, &interior)
  244. {
  245. new type = H[hid][Type];
  246. switch(type)
  247. {
  248. case VERY_SMALL:
  249. {
  250. X= 302.180999;
  251. Y = 300.722991;
  252. Z = 999.148437;
  253. interior = 4;
  254. }
  255. case SMALL:
  256. {
  257. X = 1527.229980;
  258. Y = -11.574499;
  259. Z = 1002.097106;
  260. interior = 1;
  261. }
  262. case MEDIUM:
  263. {
  264. X = 2350.339843;
  265. Y = -1181.649902;
  266. Z = 1027.976562;
  267. interior = 5;
  268. }
  269. case BIG:
  270. {
  271. X = 964.106994;
  272. Y = -53.205497;
  273. Z = 1001.124572;
  274. interior = 3;
  275. }
  276. case VERY_BIG:
  277. {
  278. X = 2496.049804;
  279. Y = -1695.238159;
  280. Z = 1014.742187;
  281. interior = 3;
  282. }
  283. case LARGE:
  284. {
  285. X = 2324.419921;
  286. Y = -1145.568359;
  287. Z = 1050.710083;
  288. interior = 12;
  289. }
  290. case EXTRA_LARGE:
  291. {
  292. X = 1267.663208;
  293. Y = -781.323242;
  294. Z = 1091.906250;
  295. interior = 5;
  296. }
  297. }
  298. return 1;
  299. }
  300.  
  301. stock LoadHouse(hid)
  302. {
  303. if(!fexist(HousePath(hid))) return 0;
  304.  
  305. INI_ParseFile(HousePath(hid), "LoadHouse_%d", .bExtra = true, .extra = hid);
  306. new str[80];
  307. format(str, 80, "%s[%d]\nOwned by %s\nValue $%d\nHouse type: %s",
  308. H[hid][Name], hid, H[hid][Owner], H[hid][Value], GetTypeName(hid) );
  309. H[hid][H_Info] = Create3DTextLabel(str, 0xADD8E6FF, H[hid][Entry][0], H[hid][Entry][1], H[hid][Entry][2], 50.0, 0, 1);
  310. H[hid][H_Pickup] = CreatePickup( GetPickupModel(hid), 1, H[hid][Entry][0], H[hid][Entry][1], H[hid][Entry][2], -1);
  311. house_count++;
  312. return 1;
  313. }
  314. stock CreateHouse(Float:X, Float:Y, Float:Z, house_type, value)
  315. {
  316. new hid = house_count;
  317. DestroyPickup(H[hid][H_Pickup]);
  318. Delete3DTextLabel(H[hid][H_Info]);
  319.  
  320. if(hid > MAX_HOUSES) return printf("error house not created as it exceeds limit! %d", MAX_HOUSES);
  321. format(H[hid][Owner], 24, "Unowned");
  322. format(H[hid][Name], 80, "For sale");
  323. H[hid][Entry][0] = X;
  324. H[hid][Entry][1] = Y;
  325. H[hid][Entry][2] = Z;
  326. H[hid][Type] = house_type;
  327. H[hid][Value] = value;
  328. H[hid][Locked] = false;
  329. H[hid][H_Pickup] = CreatePickup(GetPickupModel(hid), 1, X, Y, Z, -1);
  330. new str[80];
  331. format(str, 80, "%s[%d]\nOwned by %s\nValue $%d\nHouse type: %s", H[hid][Name], hid, H[hid][Owner], H[hid][Value], GetTypeName(hid) );
  332. H[hid][H_Info] = Create3DTextLabel(str, 0xADD8E6FF, X, Y, Z, 50.0, 0, 1);
  333.  
  334. new INI:ho = INI_Open(HousePath(hid));
  335. INI_SetTag(ho, "data");
  336. INI_WriteString(ho, "Owner", H[hid][Owner]);
  337. INI_WriteString(ho, "Name", H[hid][Name] );
  338. INI_WriteFloat(ho, "eX", H[hid][Entry][0]);
  339. INI_WriteFloat(ho, "eY", H[hid][Entry][1]);
  340. INI_WriteFloat(ho, "eZ", H[hid][Entry][2]);
  341. INI_WriteInt(ho, "Value", H[hid][Value]);
  342. INI_WriteInt(ho, "Type", H[hid][Type]);
  343. INI_WriteBool(ho, "Locked", H[hid][Locked]);
  344. INI_Close(ho);
  345. house_count++;
  346. return 1;
  347. }
  348.  
  349. stock SaveHouse(hid)
  350. {
  351. DestroyPickup(H[hid][H_Pickup]);
  352. Delete3DTextLabel(H[hid][H_Info]);
  353. new INI:ho = INI_Open(HousePath(hid));
  354. INI_SetTag(ho, "data");
  355. INI_WriteString(ho, "Owner", H[hid][Owner]);
  356. INI_WriteString(ho, "Name", H[hid][Name] );
  357. INI_WriteFloat(ho, "eX", H[hid][Entry][0]);
  358. INI_WriteFloat(ho, "eY", H[hid][Entry][1]);
  359. INI_WriteFloat(ho, "eZ", H[hid][Entry][2]);
  360. INI_WriteInt(ho, "Value", H[hid][Value]);
  361. INI_WriteInt(ho, "Type", H[hid][Type]);
  362. INI_WriteBool(ho, "Locked", H[hid][Locked]);
  363. INI_Close(ho);
  364. new str[80];
  365. format(str, 80, "%s[%d]\nOwned by %s\nValue $%d\nHouse type: %s",
  366. H[hid][Name], hid, H[hid][Owner], H[hid][Value], GetTypeName(hid) );
  367. H[hid][H_Info] = Create3DTextLabel(str, 0xADD8E6FF, H[hid][Entry][0], H[hid][Entry][1], H[hid][Entry][2], 50.0, 0, 1);
  368. return 1;
  369. }
  370. stock SaveObjects()
  371. {
  372. new idx = 1, File:file;
  373. new string[256];
  374. while(idx < MAX_OBJ)
  375. {
  376. format(string, sizeof(string), " CreateDynamicObject(%d,%f,%f,%f,%f,%f,%f);\r\n",
  377. ObjInfo[idx][oModel],
  378. ObjInfo[idx][oX],
  379. ObjInfo[idx][oY],
  380. ObjInfo[idx][oZ],
  381. ObjInfo[idx][oRX],
  382. ObjInfo[idx][oRY],
  383. ObjInfo[idx][oRZ]);
  384. if(idx == 1)
  385. {
  386. file = fopen("objects.cfg", io_write);
  387. }
  388. else
  389. {
  390. file = fopen("objects.cfg", io_append);
  391. }
  392. fwrite(file, string);
  393. fclose(file);
  394. idx++;
  395. }
  396. print("Objects saved successfully.");
  397. return 1;
  398. }
  399. stock SaveObjects2()
  400. {
  401. new idx = 1, File:file;
  402. new string[256];
  403. while(idx < MAX_OBJ)
  404. {
  405. format(string, sizeof(string), "%d|%f|%f|%f|%f|%f|%f\r\n",
  406. ObjInfo[idx][oModel],
  407. ObjInfo[idx][oX],
  408. ObjInfo[idx][oY],
  409. ObjInfo[idx][oZ],
  410. ObjInfo[idx][oRX],
  411. ObjInfo[idx][oRY],
  412. ObjInfo[idx][oRZ]);
  413. if(idx == 1)
  414. {
  415. file = fopen("objects22.cfg", io_write);
  416. }
  417. else
  418. {
  419. file = fopen("objects22.cfg", io_append);
  420. }
  421. fwrite(file, string);
  422. fclose(file);
  423. idx++;
  424. }
  425. print("Objects saved successfully.");
  426. return 1;
  427. }
  428. stock LoadObjects()
  429. {
  430. new dinfo[15][128];
  431. new string[256];
  432. new File:file = fopen("objects22.cfg", io_read);
  433. if(file)
  434. {
  435. new idx = 1;
  436. while(idx < MAX_OBJ)
  437. {
  438. fread(file, string);
  439. split(string, dinfo, '|');
  440. ObjInfo[idx][oModel] = strval(dinfo[0]);
  441. ObjInfo[idx][oX] = floatstr(dinfo[1]);
  442. ObjInfo[idx][oY] = floatstr(dinfo[2]);
  443. ObjInfo[idx][oZ] = floatstr(dinfo[3]);
  444. ObjInfo[idx][oRX] = floatstr(dinfo[4]);
  445. ObjInfo[idx][oRY] = floatstr(dinfo[5]);
  446. ObjInfo[idx][oRZ] = floatstr(dinfo[6]);
  447. if(ObjInfo[idx][oModel]) // If gate exists
  448. {
  449. ObjInfo[idx][obj] = CreateDynamicObject(ObjInfo[idx][oModel], ObjInfo[idx][oX], ObjInfo[idx][oY], ObjInfo[idx][oZ], ObjInfo[idx][oRX], ObjInfo[idx][oRY], ObjInfo[idx][oRZ]);
  450. if(IsPlayerAdmin(playerid))
  451. {
  452. format(string, sizeof(string), "Object ID: %d (Model ID: %d)", idx, ObjInfo[idx][oModel]);
  453. ObjInfo[idx][oText] = CreateDynamic3DTextLabel(string, 0xFF0000FF, ObjInfo[idx][oX], ObjInfo[idx][oY], ObjInfo[idx][oZ], 10);
  454. }
  455. }
  456. idx++;
  457. }
  458. }
  459. print("Objects loaded successfully.");
  460. return 1;
  461. }
  462. stock split(const strsrc[], strdest[][], delimiter)
  463. {
  464. new i, li;
  465. new aNum;
  466. new len;
  467. while(i <= strlen(strsrc))
  468. {
  469. if(strsrc[i] == delimiter || i == strlen(strsrc))
  470. {
  471. len = strmid(strdest[aNum], strsrc, li, i, 128);
  472. strdest[aNum][len] = 0;
  473. li = i+1;
  474. aNum++;
  475. }
  476. i++;
  477. }
  478. return 1;
  479. }
  480. stock RPN(playerid)
  481. {
  482. new name[MAX_PLAYER_NAME];
  483. GetPlayerName(playerid,name,sizeof(name));
  484. for(new i = 0; i < MAX_PLAYER_NAME; i++)
  485. {
  486. if(name[i] == '_') name[i] = ' ';
  487. }
  488. return name;
  489. }
  490. stock UserPath(playerid)
  491. {
  492. new string[128],playername[MAX_PLAYER_NAME];
  493. GetPlayerName(playerid,playername,sizeof(playername));
  494. format(string,sizeof(string),PATH,playername);
  495. return string;
  496. }
  497.  
  498. stock UserPathb(playerid)
  499. {
  500. new string[128],playername[MAX_PLAYER_NAME];
  501. GetPlayerName(playerid,playername,sizeof(playername));
  502. format(string,sizeof(string),PATH1,playername);
  503. return string;
  504. }
  505.  
  506. stock udb_hash(buf[]) {
  507. new length=strlen(buf);
  508. new s1 = 1;
  509. new s2 = 0;
  510. new n;
  511. for (n=0; n<length; n++)
  512. {
  513. s1 = (s1 + buf[n]) % 65521;
  514. s2 = (s2 + s1) % 65521;
  515. }
  516. return (s2 << 16) + s1;
  517. }
  518. stock PlayerName(playerid)
  519. {
  520. new name[MAX_PLAYER_NAME];
  521. GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  522. return name;
  523. }
  524. stock PlayerIP(playerid)
  525. {
  526. new plrIP[16];
  527. GetPlayerIp(playerid, plrIP, sizeof(plrIP));
  528. return plrIP;
  529. }
  530. stock GivePlayerMoneyEx(playerid, mon)
  531. {
  532. pMoneyy[playerid] = pMoneyy[playerid]+mon;
  533. GivePlayerMoney(playerid, mon);
  534. }
  535.  
  536. stock SetPlayerMoneyEx(playerid, mon)
  537. {
  538. pMoneyy[playerid] = mon;
  539. ResetPlayerMoney(playerid);
  540. GivePlayerMoney(playerid, mon);
  541. }
  542.  
  543. stock GetPlayerMoneyEx(playerid) return pMoneyy[playerid];
  544. stock MessageToAdmins(color, const string[])
  545. {
  546. foreach(Player, i)
  547. {
  548. if(PlayerInfo[i][pAdmin] >= 1)
  549. {
  550. SendClientMessage(i, color, string);
  551. }
  552. }
  553. return 1;
  554. }
  555.  
  556. stock MessageToDonors(color, const string[])
  557. {
  558. foreach(Player, i)
  559. {
  560. if(PlayerInfo[i][pDonor] >= 1)
  561. {
  562. SendClientMessage(i, color, string);
  563. }
  564. }
  565. return 1;
  566. }
  567.  
  568. stock TargetCMDMessage(playerid, target, command[])
  569. {
  570. new name[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME];
  571. GetPlayerName(target, name, sizeof(name));
  572. GetPlayerName(playerid, name1, sizeof(name1));
  573. new string[128];
  574. format(string, sizeof(string),"[aCmd] %s[%i] has used the command /%s on %s[%i]", name1, playerid, command, name, target);
  575. return MessageToAdmins(0x0099FFAA, string);
  576. }
  577.  
  578. stock CMDMessage(playerid, command[])
  579. {
  580. new name1[MAX_PLAYER_NAME];
  581. GetPlayerName(playerid, name1, sizeof(name1));
  582. new string[128];
  583. format(string, sizeof(string),"[aCmd] %s[%i] has used the command /%s", name1, playerid, command);
  584. return MessageToAdmins(0x0099FFAA, string);
  585. }
  586. //----------- FORWARDS ---------------
  587. forward LoadUser_data(playerid,name[],value[]);
  588. public LoadUser_data(playerid,name[],value[])
  589. {
  590. INI_Int("Password",PlayerInfo[playerid][pPass]);
  591. INI_Int("Cash",PlayerInfo[playerid][pMoney]);
  592. INI_Int("Score",PlayerInfo[playerid][pScore]);
  593. INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  594. INI_Int("Donor",PlayerInfo[playerid][pDonor]);
  595. INI_Int("Kills",PlayerInfo[playerid][pKills]);
  596. INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
  597. INI_Int("Banned", PlayerInfo[playerid][pBanned]);
  598. return 1;
  599. }
  600. forward LoadHouse_data(houseid, name[], value[]);
  601. public LoadHouse_data(houseid, name[], value[])
  602. {
  603. #define hid houseid
  604. DestroyPickup(H[hid][H_Pickup]);
  605. Delete3DTextLabel(H[hid][H_Info]);
  606. INI_String("Owner", H[hid][Owner], 24);
  607. INI_String("Name", H[hid][Name], 80);
  608. INI_Float("eX", H[hid][Entry][0]);
  609. INI_Float("eY", H[hid][Entry][1]);
  610. INI_Float("eZ", H[hid][Entry][2]);
  611. INI_Int("Value", H[hid][Value]);
  612. INI_Int("Type", H[hid][Type]);
  613. INI_Bool("Locked", H[hid][Locked]);
  614. #undef hid
  615. return 1;
  616. }
  617. //------------------------------------------------------------------------------
  618. //------------------------------------------------------------------------------
  619. //------------------------------------------------------------------------------
  620. main()
  621. {
  622. print("\n----------------------------------");
  623. print("ZeroX gaming loaded!");
  624. print("----------------------------------\n");
  625. }
  626.  
  627. public OnGameModeInit()
  628. {
  629. for(new x=0; x < MAX_HOUSES; x++)
  630. {
  631. LoadHouse(x);
  632. }
  633. SetGameModeText("ZX V0.1");
  634. SaveObjects2();
  635. SaveObjects();
  636. AddPlayerClass(280, 2000.4862,1537.8051,13.5859, 0, 24, 500, 3, 1, 41, 500);
  637. //---------| TEXTDRAWS |----------
  638. Textdraw10 = TextDrawCreate(-110.000000, 2.000000, "New Textdraw");
  639. TextDrawBackgroundColor(Textdraw10, 255);
  640. TextDrawFont(Textdraw10, 1);
  641. TextDrawLetterSize(Textdraw10, 0.500000, 13.000000);
  642. TextDrawColor(Textdraw10, -1);
  643. TextDrawSetOutline(Textdraw10, 0);
  644. TextDrawSetProportional(Textdraw10, 1);
  645. TextDrawSetShadow(Textdraw10, 1);
  646. TextDrawUseBox(Textdraw10, 1);
  647. TextDrawBoxColor(Textdraw10, 255);
  648. TextDrawTextSize(Textdraw10, 651.000000, 0.000000);
  649.  
  650. Textdraw11 = TextDrawCreate(-110.000000, 328.000000, "New Textdraw");
  651. TextDrawBackgroundColor(Textdraw11, 255);
  652. TextDrawFont(Textdraw11, 1);
  653. TextDrawLetterSize(Textdraw11, 0.500000, 13.000000);
  654. TextDrawColor(Textdraw11, -1);
  655. TextDrawSetOutline(Textdraw11, 0);
  656. TextDrawSetProportional(Textdraw11, 1);
  657. TextDrawSetShadow(Textdraw11, 1);
  658. TextDrawUseBox(Textdraw11, 1);
  659. TextDrawBoxColor(Textdraw11, 255);
  660. TextDrawTextSize(Textdraw11, 651.000000, 0.000000);
  661.  
  662. Textdraw12 = TextDrawCreate(-110.000000, 328.000000, "New Textdraw");
  663. TextDrawBackgroundColor(Textdraw12, 255);
  664. TextDrawFont(Textdraw12, 1);
  665. TextDrawLetterSize(Textdraw12, 0.500000, 0.000000);
  666. TextDrawColor(Textdraw12, -1);
  667. TextDrawSetOutline(Textdraw12, 0);
  668. TextDrawSetProportional(Textdraw12, 1);
  669. TextDrawSetShadow(Textdraw12, 1);
  670. TextDrawUseBox(Textdraw12, 1);
  671. TextDrawBoxColor(Textdraw12, -65281);
  672. TextDrawTextSize(Textdraw12, 651.000000, 0.000000);
  673.  
  674. Textdraw13 = TextDrawCreate(-110.000000, 123.000000, "New Textdraw");
  675. TextDrawBackgroundColor(Textdraw13, 255);
  676. TextDrawFont(Textdraw13, 1);
  677. TextDrawLetterSize(Textdraw13, 0.500000, 0.000000);
  678. TextDrawColor(Textdraw13, -1);
  679. TextDrawSetOutline(Textdraw13, 0);
  680. TextDrawSetProportional(Textdraw13, 1);
  681. TextDrawSetShadow(Textdraw13, 1);
  682. TextDrawUseBox(Textdraw13, 1);
  683. TextDrawBoxColor(Textdraw13, -65281);
  684. TextDrawTextSize(Textdraw13, 651.000000, 0.000000);
  685.  
  686. Textdraw14 = TextDrawCreate(0.000000, 51.000000, "l");
  687. TextDrawBackgroundColor(Textdraw14, 255);
  688. TextDrawFont(Textdraw14, 1);
  689. TextDrawLetterSize(Textdraw14, 0.999999, 36.000000);
  690. TextDrawColor(Textdraw14, -65281);
  691. TextDrawSetOutline(Textdraw14, 1);
  692. TextDrawSetProportional(Textdraw14, 1);
  693.  
  694. Textdraw15 = TextDrawCreate(631.000000, 51.000000, "l");
  695. TextDrawBackgroundColor(Textdraw15, 255);
  696. TextDrawFont(Textdraw15, 1);
  697. TextDrawLetterSize(Textdraw15, 0.999999, 36.000000);
  698. TextDrawColor(Textdraw15, -65281);
  699. TextDrawSetOutline(Textdraw15, 1);
  700. TextDrawSetProportional(Textdraw15, 1);
  701.  
  702. Textdraw16 = TextDrawCreate(164.000000, 39.000000, "PlanetX Cops'n'Robbers");
  703. TextDrawBackgroundColor(Textdraw16, 255);
  704. TextDrawFont(Textdraw16, 2);
  705. TextDrawLetterSize(Textdraw16, 0.600000, 3.000000);
  706. TextDrawColor(Textdraw16, -1);
  707. TextDrawSetOutline(Textdraw16, 0);
  708. TextDrawSetProportional(Textdraw16, 1);
  709. TextDrawSetShadow(Textdraw16, 1);
  710.  
  711. Textdraw17 = TextDrawCreate(12.000000, 339.000000, "Rules: ~n~1. No cheating/hacking~n~2. No bug abusing~n~3. No random DM");
  712. TextDrawBackgroundColor(Textdraw17, 255);
  713. TextDrawFont(Textdraw17, 1);
  714. TextDrawLetterSize(Textdraw17, 0.390000, 2.000000);
  715. TextDrawColor(Textdraw17, -1);
  716. TextDrawSetOutline(Textdraw17, 0);
  717. TextDrawSetProportional(Textdraw17, 1);
  718. TextDrawSetShadow(Textdraw17, 1);
  719.  
  720. CnR1 = TextDrawCreate(54.000000, 310.000000, "PlanetX");
  721. TextDrawBackgroundColor(CnR1, 255);
  722. TextDrawFont(CnR1, 3);
  723. TextDrawLetterSize(CnR1, 0.509999, 1.600000);
  724. TextDrawColor(CnR1, -1);
  725. TextDrawSetOutline(CnR1, 1);
  726. TextDrawSetProportional(CnR1, 1);
  727.  
  728. CnR2 = TextDrawCreate(41.000000, 323.000000, "~b~~h~~h~Cops~w~'n'~r~~h~Robbers");
  729. TextDrawBackgroundColor(CnR2, 255);
  730. TextDrawFont(CnR2, 0);
  731. TextDrawLetterSize(CnR2, 0.509999, 1.600000);
  732. TextDrawColor(CnR2, -1);
  733. TextDrawSetOutline(CnR2, 1);
  734. TextDrawSetProportional(CnR2, 1);
  735.  
  736. CT = TextDrawCreate(244.000000, 126.000000, "Choose your team:");
  737. TextDrawBackgroundColor(CT, 255);
  738. TextDrawFont(CT, 1);
  739. TextDrawLetterSize(CT, 0.460000, 2.000000);
  740. TextDrawColor(CT, -1);
  741. TextDrawSetOutline(CT, 0);
  742. TextDrawSetProportional(CT, 1);
  743. TextDrawSetShadow(CT, 1);
  744.  
  745. PD = TextDrawCreate(310.000000, 150.000000, "Law divisions");
  746. TextDrawAlignment(PD, 2);
  747. TextDrawBackgroundColor(PD, 255);
  748. TextDrawFont(PD, 1);
  749. TextDrawLetterSize(PD, 0.449999, 2.400000);
  750. TextDrawColor(PD, -1);
  751. TextDrawSetOutline(PD, 0);
  752. TextDrawSetProportional(PD, 1);
  753. TextDrawSetShadow(PD, 1);
  754. TextDrawTextSize(PD, 30.000000, 150.000000);
  755.  
  756. CV = TextDrawCreate(310.000000, 190.000000, "Civilian");
  757. TextDrawAlignment(CV, 2);
  758. TextDrawBackgroundColor(CV, 255);
  759. TextDrawFont(CV, 1);
  760. TextDrawLetterSize(CV, 0.449999, 2.400000);
  761. TextDrawColor(CV, -1);
  762. TextDrawSetOutline(CV, 0);
  763. TextDrawSetProportional(CV, 1);
  764. TextDrawSetShadow(CV, 1);
  765. TextDrawTextSize(CV, 30.000000, 190.000000);
  766.  
  767. FD = TextDrawCreate(310.000000, 230.000000, "Fire and Rescue");
  768. TextDrawAlignment(FD, 2);
  769. TextDrawBackgroundColor(FD, 255);
  770. TextDrawFont(FD, 1);
  771. TextDrawLetterSize(FD, 0.449999, 2.400000);
  772. TextDrawColor(FD, -1);
  773. TextDrawSetOutline(FD, 0);
  774. TextDrawSetProportional(FD, 1);
  775. TextDrawSetShadow(FD, 1);
  776. TextDrawTextSize(FD, 30.000000, 230.000000);
  777.  
  778. TextDrawSetSelectable(PD, true);
  779. TextDrawSetSelectable(CV, true);
  780. TextDrawSetSelectable(FD, true);
  781. //-------------------- MAP ------------------------
  782. AddStaticVehicleEx(490,1803.1999512,-1586.1999512,13.8000002,310.0000000,53,-1,180);
  783. AddStaticVehicleEx(490,1792.1999512,-1598.5999756,13.8999996,359.9957275,53,-1,180);
  784. AddStaticVehicleEx(490,1797.0000000,-1591.2998047,13.8000002,309.9957275,53,-1,180);
  785. AddStaticVehicleEx(427,1816.5000000,-1566.0000000,13.8000002,165.9999390,53,1,180);
  786. AddStaticVehicleEx(427,1818.8994141,-1556.2998047,13.8000002,165.9978638,53,1,180);
  787. AddStaticVehicleEx(596,1810.5999756,-1569.4000244,13.3000002,262.0000000,53,1,180);
  788. AddStaticVehicleEx(596,1804.5000000,-1575.5996094,13.1999998,261.9964600,53,1,180);
  789. AddStaticVehicleEx(596,1807.1992188,-1572.5996094,13.3000002,261.9964600,53,1,180);
  790. AddStaticVehicleEx(596,1813.5999756,-1585.0000000,13.3999996,357.9964600,53,1,180);
  791. AddStaticVehicleEx(596,1813.5999756,-1591.3000488,13.3999996,357.9949951,53,1,180);
  792. AddStaticVehicleEx(596,1600.5000000,-1684.0000000,5.6999998,90.0000000,-1,1,180);
  793. AddStaticVehicleEx(596,1600.3000488,-1687.9000244,5.6999998,90.0000000,-1,1,180);
  794. AddStaticVehicleEx(596,1599.9000244,-1696.0000000,5.6999998,90.0000000,-1,1,180);
  795. AddStaticVehicleEx(596,1600.0000000,-1691.8994141,5.6999998,90.0000000,-1,1,180);
  796. AddStaticVehicleEx(596,1599.8000488,-1700.3000488,5.6999998,90.0000000,-1,1,180);
  797. AddStaticVehicleEx(596,1592.0999756,-1710.8000488,5.6999998,0.0000000,-1,1,180);
  798. AddStaticVehicleEx(596,1587.4000244,-1710.6999512,5.6999998,0.0000000,-1,1,180);
  799. AddStaticVehicleEx(596,1583.5000000,-1710.5999756,5.6999998,0.0000000,-1,1,180);
  800. AddStaticVehicleEx(596,1578.5000000,-1710.5000000,5.6999998,0.0000000,-1,1,180);
  801. AddStaticVehicleEx(596,1574.1999512,-1710.5000000,5.6999998,0.0000000,-1,1,180);
  802. AddStaticVehicleEx(596,1570.1999512,-1710.5000000,5.6999998,0.0000000,-1,1,180);
  803. AddStaticVehicleEx(596,1559.0000000,-1709.6999512,5.6999998,0.0000000,-1,1,180);
  804. AddStaticVehicleEx(528,1562.8000488,-1708.9000244,6.0999999,0.0000000,-1,-1,180);
  805. AddStaticVehicleEx(528,1566.1999512,-1709.4000244,6.0999999,0.0000000,-1,-1,180);
  806. AddStaticVehicleEx(599,1545.0999756,-1680.0999756,6.3000002,90.0000000,-1,1,180);
  807. AddStaticVehicleEx(599,1545.0999756,-1676.1999512,6.3000002,90.0000000,-1,1,180);
  808. AddStaticVehicleEx(599,1545.1992188,-1675.5000000,6.3000002,90.0000000,-1,1,180);
  809. AddStaticVehicleEx(599,1544.9000244,-1672.3000488,6.3000002,90.0000000,-1,1,180);
  810. AddStaticVehicleEx(599,1544.6999512,-1668.0000000,6.3000002,90.0000000,-1,1,180);
  811. AddStaticVehicleEx(426,1293.6999512,-979.7000122,32.5000000,90.0000000,-1,1,180);
  812. AddStaticVehicleEx(426,1294.9000244,-983.2999878,32.5000000,90.0000000,-1,7,180);
  813. AddStaticVehicleEx(426,1293.5000000,-987.0999756,32.5000000,90.0000000,75,7,180);
  814. AddStaticVehicleEx(426,1295.0000000,-990.7000122,32.5000000,90.0000000,75,7,180);
  815. AddStaticVehicleEx(490,1284.0000000,-971.0999756,38.7000008,182.0000000,-1,-1,180);
  816. AddStaticVehicleEx(490,1276.0000000,-975.2998047,38.7000008,181.9995117,-1,-1,180);
  817. AddStaticVehicleEx(490,1280.0996094,-975.0000000,38.7000008,181.9995117,-1,-1,180);
  818. AddStaticVehicleEx(490,1289.1999512,-970.9000244,38.7000008,181.9995117,-1,-1,180);
  819. AddStaticVehicleEx(426,1293.1999512,-1001.4000244,38.2000008,0.0000000,-1,1,180);
  820. AddStaticVehicleEx(426,1289.9000244,-1001.2999878,38.2000008,0.0000000,75,15,180);
  821. AddStaticVehicleEx(426,1286.3000488,-1001.2999878,38.2000008,0.0000000,-1,15,180);
  822. AddStaticVehicleEx(426,1300.5000000,-983.2000122,38.2000008,92.0000000,-1,15,180);
  823. AddStaticVehicleEx(426,1300.0999756,-969.0999756,38.2000008,91.9995117,-1,15,180);
  824. AddStaticVehicleEx(426,1300.5000000,-979.6992188,38.2000008,91.9995117,-1,15,180);
  825. CreateObject(987,1784.5999756,-1589.8000488,12.5000000,0.0000000,0.0000000,266.0000000);
  826. CreateObject(987,1783.6999512,-1601.8000488,12.5000000,0.0000000,0.0000000,353.9954834);
  827. CreateObject(987,1807.4000244,-1602.6999512,12.5000000,0.0000000,0.0000000,43.9904785);
  828. CreateObject(987,1795.5996094,-1603.0000000,12.5000000,0.0000000,0.0000000,1.9885254);
  829. CreateObject(987,1815.8994141,-1594.5000000,12.5000000,0.0000000,0.0000000,87.9840088);
  830. CreateObject(987,1823.6999512,-1547.8000488,12.5000000,0.0000000,0.0000000,169.9864502);
  831. CreateObject(987,1818.8994141,-1570.8994141,12.5000000,0.0000000,0.0000000,77.9864502);
  832. CreateObject(987,1821.2998047,-1559.2998047,12.5000000,0.0000000,0.0000000,77.9864502);
  833. CreateObject(1696,1280.0999756,-998.7000122,35.9000015,4.0000000,0.0000000,270.0000000);
  834. CreateObject(1696,1280.1999512,-993.2000122,35.9000015,3.9990234,0.0000000,270.0000000);
  835. CreateObject(1696,1280.3000488,-987.7000122,35.9000015,3.9990234,0.0000000,270.0000000);
  836. CreateObject(1696,1278.0000000,-998.9000244,34.9000015,3.9990234,0.0000000,270.0000000);
  837. gate = CreateObject(985, 1817.15234, -1578.77026, 13.18835, 0.00000, 0.00000, 259.16129);
  838. gate2 = CreateObject(985, 1588.57971, -1637.87732, 13.01211, 0.00000, 0.00000, 0.75451);
  839. return 1;
  840. }
  841.  
  842. public OnGameModeExit()
  843. {
  844. TextDrawDestroy(CnR1);
  845. TextDrawDestroy(CnR2);
  846. TextDrawDestroy(PD);
  847. TextDrawDestroy(FD);
  848. TextDrawDestroy(CV);
  849. TextDrawDestroy(Textdraw10);
  850. TextDrawDestroy(Textdraw11);
  851. TextDrawDestroy(Textdraw12);
  852. TextDrawDestroy(Textdraw13);
  853. TextDrawDestroy(Textdraw14);
  854. TextDrawDestroy(Textdraw15);
  855. return 1;
  856. }
  857.  
  858. public OnPlayerRequestClass(playerid, classid)
  859. {
  860. TogglePlayerSpectating(playerid, true);
  861. TextDrawShowForPlayer(playerid, PD);
  862. TextDrawShowForPlayer(playerid, CV);
  863. TextDrawShowForPlayer(playerid, FD);
  864. TextDrawShowForPlayer(playerid, CT);
  865. SelectTextDraw(playerid, 0xFF0000FF);
  866. return 1;
  867. }
  868.  
  869. public OnPlayerConnect(playerid)
  870. {
  871. new str[124];
  872. format(str, sizeof(str), "JOIN: %s(%d)", PlayerName(playerid), playerid);
  873. SendClientMessageToAll(0xD4D4D4AA, str);
  874. if(fexist(UserPath(playerid)))
  875. {
  876. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  877. new string1[250];
  878. format(string1,sizeof(string1), "{FFFFFF}Account name: {00A6FF}%s\n{FFFFFF}Account IP: {00A6FF}%s\n{FFFFFF}Account status: {00FF11}Registered\n\n{FFFFFF}Type in the password to {00A6FF}<{FFFFFF}log-in{00A6FF}>", PlayerName(playerid),PlayerIP(playerid));
  879. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Login",string1,"Login","Quit");
  880. }
  881. else
  882. {
  883. new string2[250];
  884. format(string2,sizeof(string2), "{FFFFFF}Account name: {00A6FF}%s\n{FFFFFF}Account IP: {00A6FF}%s\n{FFFFFF}Account status: {FF0000}Not registered\n\n{FFFFFF}Type in the password to {00A6FF}<{FFFFFF}register{00A6FF}>", PlayerName(playerid),PlayerIP(playerid));
  885. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Register",string2,"Register","Quit");
  886. }
  887. //--------------- SETTINGS -----------------
  888. oEdit[playerid] = 0;
  889. oEditID[playerid] = 0;
  890. TeamChoosen[playerid] = false;
  891. FSpawn[playerid] = true;
  892. inside[playerid] = -1;
  893. //--------------- TEXTDRAWs ----------------
  894. TextDrawShowForPlayer(playerid, Textdraw10);
  895. TextDrawShowForPlayer(playerid, Textdraw11);
  896. TextDrawShowForPlayer(playerid, Textdraw12);
  897. TextDrawShowForPlayer(playerid, Textdraw13);
  898. TextDrawShowForPlayer(playerid, Textdraw14);
  899. TextDrawShowForPlayer(playerid, Textdraw15);
  900. TextDrawShowForPlayer(playerid, Textdraw16);
  901. TextDrawShowForPlayer(playerid, Textdraw17);
  902. //--------------------------------------------
  903. for(new x=0; x < MAX_HOUSES; x++)
  904. {
  905. if(strcmp(PlayerName(playerid), H[x][Owner], false) == 0) ownshouse[playerid] = true;
  906. }
  907. return 1;
  908. }
  909.  
  910. public OnPlayerDisconnect(playerid, reason)
  911. {
  912. new str[124];
  913. switch(reason)
  914. {
  915. case 0: format(str,sizeof str,"TIMEOUT: %s(%d)",PlayerName(playerid), playerid);
  916. case 1: format(str,sizeof str,"LEAVE: %s(%d)",PlayerName(playerid), playerid);
  917. case 2: format(str,sizeof str,"KICK: %s(%d)",PlayerName(playerid), playerid);
  918. }
  919. SendClientMessageToAll(0xD4D4D4AA,str);
  920. //--------------- SAVING ----------------
  921. new INI:File = INI_Open(UserPath(playerid));
  922. INI_SetTag(File,"data");
  923. INI_WriteInt(File,"Cash",GetPlayerMoneyEx(playerid));
  924. INI_WriteInt(File,"Score",GetPlayerScore(playerid));
  925. INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
  926. INI_WriteInt(File,"Donor",PlayerInfo[playerid][pDonor]);
  927. INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
  928. INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
  929. INI_WriteInt(File,"Banned",PlayerInfo[playerid][pBanned]);
  930. INI_Close(File);
  931. //--------------- SETTINGS ----------------
  932. PlayerInfo[playerid][pAdmin] = 0;
  933. PlayerInfo[playerid][pDonor] = 0;
  934. PlayerInfo[playerid][pBanned] = 0;
  935. PlayerInfo[playerid][pKills] = 0;
  936. PlayerInfo[playerid][pDeaths] = 0;
  937. TeamChoosen[playerid] = false;
  938. FSpawn[playerid] = true;
  939. inside[playerid] = -1;
  940. //---------------------------------------------
  941. return 1;
  942. }
  943.  
  944. public OnPlayerSpawn(playerid)
  945. {
  946. if(FSpawn[playerid] == true)
  947. {
  948. new team = GetPlayerTeam(playerid);
  949. TextDrawShowForPlayer(playerid, CnR1);
  950. TextDrawShowForPlayer(playerid, CnR2);
  951. if(team == TEAM_COPS)
  952. {
  953. ShowPlayerDialog(playerid, 15, DIALOG_STYLE_LIST, "Choose your class", "Police officer\nFBI - 100 score\nSWAT - 300 score", "Choose", "");
  954. }
  955. else if(team == TEAM_RESCUE)
  956. {
  957. ShowPlayerDialog(playerid, 16, DIALOG_STYLE_LIST, "Choose your class", "Medic\nFireman", "Choose", "");
  958. }
  959. else if(team == NO_TEAM)
  960. {
  961. ShowPlayerDialog(playerid, 17, DIALOG_STYLE_LIST, "Choose your class", "Robber", "Choose", "");
  962. }
  963. FSpawn[playerid] = false;
  964. }
  965. else
  966. {
  967. GiveClassWeapons(playerid);
  968. }
  969. return 1;
  970. }
  971.  
  972. public OnPlayerDeath(playerid, killerid, reason)
  973. {
  974. new string[128];
  975. if(killerid != INVALID_PLAYER_ID)
  976. {
  977. if(GetPlayerTeam(killerid) == TEAM_COPS)
  978. {
  979. if(GetPlayerWantedLevel(playerid) <= 5)
  980. {
  981. GivePlayerMoneyEx(killerid, 500);
  982. format(string,sizeof(string), "KILL: You have killed suspect %s. +500$", PlayerName(playerid));
  983. SendClientMessage(killerid, 0x4DFF8EAA, string);
  984. }
  985. else if(GetPlayerWantedLevel(playerid) > 5 && GetPlayerWantedLevel(playerid) <= 10)
  986. {
  987. GivePlayerMoneyEx(killerid, 1000);
  988. format(string,sizeof(string), "KILL: You have killed suspect %s. +1000$", PlayerName(playerid));
  989. SendClientMessage(killerid, 0x4DFF8EAA, string);
  990. }
  991. else if(GetPlayerWantedLevel(playerid) > 10 && GetPlayerWantedLevel(playerid) <= 20)
  992. {
  993. GivePlayerMoneyEx(killerid, 1800);
  994. format(string,sizeof(string), "KILL: You have killed suspect %s. +1800$", PlayerName(playerid));
  995. SendClientMessage(killerid, 0x4DFF8EAA, string);
  996. }
  997. }
  998. else if(GetPlayerTeam(killerid) == NO_TEAM)
  999. {
  1000. if(GetPlayerTeam(playerid) == TEAM_COPS)
  1001. {
  1002. SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid)+5);
  1003. format(string,sizeof(string), "KILL: You have killed police officer %s. Wanted level: %d", PlayerName(playerid), GetPlayerWantedLevel(killerid));
  1004. SendClientMessage(killerid, 0x4DFF8EAA, string);
  1005. }
  1006. else
  1007. {
  1008. SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid)+2);
  1009. format(string,sizeof(string), "KILL: You have killed %s. Wanted level: %d", PlayerName(playerid), GetPlayerWantedLevel(killerid));
  1010. SendClientMessage(killerid, 0x4DFF8EAA, string);
  1011. }
  1012. }
  1013. }
  1014. GivePlayerMoneyEx(playerid, -300);
  1015. SendClientMessage(playerid, 0x4DFF8EAA, "DEATH: You have been shot and transfered to hospital. You paid 400$ to the hospital");
  1016. PlayerInfo[playerid][pDeaths]++;
  1017. PlayerInfo[killerid][pKills]++;
  1018. inside[playerid] = -1;
  1019. return 1;
  1020. }
  1021.  
  1022. public OnVehicleSpawn(vehicleid)
  1023. {
  1024. return 1;
  1025. }
  1026.  
  1027. public OnVehicleDeath(vehicleid, killerid)
  1028. {
  1029. return 1;
  1030. }
  1031.  
  1032. public OnPlayerText(playerid, text[])
  1033. {
  1034. new string[300];
  1035. if(TeamChoosen[playerid] == false)
  1036. {
  1037. if(PlayerInfo[playerid][pMuted])
  1038. {
  1039. SendClientMessage(playerid, 0xFF0000AA, "ERROR: You can't speak while muted.");
  1040. return 0;
  1041. }
  1042. format(string, sizeof(string), "[%d] %s: {FFFFFF}%s", playerid, PlayerName(playerid), text);
  1043. SendClientMessageToAll(GetPlayerColor(playerid), string);
  1044. printf(string);
  1045. return 0;
  1046. }
  1047. return 1;
  1048. }
  1049.  
  1050. public OnPlayerCommandText(playerid, cmdtext[])
  1051. {
  1052. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  1053. {
  1054. // Do something here
  1055. return 1;
  1056. }
  1057. return 0;
  1058. }
  1059.  
  1060. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1061. {
  1062. return 1;
  1063. }
  1064.  
  1065. public OnPlayerExitVehicle(playerid, vehicleid)
  1066. {
  1067. return 1;
  1068. }
  1069.  
  1070. public OnPlayerStateChange(playerid, newstate, oldstate)
  1071. {
  1072. return 1;
  1073. }
  1074.  
  1075. public OnPlayerEnterCheckpoint(playerid)
  1076. {
  1077. return 1;
  1078. }
  1079.  
  1080. public OnPlayerLeaveCheckpoint(playerid)
  1081. {
  1082. return 1;
  1083. }
  1084.  
  1085. public OnPlayerEnterRaceCheckpoint(playerid)
  1086. {
  1087. return 1;
  1088. }
  1089.  
  1090. public OnPlayerLeaveRaceCheckpoint(playerid)
  1091. {
  1092. return 1;
  1093. }
  1094.  
  1095. public OnRconCommand(cmd[])
  1096. {
  1097. return 1;
  1098. }
  1099.  
  1100. public OnPlayerRequestSpawn(playerid)
  1101. {
  1102. TextDrawShowForPlayer(playerid, CnR1);
  1103. TextDrawShowForPlayer(playerid, CnR2);
  1104. return 1;
  1105. }
  1106. public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  1107. {
  1108. new string[128], idx;
  1109. idx = oEditID[playerid];
  1110. if(response == EDIT_RESPONSE_UPDATE)
  1111. {
  1112. SetDynamicObjectPos(objectid, x, y, z);
  1113. SetDynamicObjectRot(objectid, rx, ry, rz);
  1114. }
  1115. else if(response == EDIT_RESPONSE_CANCEL)
  1116. {
  1117. SetDynamicObjectPos(objectid, oPos[playerid][0], oPos[playerid][1], oPos[playerid][2]);
  1118. SetDynamicObjectRot(objectid, oRot[playerid][0], oRot[playerid][1], oRot[playerid][2]);
  1119. oPos[playerid][0] = 0; oPos[playerid][1] = 0; oPos[playerid][2] = 0;
  1120. oRot[playerid][0] = 0; oRot[playerid][1] = 0; oRot[playerid][2] = 0;
  1121. format(string, sizeof(string), " You have canceled editing object ID %d.", idx);
  1122. SendClientMessage(playerid, -1, string);
  1123. }
  1124. else if(response == EDIT_RESPONSE_FINAL)
  1125. {
  1126. SetDynamicObjectPos(objectid, x, y, z);
  1127. SetDynamicObjectRot(objectid, rx, ry, rz);
  1128. if(oEdit[playerid] == 1)
  1129. {
  1130. oldoID = ObjInfo[idx][oModel];
  1131. ObjInfo[idx][oX] = x;
  1132. ObjInfo[idx][oY] = y;
  1133. ObjInfo[idx][oZ] = z;
  1134. ObjInfo[idx][oRX] = rx;
  1135. ObjInfo[idx][oRY] = ry;
  1136. ObjInfo[idx][oRZ] = rz;
  1137. oldodX = ObjInfo[idx][oX];
  1138. oldodY = ObjInfo[idx][oY];
  1139. oldodZ = ObjInfo[idx][oZ];
  1140. oldodRX = ObjInfo[idx][oRX];
  1141. oldodRY = ObjInfo[idx][oRY];
  1142. oldodRZ = ObjInfo[idx][oRZ];
  1143. if(IsValidDynamic3DTextLabel(ObjInfo[idx][oText])) DestroyDynamic3DTextLabel(ObjInfo[idx][oText]);
  1144. if(IsPlayerAdmin(playerid))
  1145. {
  1146. format(string, sizeof(string), "Object ID: %d (Model ID: %d)", idx, ObjInfo[idx][oModel]);
  1147. ObjInfo[idx][oText] = CreateDynamic3DTextLabel(string, 0xFF0000FF, ObjInfo[idx][oX], ObjInfo[idx][oY], ObjInfo[idx][oZ], 10);
  1148. }
  1149. oEdit[playerid] = 0;
  1150. oEditID[playerid] = 0;
  1151. format(string, sizeof(string), " You have finished editing object ID %d's position.", idx);
  1152. SendClientMessage(playerid, -1, string);
  1153. }
  1154. }
  1155. return 1;
  1156. }
  1157. public OnObjectMoved(objectid)
  1158. {
  1159. return 1;
  1160. }
  1161.  
  1162. public OnPlayerObjectMoved(playerid, objectid)
  1163. {
  1164. return 1;
  1165. }
  1166.  
  1167. public OnPlayerPickUpPickup(playerid, pickupid)
  1168. {
  1169. return 1;
  1170. }
  1171.  
  1172. public OnVehicleMod(playerid, vehicleid, componentid)
  1173. {
  1174. return 1;
  1175. }
  1176.  
  1177. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1178. {
  1179. return 1;
  1180. }
  1181.  
  1182. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  1183. {
  1184. return 1;
  1185. }
  1186.  
  1187. public OnPlayerSelectedMenuRow(playerid, row)
  1188. {
  1189. return 1;
  1190. }
  1191.  
  1192. public OnPlayerExitedMenu(playerid)
  1193. {
  1194. return 1;
  1195. }
  1196.  
  1197. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  1198. {
  1199. return 1;
  1200. }
  1201.  
  1202. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1203. {
  1204. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && onDuty[playerid] == true)
  1205. {
  1206. if (newkeys & KEY_SUBMISSION)
  1207. {
  1208. new Float:vx,Float:vy,Float:vz;
  1209. GetVehicleVelocity(GetPlayerVehicleID(playerid),vx,vy,vz);
  1210. SetVehicleVelocity(GetPlayerVehicleID(playerid), vx * 1.8, vy *1.8, vz * 1.8);
  1211. }
  1212. }
  1213. return 1;
  1214. }
  1215.  
  1216. public OnRconLoginAttempt(ip[], password[], success)
  1217. {
  1218. return 1;
  1219. }
  1220.  
  1221. public OnPlayerUpdate(playerid)
  1222. {
  1223. return 1;
  1224. }
  1225.  
  1226. public OnPlayerStreamIn(playerid, forplayerid)
  1227. {
  1228. return 1;
  1229. }
  1230.  
  1231. public OnPlayerStreamOut(playerid, forplayerid)
  1232. {
  1233. return 1;
  1234. }
  1235.  
  1236. public OnVehicleStreamIn(vehicleid, forplayerid)
  1237. {
  1238. return 1;
  1239. }
  1240.  
  1241. public OnVehicleStreamOut(vehicleid, forplayerid)
  1242. {
  1243. return 1;
  1244. }
  1245.  
  1246. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1247. {
  1248. switch(dialogid)
  1249. {
  1250. case DIALOG_REGISTER:
  1251. {
  1252. if(!response) return Kick(playerid);
  1253. if(response)
  1254. {
  1255. if(!strlen(inputtext))
  1256. {
  1257. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "ERROR","{FFFFFF}Wrong user password. Please type another one","Register","Quit");
  1258. }
  1259. new INI:File = INI_Open(UserPath(playerid));
  1260. INI_SetTag(File,"data");
  1261. INI_WriteInt(File,"Password",udb_hash(inputtext));
  1262. INI_WriteInt(File,"Cash",0);
  1263. INI_WriteInt(File,"Score",0);
  1264. INI_WriteInt(File,"Admin",0);
  1265. INI_WriteInt(File,"Donor",0);
  1266. INI_WriteInt(File,"Kills",0);
  1267. INI_WriteInt(File,"Deaths",0);
  1268. INI_Close(File);
  1269. SendClientMessage(playerid, 0x00FF00AA, "Registered!");
  1270. SendClientMessage(playerid, 0x00FF00AA, "You have been rewarded with 1 score and 8000$. Welcome.");
  1271. GivePlayerMoneyEx(playerid, 8000);
  1272. SetPlayerScore(playerid, 1);
  1273. }
  1274. }
  1275. case DIALOG_LOGIN:
  1276. {
  1277. if(!response) return Kick(playerid);
  1278. if(response)
  1279. {
  1280. if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
  1281. {
  1282. if(PlayerInfo[playerid][pBanned] == 0)
  1283. {
  1284. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  1285. GivePlayerMoneyEx(playerid, PlayerInfo[playerid][pMoney]);
  1286. SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
  1287. SendClientMessage(playerid, 0x00FF00AA, "Logged in! Welcome back.");
  1288. }
  1289. else if(PlayerInfo[playerid][pBanned] == 1)
  1290. {
  1291. SendClientMessage(playerid, 0xFF0000AA, "This account is detected as BANNED. Make unban apply on forums.");
  1292. Kick(playerid);
  1293. }
  1294. }
  1295. else
  1296. {
  1297. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"ERROR","{FFFFFF}You have typed wrong user password. Please re-type it","Login","Quit");
  1298. }
  1299. }
  1300. }
  1301. }
  1302. if(dialogid == 10)
  1303. {
  1304. switch(listitem)
  1305. {
  1306. case 0:
  1307. {
  1308. ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "Commands - account", "NOTE: You are responsible for your own account safety!\n\n/changepass - change account password\n/changename - change account name", "Okay", "");
  1309. }
  1310. }
  1311. }
  1312. if(response)
  1313. {
  1314. if(dialogid == 15)
  1315. {
  1316. switch(listitem)
  1317. {
  1318. case 0:
  1319. {
  1320. SetPlayerClasS[playerid] = POLICE;
  1321. SetPlayerInterior(playerid, 0);
  1322. SetPlayerVirtualWorld(playerid, 0);
  1323. SetPlayerPos(playerid, 1568.9299,-1691.4237,5.8906);
  1324. ResetPlayerWeapons(playerid);
  1325. SendClientMessage(playerid, 0x4DFF8EAA, "INFO: You are now Police officer.");
  1326. SetPlayerSkin(playerid, 280);
  1327. SetPlayerColor(playerid, 0x3BB0FFAA);
  1328. ResetPlayerWeapons(playerid);
  1329. GivePlayerWeapon(playerid, 24, 500);
  1330. GivePlayerWeapon(playerid, 3, 5);
  1331. GivePlayerWeapon(playerid, 41, 500);
  1332. GivePlayerWeapon(playerid, 25, 500);
  1333. SetPlayerArmour(playerid, 20);
  1334. }
  1335. case 1:
  1336. {
  1337. if(GetPlayerScore(playerid) < 100) return ShowPlayerDialog(playerid, 15, DIALOG_STYLE_LIST, "Choose your class", "Police officer\nFBI - 100 score\nSWAT - 300 score", "Choose", "");
  1338. {
  1339. SetPlayerClasS[playerid] = FBI;
  1340. SetPlayerInterior(playerid, 0);
  1341. SetPlayerVirtualWorld(playerid, 0);
  1342. SetPlayerPos(playerid, 1332.1984,-984.2341,33.8966);
  1343. ResetPlayerWeapons(playerid);
  1344. SendClientMessage(playerid, 0x4DFF8EAA, "INFO: You are now FBI agent.");
  1345. SetPlayerSkin(playerid, 286);
  1346. SetPlayerColor(playerid, 0x0099FFAA);
  1347. ResetPlayerWeapons(playerid);
  1348. GivePlayerWeapon(playerid, 24, 500);
  1349. GivePlayerWeapon(playerid, 3, 5);
  1350. GivePlayerWeapon(playerid, 29, 500);
  1351. GivePlayerWeapon(playerid, 41, 500);
  1352. GivePlayerWeapon(playerid, 27, 100);
  1353. SetPlayerArmour(playerid, 50);
  1354. }
  1355. }
  1356. case 2:
  1357. {
  1358. if(GetPlayerScore(playerid) < 500) return ShowPlayerDialog(playerid, 15, DIALOG_STYLE_LIST, "Choose your class", "Police officer\nFBI - 100 score\nSWAT - 300 score", "Choose", "");
  1359. {
  1360. SetPlayerClasS[playerid] = SWAT;
  1361. SetPlayerInterior(playerid, 0);
  1362. SetPlayerVirtualWorld(playerid, 0);
  1363. SetPlayerPos(playerid, 1799.2545,-1578.3059,14.0791);
  1364. ResetPlayerWeapons(playerid);
  1365. SendClientMessage(playerid, 0x4DFF8EAA, "INFO: You are now SWAT Operative.");
  1366. SetPlayerSkin(playerid, 285);
  1367. SetPlayerColor(playerid, 0x0288E0AA);
  1368. ResetPlayerWeapons(playerid);
  1369. GivePlayerWeapon(playerid, 24, 500);
  1370. GivePlayerWeapon(playerid, 3, 5);
  1371. GivePlayerWeapon(playerid, 29, 500);
  1372. GivePlayerWeapon(playerid, 41, 500);
  1373. GivePlayerWeapon(playerid, 27, 200);
  1374. GivePlayerWeapon(playerid, 31, 300);
  1375. SetPlayerArmour(playerid, 100);
  1376. }
  1377. }
  1378. }
  1379. }
  1380. }
  1381. if(response)
  1382. {
  1383. if(dialogid == 16)
  1384. {
  1385. switch(listitem)
  1386. {
  1387. case 0:
  1388. {
  1389. SetPlayerClasS[playerid] = MEDIC;
  1390. SetPlayerInterior(playerid, 0);
  1391. SetPlayerVirtualWorld(playerid, 0);
  1392. SetPlayerPos(playerid, 1799.2545,-1578.3059,14.0791);
  1393. ResetPlayerWeapons(playerid);
  1394. SendClientMessage(playerid, 0x4DFF8EAA, "INFO: You are now Medic.");
  1395. SetPlayerSkin(playerid, 276);
  1396. }
  1397. case 1:
  1398. {
  1399. SetPlayerClasS[playerid] = FIREMAN;
  1400. ResetPlayerWeapons(playerid);
  1401. SendClientMessage(playerid, 0x4DFF8EAA, "INFO: You are now Fireman.");
  1402. SetPlayerSkin(playerid, 279);
  1403. }
  1404. }
  1405. }
  1406. }
  1407. if(response)
  1408. {
  1409. if(dialogid == 17)
  1410. {
  1411. switch(listitem)
  1412. {
  1413. case 0:
  1414. {
  1415. SetPlayerClasS[playerid] = ROBBER;
  1416. ResetPlayerWeapons(playerid);
  1417. SendClientMessage(playerid, 0x4DFF8EAA, "INFO: You are now Robber.");
  1418. SetPlayerSkin(playerid, 86);
  1419. }
  1420. }
  1421. }
  1422. }
  1423. if(response)
  1424. {
  1425. if(dialogid == 20)
  1426. {
  1427. switch(listitem)
  1428. {
  1429. case 0:
  1430. {
  1431. SetPlayerSkin(playerid, 164);
  1432. SetPlayerColor(playerid, 0xFFFFFFAA);
  1433. SendClientMessage(playerid, -1, "You have put your badge in your pocket.");
  1434. }
  1435. case 1:
  1436. {
  1437. SetPlayerSkin(playerid, 188);
  1438. SetPlayerColor(playerid, 0xFFFFFFAA);
  1439. SendClientMessage(playerid, -1, "You have put your badge in your pocket.");
  1440. }
  1441. case 2:
  1442. {
  1443. SetPlayerSkin(playerid, 240);
  1444. SetPlayerColor(playerid, 0xFFFFFFAA);
  1445. SendClientMessage(playerid, -1, "You have put your badge in your pocket.");
  1446. }
  1447. case 3:
  1448. {
  1449. SetPlayerSkin(playerid, 286);
  1450. SetPlayerColor(playerid, 0x0099FFAA);
  1451. }
  1452. case 4:
  1453. {
  1454. SetPlayerColor(playerid, 0x0099FFAA);
  1455. SendClientMessage(playerid, -1, "You took out your badge and showed it.");
  1456. }
  1457. }
  1458. }
  1459. }
  1460. return 1;
  1461. }
  1462.  
  1463. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1464. {
  1465. return 1;
  1466. }
  1467. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  1468. {
  1469. if(_:clickedid != INVALID_TEXT_DRAW)
  1470. {
  1471. if(clickedid == PD)
  1472. {
  1473. TogglePlayerSpectating(playerid, false);
  1474. SetPlayerTeam(playerid, TEAM_COPS);
  1475. SetSpawnInfo(playerid, TEAM_COPS, 280, 1568.9299,-1691.4237,5.8906, 180, 0, 0, 0, 0, 0, 0);
  1476. SendClientMessage(playerid, 0x4DFF8EAA, "INFO: You choose to be in Law divisions");
  1477. }
  1478. else if(clickedid == CV)
  1479. {
  1480. TogglePlayerSpectating(playerid, false);
  1481. SetPlayerTeam(playerid, NO_TEAM);
  1482. SetSpawnInfo(playerid, NO_TEAM, 73, 1826.5569,-1092.2699,23.9709, 180, 0, 0, 0, 0, 0, 0);
  1483. SendClientMessage(playerid, 0x4DFF8EAA, "INFO: You choose to be civilian");
  1484. }
  1485. else if(clickedid == FD)
  1486. {
  1487. TogglePlayerSpectating(playerid, false);
  1488. SetPlayerTeam(playerid, TEAM_RESCUE);
  1489. SetSpawnInfo(playerid, TEAM_RESCUE, 276, 2033.8066,-1404.3730,17.2610, 180, 0, 0, 0, 0, 0, 0);
  1490. SendClientMessage(playerid, 0x4DFF8EAA, "INFO: You choose to be in Fire & Rescue");
  1491. }
  1492. TextDrawHideForPlayer(playerid, PD);
  1493. TextDrawHideForPlayer(playerid, CV);
  1494. TextDrawHideForPlayer(playerid, FD);
  1495. TextDrawHideForPlayer(playerid, CT);
  1496. TextDrawHideForPlayer(playerid, Textdraw10);
  1497. TextDrawHideForPlayer(playerid, Textdraw11);
  1498. TextDrawHideForPlayer(playerid, Textdraw12);
  1499. TextDrawHideForPlayer(playerid, Textdraw13);
  1500. TextDrawHideForPlayer(playerid, Textdraw14);
  1501. TextDrawHideForPlayer(playerid, Textdraw15);
  1502. TextDrawHideForPlayer(playerid, Textdraw16);
  1503. TextDrawHideForPlayer(playerid, Textdraw17);
  1504. CancelSelectTextDraw(playerid);
  1505. TeamChoosen[playerid] = true;
  1506. }
  1507. return 1;
  1508. }
  1509. //------------------------------------------------------------------------------
  1510. //------------------------ PLAYER COMMANDS -------------------------------------
  1511. //------------------------------------------------------------------------------
  1512. CMD:enter(playerid, params[])
  1513. {
  1514. if(inside[playerid] != -1) return SendClientMessage(playerid, -1, "You're already inside a house! ");
  1515. for(new x=0; x < MAX_HOUSES; x++)
  1516. {
  1517. if(IsPlayerInRangeOfPoint(playerid, 2.0, H[x][Entry][0], H[x][Entry][1], H[x][Entry][2]))
  1518. {
  1519. if(H[x][Locked] == false)
  1520. {
  1521. new Float:Pos[3], inte;
  1522. GetHouseExit(x, Pos[0], Pos[1], Pos[2], inte);
  1523. SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  1524. SetPlayerInterior(playerid, inte);
  1525. SetPlayerVirtualWorld(playerid, x+2500);
  1526. inside[playerid] = x;
  1527. SendClientMessage(playerid, -1, "You entered this house [It's unlocked...]");
  1528. SendClientMessage(playerid, -1, "Use /exit to leave the house! ");
  1529. }
  1530. else
  1531. {
  1532. new name[24];
  1533. GetPlayerName(playerid, name, 24);
  1534. if(strcmp(name, H[x][Owner], false) == 0)
  1535. {
  1536. new Float:Pos[3], inte;
  1537. GetHouseExit(x, Pos[0], Pos[1], Pos[2], inte);
  1538. SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  1539. SetPlayerInterior(playerid, inte);
  1540. SetPlayerVirtualWorld(playerid, x+2500);
  1541. SendClientMessage(playerid, -1, "You entered this house [It's yours, but it's locked!]");
  1542. SendClientMessage(playerid, -1, "Use /exit to leave the house! ");
  1543. inside[playerid] = x;
  1544. }
  1545. else return SendClientMessage(playerid, -1, "This house is locked and you're not the owner! ");
  1546. }
  1547. }
  1548. }
  1549. return 1;
  1550. }
  1551.  
  1552. CMD:exit(playerid, params[])
  1553. {
  1554. if(inside[playerid] == -1) return SendClientMessage(playerid, -1, "You're not inside any house...");
  1555. new houseid = inside[playerid];
  1556. new Float:Pos[3], inte;
  1557. GetHouseExit(houseid, Pos[0], Pos[1], Pos[2], inte);
  1558. if(!IsPlayerInRangeOfPoint(playerid, 3.0, Pos[0], Pos[1], Pos[2])) return SendClientMessage(playerid, -1, "You need to be near the exit to exit! ");
  1559. else
  1560. {
  1561. SetPlayerInterior(playerid, 0);
  1562. inside[playerid] = -1;
  1563. SetPlayerVirtualWorld(playerid, 0);
  1564. SetPlayerPos(playerid, H[houseid][Entry][0], H[houseid][Entry][1], H[houseid][Entry][2]);
  1565. }
  1566. return 1;
  1567. }
  1568.  
  1569. CMD:reloadhouse(playerid, params[])
  1570. {
  1571. if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, -1, "you gotta be admin to use dat! ");
  1572. new houseid;
  1573. if(sscanf(params, "d", houseid)) return SendClientMessage(playerid, -1, "/reloadhouse [house id]");
  1574. LoadHouse(houseid);
  1575. return 1;
  1576. }
  1577.  
  1578. CMD:createhouse(playerid, params[])
  1579. {
  1580. if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, -1, "you gotta be admin to use dat! ");
  1581. new type[80], htype, value;
  1582. if(sscanf(params, "s[40]d", type, value)) SendClientMessage(playerid, -1, "/createhouse [type] [value]");
  1583. if(strcmp(type, "verysmall") == 0) htype = VERY_SMALL;
  1584. else if(strcmp(type, "small") == 0) htype = SMALL;
  1585. else if(strcmp(type, "medium") == 0) htype = MEDIUM;
  1586. else if(strcmp(type, "big") == 0) htype = BIG;
  1587. else if(strcmp(type, "verybig") == 0) htype = VERY_BIG;
  1588. else if(strcmp(type, "large") == 0) htype = LARGE;
  1589. else if(strcmp(type, "extralarge") == 0) htype = EXTRA_LARGE;
  1590. new Float:Pos[3];
  1591. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  1592. CreateHouse(Pos[0], Pos[1], Pos[2], htype, value);
  1593. return 1;
  1594. }
  1595.  
  1596. CMD:houselock(playerid, params[])
  1597. {
  1598. if(inside[playerid] == -1) return SendClientMessage(playerid, -1, "you need to be inside your house to use this cmd! ");
  1599. else
  1600. {
  1601. new houseid = inside[playerid];
  1602. new name[24]; GetPlayerName(playerid, name, 24);
  1603. if(strcmp(name, H[houseid][Owner], false) == 0)
  1604. {
  1605. if(H[houseid][Locked] == true)
  1606. {
  1607. H[houseid][Locked] = false;
  1608. SendClientMessage(playerid, -1, "house unlocked");
  1609. }
  1610. else
  1611. {
  1612. H[houseid][Locked] = true;
  1613. SendClientMessage(playerid, -1, "house locked");
  1614. }
  1615. SaveHouse(houseid);
  1616.  
  1617. }
  1618. else return SendClientMessage(playerid, -1, "this aint yo' house");
  1619. }
  1620. return 1;
  1621. }
  1622.  
  1623. CMD:housename(playerid, params[])
  1624. {
  1625. if(inside[playerid] == -1) return SendClientMessage(playerid, -1, "you need to be inside your house to use this cmd! ");
  1626. else
  1627. {
  1628. new houseid = inside[playerid];
  1629. new name[24]; GetPlayerName(playerid, name, 24);
  1630. if(strcmp(name, H[houseid][Owner], false) == 0)
  1631. {
  1632. new nem[80];
  1633. if(sscanf(params, "s[80]", nem)) return SendClientMessage(playerid, -1, "/housename [new name]");
  1634. else
  1635. {
  1636. if(isnull(nem)) return SendClientMessage(playerid, -1, "can't be empty, fill smth pls");
  1637. else
  1638. {
  1639. format(H[houseid][Name], 80, "%s", nem);
  1640. SendClientMessage(playerid, -1, "house name updated");
  1641. SaveHouse(houseid);
  1642. }
  1643. }
  1644. }
  1645. }
  1646. return 1;
  1647. }
  1648.  
  1649. CMD:buyhouse(playerid, params[])
  1650. {
  1651. if(inside[playerid] == -1) return SendClientMessage(playerid, -1, "you need to be inside a house to use this cmd! ");
  1652. else
  1653. {
  1654. new name[24]; GetPlayerName(playerid, name, 24);
  1655. new houseid = inside[playerid];
  1656. if(strcmp(H[houseid][Owner], "Unowned", false) != 0) return SendClientMessage(playerid, -1, "this house is already owned! ");
  1657. new cast = H[houseid][Value];
  1658. if(GetPlayerMoneyEx(playerid) < cast) return SendClientMessage(playerid, -1, "you dont have enough money to buy this house! ");
  1659. else if(GetPlayerMoneyEx(playerid) >= cast)
  1660. {
  1661. GivePlayerMoneyEx(playerid, -cast);
  1662. format(H[houseid][Owner], 24, "%s", name);
  1663. format(H[houseid][Name], 80, "My house");
  1664. H[houseid][Locked] = false;
  1665. SendClientMessage(playerid, -1, "congrats, you have bought this house! ");
  1666. SaveHouse(houseid);
  1667. }
  1668. }
  1669. return 1;
  1670. }
  1671.  
  1672. CMD:sellhouse(playerid, params[])
  1673. {
  1674. if(inside[playerid] == -1) return SendClientMessage(playerid, -1, "you need to be inside a house to use this cmd! ");
  1675. else
  1676. {
  1677. new name[24]; GetPlayerName(playerid, name, 24);
  1678. new houseid = inside[playerid];
  1679. if(strcmp(H[houseid][Owner], name, false) != 0) return SendClientMessage(playerid, -1, "you dont own this house");
  1680. new cast = H[houseid][Value];
  1681. GivePlayerMoneyEx(playerid, cast);
  1682. format(H[houseid][Owner], 24, "Unowned");
  1683. format(H[houseid][Name], 80, "For sale");
  1684. H[houseid][Locked] = false;
  1685. SendClientMessage(playerid, -1, "congrats, you have sold this house! ");
  1686. SaveHouse(houseid);
  1687. }
  1688. return 1;
  1689. }
  1690. CMD:undercover(playerid,params[])
  1691. {
  1692. if(GetPlayerTeam(playerid) == TEAM_COPS && SetPlayerClasS[playerid] == FBI)
  1693. {
  1694. ShowPlayerDialog(playerid, 20, DIALOG_STYLE_LIST, "Choose option", "Security\nNormal green shirt/trousers\nBlack shirt, pants\nFBI Suit\n• Show badge", "Choose", "Exit");
  1695. }
  1696. return 1;
  1697. }
  1698. CMD:sb(playerid,params[])
  1699. {
  1700. if(GetPlayerTeam(playerid) == TEAM_COPS && SetPlayerClasS[playerid] == FBI)
  1701. {
  1702. SetPlayerColor(playerid, 0x0099FFAA);
  1703. SendClientMessage(playerid, -1, "You took out your badge and showed it.");
  1704. }
  1705. return 1;
  1706. }
  1707. CMD:swatgates(playerid,params[])
  1708. {
  1709. if(IsPlayerInRangeOfPoint(playerid, 5.0, 1816.07092, -1586.16785, 13.16283))
  1710. {
  1711. if(gateopen == false)
  1712. {
  1713. MoveObject(gate, 1816.07092, -1586.16785, 13.16283, 2.0,0.00000, 0.00000, 266.77725);
  1714. gateopen = true;
  1715. }
  1716. else
  1717. {
  1718. MoveObject(gate, 1817.23669, -1578.80579, 13.16283, 2.0,0.00000, 0.00000, 259.01465);
  1719. gateopen = false;
  1720. }
  1721. }
  1722. return 1;
  1723. }
  1724. CMD:pdgates(playerid,params[])
  1725. {
  1726. if(IsPlayerInRangeOfPoint(playerid, 5.0, 1588.57971, -1637.87732, 13.01211))
  1727. {
  1728. if(gateopen == false)
  1729. {
  1730. MoveObject(gate2, 1596.24890, -1637.85986, 13.01211, 2.0, 0.00000, 0.00000, 0.75451);
  1731. gateopen = true;
  1732. }
  1733. else
  1734. {
  1735. MoveObject(gate2, 1588.57971, -1637.87732, 13.01211, 2.0, 0.00000, 0.00000, 0.75451);
  1736. gateopen = false;
  1737. }
  1738. }
  1739. return 1;
  1740. }
  1741. CMD:changeclass(playerid,params[])
  1742. {
  1743. new team = GetPlayerTeam(playerid);
  1744. if(team == TEAM_COPS)
  1745. {
  1746. ShowPlayerDialog(playerid, 15, DIALOG_STYLE_LIST, "Choose your class", "Police officer\nFBI - 100 score\nSWAT - 300 score", "Choose", "");
  1747. }
  1748. else if(team == TEAM_RESCUE)
  1749. {
  1750. ShowPlayerDialog(playerid, 16, DIALOG_STYLE_LIST, "Choose your class", "Medic\nFireman", "Choose", "");
  1751. }
  1752. else if(team == NO_TEAM)
  1753. {
  1754. ShowPlayerDialog(playerid, 17, DIALOG_STYLE_LIST, "Choose your class", "Robber", "Choose", "");
  1755. }
  1756. return 1;
  1757. }
  1758. CMD:su(playerid, params[])
  1759. {
  1760. if(GetPlayerTeam(playerid) == TEAM_COPS)
  1761. {
  1762. new player1, reason[500], string[124], string2[124];
  1763. new Float:x, Float:y, Float:z;
  1764. if(sscanf(params,"us[500]", player1, reason)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /su [ID/Name] [reason]");
  1765. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  1766. GetPlayerPos(player1, x, y, z);
  1767. if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))
  1768. {
  1769. SetPlayerWantedLevel(player1, GetPlayerWantedLevel(player1)+1);
  1770. format(string,sizeof(string), "POLICE: You have been suspected by Officer %s(%d) for %s", PlayerName(playerid), playerid, reason);
  1771. SendClientMessage(player1, 0x00A6FFAA, string);
  1772. format(string2,sizeof(string2), "You have suspected %s for %s", PlayerName(player1), reason);
  1773. SendClientMessage(player1, 0x4DFF8EAA, string2);
  1774. }
  1775. }
  1776. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Only police can use this command");
  1777. return 1;
  1778. }
  1779. CMD:arrest(playerid, params[])
  1780. {
  1781. new player1, string[124], string2[124];
  1782. if(GetPlayerTeam(playerid) == TEAM_COPS && GetPlayerWantedLevel(player1) >= 1)
  1783. {
  1784. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /arrest [ID/Name]");
  1785. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  1786. SetPlayerWantedLevel(player1, 0);
  1787. format(string,sizeof(string), "POLICE: You have been arrested by Officer %s(%d)", PlayerName(playerid), playerid);
  1788. SendClientMessage(player1, 0x00A6FFAA, string);
  1789. format(string2,sizeof(string2), "You have arrested %s", PlayerName(player1));
  1790. SendClientMessage(player1, 0x4DFF8EAA, string2);
  1791. SetPlayerInterior(player1, 10);
  1792. SetPlayerPos(player1, 215.6342,114.2328,999.0156);
  1793. }
  1794. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Only police can use this command ON WANTED players");
  1795. return 1;
  1796. }
  1797. CMD:cmds(playerid, params[])
  1798. {
  1799. ShowPlayerDialog(playerid, 10, DIALOG_STYLE_LIST, "Commands", "{FF0000}• {FFFFFF}Account\n{FF0000}• {FFFFFF}Foot\n{FF0000}• {FFFFFF}Vehicle\n{FF0000}• {FFFFFF}House\n{FF0000}• {FFFFFF}Business", "Choose", "Exit");
  1800. return 1;
  1801. }
  1802. CMD:veh(playerid, params[])
  1803. {
  1804. new veh[24];
  1805. if(sscanf(params, "s[24]", veh)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /veh [name]");
  1806. for(new v; v < 212; v++)
  1807. {
  1808. if(strfind(VehicleNames[v], veh, true) != -1)
  1809. {
  1810. vehicle = v + 400; break;
  1811. }
  1812. }
  1813. if(vehicle == -1) vehicle = strval(veh);
  1814. if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, -1, "Enter a valid vehicle name or an ID between 400 and 611!");
  1815.  
  1816. new Float:PosS[4];
  1817. if(IsPlayerInAnyVehicle(playerid))
  1818. {
  1819. GetVehiclePos(GetPlayerVehicleID(playerid), PosS[0], PosS[1], PosS[2]);
  1820. GetVehicleZAngle(GetPlayerVehicleID(playerid), PosS[3]);
  1821. }
  1822. else
  1823. {
  1824. GetPlayerPos(playerid, PosS[0], PosS[1], PosS[2]);
  1825. GetPlayerFacingAngle(playerid, PosS[3]);
  1826. }
  1827. PutPlayerInVehicle(playerid, CreateVehicle(vehicle, PosS[0], PosS[1], PosS[2], PosS[3], 0, 1, 120), 0);
  1828. return 1;
  1829. }
  1830. CMD:siren(playerid, params[])
  1831. {
  1832. new VID = GetPlayerVehicleID(playerid);
  1833. if(GetPlayerTeam(playerid) == TEAM_COPS && SetPlayerClasS[playerid] == FBI || SetPlayerClasS[playerid] == SWAT)
  1834. {
  1835. if(Siren[VID] == true)
  1836. {
  1837. SendClientMessage(playerid, 0xFF0000AA, "Siren has been taken down from dashboard");
  1838. Siren[VID] = false;
  1839. DestroyObject(SirenObject[VID]);
  1840. }
  1841. else if(Siren[VID] == false)
  1842. {
  1843. Siren[VID] = true;
  1844. SirenObject[VID] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
  1845. EditObject(playerid, SirenObject[VID]);
  1846. AttachObjectToVehicle(SirenObject[VID], VID, 0.3479, 0.6826, 0.4010, 0.0, 0.1, 0.0);
  1847. }
  1848. }
  1849. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Only FBI and SWAT operatives may use sirens.");
  1850. return 1;
  1851. }
  1852. //------------------------------------------------------------------------------
  1853. //------------------------ ADMIN COMMANDS --------------------------------------
  1854. //------------------------------------------------------------------------------
  1855. CMD:maptool(playerid, params[])
  1856. {
  1857. if(IsPlayerAdmin(playerid))
  1858. {
  1859. SendClientMessage(playerid, 0xFF78FDAA, "_____________________________________________________");
  1860. SendClientMessage(playerid, 0xF200EEAA, "* Mapper Commands: {FFFFFF}/co - CreateObject | /eo - EditObject | /delo - DeleteObject");
  1861. SendClientMessage(playerid, 0xF200EEAA, "* Mapper Commands: {FFFFFF}/nearob, /dobj - DuplicateObject | /gotoo - TP to object | /saveobjects");
  1862. SendClientMessage(playerid, 0xFF78FDAA, "_____________________________________________________");
  1863. }
  1864. return 1;
  1865. }
  1866.  
  1867. CMD:co(playerid, params[])
  1868. {
  1869. new string[128], object;
  1870. if(IsPlayerAdmin(playerid))
  1871. {
  1872. if(sscanf(params, "i", object)) return SendClientMessage(playerid, -1, "[Usage]: /createobj [objectid]");
  1873.  
  1874. for(new idx=1; idx<MAX_OBJ; idx++)
  1875. {
  1876. if(!ObjInfo[idx][oModel])
  1877. {
  1878. GetPlayerPos(playerid, ObjInfo[idx][oX], ObjInfo[idx][oY], ObjInfo[idx][oZ]);
  1879. ObjInfo[idx][oModel] = object;
  1880. oldoID = ObjInfo[idx][oModel];
  1881. oldodX = ObjInfo[idx][oX];
  1882. oldodY = ObjInfo[idx][oY];
  1883. oldodZ = ObjInfo[idx][oZ];
  1884. oldodRX = ObjInfo[idx][oRX];
  1885. oldodRY = ObjInfo[idx][oRY];
  1886. oldodRZ = ObjInfo[idx][oRZ];
  1887. ObjInfo[idx][oX] = ObjInfo[idx][oX] + 2;
  1888. ObjInfo[idx][oY] = ObjInfo[idx][oY] + 2;
  1889. ObjInfo[idx][oRX] = 0;
  1890. ObjInfo[idx][oRY] = 0;
  1891. ObjInfo[idx][oRZ] = 0;
  1892. // Creating
  1893. ObjInfo[idx][obj] = CreateDynamicObject(ObjInfo[idx][oModel], ObjInfo[idx][oX], ObjInfo[idx][oY], ObjInfo[idx][oZ], ObjInfo[idx][oRX], ObjInfo[idx][oRY], ObjInfo[idx][oRZ]);
  1894. if(IsPlayerAdmin(playerid))
  1895. {
  1896. format(string, sizeof(string), "Object ID: %d (Model ID: %d)", idx, ObjInfo[idx][oModel]);
  1897. ObjInfo[idx][oText] = CreateDynamic3DTextLabel(string, 0xFF0000FF, ObjInfo[idx][oX], ObjInfo[idx][oY], ObjInfo[idx][oZ], 10);
  1898. SendClientMessage(playerid, -1, "Object created");
  1899. }
  1900. // Text
  1901. idx = MAX_OBJ;
  1902. }
  1903. }
  1904. }
  1905. return 1;
  1906. }
  1907. CMD:dobj(playerid, params[])
  1908. {
  1909. new string[128] ,idx;
  1910. if(IsPlayerAdmin(playerid))
  1911. {
  1912. for(idx=1; idx<MAX_OBJ; idx++)
  1913. {
  1914. if(!ObjInfo[idx][oModel])
  1915. {
  1916. ObjInfo[idx][oModel] = oldoID;
  1917. ObjInfo[idx][oX] = oldodX;
  1918. ObjInfo[idx][oY] = oldodY;
  1919. ObjInfo[idx][oZ] = oldodZ;
  1920. ObjInfo[idx][oRX] = oldodRX;
  1921. ObjInfo[idx][oRY] = oldodRY;
  1922. ObjInfo[idx][oRZ] = oldodRZ;
  1923. // Creating
  1924. ObjInfo[idx][obj] = CreateDynamicObject(oldoID, oldodX, oldodY, oldodZ, oldodRX, oldodRY, oldodRZ);
  1925. if(IsPlayerAdmin(playerid))
  1926. {
  1927. ObjInfo[idx][oText] = CreateDynamic3DTextLabel(string, 0xFF0000FF, oldodX, oldodY, oldodZ, 10);
  1928. }
  1929. // Text
  1930. idx = MAX_OBJ;
  1931. }
  1932. }
  1933. }
  1934. return 1;
  1935. }
  1936. CMD:nearo(playerid, params[])
  1937. {
  1938. new string[128];
  1939. if(IsPlayerAdmin(playerid))
  1940. {
  1941. for(new idx=1; idx<MAX_OBJ; idx++)
  1942. {
  1943. if(IsPlayerInRangeOfPoint(playerid, 5, ObjInfo[idx][oX], ObjInfo[idx][oY], ObjInfo[idx][oZ]))
  1944. {
  1945. format(string, sizeof(string), "Nearest Object ID: %d", idx);
  1946. SendClientMessage(playerid, -1, string);
  1947. return 1;
  1948. }
  1949. }
  1950. SendClientMessage(playerid, -1, "You are not near a object!");
  1951. }
  1952. return 1;
  1953. }
  1954.  
  1955. CMD:eo(playerid, params[])
  1956. {
  1957. new string[128], idx;
  1958. if(IsPlayerAdmin(playerid))
  1959. {
  1960. if(sscanf(params, "i", idx)) return SendClientMessage(playerid, -1, "[Usage]: /editobj [objectid]");
  1961. if(!ObjInfo[idx][oModel]) return SendClientMessage(playerid, -1, "Invalid object id.");
  1962. oEdit[playerid] = 1;
  1963. oEditID[playerid] = idx;
  1964. GetDynamicObjectPos(ObjInfo[idx][obj], oPos[playerid][0], oPos[playerid][1], oPos[playerid][2]);
  1965. GetDynamicObjectRot(ObjInfo[idx][obj], oRot[playerid][0], oRot[playerid][1], oRot[playerid][2]);
  1966. EditDynamicObject(playerid, ObjInfo[idx][obj]);
  1967. format(string, sizeof(string), " You are now editing object ID %d's position.", idx);
  1968. SendClientMessage(playerid, -1, string);
  1969. }
  1970. return 1;
  1971. }
  1972.  
  1973. CMD:delo(playerid, params[])
  1974. {
  1975. new idx;
  1976. if(IsPlayerAdmin(playerid))
  1977. {
  1978. if(sscanf(params, "i", idx)) return SendClientMessage(playerid, -1, "[Usage]: /deleteobj [objid]");
  1979. if(!ObjInfo[idx][oModel]) return SendClientMessage(playerid, -1, "Invalid object id.");
  1980. ObjInfo[idx][oModel] = 0;
  1981. ObjInfo[idx][oX] = 0;
  1982. ObjInfo[idx][oY] = 0;
  1983. ObjInfo[idx][oZ] = 0;
  1984. ObjInfo[idx][oRX] = 0;
  1985. ObjInfo[idx][oRY] = 0;
  1986. ObjInfo[idx][oRZ] = 0;
  1987. DestroyDynamicObject(ObjInfo[idx][obj]);
  1988. DestroyDynamic3DTextLabel(ObjInfo[idx][oText]);
  1989. }
  1990. return 1;
  1991. }
  1992.  
  1993. CMD:gotoobj(playerid, params[])
  1994. {
  1995. if(IsPlayerAdmin(playerid))
  1996. {
  1997. new idx, string[128];
  1998. if(sscanf(params, "i", idx)) return SendClientMessage(playerid, -1, "[Usage]: /gotoobj [objectid]");
  1999. if(!ObjInfo[idx][oModel]) return SendClientMessage(playerid, -1, "Invalid object id.");
  2000. SetPlayerPos(playerid, ObjInfo[idx][oX], ObjInfo[idx][oY], ObjInfo[idx][oZ]);
  2001. format(string, sizeof(string), "You have teleported to object ID %d.", idx);
  2002. SendClientMessage(playerid, -1, string);
  2003. }
  2004. return 1;
  2005. }
  2006.  
  2007. CMD:saveobjects(playerid, params[])
  2008. {
  2009. if(IsPlayerAdmin(playerid))
  2010. {
  2011. new string[128];
  2012. SendClientMessageToAll(0xFF0000AA, "** All objects have been saved! **");
  2013. SaveObjects();
  2014. SaveObjects2();
  2015. }
  2016. return 1;
  2017. }
  2018. //------------------------------------------------------------------------------
  2019. //------------------------------------------------------------------------------
  2020. //------------------------------------------------------------------------------
  2021. CMD:cc(playerid,params[])
  2022. {
  2023. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2024. {
  2025. for(new i = 0; i < 250; i++) SendClientMessageToAll(0x00000000," ");
  2026. SendClientMessageToAll(0xFF0000AA, "Chat has been cleared");
  2027. }
  2028. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2029. return 1;
  2030. }
  2031. CMD:a(playerid,params[])
  2032. {
  2033. new string[128],text[200];
  2034. if(PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  2035. {
  2036. if(sscanf(params,"s[200]", text)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /a [text]");
  2037. format(string,sizeof(string),"(Admin Chat): %s(%d): %s",PlayerName(playerid), playerid, text);
  2038. foreach(Player, i)
  2039. {
  2040. if(IsPlayerConnected(i) && PlayerInfo[i][pAdmin] >= 1 || IsPlayerAdmin(i)) SendClientMessage(i, 0x7FFF00AA, string);
  2041. }
  2042. printf(string);
  2043. }
  2044. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2045. return 1;
  2046. }
  2047.  
  2048. CMD:spec(playerid, params[])
  2049. {
  2050. new player1;
  2051. if(PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  2052. {
  2053. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /spec [playerid]");
  2054. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2055. new str[500];
  2056. format(str, sizeof(str),"> [ACMD]: You are now spectating %s", PlayerName(player1));
  2057. SendClientMessage(playerid, -1, str);
  2058. TargetCMDMessage(playerid, player1,"Spec");
  2059. TogglePlayerSpectating(playerid, true);
  2060. if(!IsPlayerInAnyVehicle(player1))
  2061. {
  2062. PlayerSpectatePlayer(playerid, player1, SPECTATE_MODE_NORMAL);
  2063. }
  2064. else
  2065. {
  2066. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(player1), SPECTATE_MODE_NORMAL);
  2067. }
  2068. }
  2069. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2070. return 1;
  2071. }
  2072. CMD:specoff(playerid,params[])
  2073. {
  2074. if(PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  2075. {
  2076. TogglePlayerSpectating(playerid, false);
  2077. }
  2078. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2079. return 1;
  2080. }
  2081. CMD:warn(playerid, params[])
  2082. {
  2083. new player1, reason[500];
  2084. if(PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  2085. {
  2086. if(sscanf(params,"us[500]", player1, reason)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /warn [playerid] [reason]");
  2087. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2088. new str[500], str1[500];
  2089. if(PWarns[player1] == MAX_WARNS)
  2090. {
  2091. format(str, sizeof(str),"* Admin %s has kicked %s for %s. [Warn: 3/3]", PlayerName(playerid),PlayerName(player1),reason);
  2092. SendClientMessageToAll(0xFF0000AA, str);
  2093. format(str1, sizeof(str1),"{FF0000}___________| KICKED |___________\n\n{FFFFFF}Account Name: {FF0000}%s\n{FFFFFF}Admin Name: {FF0000}%s\n{FFFFFF}Reason: {FF0000}%s\n\nPlease do not break our rules again.", PlayerName(player1),PlayerName(playerid), reason);
  2094. ShowPlayerDialog(player1, 85, DIALOG_STYLE_MSGBOX, "KICKED!", str1, "Okey", "");
  2095. Kick(player1);
  2096. }
  2097. else
  2098. {
  2099. PWarns[player1]++;
  2100. format(str, sizeof(str),"* Admin %s has warned %s for: %s. [Warn: %d/3]", PlayerName(playerid),PlayerName(player1),reason,PWarns[player1]);
  2101. SendClientMessageToAll(0xFF0000AA, str);
  2102. format(str1, sizeof(str1),"{FF0000}___________| WARNED |___________\n\n{FFFFFF}Account Name: {FF0000}%s\n{FFFFFF}Admin Name: {FF0000}%s\n{FFFFFF}Reason: {FF0000}%s\n\nPlease do not break our rules again.", PlayerName(player1),PlayerName(playerid), reason);
  2103. ShowPlayerDialog(player1, 85, DIALOG_STYLE_MSGBOX, "WARNED!", str1, "Okey", "");
  2104. }
  2105. TargetCMDMessage(playerid, player1,"Warn");
  2106. }
  2107. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2108. return 1;
  2109. }
  2110. CMD:kick(playerid, params[])
  2111. {
  2112. new player1, reason[500];
  2113. if(PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  2114. {
  2115. if(sscanf(params,"us[500]", player1, reason)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /kick [playerid] [reason]");
  2116. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2117. new str[500], str1[500];
  2118. format(str, sizeof(str),"* Admin %s has kicked %s for %s.", PlayerName(playerid),PlayerName(player1),reason);
  2119. SendClientMessageToAll(0xFF0000AA, str);
  2120. format(str1, sizeof(str1),"{FF0000}___________| KICKED |___________\n\n{FFFFFF}Your name: {FF0000}%s\n{FFFFFF}Admin name: {FF0000}%s\n{FFFFFF}Reason: {FF0000}%s\n\nPlease do not break our rules again.", PlayerName(player1),PlayerName(playerid), reason);
  2121. ShowPlayerDialog(player1, 84, DIALOG_STYLE_MSGBOX, "KICKED!", str1, "Okey", "");
  2122. TargetCMDMessage(playerid, player1,"Kick");
  2123. printf(str);
  2124. Kick(player1);
  2125. }
  2126. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2127. return 1;
  2128. }
  2129. CMD:ban(playerid, params[])
  2130. {
  2131. new player1, reason[500];
  2132. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2133. {
  2134. if(sscanf(params,"us[500]", player1, reason)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /ban [playerid] [reason]");
  2135. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2136. if(PlayerInfo[player1][pAdmin] != PlayerInfo[player1][pAdmin]) return SendClientMessage(playerid, 0xFF0000AA, "You can't ban other admins");
  2137. new str[500], str1[500];
  2138. format(str, sizeof(str),"* Admin %s has banned %s for %s.", PlayerName(playerid),PlayerName(player1),reason);
  2139. SendClientMessageToAll(0xFF0000AA, str);
  2140. format(str1, sizeof(str1),"{FF0000}___________| BANNED |___________\n\n{FFFFFF}Your name: {FF0000}%s\n{FFFFFF}Admin name: {FF0000}%s\n{FFFFFF}Reason: {FF0000}%s\n\n[!!] Please take screenshot of this if you\nwant to make unban request on forums.\nhttp://bf4.3eeweb.com/", PlayerName(player1),PlayerName(playerid), reason);
  2141. ShowPlayerDialog(player1, 84, DIALOG_STYLE_MSGBOX, "BANNED!", str1, "Okey", "");
  2142. TargetCMDMessage(playerid, player1,"Ban");
  2143. //---------- SAVING BAN ------------
  2144. new INI:File = INI_Open(UserPathb(player1));
  2145. INI_WriteString(File,"Ban Reason",reason);
  2146. INI_WriteString(File,"Ban by Admin",PlayerName(playerid));
  2147. INI_WriteString(File,"Banned's name",PlayerName(player1));
  2148. PlayerInfo[player1][pBanned] = 1;
  2149. INI_Close(File);
  2150. //---------------------------------
  2151. printf(str);
  2152. BanEx(player1, reason);
  2153. }
  2154. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2155. return 1;
  2156. }
  2157. CMD:mute(playerid, params[])
  2158. {
  2159. new player1, reason[500];
  2160. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2161. {
  2162. if(sscanf(params,"us[500]", player1, reason)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /mute [playerid] [reason]");
  2163. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2164. new str[500], str1[500];
  2165. format(str, sizeof(str),"{FF00EE}* Admin %s has muted %s for %s.", PlayerName(playerid),PlayerName(player1),reason);
  2166. SendClientMessageToAll(0x00C0FFAA, str);
  2167. format(str1, sizeof(str1),"{FF0000}___________| MUTED |___________\n\n{FFFFFF}Your name: {FF0000}%s\n{FFFFFF}Admin name: {FF0000}%s\n{FFFFFF}Reason: {FF0000}%s\n\nPlease do not break our rules again.", PlayerName(player1),PlayerName(playerid), reason);
  2168. ShowPlayerDialog(player1, 84, DIALOG_STYLE_MSGBOX, "KICKED!", str1, "Okey", "");
  2169. TargetCMDMessage(playerid, player1,"Mute");
  2170. PlayerInfo[player1][pMuted] = 1;
  2171. }
  2172. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2173. return 1;
  2174. }
  2175. CMD:unmute(playerid, params[])
  2176. {
  2177. new player1;
  2178. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2179. {
  2180. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /unmute [playerid]");
  2181. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2182. new str[500];
  2183. format(str, sizeof(str),"{FF00EE}* Admin %s has unmuted %s.", PlayerName(playerid),PlayerName(player1));
  2184. SendClientMessageToAll(0x00C0FFAA, str);
  2185. TargetCMDMessage(playerid, player1,"UnMute");
  2186. PlayerInfo[player1][pMuted] = 0;
  2187. }
  2188. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2189. return 1;
  2190. }
  2191. CMD:freeze(playerid, params[])
  2192. {
  2193. new player1;
  2194. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2195. {
  2196. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /freeze [playerid]");
  2197. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2198. new str[500];
  2199. format(str, sizeof(str),"{FF00EE}* Admin %s has frozen %s.", PlayerName(playerid),PlayerName(player1));
  2200. SendClientMessageToAll(0x00C0FFAA, str);
  2201. TargetCMDMessage(playerid, player1,"Freeze");
  2202. TogglePlayerControllable(player1, false);
  2203. }
  2204. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2205. return 1;
  2206. }
  2207. CMD:unfreeze(playerid, params[])
  2208. {
  2209. new player1;
  2210. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2211. {
  2212. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /unfreeze [playerid]");
  2213. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2214. new str[500];
  2215. format(str, sizeof(str),"{FF00EE}* Admin %s has unfrozen %s.", PlayerName(playerid),PlayerName(player1));
  2216. SendClientMessageToAll(0x00C0FFAA, str);
  2217. TargetCMDMessage(playerid, player1,"UnFreeze");
  2218. TogglePlayerControllable(player1, true);
  2219. }
  2220. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2221. return 1;
  2222. }
  2223. CMD:givescore(playerid, params[])
  2224. {
  2225. new player1, amount;
  2226. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2227. {
  2228. if(sscanf(params,"ud", player1, amount)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /givescore [playerid] [amount]");
  2229. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2230. new str[500], str1[500];
  2231. format(str, sizeof(str),"> [ACMD]: You have given %s %d score", PlayerName(player1),amount);
  2232. SendClientMessage(playerid, -1, str);
  2233. format(str1, sizeof(str1),"{FF00EE}* Admin %s has given you %d score", PlayerName(playerid),amount);
  2234. SendClientMessage(player1, 0x00C0FFAA,str1);
  2235. TargetCMDMessage(playerid, player1,"Givescore");
  2236. SetPlayerScore(player1, GetPlayerScore(player1)+amount);
  2237. }
  2238. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2239. return 1;
  2240. }
  2241. CMD:givemoney(playerid, params[])
  2242. {
  2243. new player1, amount;
  2244. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2245. {
  2246. if(sscanf(params,"ud", player1, amount)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /givemoney [playerid] [amount]");
  2247. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2248. new str[500], str1[500];
  2249. format(str, sizeof(str),"> [ACMD]: You have given %s %d$", PlayerName(player1),amount);
  2250. SendClientMessage(playerid, -1, str);
  2251. format(str1, sizeof(str1),"{FF00EE}* Admin %s has given you %d$", PlayerName(playerid),amount);
  2252. SendClientMessage(player1, 0x00C0FFAA,str1);
  2253. TargetCMDMessage(playerid, player1,"Givemoney");
  2254. GivePlayerMoneyEx(player1, amount);
  2255. }
  2256. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2257. return 1;
  2258. }
  2259. CMD:setscore(playerid, params[])
  2260. {
  2261. new player1, amount;
  2262. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2263. {
  2264. if(sscanf(params,"ud", player1, amount)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /setscore [playerid] [amount]");
  2265. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2266. new str[500], str1[500];
  2267. format(str, sizeof(str),"> [ACMD]: You have set %s's score to %d", PlayerName(player1),amount);
  2268. SendClientMessage(playerid, -1, str);
  2269. format(str1, sizeof(str1),"{FF00EE}* Admin %s has set your score to %d", PlayerName(playerid),amount);
  2270. SendClientMessage(player1, 0x00C0FFAA,str1);
  2271. TargetCMDMessage(playerid, player1,"Setscore");
  2272. SetPlayerScore(player1, amount);
  2273. }
  2274. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2275. return 1;
  2276. }
  2277. CMD:syncmoney(playerid, params[])
  2278. {
  2279. new player1;
  2280. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2281. {
  2282. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /syncmoney [playerid]");
  2283. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2284. new str[500];
  2285. format(str, sizeof(str),"> [ACMD]: You have synced %s's money to %d", PlayerName(player1),GetPlayerMoneyEx(player1));
  2286. SendClientMessage(playerid, -1, str);
  2287. TargetCMDMessage(playerid, player1,"Syncmoney");
  2288. SetPlayerMoneyEx(player1, GetPlayerMoneyEx(player1));
  2289. }
  2290. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2291. return 1;
  2292. }
  2293. CMD:setmoney(playerid, params[])
  2294. {
  2295. new player1, amount;
  2296. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2297. {
  2298. if(sscanf(params,"ud", player1, amount)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /setmoney [playerid] [amount]");
  2299. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2300. new str[500], str1[500];
  2301. format(str, sizeof(str),"> [ACMD]: You have set %s's money to %d", PlayerName(player1),amount);
  2302. SendClientMessage(playerid, -1, str);
  2303. format(str1, sizeof(str1),"{FF00EE}* Admin %s has set your money to %d", PlayerName(playerid),amount);
  2304. SendClientMessage(player1, 0x00C0FFAA,str1);
  2305. TargetCMDMessage(playerid, player1,"Setmoney");
  2306. ResetPlayerMoney(player1);
  2307. GivePlayerMoneyEx(player1, amount);
  2308. }
  2309. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2310. return 1;
  2311. }
  2312. CMD:sethp(playerid, params[])
  2313. {
  2314. new player1, amount;
  2315. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2316. {
  2317. if(sscanf(params,"ud", player1, amount)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /sethp [playerid] [amount]");
  2318. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2319. new str[500], str1[500];
  2320. format(str, sizeof(str),"> [ACMD]: You have set %s's health to %d", PlayerName(player1),amount);
  2321. SendClientMessage(playerid, -1, str);
  2322. format(str1, sizeof(str1),"{FF00EE}* Admin %s has set your health to %d", PlayerName(playerid),amount);
  2323. SendClientMessage(player1, 0x00C0FFAA,str1);
  2324. TargetCMDMessage(playerid, player1,"SetHP");
  2325. SetPlayerHealth(player1, amount);
  2326. }
  2327. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2328. return 1;
  2329. }
  2330. CMD:setar(playerid, params[])
  2331. {
  2332. new player1, amount;
  2333. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2334. {
  2335. if(sscanf(params,"ud", player1, amount)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /setar [playerid] [amount]");
  2336. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2337. new str[500], str1[500];
  2338. format(str, sizeof(str),"> [ACMD]: You have set %s's armour to %d", PlayerName(player1),amount);
  2339. SendClientMessage(playerid, -1, str);
  2340. format(str1, sizeof(str1),"{FF00EE}* Admin %s has set your armour to %d", PlayerName(playerid),amount);
  2341. SendClientMessage(player1, 0x00C0FFAA,str1);
  2342. TargetCMDMessage(playerid, player1,"SetAR");
  2343. SetPlayerArmour(player1, amount);
  2344. }
  2345. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2346. return 1;
  2347. }
  2348. CMD:carhealth(playerid,params[])
  2349. {
  2350. new player1, amount;
  2351. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2352. {
  2353. if(sscanf(params,"ud", player1, amount)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /carhealth [playerid] [amount]");
  2354. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2355. new str[500], str1[500];
  2356. format(str, sizeof(str),"> [ACMD]: You have set %s's vehicle health to %d", PlayerName(player1),amount);
  2357. SendClientMessage(playerid, -1, str);
  2358. format(str1, sizeof(str1),"{FF00EE}* Admin %s has set your vehicle health to %d", PlayerName(playerid),amount);
  2359. SendClientMessage(player1, 0x00C0FFAA,str1);
  2360. TargetCMDMessage(playerid, player1,"CarHealth");
  2361. SetVehicleHealth(GetPlayerVehicleID(player1), amount);
  2362. }
  2363. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2364. return 1;
  2365. }
  2366. CMD:setadmin(playerid, params[])
  2367. {
  2368. if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
  2369. {
  2370. new string[125], level, player1;
  2371. if(sscanf(params,"ud",player1, level)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /setadmin [playerid] [level]");
  2372. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2373. if(level > MAX_ADMIN_LEVEL)
  2374. {
  2375. SendClientMessage(playerid, 0xFF0000AA,"Incorrect level");
  2376. }
  2377. else
  2378. {
  2379. format(string, sizeof(string),"{FF00EE}* Admin %s has set you to admin level %d", PlayerName(playerid),level);
  2380. SendClientMessage(player1, 0x73FF00FF, string);
  2381. format(string, sizeof(string),"> [ACMD]: You have set %s's Administrator level to %d", PlayerName(player1),level);
  2382. SendClientMessage(playerid, -1, string);
  2383. TargetCMDMessage(playerid, player1,"SetAdmin");
  2384. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2385. PlayerInfo[player1][pAdmin] = level;
  2386. }
  2387. }
  2388. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2389. return 1;
  2390. }
  2391. CMD:setdonor(playerid, params[])
  2392. {
  2393. if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
  2394. {
  2395. new string[125], level, player1;
  2396. if(sscanf(params,"ud",player1, level)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /setdonor [playerid] [level]");
  2397. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2398. if(level > MAX_DONOR_LEVEL)
  2399. {
  2400. SendClientMessage(playerid, 0xFF0000AA,"Incorrect level");
  2401. }
  2402. else
  2403. {
  2404. format(string, sizeof(string),"{FF00EE}* Admin %s has set you to donator level %d", PlayerName(playerid),level);
  2405. SendClientMessage(player1, 0x73FF00FF, string);
  2406. format(string, sizeof(string),"> [ACMD]: You have set %s's Donator level to %d", PlayerName(player1),level);
  2407. SendClientMessage(playerid, -1, string);
  2408. TargetCMDMessage(playerid, player1,"SetDonor");
  2409. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2410. PlayerInfo[player1][pDonor] = level;
  2411. }
  2412. }
  2413. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2414. return 1;
  2415. }
  2416. CMD:slap(playerid, params[])
  2417. {
  2418. new player1;
  2419. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2420. {
  2421. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /slap [playerid]");
  2422. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2423. new Float:Health;
  2424. new Float:x, Float:y, Float:z;
  2425. GetPlayerHealth(player1,Health);
  2426. SetPlayerHealth(player1,Health-25);
  2427. GetPlayerPos(player1,x,y,z);
  2428. SetPlayerPos(player1,x,y,z+5);
  2429. PlayerPlaySound(playerid,1190,0.0,0.0,0.0);
  2430. PlayerPlaySound(player1,1190,0.0,0.0,0.0);
  2431. new str1[100];
  2432. format(str1, sizeof(str1),"> [ACMD]: You have slapped %s", PlayerName(player1));
  2433. SendClientMessage(playerid, -1, str1);
  2434. TargetCMDMessage(playerid, player1,"Slap");
  2435. }
  2436. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2437. return 1;
  2438. }
  2439. CMD:explode(playerid, params[])
  2440. {
  2441. new player1;
  2442. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2443. {
  2444. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /explode [playerid]");
  2445. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2446. new Float:burnx, Float:burny, Float:burnz;
  2447. GetPlayerPos(player1,burnx, burny, burnz);
  2448. CreateExplosion(burnx, burny , burnz, 7,10.0);
  2449. new str1[100];
  2450. format(str1, sizeof(str1),"> [ACMD]: You have exploded %s", PlayerName(player1));
  2451. SendClientMessage(playerid, -1, str1);
  2452. TargetCMDMessage(playerid, player1,"Explode");
  2453. }
  2454. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2455. return 1;
  2456. }
  2457. CMD:get(playerid, params[])
  2458. {
  2459. new player1;
  2460. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2461. {
  2462. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /get [playerid]");
  2463. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2464. new Float:x, Float:y, Float:z;
  2465. GetPlayerPos(playerid,x,y,z);
  2466. SetPlayerPos(player1,x+1,y,z);
  2467. SetPlayerInterior(player1, GetPlayerInterior(playerid));
  2468. SetPlayerVirtualWorld(player1, GetPlayerVirtualWorld(playerid));
  2469. new str1[125], str2[125];
  2470. format(str1, sizeof(str1),"> [ACMD]: You have teleported %s to your position", PlayerName(player1));
  2471. SendClientMessage(playerid, -1, str1);
  2472. format(str2, sizeof(str2),"{FF00EE}* You have been teleported to Admin %s's position", PlayerName(playerid));
  2473. SendClientMessage(player1, -1, str2);
  2474. TargetCMDMessage(playerid, player1,"Get");
  2475. }
  2476. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2477. return 1;
  2478. }
  2479. CMD:goto(playerid, params[])
  2480. {
  2481. new player1;
  2482. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2483. {
  2484. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /goto [playerid]");
  2485. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2486. new Float:x, Float:y, Float:z;
  2487. GetPlayerPos(player1,x,y,z);
  2488. SetPlayerPos(playerid,x+1,y,z);
  2489. new str1[125], str2[125];
  2490. format(str1, sizeof(str1),"> [ACMD]: You have teleported to %s's position", PlayerName(player1));
  2491. SendClientMessage(playerid, -1, str1);
  2492. format(str2, sizeof(str2),"{FF00EE}* Admin %s has teleported to your position", PlayerName(playerid));
  2493. SendClientMessage(player1, -1, str2);
  2494. TargetCMDMessage(playerid, player1,"Goto");
  2495. }
  2496. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2497. return 1;
  2498. }
  2499. CMD:gotopos(playerid, params[])
  2500. {
  2501. new Float:x, Float:y, Float:z;
  2502. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2503. {
  2504. if(sscanf(params,"fff", x, y, z)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /gotopos [x, y, z]");
  2505. SetPlayerPos(playerid,x,y,z);
  2506. CMDMessage(playerid, "Gotopos");
  2507. }
  2508. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2509. return 1;
  2510. }
  2511. CMD:setinterior(playerid, params[])
  2512. {
  2513. new interior;
  2514. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2515. {
  2516. if(sscanf(params,"d", interior)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /setinterior [interiorid]");
  2517. SetPlayerInterior(playerid, interior);
  2518. CMDMessage(playerid, "Setinterior");
  2519. }
  2520. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2521. return 1;
  2522. }
  2523. CMD:annunce(playerid, params[])
  2524. {
  2525. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2526. {
  2527. new reason[100], str[100];
  2528. if(sscanf(params,"s[100]", reason)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /announce [text]");
  2529. format(str, sizeof(str),"%s",reason);
  2530. GameTextForAll(str,4000,3);
  2531. CMDMessage(playerid, "Announce");
  2532. }
  2533. return 1;
  2534. }
  2535. CMD:adminduty(playerid,params[])
  2536. {
  2537. new str[128];
  2538. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2539. {
  2540. if(onDuty[playerid] == false)
  2541. {
  2542. onDuty[playerid] = true;
  2543. format(str, sizeof(str),"{FF00EE}* Admin %s is now On-Duty",PlayerName(playerid));
  2544. SendClientMessageToAll(0x00C0FFAA, str);
  2545. SetPlayerColor(playerid, 0xFF55BBFF);
  2546. SetPlayerHealth(playerid, 99999);
  2547. SetPlayerSkin(playerid, 217);
  2548. CMDMessage(playerid, "AdminDuty");
  2549. }
  2550. else if(onDuty[playerid] == true)
  2551. {
  2552. onDuty[playerid] = false;
  2553. format(str, sizeof(str),"{FF00EE}* Admin %s is now Off-Duty",PlayerName(playerid));
  2554. SendClientMessageToAll(0x00C0FFAA, str);
  2555. CMDMessage(playerid, "AdminDuty");
  2556. SetPlayerHealth(playerid, 0);
  2557. }
  2558. }
  2559. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2560. return 1;
  2561. }
  2562. CMD:ping(playerid, params[])
  2563. {
  2564. new player1;
  2565. if(PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  2566. {
  2567. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /ping [playerid]");
  2568. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2569. new ping = GetPlayerPing(player1);
  2570. new str1[100];
  2571. format(str1, sizeof(str1),"> [ACMD]: Ping of %s is %d", PlayerName(player1), ping);
  2572. SendClientMessage(playerid, -1, str1);
  2573. }
  2574. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2575. return 1;
  2576. }
  2577. CMD:ip(playerid, params[])
  2578. {
  2579. new player1;
  2580. if(PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  2581. {
  2582. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /ip [playerid]");
  2583. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2584. TargetCMDMessage(playerid, player1,"IP");
  2585. new str1[100];
  2586. format(str1, sizeof(str1),"> [ACMD]: IP: %s", PlayerIP(player1));
  2587. SendClientMessage(playerid, -1, str1);
  2588. }
  2589. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2590. return 1;
  2591. }
  2592. CMD:asay(playerid, params[])
  2593. {
  2594. if(PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  2595. {
  2596. new string[128];
  2597. format(string, sizeof(string), "* Admin %s: %s",PlayerName(playerid),params[0]);
  2598. SendClientMessageToAll(0xFF55BBFF,string);
  2599. }
  2600. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2601. return 1;
  2602. }
  2603. CMD:news(playerid, params[])
  2604. {
  2605. if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
  2606. {
  2607. new string[128];
  2608. format(string, sizeof(string), "{FF0000}[IMPORTANT NEWS]: {FFFFFF}%s",params[0]);
  2609. SendClientMessageToAll(-1,string);
  2610. }
  2611. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2612. return 1;
  2613. }
  2614. CMD:spawn(playerid, params[])
  2615. {
  2616. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2617. {
  2618. new player1;
  2619. if(sscanf(params,"us[100]", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /spawn [playerid]");
  2620. if(IsPlayerConnected(player1))
  2621. {
  2622. if(PlayerInfo[playerid][pAdmin] >= 1)
  2623. {
  2624. TargetCMDMessage(playerid, player1,"Spawn");
  2625. SendClientMessage(player1, 0xE68E00AA, "Spawned!");
  2626. SpawnPlayer(player1);
  2627. }
  2628. }
  2629. else return SendClientMessage(playerid, 0xFF0000AA,"Player is not connected!");
  2630. }
  2631. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2632. return 1;
  2633. }
  2634. CMD:jetpack(playerid,params[])
  2635. {
  2636. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2637. {
  2638. SendClientMessage(playerid, -1, "You have been given a JetPack");
  2639. SetPlayerSpecialAction(playerid, 2);
  2640. CMDMessage(playerid, "Jetpack");
  2641. }
  2642. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2643. return 1;
  2644. }
  2645. CMD:disarm(playerid, params[])
  2646. {
  2647. new player1;
  2648. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2649. {
  2650. if(sscanf(params,"u", player1)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /disarm [playerid]");
  2651. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2652. ResetPlayerWeapons(player1);
  2653. new str1[100];
  2654. SendClientMessage(player1, 0xE68E00AA, "Disarmed!");
  2655. format(str1, sizeof(str1),"> [ACMD]: You have disarmed %s", PlayerName(player1));
  2656. SendClientMessage(playerid, -1, str1);
  2657. TargetCMDMessage(playerid, player1,"Disarm");
  2658. }
  2659. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2660. return 1;
  2661. }
  2662. CMD:setskin(playerid, params[])
  2663. {
  2664. new player1, skinid;
  2665. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2666. {
  2667. if(skinid < 299)
  2668. {
  2669. if(sscanf(params,"ud", player1, skinid)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /setskin [playerid] [skin id]");
  2670. if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFF0000AA,"Player not connected!");
  2671. SetPlayerSkin(player1, skinid);
  2672. new str[100], str1[100];
  2673. format(str, sizeof(str),"{FF00EE}* Admin %s has set your skin to %d", PlayerName(playerid),skinid);
  2674. format(str1, sizeof(str1),"> [ACMD]: You have set %s's skin to %d", PlayerName(player1), skinid);
  2675. SendClientMessage(player1, 0x00C0FFAA, str);
  2676. SendClientMessage(playerid, -1, str1);
  2677. TargetCMDMessage(playerid, player1,"SetSkin");
  2678. }
  2679. else return SendClientMessage(playerid, 0xFF0000AA, "Invalid Skin ID");
  2680. }
  2681. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2682. return 1;
  2683. }
  2684. CMD:destroy(playerid, params[])
  2685. {
  2686. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2687. {
  2688. new currentveh;
  2689. currentveh = GetPlayerVehicleID(playerid);
  2690. DestroyVehicle(currentveh);
  2691. CMDMessage(playerid, "Destroy");
  2692. }
  2693. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2694. return 1;
  2695. }
  2696. CMD:carcolor(playerid, params[])
  2697. {
  2698. new targetid, colorid1, colodid2;
  2699. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  2700. {
  2701. if(IsPlayerInAnyVehicle(playerid))
  2702. {
  2703. if(sscanf(params,"udd", targetid, colorid1, colodid2)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /carcolor [playerid] [color1] [color2]");
  2704. new VID = GetPlayerVehicleID(targetid);
  2705. ChangeVehicleColor(VID, colorid1, colodid2);
  2706. new str1[100], str2[100];
  2707. format(str1, sizeof(str1),"> [ACMD]: You have set %s's car color to %d and %d", PlayerName(targetid), colorid1, colodid2);
  2708. SendClientMessage(playerid, -1, str1);
  2709. format(str2, sizeof(str2),"{FF00EE}* Admin %s has set your car color to %d and %d", PlayerName(playerid),colorid1, colodid2);
  2710. SendClientMessage(targetid, 0x00C0FFAA, str2);
  2711. TargetCMDMessage(playerid, targetid,"Carcolor");
  2712. }
  2713. }
  2714. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2715. return 1;
  2716. }
  2717. //------------------------------------------------------------------------------
  2718. CMD:healall(playerid,params[])
  2719. {
  2720. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2721. {
  2722. new string[200];
  2723. format(string, sizeof(string), "{FF00EE}* Admin %s has restored all player's health", PlayerName(playerid));
  2724. SendClientMessageToAll(0x00C0FFAA, string);
  2725. CMDMessage(playerid, "Healall");
  2726. foreach(Player, i)
  2727. {
  2728. SetPlayerHealth(i, 100.0);
  2729. SetPlayerHealth(playerid, 100.0);
  2730. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2731. }
  2732. }
  2733. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2734. return 1;
  2735. }
  2736. CMD:armourall(playerid,params[])
  2737. {
  2738. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2739. {
  2740. new string[200];
  2741. format(string, sizeof(string),"{FF00EE}* Admin %s has restored all player's armour", PlayerName(playerid));
  2742. SendClientMessageToAll(0x00C0FFAA, string);
  2743. CMDMessage(playerid, "Armourall");
  2744. foreach(Player, i)
  2745. {
  2746. SetPlayerArmour(playerid, 100.0);
  2747. SetPlayerArmour(i, 100.0);
  2748. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2749. }
  2750. }
  2751. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2752. return 1;
  2753. }
  2754. CMD:freezeall(playerid,params[])
  2755. {
  2756. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2757. {
  2758. new string[200];
  2759. format(string, sizeof(string), "{FF00EE}* Admin %s has frozen all players", PlayerName(playerid));
  2760. SendClientMessageToAll(0x00C0FFAA, string);
  2761. CMDMessage(playerid, "Freezeall");
  2762. foreach(Player, i)
  2763. {
  2764. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2765. TogglePlayerControllable(i, false);
  2766. }
  2767. }
  2768. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2769. return 1;
  2770. }
  2771. CMD:unfreezeall(playerid,params[])
  2772. {
  2773. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2774. {
  2775. new string[200];
  2776. format(string, sizeof(string),"{FF00EE}* Admin %s has unfrozen all players", PlayerName(playerid));
  2777. SendClientMessageToAll(0x00C0FFAA, string);
  2778. CMDMessage(playerid, "Freezeall");
  2779. foreach(Player, i)
  2780. {
  2781. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2782. TogglePlayerControllable(i, true);
  2783. }
  2784. }
  2785. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2786. return 1;
  2787. }
  2788. CMD:setalltime(playerid,params[])
  2789. {
  2790. new time;
  2791. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2792. {
  2793. if(sscanf(params,"d", time)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /setalltime [time]");
  2794. new string[128];
  2795. format(string, sizeof(string), "{FF00EE}* Server time has been set to %d", time);
  2796. SendClientMessageToAll(0x00C0FFAA, string);
  2797. CMDMessage(playerid, "Setalltime");
  2798. foreach(Player, i)
  2799. {
  2800. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2801. SetPlayerTime(i, time, 0);
  2802. }
  2803. }
  2804. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2805. return 1;
  2806. }
  2807. CMD:setallweather(playerid,params[])
  2808. {
  2809. new weather;
  2810. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2811. {
  2812. if(sscanf(params,"d", weather)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /setallweather [weatherid]");
  2813. new string[128];
  2814. format(string, sizeof(string), "{FF00EE}* Server weather has been set to %d", weather);
  2815. SendClientMessageToAll(0x00C0FFAA, string);
  2816. CMDMessage(playerid, "Setallweather");
  2817. SetWeather(weather);
  2818. foreach(Player, i)
  2819. {
  2820. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2821. }
  2822. }
  2823. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2824. return 1;
  2825. }
  2826. CMD:getall(playerid,params[])
  2827. {
  2828. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2829. {
  2830. new string[200];
  2831. format(string, sizeof(string), "{FF00EE}* Admin %s has teleported all players", PlayerName(playerid));
  2832. SendClientMessageToAll(0x00C0FFAA, string);
  2833. CMDMessage(playerid, "Getall");
  2834. new Float:x, Float:y, Float:z;
  2835. GetPlayerPos(playerid, x, y, z);
  2836. foreach(Player, i)
  2837. {
  2838. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2839. SetPlayerPos(i, x, y, z);
  2840. SetPlayerInterior(i, GetPlayerInterior(playerid));
  2841. SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(playerid));
  2842. }
  2843. }
  2844. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2845. return 1;
  2846. }
  2847. CMD:muteall(playerid,params[])
  2848. {
  2849. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2850. {
  2851. new string[200];
  2852. format(string, sizeof(string),"{FF00EE}* Admin %s has muted all players", PlayerName(playerid));
  2853. SendClientMessageToAll(0x00C0FFAA, string);
  2854. CMDMessage(playerid, "Muteall");
  2855. foreach(Player, i)
  2856. {
  2857. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2858. PlayerInfo[i][pMuted] = 1;
  2859. }
  2860. }
  2861. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2862. return 1;
  2863. }
  2864. CMD:unmuteall(playerid,params[])
  2865. {
  2866. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2867. {
  2868. new string[200];
  2869. format(string, sizeof(string),"{FF00EE}* Admin %s has unmuted all players", PlayerName(playerid));
  2870. SendClientMessageToAll(0x00C0FFAA, string);
  2871. CMDMessage(playerid, "UnMuteall");
  2872. foreach(Player, i)
  2873. {
  2874. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2875. PlayerInfo[i][pMuted] = 0;
  2876. }
  2877. }
  2878. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2879. return 1;
  2880. }
  2881. CMD:giveallmoney(playerid,params[])
  2882. {
  2883. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2884. {
  2885. new var = strval(params);
  2886. new string[128];
  2887. format(string, sizeof(string), "{FF00EE}* Admin %s has given all players %d$", PlayerName(playerid),var);
  2888. SendClientMessageToAll(0x00C0FFAA, string);
  2889. CMDMessage(playerid, "Giveallmoney");
  2890. foreach(Player, i)
  2891. {
  2892. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2893. GivePlayerMoneyEx(i,var);
  2894. }
  2895. }
  2896. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2897. return 1;
  2898. }
  2899. CMD:giveallscore(playerid,params[])
  2900. {
  2901. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2902. {
  2903. new var = strval(params);
  2904. new string[128];
  2905. format(string, sizeof(string), "{FF00EE}* Admin %s has given all players %d score", PlayerName(playerid),var);
  2906. SendClientMessageToAll(0x00C0FFAA, string);
  2907. CMDMessage(playerid, "Giveallscore");
  2908. foreach(Player, i)
  2909. {
  2910. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2911. SetPlayerScore(i, GetPlayerScore(i)+var);
  2912. }
  2913. }
  2914. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2915. return 1;
  2916. }
  2917. CMD:killall(playerid,params[])
  2918. {
  2919. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  2920. {
  2921. new string[128];
  2922. format(string, sizeof(string), "{FF00EE}* Admin %s has killed all players", PlayerName(playerid));
  2923. SendClientMessageToAll(0x00C0FFAA, string);
  2924. CMDMessage(playerid, "KillAll");
  2925. foreach(Player, i)
  2926. {
  2927. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2928. SetPlayerHealth(i, 0);
  2929. }
  2930. }
  2931. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2932. return 1;
  2933. }
  2934. CMD:setallscore(playerid,params[])
  2935. {
  2936. if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
  2937. {
  2938. new var = strval(params);
  2939. new string[128];
  2940. format(string, sizeof(string), "{FF00EE}* All player score has been set to %d", var);
  2941. SendClientMessageToAll(0x00C0FFAA, string);
  2942. CMDMessage(playerid, "Setallscore");
  2943. foreach(Player, i)
  2944. {
  2945. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2946. SetPlayerScore(i, var);
  2947. }
  2948. }
  2949. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2950. return 1;
  2951. }
  2952. CMD:setallmoney(playerid,params[])
  2953. {
  2954. if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
  2955. {
  2956. new var = strval(params);
  2957. new string[128];
  2958. format(string, sizeof(string), "{FF00EE}* All player money has been set to %d", var);
  2959. SendClientMessageToAll(0x00C0FFAA, string);
  2960. CMDMessage(playerid, "Setallmoney");
  2961. foreach(Player, i)
  2962. {
  2963. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2964. ResetPlayerMoney(i);
  2965. GivePlayerMoneyEx(i, var);
  2966. }
  2967. }
  2968. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2969. return 1;
  2970. }
  2971. CMD:spawnall(playerid,params[])
  2972. {
  2973. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2974. {
  2975. new string[128];
  2976. format(string, sizeof(string), "{FF00EE}* Admin %s has respawned all players", PlayerName(playerid));
  2977. SendClientMessageToAll(0x00C0FFAA, string);
  2978. CMDMessage(playerid, "Spawnall");
  2979. foreach(Player, i)
  2980. {
  2981. SpawnPlayer(i);
  2982. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2983. }
  2984. }
  2985. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  2986. return 1;
  2987. }
  2988. CMD:disarmall(playerid,params[])
  2989. {
  2990. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2991. {
  2992. new string[128];
  2993. format(string, sizeof(string), "{FF00EE}* Admin %s has disarmed all players", PlayerName(playerid));
  2994. SendClientMessageToAll(0x00C0FFAA, string);
  2995. CMDMessage(playerid, "Disarmall");
  2996. foreach(Player, i)
  2997. {
  2998. ResetPlayerWeapons(i);
  2999. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  3000. }
  3001. }
  3002. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  3003. return 1;
  3004. }
  3005. CMD:respawncars(playerid,params[])
  3006. {
  3007. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  3008. {
  3009. new string[128];
  3010. format(string, sizeof(string), "{FF00EE}* Admin %s has respawned all vehicles", PlayerName(playerid));
  3011. SendClientMessageToAll(0x00C0FFAA, string);
  3012. CMDMessage(playerid, "RespawnCars");
  3013. for(new i = 0; i < MAX_VEHICLES; i++)
  3014. {
  3015. SetVehicleToRespawn(i);
  3016. }
  3017. }
  3018. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  3019. return 1;
  3020. }
  3021. CMD:acmds(playerid,params[])
  3022. {
  3023. new level;
  3024. if(sscanf(params,"d", level)) return SendClientMessage(playerid, 0x9C9C9CAA,"USAGE: /acmds [level]");
  3025. if(strcmp(params,"1",true) == 0)
  3026. {
  3027. if(PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  3028. {
  3029. SendClientMessage(playerid, 0xF6FF00AA, "____________| MODERATOR COMMANDS |____________");
  3030. SendClientMessage(playerid, -1, "/kick, /warn, /ip, /spec, /specoff");
  3031. SendClientMessage(playerid, -1, "/asay, /ping, /a");
  3032. }
  3033. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  3034. }
  3035. if(strcmp(params,"2",true) == 0)
  3036. {
  3037. if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
  3038. {
  3039. SendClientMessage(playerid, 0xF6FF00AA, "____________| GAME ADMIN COMMANDS |____________");
  3040. SendClientMessage(playerid, -1, "/ban, /jail, /unjail, /mute, /unmute, /freeze, /disarm");
  3041. SendClientMessage(playerid, -1, "/setskin, /unfreeze, /respawncars, /carcolor, /spawn");
  3042. SendClientMessage(playerid, -1, "/veh, /destroy, /adminduty, /slap, /explode, /get");
  3043. SendClientMessage(playerid, -1, "/goto, /jetpack, /carhealth, /cc, /syncmoney");
  3044. }
  3045. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  3046. }
  3047. if(strcmp(params,"3",true) == 0)
  3048. {
  3049. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  3050. {
  3051. SendClientMessage(playerid, 0xF6FF00AA, "____________| SENIOR ADMIN COMMANDS |____________");
  3052. SendClientMessage(playerid, -1, "/sethp, /setar, /giveallmoney, /setallweather, /setalltime");
  3053. SendClientMessage(playerid, -1, "/announce, /respawncars, /newtest");
  3054. }
  3055. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  3056. }
  3057. if(strcmp(params,"4",true) == 0)
  3058. {
  3059. if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
  3060. {
  3061. SendClientMessage(playerid, 0xF6FF00AA, "____________| LEAD ADMIN COMMANDS |____________");
  3062. SendClientMessage(playerid, -1, "/healall, /armourall, /spawnall, /killall, /giveallscore");
  3063. SendClientMessage(playerid, -1, "/givemoney, /givescore, /muteall, /unmuteall");
  3064. SendClientMessage(playerid, -1, "/giveallweapon, /giveallmoney, /setmoney, /setscore");
  3065. SendClientMessage(playerid, -1, "/disarmall, /giveallmedicine, /test");
  3066. }
  3067. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  3068. }
  3069. if(strcmp(params,"5",true) == 0)
  3070. {
  3071. if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
  3072. {
  3073. SendClientMessage(playerid, 0xF6FF00AA, "____________| HEAD ADMIN COMMANDS |____________");
  3074. SendClientMessage(playerid, -1, "/setadmin, /setdonor, /setallscore, /setallmoney");
  3075. }
  3076. else return SendClientMessage(playerid, 0xFF0000AA,"You are not allowed to use this command.");
  3077. }
  3078. return 1;
  3079. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement