Advertisement
Guest User

LOGINERROR

a guest
Feb 21st, 2020
948
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 163.89 KB | None | 0 0
  1.  
  2.  
  3. #include <a_samp>
  4. #include <zcmd>
  5. #include <sscanf2>
  6. #include <foreach>
  7. #include <mysql_R412>
  8. #include <streamer>
  9. #include <YSI\y_ini>
  10. #include <y_iterate>
  11. native IsValidVehicle(vehicleid);
  12. native WP_Hash(_buffer[], len, const str[]);
  13.  
  14. //all defines
  15. #define CURRENT_MESSAGES 4
  16. #define MESSAGE_INTERVAL 300
  17.  
  18. #define SQL_HOST "127.0.0.1"
  19. #define SQL_USER "Server_3367"
  20. #define SQL_PASSWORD "sibqtp5678"
  21. #define SQL_DBNAME "Server_3367_Irwans"
  22.  
  23. // Settings (You can change this setting as you want):
  24. #define OYUNCU_MAX_ARAC 10 // Maximum car amount that one player can buy.
  25. #define GARAJ_MAX_ARAC 15 // Maximum car amount that one player can put into the garage.
  26. #define XV_DIALOGID 3500 // If dialogs make trouble, only change this ID.
  27.  
  28.  
  29. #define DIALOG_STATS 3000
  30. #define DIALOG_REPORT 3001
  31. #define DIALOG_REPORTS 3002
  32. #define DIALOG_DELREPORT 3003
  33. #define DIALOG_HREPORT 3004
  34. #define DIALOG_AREPORT 3005
  35. #define DIALOG_AREPORT2 3006
  36. #define DIALOG_LOGIN 3007
  37. #define DIALOG_REGISTER 3008
  38. #define DIALOG_SUCCESS_1 3009
  39. #define DIALOG_SUCCESS_2 3010
  40. #define DIALOG_CHOOSE_LEVEL 3011
  41. #define DIALOG_ACMDS 3012
  42. #define DIALOG_CVC 3013
  43. #define DIALOG_VCMDS 3014
  44. #define DIALOG_RCON_PANEL 3015
  45. #define DIALOG_2ND_RCON 3026
  46.  
  47. #define ANTI_JETPACK 1 // 1 = Kick - 2 = Ban - 3 = Nothing
  48.  
  49. #define PATH "WazAdmin/Users/%s.ini"
  50.  
  51. //Bot system
  52.  
  53. #define BOT_FEATURE true
  54. #define BOT_NAME "J-CNR"
  55.  
  56. //2ND rcon system
  57.  
  58. #define RCON_PASS "changeme"
  59. #define MAX_RCON_WARNINGS 3
  60.  
  61. //Logs
  62.  
  63. #define CHAT_LOG false
  64. #define BAN_LOG false
  65. #define KICK_LOG false
  66.  
  67. //Colors
  68. #define COLOR_RED 0xFF0000C8
  69. #define red "{FF0000}"
  70.  
  71. #define COLOR_YELLOW 0xFFFF00AA
  72. #define yellow "{E1E11E}"
  73.  
  74. #define COLOR_GREEN 0x33CC33C8
  75. #define green "{33CC33}"
  76.  
  77. #define COLOR_ORANGE 0xFF8000C8
  78. #define orange "{FF8000}"
  79.  
  80. #define COLOR_WHITE 0xFFFFFFFF
  81. #define white "{FFFFFF}"
  82.  
  83. #define brown "{A86565}"
  84.  
  85. #define YELLOW2 0xF5DEB3FF
  86.  
  87. #define COLOR_GREY 0xAFAFAFAA
  88. #define COLOR_ACTIVEBORDER 0xB4B4B4FF
  89. #define COLOR_ACTIVECAPTION 0x99B4D1FF
  90. #define COLOR_ACTIVECAPTIONTEXT 0x000000FF
  91. #define COLOR_ALICEBLUE 0xF0F8FFFF
  92. #define COLOR_ANTIQUEWHITE 0xFAEBD7FF
  93. #define COLOR_APPWORKSPACE 0xABABABFF
  94. #define COLOR_AQUA 0x00FFFFFF
  95. #define COLOR_AQUAMARINE 0x7FFFD4FF
  96. #define COLOR_AZURE 0xF0FFFFFF
  97. #define COLOR_BEIGE 0xF5F5DCFF
  98. #define COLOR_BISQUE 0xFFE4C4FF
  99. #define COLOR_BLACK 0x000000FF
  100. #define COLOR_BLANCHEDALMOND 0xFFEBCDFF
  101. #define COLOR_BLUE 0x0000FFFF
  102. #define COLOR_BLUEVIOLET 0x8A2BE2FF
  103. #define COLOR_BROWN 0xA52A2AFF
  104. #define COLOR_BURLYWOOD 0xDEB887FF
  105. #define COLOR_BUTTONFACE 0xF0F0F0FF
  106. #define COLOR_BUTTONHIGHLIGHT 0xFFFFFFFF
  107. #define COLOR_BUTTONSHADOW 0xA0A0A0FF
  108. #define COLOR_CADETBLUE 0x5F9EA0FF
  109. #define COLOR_CHARTREUSE 0x7FFF00FF
  110. #define COLOR_CHOCOLATE 0xD2691EFF
  111. #define COLOR_CONTROL 0xF0F0F0FF
  112. #define COLOR_CONTROLDARK 0xA0A0A0FF
  113. #define COLOR_CONTROLDARKDARK 0x696969FF
  114. #define COLOR_CONTROLLIGHT 0xE3E3E3FF
  115. #define COLOR_CONTROLLIGHTLIGHT 0xFFFFFFFF
  116. #define COLOR_CONTROLTEXT 0x000000FF
  117. #define COLOR_CORAL 0xFF7F50FF
  118. #define COLOR_CORNFLOWERBLUE 0x6495EDFF
  119. #define COLOR_CORNSILK 0xFFF8DCFF
  120. #define COLOR_CRIMSON 0xDC143CFF
  121. #define COLOR_CYAN 0x00FFFFFF
  122. #define COLOR_DARKBLUE 0x00008BFF
  123. #define COLOR_DARKCYAN 0x008B8BFF
  124. #define COLOR_DARKGOLDENROD 0xB8860BFF
  125. #define COLOR_DARKGRAY 0xA9A9A9FF
  126. #define COLOR_DARKGREEN 0x006400FF
  127. #define COLOR_DARKKHAKI 0xBDB76BFF
  128. #define COLOR_DARKMAGENTA 0x8B008BFF
  129. #define COLOR_DARKOLIVEGREEN 0x556B2FFF
  130. #define COLOR_DARKORANGE 0xFF8C00FF
  131. #define COLOR_DARKORCHID 0x9932CCFF
  132. #define COLOR_DARKRED 0x8B0000FF
  133. #define COLOR_DARKSALMON 0xE9967AFF
  134. #define COLOR_DARKSEAGREEN 0x8FBC8BFF
  135. #define COLOR_DARKSLATEBLUE 0x483D8BFF
  136. #define COLOR_DARKSLATEGRAY 0x2F4F4FFF
  137. #define COLOR_DARKTURQUOISE 0x00CED1FF
  138. #define COLOR_DARKVIOLET 0x9400D3FF
  139. #define COLOR_DEEPPINK 0xFF1493FF
  140. #define COLOR_DEEPSKYBLUE 0x00BFFFFF
  141. #define COLOR_DESKTOP 0x000000FF
  142. #define COLOR_DIMGRAY 0x696969FF
  143. #define COLOR_DODGERBLUE 0x1E90FFFF
  144. #define COLOR_FIREBRICK 0xB22222FF
  145. #define COLOR_FLORALWHITE 0xFFFAF0FF
  146. #define COLOR_FORESTGREEN 0x228B22FF
  147. #define COLOR_FUCHSIA 0xFF00FFFF
  148. #define COLOR_GAINSBORO 0xDCDCDCFF
  149. #define COLOR_GHOSTWHITE 0xF8F8FFFF
  150. #define COLOR_GOLD 0xFFD700FF
  151. #define COLOR_GOLDENROD 0xDAA520FF
  152. #define COLOR_GRADIENTACTIVECAPTION 0xB9D1EAFF
  153. #define COLOR_GRADIENTINACTIVECAPTION 0xD7E4F2FF
  154. #define COLOR_GRAY 0x808080FF
  155. #define COLOR_GRAYTEXT 0x808080FF
  156. #define COLOR_GREENYELLOW 0xADFF2FFF
  157. #define COLOR_HIGHLIGHT 0x3399FFFF
  158. #define COLOR_HIGHLIGHTTEXT 0xFFFFFFFF
  159. #define COLOR_HONEYDEW 0xF0FFF0FF
  160. #define COLOR_HOTPINK 0xFF69B4FF
  161. #define COLOR_HOTTRACK 0x0066CCFF
  162. #define COLOR_INACTIVEBORDER 0xF4F7FCFF
  163. #define COLOR_INACTIVECAPTION 0xBFCDDBFF
  164. #define COLOR_INACTIVECAPTIONTEXT 0x434E54FF
  165. #define COLOR_INDIANRED 0xCD5C5CFF
  166. #define COLOR_INDIGO 0x4B0082FF
  167. #define COLOR_INFO 0xFFFFE1FF
  168. #define COLOR_INFOTEXT 0x000000FF
  169. #define COLOR_IVORY 0xFFFFF0FF
  170. #define COLOR_KHAKI 0xF0E68CFF
  171. #define COLOR_LAVENDER 0xE6E6FAFF
  172. #define COLOR_LAVENDERBLUSH 0xFFF0F5FF
  173. #define COLOR_LAWNGREEN 0x7CFC00FF
  174. #define COLOR_LEMONCHIFFON 0xFFFACDFF
  175. #define COLOR_LIGHTBLUE 0xADD8E6FF
  176. #define COLOR_LIGHTCORAL 0xF08080FF
  177. #define COLOR_LIGHTCYAN 0xE0FFFFFF
  178. #define COLOR_LIGHTGOLDENRODYELLOW 0xFAFAD2FF
  179. #define COLOR_LIGHTGRAY 0xD3D3D3FF
  180. #define COLOR_LIGHTGREEN 0x90EE90FF
  181. #define COLOR_LIGHTPINK 0xFFB6C1FF
  182. #define COLOR_LIGHTSALMON 0xFFA07AFF
  183. #define COLOR_LIGHTSEAGREEN 0x20B2AAFF
  184. #define COLOR_LIGHTSKYBLUE 0x87CEFAFF
  185. #define COLOR_LIGHTSLATEGRAY 0x778899FF
  186. #define COLOR_LIGHTSTEELBLUE 0xB0C4DEFF
  187. #define COLOR_LIGHTYELLOW 0xFFFFE0FF
  188. #define COLOR_LIME 0x00FF00FF
  189. #define COLOR_LIMEGREEN 0x32CD32FF
  190. #define COLOR_LINEN 0xFAF0E6FF
  191. #define COLOR_MAGENTA 0xFF00FFFF
  192. #define COLOR_MAROON 0x800000FF
  193. #define COLOR_MEDIUMAQUAMARINE 0x66CDAAFF
  194. #define COLOR_MEDIUMBLUE 0x0000CDFF
  195. #define COLOR_MEDIUMORCHID 0xBA55D3FF
  196. #define COLOR_MEDIUMPURPLE 0x9370DBFF
  197. #define COLOR_MEDIUMSEAGREEN 0x3CB371FF
  198. #define COLOR_MEDIUMSLATEBLUE 0x7B68EEFF
  199. #define COLOR_MEDIUMSPRINGGREEN 0x00FA9AFF
  200. #define COLOR_MEDIUMTURQUOISE 0x48D1CCFF
  201. #define COLOR_MEDIUMVIOLETRED 0xC71585FF
  202. #define COLOR_MENU 0xF0F0F0FF
  203. #define COLOR_MENUBAR 0xF0F0F0FF
  204. #define COLOR_MENUHIGHLIGHT 0x3399FFFF
  205. #define COLOR_MENUTEXT 0x000000FF
  206. #define COLOR_MIDNIGHTBLUE 0x191970FF
  207. #define COLOR_MINTCREAM 0xF5FFFAFF
  208. #define COLOR_MISTYROSE 0xFFE4E1FF
  209. #define COLOR_MOCCASIN 0xFFE4B5FF
  210. #define COLOR_NAVAJOWHITE 0xFFDEADFF
  211. #define COLOR_NAVY 0x000080FF
  212. #define COLOR_OLDLACE 0xFDF5E6FF
  213. #define COLOR_OLIVE 0x808000FF
  214. #define COLOR_OLIVEDRAB 0x6B8E23FF
  215. #define COLOR_ORANGERED 0xFF4500FF
  216. #define COLOR_ORCHID 0xDA70D6FF
  217. #define COLOR_PALEGOLDENROD 0xEEE8AAFF
  218. #define COLOR_PALEGREEN 0x98FB98FF
  219. #define COLOR_PALETURQUOISE 0xAFEEEEFF
  220. #define COLOR_PALEVIOLETRED 0xDB7093FF
  221. #define COLOR_PAPAYAWHIP 0xFFEFD5FF
  222. #define COLOR_PEACHPUFF 0xFFDAB9FF
  223. #define COLOR_PERU 0xCD853FFF
  224. #define COLOR_PINK 0xFFC0CBFF
  225. #define COLOR_PLUM 0xDDA0DDFF
  226. #define COLOR_POWDERBLUE 0xB0E0E6FF
  227. #define COLOR_PURPLE 0x800080FF
  228. #define COLOR_ROSYBROWN 0xBC8F8FFF
  229. #define COLOR_ROYALBLUE 0x4169E1FF
  230. #define COLOR_SADDLEBROWN 0x8B4513FF
  231. #define COLOR_SALMON 0xFA8072FF
  232. #define COLOR_SANDYBROWN 0xF4A460FF
  233. #define COLOR_SCROLLBAR 0xC8C8C8FF
  234. #define COLOR_SEAGREEN 0x2E8B57FF
  235. #define COLOR_SEASHELL 0xFFF5EEFF
  236. #define COLOR_SIENNA 0xA0522DFF
  237. #define COLOR_SILVER 0xC0C0C0FF
  238. #define COLOR_SKYBLUE 0x87CEEBFF
  239. #define COLOR_SLATEBLUE 0x6A5ACDFF
  240. #define COLOR_SLATEGRAY 0x708090FF
  241. #define COLOR_SNOW 0xFFFAFAFF
  242. #define COLOR_SPRINGGREEN 0x00FF7FFF
  243. #define COLOR_STEELBLUE 0x4682B4FF
  244. #define COLOR_TAN 0xD2B48CFF
  245. #define COLOR_TEAL 0x008080FF
  246. #define COLOR_THISTLE 0xD8BFD8FF
  247. #define COLOR_TOMATO 0xFF6347FF
  248. #define COLOR_TRANSPARENT 0xFFFFFF00
  249. #define COLOR_TURQUOISE 0x40E0D0FF
  250. #define COLOR_VIOLET 0xEE82EEFF
  251. #define COLOR_WHEAT 0xF5DEB3FF
  252.  
  253. #define COLOR_WHITESMOKE 0xF5F5F5FF
  254. #define COLOR_WINDOW 0xFFFFFFFF
  255. #define COLOR_WINDOWFRAME 0x646464FF
  256. #define COLOR_WINDOWTEXT 0x000000FF
  257. #define COLOR_YELLOWGREEN 0x9ACD32FF
  258. #define STEALTH_ORANGE 0xFF880000
  259. #define STEALTH_OLIVE 0x66660000
  260. #define STEALTH_GREEN 0x33DD1100
  261. #define STEALTH_PINK 0xFF22EE00
  262. #define STEALTH_BLUE 0x0077BB00
  263.  
  264. #define MAX_REPORTS 200 // you can edit this
  265. #define USE_DIALOG_FOR_REPORT true // if you want the report with dialog then use true and if not you can use false to use /report [text]
  266. //Finished the define and include
  267.  
  268. enum xv_data
  269. {
  270. xv_Veh,
  271. xv_ModelID,
  272. xv_Renk[2],
  273. Float:xv_Pos[4],
  274. xv_Paintjob,
  275. xv_Parca[14],
  276. xv_Sahip[24],
  277. xv_Plaka[8],
  278. xv_Garajda,
  279. Text3D:xv_Text,
  280. xv_Fiyat,
  281. xv_HizliPark
  282. };
  283.  
  284. new
  285. xVehicle[MAX_VEHICLES][xv_data],
  286. xVeh[MAX_VEHICLES],
  287. offerTimer[MAX_PLAYERS],
  288. Iterator:xVehicles<MAX_VEHICLES>,
  289. Iterator:xVehicleKeys<MAX_PLAYERS, MAX_VEHICLES>,
  290. MySQL:mysqlB
  291. ;
  292.  
  293. new VehicleNames[][] =
  294. {
  295. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
  296. "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
  297. "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
  298. "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BFInjection",
  299. "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
  300. "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
  301. "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
  302. "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  303. "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "BerkleysRCVan",
  304. "Skimmer", "PCJ-600", "Faggio", "Freeway", "RCBaron", "RCRaider", "Glendale",
  305. "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
  306. "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
  307. "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "NewsChopper",
  308. "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
  309. "BlistaCompact", "PoliceMaverick", "Boxvillde", "Benson", "Mesa", "RCGoblin",
  310. "HotringRacerA", "HotringRacerB", "BloodringBanger", "Rancher", "SuperGT",
  311. "Elegant", "Journey", "Bike", "MountainBike", "Beagle", "Cropduster", "Stunt",
  312. "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  313. "FCR-900", "NRG-500", "HPV1000", "CementTruck", "TowTruck", "Fortune",
  314. "Cadrona", "FBITruck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
  315. "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  316. "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
  317. "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
  318. "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
  319. "Elegy", "Raindance", "RCTiger", "Flash", "Tahoma", "Savanna", "Bandito",
  320. "FreightFlat", "StreakCarriage", "Kart", "Mower", "Dune", "Sweeper",
  321. "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
  322. "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
  323. "FreightBox", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "LSPD",
  324. "SFPD", "LVPD", "PoliceRanger", "Picador", "S.W.A.T", "Alpha",
  325. "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
  326. "Tiller", "UtilityTrailer"
  327. };
  328.  
  329. enum PlayerInfo
  330. {
  331. Pass,
  332. RconWarn,
  333. WazzAdmLevel,
  334. WazzVIPLevel,
  335. Cash,
  336. Warn,
  337. Banned,
  338. Jailed,
  339. Muted,
  340. Freeze,
  341. Kills,
  342. Deaths
  343. }
  344. new pInfo[MAX_PLAYERS][PlayerInfo],
  345. Duting[MAX_PLAYERS],
  346. DutyWeapon[MAX_PLAYERS][7],
  347. admspec[MAX_PLAYERS],
  348. reported[MAX_PLAYERS],
  349. sLocked,
  350. JP[MAX_PLAYERS],
  351. GodCar[MAX_VEHICLES],
  352. iscountactivated = 0,
  353. countamount,
  354. CountTimer;
  355.  
  356. enum rInfo
  357. {
  358. Reporter[MAX_PLAYER_NAME],
  359. ReportString[149],
  360. ReportAnswered,
  361. Listitem[MAX_REPORTS + 2]
  362. }
  363. new ReportInfo[MAX_REPORTS + 1][rInfo];
  364. new ReportIDTaken[MAX_REPORTS + 1];
  365. new AcceptingAdminID[MAX_PLAYERS];
  366. new PlayerThatReported[MAX_PLAYERS];
  367. new ReportCount = 0;
  368.  
  369. new String[128], Float:SpecX[MAX_PLAYERS], Float:SpecY[MAX_PLAYERS], Float:SpecZ[MAX_PLAYERS], vWorld[MAX_PLAYERS], Inter[MAX_PLAYERS];
  370. new IsSpecing[MAX_PLAYERS], Name[MAX_PLAYER_NAME], IsBeingSpeced[MAX_PLAYERS],spectatorid[MAX_PLAYERS],agate,agate1;
  371.  
  372. forward Count();
  373.  
  374. forward LoadUser_data(playerid,name[],value[]);
  375. public LoadUser_data(playerid,name[],value[])
  376. {
  377. INI_Int("Password",pInfo[playerid][Pass]);
  378. INI_Int("WazzAdmin",pInfo[playerid][WazzAdmLevel]);
  379. INI_Int("WazzVip",pInfo[playerid][WazzVIPLevel]);
  380. INI_Int("Warn",pInfo[playerid][Warn]);
  381. INI_Int("Banned",pInfo[playerid][Banned]);
  382. INI_Int("Jailed",pInfo[playerid][Jailed]);
  383. INI_Int("Freeze",pInfo[playerid][Freeze]);
  384. INI_Int("Cash",pInfo[playerid][Cash]);
  385. INI_Int("Kills",pInfo[playerid][Kills]);
  386. INI_Int("Deaths",pInfo[playerid][Deaths]);
  387. return 1;
  388. }
  389.  
  390. stock UserPath(playerid)
  391. {
  392. new string[128];
  393. format(string,sizeof(string),PATH,GetName(playerid));
  394. return string;
  395. }
  396.  
  397. stock udb_hash(buf[]) {
  398. new length=strlen(buf);
  399. new s1 = 1;
  400. new s2 = 0;
  401. new n;
  402. for (n=0; n<length; n++)
  403. {
  404. s1 = (s1 + buf[n]) % 65521;
  405. s2 = (s2 + s1) % 65521;
  406. }
  407. return (s2 << 16) + s1;
  408. }
  409.  
  410. stock SetPlayerWazzAdminLevel(playerid, level)
  411. {
  412. switch(level)
  413. {
  414. case 0: pInfo[playerid][WazzAdmLevel] = 0;
  415. case 1: pInfo[playerid][WazzAdmLevel] = 1;
  416. case 2: pInfo[playerid][WazzAdmLevel] = 2;
  417. case 3: pInfo[playerid][WazzAdmLevel] = 3;
  418. case 4: pInfo[playerid][WazzAdmLevel] = 4;
  419. case 5: pInfo[playerid][WazzAdmLevel] = 5;
  420. }
  421. }
  422.  
  423. stock Error(playerid, id)
  424. {
  425. switch(id)
  426. {
  427. case 1: SendClientMessage(playerid,COLOR_RED,"You not authorzired to use this command");
  428. case 2: SendClientMessage(playerid,COLOR_RED,"You need to be admin level 2 to use this command");
  429. case 3: SendClientMessage(playerid,COLOR_RED,"You need to be admin level 3 to use this command");
  430. case 4: SendClientMessage(playerid,COLOR_RED,"You need to be admin level 4 to use this command");
  431. case 5: SendClientMessage(playerid,COLOR_RED,"You need to be admin level 5 to use this command");
  432. case 6: SendClientMessage(playerid,COLOR_RED,"Player don't found");
  433. case 11: SendClientMessage(playerid,COLOR_RED,"You need to be vip level 1 to use this command");
  434. case 12: SendClientMessage(playerid,COLOR_RED,"You need to be vip level 2 to use this command");
  435. case 13: SendClientMessage(playerid,COLOR_RED,"You need to be vip level 3 to use this command");
  436. }
  437. return 1;
  438. }
  439.  
  440. stock RemovePlayerWeapon(playerid, weaponid)
  441. {
  442. new pWeaponData[13][2];
  443. for (new i = 0; i < 13; i++)
  444. {
  445. GetPlayerWeaponData(playerid, i, pWeaponData[i][0], pWeaponData[i][1]);
  446. }
  447.  
  448. ResetPlayerWeapons(playerid);
  449. for(new i=0; i<13; i++)
  450. {
  451. if(pWeaponData[i][0] != 0 && pWeaponData[i][0] != weaponid)
  452. {
  453. GivePlayerWeapon(playerid, pWeaponData[i][0], pWeaponData[i][1]);
  454. }
  455. }
  456. return 0;
  457. }
  458.  
  459. forward ReportedLoop();
  460.  
  461. //enum login/register
  462. new RM[CURRENT_MESSAGES][128];
  463. forward SendRandomMessage();
  464.  
  465. //all stock
  466. stock NAMEGET(playerid)
  467. {
  468. new name[MAX_PLAYER_NAME];
  469. GetPlayerName(playerid,name,sizeof(name));
  470. for(new i = 0; i < MAX_PLAYER_NAME; i++)
  471. {
  472. if(name[i] == '_') name[i] = ' ';
  473. }
  474. return name;
  475. }
  476. stock ProxDetectorNew(playerid,Float:Radi=10.0,color,text[])
  477. {
  478. new Float:pos[3];
  479. GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  480. for(new i;i<MAX_PLAYERS;i++)
  481. {
  482. if(!IsPlayerConnected(i)) continue; //
  483. if(IsPlayerInRangeOfPoint(i,Radi,pos[0],pos[1],pos[2]))
  484. {
  485. if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid) && GetPlayerInterior(playerid) == GetPlayerInterior(i))SendClientMessage(i,color,text);
  486. }
  487. }
  488. }
  489. stock AddRandomMessage(text[])
  490. {
  491. for(new m; m < CURRENT_MESSAGES; m++)
  492. {
  493. if(!strlen(RM[m]))
  494. {
  495. strmid(RM[m], text, 0, 127);
  496. return 1;
  497. }
  498. }
  499. return 0;
  500. }
  501. //stock ended
  502.  
  503. main()
  504. {
  505. print("\n----------------------------------");
  506. print(" Gamemode by Irwan Ibrahim");
  507. print("----------------------------------\n");
  508. }
  509.  
  510. public OnGameModeInit()
  511. {
  512. print("[xVeh MySql] Connecting to database...");
  513.  
  514. mysqlB = mysql_connect(SQL_HOST, SQL_USER, SQL_PASSWORD, SQL_DBNAME);
  515. mysql_log(ALL);
  516. if (mysql_errno(mysqlB) == 0) print("[xVeh MySql] Connection successful!");
  517. else print("[xVeh MySql] The connection has failed!\n\n[!!! xVehicle v2 couldn't init !!!]\n\n");
  518.  
  519. new query[1024];
  520.  
  521. strcat(query, "CREATE TABLE IF NOT EXISTS `xVehicle` (\
  522. `ID` int(11),\
  523. `Sahip` varchar(48) default '',\
  524. `Fiyat` int(11) default '0',\
  525. `X` float default '0',\
  526. `Y` float default '0',\
  527. `Z` float default '0',\
  528. `A` float default '0',\
  529. `HizliPark` int(2) default '0',\
  530. `Model` int(5) default '0',\
  531. `Renk1` int(5) default '0',\
  532. `Renk2` int(5) default '0',\
  533. `Plaka` varchar(8),\
  534. `Garajda` int(2) default '0',\
  535. `PJ` int(5) default '-1',");
  536.  
  537. strcat(query, "`Parca1` int(8) default '0',\
  538. `Parca2` int(8) default '0',\
  539. `Parca3` int(8) default '0',\
  540. `Parca4` int(8) default '0',\
  541. `Parca5` int(8) default '0',\
  542. `Parca6` int(8) default '0',\
  543. `Parca7` int(8) default '0',\
  544. `Parca8` int(8) default '0',");
  545.  
  546.  
  547. strcat(query, "`Parca9` int(8) default '0',\
  548. `Parca10` int(8) default '0',\
  549. `Parca11` int(8) default '0',\
  550. `Parca12` int(8) default '0',\
  551. `Parca13` int(8) default '0',\
  552. `Parca14` int(8) default '0',\
  553. PRIMARY KEY (`ID`),\
  554. UNIQUE KEY `ID_2` (`ID`),\
  555. KEY `ID` (`ID`)\
  556. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
  557.  
  558. mysql_query(mysqlB, query);
  559.  
  560. mysql_query(mysqlB, "CREATE TABLE IF NOT EXISTS `xVehicleKeys` (\
  561. `AracID` int(11) NOT NULL,\
  562. `Isim` varchar(24) NOT NULL\
  563. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
  564.  
  565. Iter_Add(xVehicles, 0);
  566.  
  567. mysql_tquery(mysqlB, "SELECT * FROM `xVehicle`", "LoadxVehicles");
  568. SetTimer("ReportedLoop",1000,true);
  569. SetTimer("SendRandomMsgToAll", 60000, 1);
  570. for(new i = 0;i < MAX_PLAYERS;i += 1)
  571. {
  572. if(IsPlayerConnected(i))
  573. {
  574. AcceptingAdminID[i] = -1;
  575. PlayerThatReported[i] = -1;
  576. }
  577. }
  578. SetGameModeText("J-CNR Re-Build!");
  579. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  580. AddRandomMessage("Add any news here");
  581. AddRandomMessage("Add any news here");
  582. AddRandomMessage("Add any news here");
  583. AddRandomMessage("Add any news here");
  584. SetTimer("SendRandomMessage", MESSAGE_INTERVAL * 1000, 1);
  585. return 1;
  586. }
  587.  
  588. public SendRandomMessage()
  589. {
  590. static lastmessage = 0;
  591. new rand = random(CURRENT_MESSAGES);
  592. while(rand == lastmessage && CURRENT_MESSAGES != 1) { rand = random(CURRENT_MESSAGES); }
  593. lastmessage = rand;
  594. SendClientMessageToAll(COLOR_LIME, RM[lastmessage]);
  595. }
  596.  
  597. public OnGameModeExit()
  598. {
  599. return 1;
  600. }
  601.  
  602. public OnPlayerRequestClass(playerid, classid)
  603. {
  604. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  605. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  606. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  607. return 1;
  608. }
  609.  
  610. public OnPlayerConnect(playerid)
  611. {
  612. SetPVarInt(playerid, "xv_teklif_id", INVALID_PLAYER_ID);
  613. SetPVarInt(playerid, "xv_teklif_gonderen", INVALID_PLAYER_ID);
  614. LoadxVehicleKeys(playerid);
  615. reported[playerid] = 0;
  616. AcceptingAdminID[playerid] = -1;
  617. PlayerThatReported[playerid] = -1;
  618. if(sLocked == 1) return Kick(playerid);
  619. if(fexist(UserPath(playerid)))
  620. {
  621. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  622. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,""white"J-CNR Login Panel",""white"Masukan password kamu untuk login!","Login","Quit");
  623. }
  624. else
  625. {
  626. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,""white"J-CNR Registering Panel",""white"Silahkan buat password kamu, karena akun kamu belum terdaftar","Register","Quit");
  627. }
  628. return 1;
  629. }
  630.  
  631. public OnPlayerDisconnect(playerid, reason)
  632. {
  633. if(GetPVarInt(playerid, "xv_teklif_gonderen") != INVALID_PLAYER_ID)
  634. {
  635. new gonderen = GetPVarInt(playerid, "xv_teklif_gonderen");
  636. KillTimer(offerTimer[playerid]);
  637. SetPVarInt(gonderen, "xv_teklif_id", INVALID_PLAYER_ID);
  638. SendClientMessage(gonderen, -1, "{FF0000}[!] {DCDC22}Your vehicle offer has cancelled because of the player that you offered has disconnected.");
  639. }
  640.  
  641. if(GetPVarInt(playerid, "xv_teklif_id") != INVALID_PLAYER_ID)
  642. {
  643. new alan = GetPVarInt(playerid, "xv_teklif_id");
  644. SetPVarInt(alan, "xv_teklif_gonderen", INVALID_PLAYER_ID);
  645. DeletePVar(alan, "xv_teklif_xid");
  646. DeletePVar(alan, "xv_teklif_fiyat");
  647. KillTimer(offerTimer[alan]);
  648. SendClientMessage(alan, -1, "{FF0000}[!] {DCDC22}The offer has cancelled because of the player that make the offer has disconnected.");
  649. }
  650.  
  651. if(IsPlayerInAnyVehicle(playerid))
  652. {
  653. new xid = xVeh[GetPlayerVehicleID(playerid)], Float:xvHP;
  654. GetVehicleHealth(GetPlayerVehicleID(playerid), xvHP);
  655. if(xid != 0 && xVehicle[xid][xv_HizliPark] == 1 && !IsVehicleFlipped(GetPlayerVehicleID(playerid)) && xvHP > 300)
  656. {
  657. GetVehiclePos(GetPlayerVehicleID(playerid), xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], xVehicle[xid][xv_Pos][2]);
  658. GetVehicleZAngle(GetPlayerVehicleID(playerid), xVehicle[xid][xv_Pos][3]);
  659. SavexVehicle(xid);
  660. }
  661. }
  662. new INI:File = INI_Open(UserPath(playerid));
  663. INI_SetTag(File,"data");
  664. INI_WriteInt(File,"Password",pInfo[playerid][Pass]);
  665. INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
  666. INI_WriteInt(File,"WazzLevel",pInfo[playerid][WazzAdmLevel]);
  667. INI_WriteInt(File,"WazzVIPLevel",pInfo[playerid][WazzVIPLevel]);
  668. INI_WriteInt(File,"Warn",pInfo[playerid][Warn]);
  669. INI_WriteInt(File,"Banned",pInfo[playerid][Banned]);
  670. INI_WriteInt(File,"Freeze",pInfo[playerid][Freeze]);
  671. INI_WriteInt(File,"Muted",pInfo[playerid][Muted]);
  672. INI_WriteInt(File,"Kills",pInfo[playerid][Kills]);
  673. INI_WriteInt(File,"Deaths",pInfo[playerid][Deaths]);
  674. INI_Close(File);
  675.  
  676. JP[playerid] = 0;
  677.  
  678. if(IsBeingSpeced[playerid] == 1)
  679. {
  680. foreach(new i: Player)
  681. {
  682. if(spectatorid[i] == playerid)
  683. {
  684. TogglePlayerSpectating(i,false);
  685. }
  686. }
  687. }
  688. new str[128];
  689. new PlayerName[MAX_PLAYER_NAME];
  690. GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
  691. format(str,sizeof(str),"%s has left/quit the server",PlayerName);
  692. SendClientMessageToAll(-1,str);
  693. return 1;
  694. }
  695.  
  696. public OnPlayerSpawn(playerid)
  697. {
  698. if(IsSpecing[playerid] == 1)
  699. {
  700. SetPlayerPos(playerid,SpecX[playerid],SpecY[playerid],SpecZ[playerid]);// Remember earlier we stored the positions in these variables, now we're gonna get them from the variables.
  701. SetPlayerInterior(playerid,Inter[playerid]);//Setting the player's interior to when they typed '/spec'
  702. SetPlayerVirtualWorld(playerid,vWorld[playerid]);//Setting the player's virtual world to when they typed '/spec'
  703. IsSpecing[playerid] = 0;//Just saying you're free to use '/spec' again YAY :D
  704. IsBeingSpeced[spectatorid[playerid]] = 0;//Just saying that the player who was being spectated, is not free from your stalking >:D
  705. }
  706. new str[128];
  707. new PlayerName[MAX_PLAYER_NAME];
  708. GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
  709. format(str,sizeof(str),"%s has joined the server",PlayerName);
  710. SendClientMessageToAll(-1,str);
  711. return 1;
  712. }
  713.  
  714. public OnPlayerDeath(playerid, killerid, reason)
  715. {
  716. pInfo[playerid][Deaths] ++;
  717. pInfo[killerid][Kills] ++;
  718. if(IsBeingSpeced[playerid] == 1)
  719. {
  720. foreach(new i: Player)
  721. {
  722. if(spectatorid[i] == playerid)
  723. {
  724. TogglePlayerSpectating(i,false);
  725. }
  726. }
  727. }
  728. return 1;
  729. }
  730.  
  731. public OnVehicleSpawn(vehicleid)
  732. {
  733. new xid = xVeh[vehicleid];
  734. if(xid != 0)
  735. {
  736. DestroyVehicle(xVehicle[xid][xv_Veh]);
  737. xVehicle[xid][xv_Veh] = CreateVehicle(xVehicle[xid][xv_ModelID], xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], xVehicle[xid][xv_Pos][2], xVehicle[xid][xv_Pos][3], xVehicle[xid][xv_Renk][0], xVehicle[xid][xv_Renk][1], -1);
  738. xVeh[xVehicle[xid][xv_Veh]] = xid;
  739. SetVehicleNumberPlate(xVehicle[xid][xv_Veh], xVehicle[xid][xv_Plaka]);
  740. LoadVehicleMod(xid);
  741. }
  742. return 1;
  743. }
  744.  
  745. public OnVehicleDeath(vehicleid, killerid)
  746. {
  747. return 1;
  748. }
  749.  
  750. public OnPlayerText(playerid, text[])
  751. {
  752. if(pInfo[playerid][Muted] == 1)
  753. {
  754. SendClientMessage(playerid,COLOR_RED,"You have been muted. Type /report to ask admin about unmute");
  755. return 0;
  756. }
  757. #if CHAT_LOG == true
  758. new string[128];
  759. format(string,sizeof(string),"%s: %s",GetName(playerid),text);
  760. SaveIn("Chat.log",string);
  761. #endif
  762. return 1;
  763. }
  764.  
  765. public OnPlayerCommandText(playerid, cmdtext[])
  766. {
  767. return 1;
  768. }
  769.  
  770. //========[COMMANDS]=========//
  771. CMD:stats(playerid,params[])
  772. {
  773. new string[128];
  774. new Admin = pInfo[playerid][WazzAdmLevel];
  775. new VIP = pInfo[playerid][WazzVIPLevel];
  776. new Money = pInfo[playerid][Cash];
  777. new warning = pInfo[playerid][Warn];
  778. new muted = pInfo[playerid][Muted];
  779. new freezed = pInfo[playerid][Freeze];
  780. new kills = pInfo[playerid][Kills];
  781. new deaths = pInfo[playerid][Deaths];
  782. format(string,sizeof(string),"Admin: %i\nVIP: %i\nMoney: %s\nWarnings: %i\nMuted: %i\nFreezed: %i\nKills: %i\nDeaths: %i",Admin,VIP,Money,warning,muted,freezed,kills,deaths);
  783. ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Your Status",string,"Ok","");
  784. return 1;
  785. }
  786. CMD:changepass(playerid,params[])
  787. {
  788. new opass[128],npass[64];
  789. if(sscanf(params,"s[128]s[64]",opass,npass)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /changepass [old pass] [new pass]");
  790. if(udb_hash(opass) == pInfo[playerid][Pass])
  791. {
  792. new string[128];
  793. new INI:File = INI_Open(UserPath(playerid));
  794. INI_WriteInt(File,"Password",strlen(npass));
  795. INI_Close(File);
  796. format(string,sizeof(string),"You has change you pass %s to %s. Have a nice day :)",opass,npass);
  797. SendClientMessage(playerid,COLOR_YELLOW,string);
  798. }
  799. else return SendClientMessage(playerid,COLOR_RED,"You has entered a wrong password. Please type right old password to make a new pass");
  800. return 1;
  801. }
  802. CMD:admins(playerid,params[])
  803. {
  804. new count = 0;
  805. new string[128];
  806. new AdminRank[128];
  807. SendClientMessage(playerid,COLOR_RED,"");
  808. SendClientMessage(playerid,COLOR_GREEN,"________________|ONLINE ADMINS|________________");
  809. SendClientMessage(playerid,COLOR_RED,"");
  810. for(new i = 0; i < MAX_PLAYERS; i++)
  811. {
  812. if(IsPlayerConnected(i))
  813. {
  814. if(pInfo[i][WazzAdmLevel] > 0)
  815. {
  816. if(pInfo[i][WazzAdmLevel] == 1)
  817. {
  818. AdminRank = "Helper";
  819. }
  820. else if(pInfo[i][WazzAdmLevel] == 2)
  821. {
  822. AdminRank = "Moderator";
  823. }
  824. else if(pInfo[i][WazzAdmLevel] == 3)
  825. {
  826. AdminRank = "Administrator";
  827. }
  828. else if(pInfo[i][WazzAdmLevel] == 4)
  829. {
  830. AdminRank = "UnBan Manager";
  831. }
  832. else if(pInfo[i][WazzAdmLevel] == 5)
  833. {
  834. AdminRank = "Server Owner";
  835. }
  836. new aName[MAX_PLAYER_NAME];
  837. GetPlayerName(i,aName,sizeof(aName));
  838. format(string, sizeof(string), "Level: %d | Name: %s (ID:%i) | Rank: %s ", pInfo[i][WazzAdmLevel], aName,i,AdminRank);
  839. SendClientMessage(playerid,COLOR_CYAN,string);
  840. count++;
  841. }
  842. }
  843. }
  844. if(count == 0)
  845. SendClientMessage(playerid,COLOR_RED,"No Admins online!");
  846. SendClientMessage(playerid,COLOR_GREEN,"_________________________________________________");
  847. return 1;
  848. }
  849. CMD:vips(playerid,params[])
  850. {
  851. new count = 0;
  852. new string[128];
  853. new VIPRank[128];
  854. SendClientMessage(playerid,COLOR_RED,"");
  855. SendClientMessage(playerid,COLOR_GREEN,"________________|ONLINE VIPS|________________");
  856. SendClientMessage(playerid,COLOR_RED,"");
  857. for(new i = 0; i < MAX_PLAYERS; i++)
  858. {
  859. if(IsPlayerConnected(i))
  860. {
  861. if(pInfo[i][WazzVIPLevel] > 0)
  862. {
  863. if(pInfo[i][WazzVIPLevel] == 1)
  864. {
  865. VIPRank = "Bronze";
  866. }
  867. else if(pInfo[i][WazzVIPLevel] == 2)
  868. {
  869. VIPRank = "Silver";
  870. }
  871. else if(pInfo[i][WazzVIPLevel] == 3)
  872. {
  873. VIPRank = "Golden";
  874. }
  875. new vName[MAX_PLAYER_NAME];
  876. GetPlayerName(i,vName,sizeof(vName));
  877. format(string, sizeof(string), "Level: %d | Name: %s (ID:%i) | Rank: %s ", pInfo[i][WazzVIPLevel],vName,i,VIPRank);
  878. SendClientMessage(playerid,COLOR_CYAN,string);
  879. count++;
  880. }
  881. }
  882. }
  883. if(count == 0)
  884. SendClientMessage(playerid,COLOR_RED,"No VIPs online!");
  885. SendClientMessage(playerid,COLOR_GREEN,"_________________________________________________");
  886. return 1;
  887. }
  888. CMD:report(playerid,params[])
  889. {
  890. new string[96];
  891. if (reported[playerid] != 0)
  892. {
  893. format(string, sizeof(string), "You must wait %d more seconds before reporting.", reported[playerid]);
  894. return SendClientMessage(playerid, COLOR_GREY, string);
  895. }
  896. #if USE_DIALOG_FOR_REPORT true
  897. ShowPlayerDialog(playerid,DIALOG_REPORT, DIALOG_STYLE_INPUT, "Reporting", "Please enter what you want to report to the administrators in the box below.\n\nNOTE: This command is for reporting ONLY and speaking to administrators. Abuse of this command will result in a mute of the command.", "Report", "Cancel");
  898. #else
  899. if (isnull(params)) return UsageMessage(playerid, "/report [text]");
  900. AddReport(playerid, params);
  901. #endif
  902. return 1;
  903. }
  904. CMD:closereport(playerid,params[])
  905. {
  906. new string[96];
  907. if (GetPVarInt(playerid, "ReportID") != 0)
  908. {
  909. new reportid = GetPVarInt(playerid, "ReportID");
  910. new reporter = PlayerThatReported[playerid];
  911.  
  912. SendClientMessage(reporter, COLOR_YELLOW, "An administrator has closed your report.");
  913. format(string, sizeof(string), "You've closed report #%d.", reportid);
  914. SendClientMessage(playerid, COLOR_YELLOW, string);
  915. AcceptingAdminID[reporter] = -1;
  916. PlayerThatReported[playerid] = -1;
  917.  
  918. strmid(ReportInfo[reportid][Reporter], "", 0, strlen(""), 255);
  919. strmid(ReportInfo[reportid][ReportString], "", 0, strlen(""), 255);
  920. ReportInfo[reportid][ReportAnswered] = 0;
  921. ReportIDTaken[reportid] = 0;
  922. ReportInfo[reportid][Listitem][ReportInfo[reportid][Listitem]] = -1;
  923. ReportCount -= 1;
  924.  
  925. ShuffleListitems();
  926. DeletePVar(playerid, "ReportID");
  927. return 1;
  928. }
  929. else SendClientMessage(playerid, COLOR_GREY, "You haven't accepted any report.");
  930. return 1;
  931. }
  932. //Admin level 1 commands
  933. CMD:adoor(playerid,params[])
  934. {
  935. if(pInfo[playerid][WazzAdmLevel] >= 1)
  936. {
  937. MoveObject(agate,259.10000610352,3114.411,-2, 4.00);
  938. SetTimer("close", 4000, 0);
  939. SendClientMessage(playerid,COLOR_LIME,"You are opening Admin Gate it will be closed in 4 seconds");
  940. }
  941. else return Error(playerid,1);
  942. return 1;
  943. }
  944. CMD:agate(playerid,params[])
  945. {
  946. if(pInfo[playerid][WazzAdmLevel] >= 1)
  947. {
  948. MoveObject(agate1, 264.62, 3254.86, -3.5, 4.00);
  949. SetTimer("close1", 4000, 0);
  950. SendClientMessage(playerid,COLOR_LIME,"You are opening Boat Admin Gate it will be closed in 4 seconds");
  951. }
  952. else return Error(playerid,1);
  953. return 1;
  954. }
  955. CMD:aland(playerid,params[])
  956. {
  957. if(pInfo[playerid][WazzAdmLevel] >= 1)
  958. {
  959. SetPlayerPos(playerid,256.6633,2934.7346,1.8637);
  960. SendClientMessage(playerid,COLOR_LIME,"Welcome to admin island!! Have a good day!!");
  961. }
  962. else return Error(playerid,1);
  963. return 1;
  964. }
  965. CMD:achat(playerid,params[])
  966. {
  967. if(pInfo[playerid][WazzAdmLevel] >= 1)
  968. {
  969. new text[256],an[MAX_PLAYER_NAME],string[128];
  970. if(sscanf(params,"s[256]",text)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /a(chat) [text]");
  971. GetPlayerName(playerid,an,sizeof(an));
  972. for(new i; i < MAX_PLAYERS; i++)
  973. {
  974. if(pInfo[i][WazzAdmLevel] >= 1)
  975. {
  976. format(string,sizeof(string),"%s: %s",an,text);
  977. SendClientMessage(i,COLOR_YELLOW,string);
  978. }
  979. }
  980. }
  981. else return Error(playerid,1);
  982. return 1;
  983. }
  984. CMD:a(playerid,params[])
  985. {
  986. if(pInfo[playerid][WazzAdmLevel] >= 1)
  987. {
  988. new text[256],an[MAX_PLAYER_NAME],string[128];
  989. if(sscanf(params,"s[256]",text)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /a(chat) [text]");
  990. GetPlayerName(playerid,an,sizeof(an));
  991. for(new i; i < MAX_PLAYERS; i++)
  992. {
  993. if(pInfo[i][WazzAdmLevel] >= 1)
  994. {
  995. format(string,sizeof(string),"%s: %s",an,text);
  996. SendClientMessage(i,COLOR_YELLOW,string);
  997. }
  998. }
  999. }
  1000. else return Error(playerid,1);
  1001. return 1;
  1002. }
  1003. CMD:acmds(playerid,params[])
  1004. {
  1005. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1006. {
  1007. ShowPlayerDialog(playerid,DIALOG_CHOOSE_LEVEL,DIALOG_STYLE_LIST,"List Commands","Level 1\nLevel 2\nLevel 3\nLevel 4\nLevel 5","Choose","Cancel");
  1008. }
  1009. else return Error(playerid,1);
  1010. return 1;
  1011. }
  1012. CMD:duty(playerid,params[])
  1013. {
  1014. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1015. {
  1016. if(Duting[playerid] == 0)
  1017. {
  1018. OnDuty(playerid);
  1019. SendClientMessage(playerid,COLOR_GREEN,"Your now on duty!");
  1020. }
  1021. else
  1022. {
  1023. OffDuty(playerid);
  1024. SendClientMessage(playerid,COLOR_GREEN,"Your now off duty!");
  1025. }
  1026. }
  1027. else return Error(playerid,1);
  1028. return 1;
  1029. }
  1030. CMD:count(playerid,params[])
  1031. {
  1032. static amount;
  1033. if(sscanf(params,"i",amount)) return SendClientMessage(playerid,-1,"USAGE: /count [amount]");
  1034. if(iscountactivated == 1) return SendClientMessage(playerid,-1,"The countdown is already activated!");
  1035. if(amount > 10 || amount <= 0) return SendClientMessage(playerid,-1,"The amount can't be greater than 10");
  1036. CountTimer = SetTimer("Count",1000,true);
  1037. countamount = amount;
  1038. iscountactivated = 1;
  1039. return 1;
  1040. }
  1041. CMD:reports(playerid,params[])
  1042. {
  1043. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1044. {
  1045. if(Duting[playerid] != 0)
  1046. {
  1047. if(GetPVarInt(playerid, "ReportID") != 0) return SendClientMessage(playerid, COLOR_GREY, "You're already handling a report. Use /closereport if you want to handle another one.");
  1048. ShowPlayerDialog(playerid, DIALOG_REPORTS, DIALOG_STYLE_LIST, "Reports", "List Reports\nDelete Reports", "Select", "Cancel");
  1049. }
  1050. else return SendClientMessage(playerid,COLOR_RED,"You have to on duty first then use this command");
  1051. }
  1052. else return Error(playerid,1);
  1053. return 1;
  1054. }
  1055. CMD:goto(playerid,params[])
  1056. {
  1057. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1058. {
  1059. new Float:x,Float:y,Float:z,id;
  1060. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /goto [playerid]");
  1061. if(id == INVALID_PLAYER_ID) return Error(playerid,6);
  1062. GetPlayerPos(id,x,y,z);
  1063. SetPlayerPos(playerid,x,y,z);
  1064. }
  1065. else return Error(playerid,1);
  1066. return 1;
  1067. }
  1068. CMD:gethere(playerid,params[])
  1069. {
  1070. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1071. {
  1072. new Float:x,Float:y,Float:z,id;
  1073. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /gethere [playerid]");
  1074. if(id == INVALID_PLAYER_ID) return Error(playerid,6);
  1075. if(pInfo[id][WazzAdmLevel] > pInfo[playerid][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't use this command on a nother admin high level than you");
  1076. GetPlayerPos(playerid,x,y,z);
  1077. SetPlayerPos(id,x,y,z);
  1078. }
  1079. else return Error(playerid,1);
  1080. return 1;
  1081. }
  1082. CMD:mute(playerid,params[])
  1083. {
  1084. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1085. {
  1086. new id;
  1087. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /mute [playerid]");
  1088. if(id == INVALID_PLAYER_ID) return Error(playerid,6);
  1089. if(pInfo[id][WazzAdmLevel] > pInfo[playerid][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't use this command on a nother admin high level than you");
  1090. pInfo[id][Muted] = 1;
  1091. }
  1092. else return Error(playerid,1);
  1093. return 1;
  1094. }
  1095. CMD:unmute(playerid,params[])
  1096. {
  1097. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1098. {
  1099. new id;
  1100. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /unmute [playerid]");
  1101. if(id == INVALID_PLAYER_ID) return Error(playerid,6);
  1102. if(pInfo[id][WazzAdmLevel] > pInfo[playerid][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't use this command on a nother admin high level than you");
  1103. pInfo[id][Muted] = 0;
  1104. }
  1105. else return Error(playerid,1);
  1106. return 1;
  1107. }
  1108. CMD:getinfo(playerid,params[])
  1109. {
  1110. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1111. {
  1112. new id,string[128];
  1113. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_ORANGE,"USAGE: /getip [playerid]");
  1114. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1115. new pip[32];
  1116. GetPlayerIp(id,pip,sizeof(pip));
  1117. format(string,sizeof(string),"[NAME]: %s, [IP]: %s",GetName(id),pip);
  1118. SendClientMessage(playerid,COLOR_RED,string);
  1119. }
  1120. else return Error(playerid,2);
  1121. return 1;
  1122. }
  1123. CMD:clearchat(playerid,params[])
  1124. {
  1125. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1126. {
  1127. for(new i = 0; i < 250; i++) SendClientMessageToAll(0x00000000," ");
  1128. }
  1129. else return Error(playerid,2);
  1130. return 1;
  1131. }
  1132. CMD:slap(playerid,params[])
  1133. {
  1134. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1135. {
  1136. new Float:x,Float:y,Float:z,id;
  1137. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_ORANGE,"USAGE: /slap [playerid]");
  1138. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1139. if(pInfo[id][WazzAdmLevel] > pInfo[playerid][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't use this command on a nother admin high level than you");
  1140. PlayerPlaySound(id,1190,0.0,0.0,0.0);
  1141. GetPlayerPos(id,x,y,z);
  1142. SetPlayerPos(id,x,y,z+4);
  1143. }
  1144. else return Error(playerid,1);
  1145. return 1;
  1146. }
  1147. CMD:asay(playerid,params[])
  1148. {
  1149. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1150. {
  1151. new text[256],string[128];
  1152. if(sscanf(params,"s[256]",text)) return SendClientMessage(playerid,COLOR_GREEN,"USAGE: /asay [text]");
  1153. format(string,sizeof(string),"Admin %s say: %s",GetName(playerid),text);
  1154. SendClientMessageToAll(COLOR_PINK,string);
  1155. }
  1156. else return Error(playerid,2);
  1157. return 1;
  1158. }
  1159. CMD:repair(playerid,params[])
  1160. {
  1161. if(pInfo[playerid][WazzAdmLevel] >= 1)
  1162. {
  1163. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"You must to be in a vehicle to use this");
  1164. RepairVehicle(GetPlayerVehicleID(playerid));
  1165. SendClientMessage(playerid,COLOR_ORANGE,"Vehicle has repair success");
  1166. }
  1167. else return Error(playerid,1);
  1168. return 1;
  1169. }
  1170. //End
  1171. //Admin level 2 commands
  1172. CMD:jail(playerid,params[])
  1173. {
  1174. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1175. {
  1176. new id,stime,reason[50];
  1177. if(sscanf(params,"uis[50]",id,stime,reason)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /jail [playerid] [seconds] [reason]");
  1178. SetPlayerPos(id, 197.6661,173.8179,1003.0234);
  1179. SetPlayerInterior(id, 3);
  1180. SetTimerEx("FreePlayer",stime*1000,false,"i",id);
  1181. new string[128];
  1182. format(string,sizeof(string),"AdminCMD: %s has been jailed by admin %s [REASON]: %s",GetName(id),GetName(playerid),reason);
  1183. SendClientMessageToAll(COLOR_RED,string);
  1184.  
  1185. pInfo[id][Jailed] = 1;
  1186. }
  1187. else return Error(playerid,2);
  1188. return 1;
  1189. }
  1190. CMD:unjail(playerid,params[])
  1191. {
  1192. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1193. {
  1194. new id,reason[50];
  1195. if(sscanf(params,"us[50]",id,reason)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /jail [playerid] [reason]");
  1196. SpawnPlayer(playerid);
  1197. new string[128];
  1198. format(string,sizeof(string),"AdminCMD: %s has been unjailed by admin %s [REASON]: %s",GetName(id),GetName(playerid),reason);
  1199. SendClientMessageToAll(COLOR_RED,string);
  1200.  
  1201. pInfo[id][Jailed] = 0;
  1202. }
  1203. else return Error(playerid,2);
  1204. return 1;
  1205. }
  1206. CMD:freeze(playerid,params[])
  1207. {
  1208. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1209. {
  1210. new id,string[128],reason[64];
  1211. if(sscanf(params,"us[64]",id,reason)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /freeze [playerid] [reason]");
  1212. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1213. if(pInfo[id][WazzAdmLevel] > pInfo[playerid][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't use this command on a nother admin high level than you");
  1214. if(pInfo[id][Freeze] == 1) SendClientMessage(playerid,COLOR_RED,"This player has been freezed");
  1215. format(string,sizeof(string),"Admin %s has freezed %s. [Reason]: %s",GetName(playerid),GetName(id),reason);
  1216. SendClientMessageToAll(COLOR_BLUE,string);
  1217. pInfo[id][Freeze] = 1;
  1218. TogglePlayerControllable(id,0);
  1219. }
  1220. else return Error(playerid,2);
  1221. return 1;
  1222. }
  1223. CMD:unfreeze(playerid,params[])
  1224. {
  1225. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1226. {
  1227. new id,string[128];
  1228. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /unfreeze [playerid]");
  1229. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1230. if(pInfo[id][WazzAdmLevel] > pInfo[playerid][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't use this command on a nother admin high level than you");
  1231. if(pInfo[id][Freeze] == 0) SendClientMessage(playerid,COLOR_RED,"This player has been unfreezed");
  1232. format(string,sizeof(string),"Admin %s has unfreezed %s",GetName(playerid),GetName(id));
  1233. SendClientMessageToAll(COLOR_BLUE,string);
  1234. TogglePlayerControllable(id,1);
  1235. }
  1236. else return Error(playerid,2);
  1237. return 1;
  1238. }
  1239. CMD:announce(playerid,params[])
  1240. {
  1241. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1242. {
  1243. new text[64],string[128];
  1244. if(sscanf(params,"s[64]",text)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /announce [text]");
  1245. format(string,sizeof(string),"%s",text);
  1246. GameTextForAll(string,5000,1);
  1247. }
  1248. else return Error(playerid,2);
  1249. return 1;
  1250. }
  1251. CMD:spec(playerid,params[])
  1252. {
  1253. new id;// This will hold the ID of the player you are going to be spectating.
  1254. if(!IsPlayerAdmin(playerid))return 0;// This checks if the player is logged into RCON, if not it will return 0; (Showing "SERVER: Unknown Command") You can replace it with your own admin check.
  1255. if(sscanf(params,"u", id))return SendClientMessage(playerid, COLOR_GREY, "Usage: /spec [id]");// Now this is where we use sscanf to check if the params were filled, if not we'll ask you to fill them
  1256. if(id == playerid)return SendClientMessage(playerid,COLOR_GREY,"You cannot spec yourself.");// Just making sure.
  1257. if(id == INVALID_PLAYER_ID)return SendClientMessage(playerid, COLOR_GREY, "Player not found!");// This is to ensure that you don't fill the param with an invalid player id.
  1258. if(IsSpecing[playerid] == 1)return SendClientMessage(playerid,COLOR_GREY,"You are already specing someone.");// This will make you not automatically spec someone else by mistake.
  1259. GetPlayerPos(playerid,SpecX[playerid],SpecY[playerid],SpecZ[playerid]);// This is getting and saving the player's position in a variable so they'll respawn at the same place they typed '/spec'
  1260. Inter[playerid] = GetPlayerInterior(playerid);// Getting and saving the interior.
  1261. vWorld[playerid] = GetPlayerVirtualWorld(playerid);//Getting and saving the virtual world.
  1262. TogglePlayerSpectating(playerid, true);// Now before we use any of the 3 functions listed above, we need to use this one. It turns the spectating mode on.
  1263. if(IsPlayerInAnyVehicle(id))//Checking if the player is in a vehicle.
  1264. {
  1265. if(GetPlayerInterior(id) > 0)//If the player's interior is more than 0 (the default) then.....
  1266. {
  1267. SetPlayerInterior(playerid,GetPlayerInterior(id));//.....set the spectator's interior to that of the player being spectated.
  1268. }
  1269. if(GetPlayerVirtualWorld(id) > 0)//If the player's virtual world is more than 0 (the default) then.....
  1270. {
  1271. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));//.....set the spectator's virtual world to that of the player being spectated.
  1272. }
  1273. PlayerSpectateVehicle(playerid,GetPlayerVehicleID(id));// Now remember we checked if the player is in a vehicle, well if they're in a vehicle then we'll spec the vehicle.
  1274. }
  1275. else// If they're not in a vehicle, then we'll spec the player.
  1276. {
  1277. if(GetPlayerInterior(id) > 0)
  1278. {
  1279. SetPlayerInterior(playerid,GetPlayerInterior(id));
  1280. }
  1281. if(GetPlayerVirtualWorld(id) > 0)
  1282. {
  1283. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));
  1284. }
  1285. PlayerSpectatePlayer(playerid,id);// Letting the spectator spec the person and not a vehicle.
  1286. }
  1287. GetPlayerName(id, Name, sizeof(Name));//Getting the name of the player being spectated.
  1288. format(String, sizeof(String),"You have started to spectate %s.",Name);// Formatting a string to send to the spectator.
  1289. SendClientMessage(playerid,0x0080C0FF,String);//Sending the formatted message to the spectator.
  1290. IsSpecing[playerid] = 1;// Just saying that the spectator has begun to spectate someone.
  1291. IsBeingSpeced[id] = 1;// Just saying that a player is being spectated (You'll see where this comes in)
  1292. spectatorid[playerid] = id;// Saving the spectator's id into this variable.
  1293. return 1;// Returning 1 - saying that the command has been sent.
  1294. }
  1295. CMD:specoff(playerid,params[])
  1296. {
  1297. if(!IsPlayerAdmin(playerid))return 0;// This checks if the player is logged into RCON, if not it will return 0; (Showing "SERVER: Unknown Command")
  1298. if(IsSpecing[playerid] == 0)return SendClientMessage(playerid,COLOR_GREY,"You are not spectating anyone.");
  1299. TogglePlayerSpectating(playerid, 0);//Toggling spectate mode, off. Note: Once this is called, the player will be spawned, there we'll need to reset their positions, virtual world and interior to where they typed '/spec'
  1300. return 1;
  1301. }
  1302. CMD:acar(playerid,params[])
  1303. {
  1304. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1305. {
  1306. CreateCarForAdmin(playerid,411,-1,-1);
  1307. }
  1308. else return Error(playerid,2);
  1309. return 1;
  1310. }
  1311. CMD:abike(playerid,params[])
  1312. {
  1313. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1314. {
  1315. CreateCarForAdmin(playerid,522,-1,-1);
  1316. }
  1317. else return Error(playerid,2);
  1318. return 1;
  1319. }
  1320. CMD:aboat(playerid,params[])
  1321. {
  1322. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1323. {
  1324. CreateCarForAdmin(playerid,452,-1,-1);
  1325. }
  1326. else return Error(playerid,2);
  1327. return 1;
  1328. }
  1329. CMD:aplane(playerid,params[])
  1330. {
  1331. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1332. {
  1333. CreateCarForAdmin(playerid,520,-1,-1);
  1334. }
  1335. else return Error(playerid,2);
  1336. return 1;
  1337. }
  1338. CMD:park(playerid, params[])
  1339. {
  1340. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Kamu harus didalam kendaraan untuk menggunakan command ini!");
  1341. new xid = xVeh[GetPlayerVehicleID(playerid)];
  1342. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Kamu gabisa park kendaraan ini, ini bukan kendaraan kamu atau bukan dari sistem!");
  1343. if(xStrcmp(Isim(playerid), xVehicle[xid][xv_Sahip]) && !Iter_Contains(xVehicleKeys<playerid>, xid) && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Kamu gabisa park kendaraan ini karena kamu gapunya kuncinya!");
  1344. if(xVehicle[xid][xv_HizliPark]) SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}Kendaraan kamu telah dipark {FFFB93}Auto park telah dinonaktifkan");
  1345. else SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}Kendaraan kamu telah kamu Park!");
  1346. xVehicle[xid][xv_HizliPark] = 0;
  1347. GetVehiclePos(GetPlayerVehicleID(playerid), xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], xVehicle[xid][xv_Pos][2]);
  1348. GetVehicleZAngle(GetPlayerVehicleID(playerid), xVehicle[xid][xv_Pos][3]);
  1349. SavexVehicle(xid);
  1350. return 1;
  1351. }
  1352.  
  1353. CMD:v(playerid, params[])
  1354. {
  1355. if(IsPlayerInAnyVehicle(playerid) && xVeh[GetPlayerVehicleID(playerid)] != 0) ShowPlayerDialog(playerid, XV_DIALOGID+6, DIALOG_STYLE_LIST, "Vehicle Menu", "{DCDC22}» {FFFB93}This Vehicle\n{DCDC22}» {FFFB93}My Own Vehicles\n{DCDC22}» {FFFB93}Vehicles That I Have Keys", "Select", "Close");
  1356. else ShowPlayerDialog(playerid, XV_DIALOGID+6, DIALOG_STYLE_LIST, "Vehicle Menu", "{DCDC22}» {FFFB93}My Own Vehicles\n{DCDC22}» {FFFB93}Vehicles That I Have Keys", "Select", "Close");
  1357. return 1;
  1358. }
  1359.  
  1360. CMD:amenu(playerid, params[])
  1361. {
  1362. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1363. ShowPlayerDialog(playerid, XV_DIALOGID+16, DIALOG_STYLE_LIST, "xVehicle Admin Menu", "{DCDC22}» {FFFB93}All Vehicles\n{DCDC22}» {FFFB93}Respawn All Vehicles\n{DCDC22}» {FFFB93}Create Vehicle", "Select", "Close");
  1364. else return Error(playerid,2);
  1365. return 1;
  1366. }
  1367.  
  1368. CMD:aheal(playerid,params[])
  1369. {
  1370. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1371. {
  1372. SetPlayerHealth(playerid,100);
  1373. }
  1374. else return Error(playerid,2);
  1375. return 1;
  1376. }
  1377. CMD:armour(playerid,params[])
  1378. {
  1379. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1380. {
  1381. SetPlayerArmour(playerid,100);
  1382. }
  1383. else return Error(playerid,2);
  1384. return 1;
  1385. }
  1386. CMD:car(playerid,params[])
  1387. {
  1388. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1389. {
  1390. new id,c1,c2;
  1391. if(sscanf(params,"iii",id,c1,c2)) return SendClientMessage(playerid,COLOR_PINK,"USAGE: /car [car id] [color 1] [color 2]");
  1392. CreateCarForAdmin(playerid,id,c1,c2);
  1393. }
  1394. else return Error(playerid,2);
  1395. return 1;
  1396. }
  1397. CMD:fstyle(playerid,params[])
  1398. {
  1399. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1400. {
  1401. new f;
  1402. if(sscanf(params,"i",f)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /fstyle [1-5]");
  1403. if(f < 0) return SendClientMessage(playerid,COLOR_RED,"Invalid fight style id (1-5)");
  1404. if(f > 5) return SendClientMessage(playerid,COLOR_RED,"Invalid fight style id (1-5)");
  1405. SetPlayerFightingStyle(playerid,f);
  1406. }
  1407. else return Error(playerid,2);
  1408. return 1;
  1409. }
  1410. CMD:explode(playerid,params[])
  1411. {
  1412. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1413. {
  1414. new Float:x,Float:y,Float:z,id;
  1415. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /explode [playerid]");
  1416. GetPlayerPos(id,x,y,z);
  1417. CreateExplosion(x,y,z,6,50.0);
  1418. }
  1419. else return Error(playerid,2);
  1420. return 1;
  1421. }
  1422. CMD:kick(playerid,params[])
  1423. {
  1424. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1425. {
  1426. new id;
  1427. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /kick [playerid]");
  1428. if(id == INVALID_PLAYER_ID) return Error(playerid,6);
  1429. if(pInfo[playerid][WazzAdmLevel] < pInfo[id][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't kick a higher admin level than you");
  1430. Kick(id);
  1431. #if KICK_LOG == true
  1432. SaveIn("Kick.logs",GetName(id));
  1433. #endif
  1434. }
  1435. else return Error(playerid,2);
  1436. return 1;
  1437. }
  1438. //Admin level 3 commands
  1439. CMD:akill(playerid,params[])
  1440. {
  1441. if(pInfo[playerid][WazzAdmLevel] >= 3)
  1442. {
  1443. new id;
  1444. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /akill [playerid]");
  1445. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1446. if(pInfo[id][WazzAdmLevel] > pInfo[playerid][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't use this command on a nother admin high level than you");
  1447. SetPlayerHealth(id,0);
  1448. }
  1449. else return Error(playerid,3);
  1450. return 1;
  1451. }
  1452. CMD:jetpack(playerid,params[])
  1453. {
  1454. if(pInfo[playerid][WazzAdmLevel] >= 3)
  1455. {
  1456. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
  1457. JP[playerid] ++;
  1458. }
  1459. else return Error(playerid,3);
  1460. return 1;
  1461. }
  1462. CMD:gethereall(playerid,params[])
  1463. {
  1464. foreach(new i: Player)
  1465. {
  1466. new Float:x,Float:y,Float:z;
  1467. GetPlayerPos(playerid,x,y,z);
  1468. SetPlayerPos(i,x,y,z);
  1469. }
  1470. return 1;
  1471. }
  1472. CMD:godcar(playerid,params[])
  1473. {
  1474. if(pInfo[playerid][WazzAdmLevel] >= 3)
  1475. {
  1476. if(GodCar[GetPlayerVehicleID(playerid)] != 0)
  1477. {
  1478. SetVehicleHealth(GetPlayerVehicleID(playerid),1000);
  1479. SendClientMessage(playerid,COLOR_ORANGE,"God vehicle off !!!!");
  1480. }
  1481. else
  1482. {
  1483. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"You must to be in a vehicle to use this");
  1484. SetVehicleHealth(GetPlayerVehicleID(playerid),999999.0);
  1485. SendClientMessage(playerid,COLOR_ORANGE,"God vehicle !!!!");
  1486. GodCar[GetPlayerVehicleID(playerid)] = 1;
  1487. }
  1488. }
  1489. else return Error(playerid,3);
  1490. return 1;
  1491. }
  1492. CMD:givemoney(playerid,params[])
  1493. {
  1494. if(pInfo[playerid][WazzAdmLevel] >= 3)
  1495. {
  1496. new id,money;
  1497. if(sscanf(params,"ui",id,money)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /givemoney [playerid] [ammount]");
  1498. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1499. GivePlayerMoney(id,money);
  1500. }
  1501. else return Error(playerid,3);
  1502. return 1;
  1503. }
  1504. CMD:giveweapon(playerid,params[])
  1505. {
  1506. if(pInfo[playerid][WazzAdmLevel] >= 3)
  1507. {
  1508. new id,wid;
  1509. if(sscanf(params,"ui",id,wid)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /giveweapon [playerid] [gun id]");
  1510. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1511. GivePlayerWeapon(id,wid,999999);
  1512. }
  1513. else return Error(playerid,3);
  1514. return 1;
  1515. }
  1516. CMD:setmoney(playerid,params[])
  1517. {
  1518. if(pInfo[playerid][WazzAdmLevel] >= 3)
  1519. {
  1520. new id,money;
  1521. if(sscanf(params,"ui",id,money)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /setmoney [playerid] [ammount]");
  1522. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1523. ResetPlayerMoney(id);
  1524. GivePlayerMoney(id,money);
  1525. }
  1526. else return Error(playerid,3);
  1527. return 1;
  1528. }
  1529. CMD:sethp(playerid,params[])
  1530. {
  1531. if(pInfo[playerid][WazzAdmLevel] >= 3)
  1532. {
  1533. new id,Float:health;
  1534. if(sscanf(params,"uf",id,health)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /sethp [playerid] [hp]");
  1535. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1536. if(pInfo[id][WazzAdmLevel] > pInfo[playerid][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't use this command on a nother admin high level than you");
  1537. SetPlayerHealth(id,health);
  1538. }
  1539. return 1;
  1540. }
  1541. CMD:setarmor(playerid,params[])
  1542. {
  1543. if(pInfo[playerid][WazzAdmLevel] >= 3)
  1544. {
  1545. new id,Float:ar;
  1546. if(sscanf(params,"uf",id,ar)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /setarmor [playerid] [armour]");
  1547. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player not found!");
  1548. if(pInfo[id][WazzAdmLevel] > pInfo[playerid][WazzAdmLevel]) return SendClientMessage(playerid,COLOR_RED,"You can't use this command on a nother admin high level than you");
  1549. SetPlayerArmour(id,ar);
  1550. }
  1551. return 1;
  1552. }
  1553. CMD:setfstyle(playerid,params[])
  1554. {
  1555. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1556. {
  1557. new id,f;
  1558. if(sscanf(params,"ui",f)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /setfstyle [playerid] [1-5]");
  1559. if(f < 0) return SendClientMessage(playerid,COLOR_RED,"Invalid fight style id (1-5)");
  1560. if(f > 5) return SendClientMessage(playerid,COLOR_RED,"Invalid fight style id (1-5)");
  1561. SetPlayerFightingStyle(id,f);
  1562. }
  1563. else return Error(playerid,2);
  1564. return 1;
  1565. }
  1566. CMD:setskin(playerid,params[])
  1567. {
  1568. new id,skinid;
  1569. if(sscanf(params,"i",id,skinid)) return SendClientMessage(playerid,COLOR_ORANGE,"USAGE: /setskin [playerid] [skin id]");
  1570. SetPlayerSkin(id,skinid);
  1571. return 1;
  1572. }
  1573. CMD:setcolor(playerid,params[])
  1574. {
  1575. if(pInfo[playerid][WazzAdmLevel] >= 2)
  1576. {
  1577. new id,color;
  1578. if(sscanf(params, "ui",id,color))
  1579. {
  1580. SendClientMessage(playerid, COLOR_RED, "USAGE: /setcolour [playerid] [color]");
  1581. SendClientMessage(playerid, COLOR_GREY, "Colors: [0]Black, [1]White, [2]Red, [3]Orange, [4]Yellow, [5]Green, [6]Blue, [7]Purple, [8]Brown, [9]Pink");
  1582. return 1;
  1583. }
  1584. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED,"Player Not Found");
  1585. if(color > 9) return SendClientMessage(playerid, COLOR_RED, "ERROR: Inavlid Color! (/setcolor)");
  1586. switch(color)
  1587. {
  1588. case 0:
  1589. {
  1590. SetPlayerColor(id, COLOR_BLACK);
  1591. }
  1592. case 1:
  1593. {
  1594. SetPlayerColor(id, COLOR_WHITE);
  1595. }
  1596. case 2:
  1597. {
  1598. SetPlayerColor(id, COLOR_RED);
  1599. }
  1600. case 3:
  1601. {
  1602. SetPlayerColor(id, COLOR_ORANGE);
  1603. }
  1604. case 4:
  1605. {
  1606. SetPlayerColor(id, COLOR_YELLOW);
  1607. }
  1608. case 5:
  1609. {
  1610. SetPlayerColor(id, COLOR_GREEN);
  1611. }
  1612. case 6:
  1613. {
  1614. SetPlayerColor(id, COLOR_BLUE);
  1615. }
  1616. case 7:
  1617. {
  1618. SetPlayerColor(id, COLOR_PURPLE);
  1619. }
  1620. case 8:
  1621. {
  1622. SetPlayerColor(id, COLOR_BROWN);
  1623. }
  1624. case 9:
  1625. {
  1626. SetPlayerColor(id, COLOR_PINK);
  1627. }
  1628. }
  1629. }
  1630. else return Error(playerid,3);
  1631. return 1;
  1632. }
  1633. CMD:ban(playerid,params[])
  1634. {
  1635. new id;
  1636. if(sscanf(params,"u",id)) return SendClientMessage(playerid, -1, "USAGE: /ban [playerid]");
  1637. if(!fexist(UserPath(playerid))) return SendClientMessage(playerid, -1, "Error: The player name you have chosen was not found in our system.");
  1638. else
  1639. {
  1640. WazBan(playerid);
  1641. #if BAN_LOG == true
  1642. new string[128];
  1643. format(string,sizeof(string),"%s",GetName(id));
  1644. SaveIn("Ban.logs",string);
  1645. #endif
  1646. }
  1647. return 1;
  1648. }
  1649. CMD:unban(playerid,params[])
  1650. {
  1651. new bname[24],fstring[128];
  1652. if(sscanf(params,"s[24]",bname)) return SendClientMessage(playerid, -1, "USAGE: /unban [player's name]");
  1653. format(fstring,sizeof(fstring),PATH,bname);
  1654. if(!fexist(fstring)) return SendClientMessage(playerid, -1, "Error: The player name you have chosen was not found in our system.");
  1655. else
  1656. {
  1657. new INI:File = INI_Open(fstring);
  1658. INI_WriteInt(File,"Banned",0);
  1659. INI_Close(File);
  1660. }
  1661. return 1;
  1662. }
  1663. //Admin level 4 commands
  1664. CMD:slapall(playerid,params[])
  1665. {
  1666. if(pInfo[playerid][WazzAdmLevel] >= 4)
  1667. {
  1668. foreach(new i: Player)
  1669. {
  1670. if(!IsPlayerWAdmin(i))
  1671. {
  1672. new Float:x,Float:y,Float:z;
  1673. PlayerPlaySound(i,1190,0.0,0.0,0.0);
  1674. GetPlayerPos(i,x,y,z);
  1675. SetPlayerPos(i,x,y,z+4);
  1676. }
  1677. }
  1678. }
  1679. else return Error(playerid,4);
  1680. return 1;
  1681. }
  1682. CMD:explodeall(playerid,params[])
  1683. {
  1684. if(pInfo[playerid][WazzAdmLevel] >= 4)
  1685. {
  1686. foreach(new i: Player)
  1687. {
  1688. if(!IsPlayerWAdmin(i))
  1689. {
  1690. new Float:x,Float:y,Float:z;
  1691. GetPlayerPos(i,x,y,z);
  1692. CreateExplosion(x,y,z,6,50.0);
  1693. }
  1694. }
  1695. }
  1696. else return Error(playerid,4);
  1697. return 1;
  1698. }
  1699. CMD:killall(playerid,params[])
  1700. {
  1701. if(pInfo[playerid][WazzAdmLevel] >= 4)
  1702. {
  1703. foreach(new i: Player)
  1704. {
  1705. if(!IsPlayerWAdmin(i))
  1706. {
  1707. SetPlayerHealth(i,0);
  1708. }
  1709. }
  1710. }
  1711. else return Error(playerid,4);
  1712. return 1;
  1713. }
  1714. CMD:muteall(playerid,params[])
  1715. {
  1716. if(pInfo[playerid][WazzAdmLevel] >= 4)
  1717. {
  1718. foreach(new i: Player)
  1719. {
  1720. if(!IsPlayerWAdmin(i))
  1721. {
  1722. pInfo[i][Muted] = 1;
  1723. }
  1724. }
  1725. }
  1726. else return Error(playerid,4);
  1727. return 1;
  1728. }
  1729. CMD:unmuteall(playerid,params[])
  1730. {
  1731. if(pInfo[playerid][WazzAdmLevel] >= 4)
  1732. {
  1733. foreach(new i: Player)
  1734. {
  1735. if(!IsPlayerWAdmin(i))
  1736. {
  1737. pInfo[i][Muted] = 0;
  1738. }
  1739. }
  1740. }
  1741. else return Error(playerid,4);
  1742. return 1;
  1743. }
  1744. CMD:healall(playerid,params[])
  1745. {
  1746. if(pInfo[playerid][WazzAdmLevel] >= 4)
  1747. {
  1748. foreach(new i: Player)
  1749. {
  1750. SetPlayerHealth(i,100);
  1751. }
  1752. }
  1753. else return Error(playerid,4);
  1754. return 1;
  1755. }
  1756. CMD:armourall(playerid,params[])
  1757. {
  1758. if(pInfo[playerid][WazzAdmLevel] >= 4)
  1759. {
  1760. foreach(new i: Player)
  1761. {
  1762. SetPlayerArmour(i,100);
  1763. }
  1764. }
  1765. else return Error(playerid,4);
  1766. return 1;
  1767. }
  1768. //admin level 5 commands
  1769. CMD:setallskin(playerid,params[])
  1770. {
  1771. if(pInfo[playerid][WazzAdmLevel] >= 5)
  1772. {
  1773. new skinid;
  1774. if(sscanf(params,"i",skinid)) return SendClientMessage(playerid,COLOR_ORANGE,"USAGE: /setallskin [id]");
  1775. foreach(new i: Player)
  1776. {
  1777. SetPlayerSkin(i,skinid);
  1778. }
  1779. }
  1780. else return Error(playerid,5);
  1781. return 1;
  1782. }
  1783. CMD:lockserver(playerid,params[])
  1784. {
  1785. if(pInfo[playerid][WazzAdmLevel] >= 5)
  1786. {
  1787. sLocked = 1;
  1788. SendClientMessageToAll(COLOR_RED,".:: SERVER LOCKED ::.");
  1789. SendClientMessageToAll(COLOR_RED,".:: SERVER LOCKED ::.");
  1790. SendClientMessageToAll(COLOR_RED,".:: SERVER LOCKED ::.");
  1791. SendClientMessageToAll(COLOR_RED,".:: SERVER LOCKED ::.");
  1792. SendClientMessageToAll(COLOR_RED,".:: BYE BYE ::.");
  1793.  
  1794. SetTimer("KickAll",2000,false);
  1795. }
  1796. else return Error(playerid,5);
  1797. return 1;
  1798. }
  1799. CMD:unlockserver(playerid,params[])
  1800. {
  1801. if(pInfo[playerid][WazzAdmLevel] >= 5)
  1802. {
  1803. sLocked = 0;
  1804. }
  1805. else return Error(playerid,5);
  1806. return 1;
  1807. }
  1808. CMD:gmx(playerid,params[])
  1809. {
  1810. if(pInfo[playerid][WazzAdmLevel] >= 5)
  1811. {
  1812. SendRconCommand("gmx");
  1813. }
  1814. else return Error(playerid,5);
  1815. return 1;
  1816. }
  1817. CMD:fakeban(playerid, params[])
  1818. {
  1819. if(pInfo[playerid][WazzAdmLevel] >= 5)
  1820. {
  1821. new id;
  1822. if(sscanf(params,"u",id)) return SendClientMessage(playerid, 0x1F36E0FF, "USAGE: /fakeban [playerid]");
  1823. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xF50A0AFF, "NOTICE: Player not found.");
  1824. new string[128];
  1825. format(string,sizeof(string),"%s has been banned by %s for Speed hack", GetName(id), GetName(playerid));
  1826. SendClientMessageToAll(0x1F36E0FF, string);
  1827. SendClientMessage(id, 0xa9c4e4FF, "Server closed the connection.");
  1828. }
  1829. else return Error(playerid,5);
  1830. return 1;
  1831. }
  1832. CMD:fakekick(playerid, params[])
  1833. {
  1834. if(pInfo[playerid][WazzAdmLevel] >= 5)
  1835. {
  1836. new id;
  1837. if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0x1F36E0FF, "USAGE: /fakekick [playerid]");
  1838. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xF50A0AFF, "NOTICE: Player not found.");
  1839. new string[128];
  1840. format(string,sizeof(string),"%s has been kicked by %s for S0beit Hacks", GetName(id), GetName(playerid));
  1841. SendClientMessageToAll(0x1F36E0FF, string);
  1842. SendClientMessage(id, 0xa9c4e4FF, "Server closed the connection.");
  1843. }
  1844. else return Error(playerid,5);
  1845. return 1;
  1846. }
  1847. CMD:fakemute(playerid, params[])
  1848. {
  1849. if(pInfo[playerid][WazzAdmLevel] >= 5)
  1850. {
  1851. new id;
  1852. if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0x1F36E0FF, "USAGE: /fakemute [playerid]");
  1853. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xF50A0AFF, "NOTICE: Player not found.");
  1854. new string[128];
  1855. format(string,sizeof(string),"%s has been mute by %s for STOP SPAMMING", GetName(id), GetName(playerid));
  1856. SendClientMessageToAll(0x1F36E0FF, string);
  1857. SendClientMessage(id, 0xa9c4e4FF, "Server: You have been muted");
  1858. }
  1859. else return Error(playerid,5);
  1860. return 1;
  1861. }
  1862. CMD:warn(playerid,params[])
  1863. {
  1864. if(pInfo[playerid][WazzAdmLevel] >= 5)
  1865. {
  1866. new id;
  1867. if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_ORANGE,"USAGE: /warn [playerid]");
  1868. pInfo[id][Warn] ++;
  1869. SendClientMessage(playerid,COLOR_RED,"Your warnings has been +");
  1870. }
  1871. else return Error(playerid,5);
  1872. return 1;
  1873. }
  1874. CMD:frozed(playerid,params[])
  1875. {
  1876. new count = 0;
  1877. new string[128];
  1878. SendClientMessage(playerid,COLOR_RED,"");
  1879. SendClientMessage(playerid,COLOR_GREEN,"________________|FROZED PLAYERS|________________");
  1880. SendClientMessage(playerid,COLOR_RED,"");
  1881. for(new i = 0; i < MAX_PLAYERS; i++)
  1882. {
  1883. if(IsPlayerConnected(i))
  1884. {
  1885. if(pInfo[i][Freeze] > 0)
  1886. {
  1887. new aName[MAX_PLAYER_NAME];
  1888. GetPlayerName(i,aName,sizeof(aName));
  1889. format(string, sizeof(string), "Name: %s (ID:%i)",aName,i);
  1890. SendClientMessage(playerid,COLOR_CYAN,string);
  1891. count++;
  1892. }
  1893. }
  1894. }
  1895. if(count == 0)
  1896. SendClientMessage(playerid,COLOR_RED,"No any frozed players!");
  1897. SendClientMessage(playerid,COLOR_GREEN,"_________________________________________________");
  1898. return 1;
  1899. }
  1900. CMD:muted(playerid,params[])
  1901. {
  1902. new count = 0;
  1903. new string[128];
  1904. SendClientMessage(playerid,COLOR_RED,"");
  1905. SendClientMessage(playerid,COLOR_GREEN,"________________|MUTED PLAYERS|________________");
  1906. SendClientMessage(playerid,COLOR_RED,"");
  1907. for(new i = 0; i < MAX_PLAYERS; i++)
  1908. {
  1909. if(IsPlayerConnected(i))
  1910. {
  1911. if(pInfo[i][Muted] > 0)
  1912. {
  1913. new aName[MAX_PLAYER_NAME];
  1914. GetPlayerName(i,aName,sizeof(aName));
  1915. format(string, sizeof(string), "Name: %s (ID:%i)",aName,i);
  1916. SendClientMessage(playerid,COLOR_CYAN,string);
  1917. count++;
  1918. }
  1919. }
  1920. }
  1921. if(count == 0)
  1922. SendClientMessage(playerid,COLOR_RED,"No any muted players!");
  1923. SendClientMessage(playerid,COLOR_GREEN,"_________________________________________________");
  1924. return 1;
  1925. }
  1926. //Rcon Commands
  1927. CMD:makeadmin(playerid,params[])
  1928. {
  1929. if(IsPlayerAdmin(playerid))
  1930. {
  1931. new id,level,string[128];
  1932. if(sscanf(params,"ui",id,level)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /makeadmin [playerid] [level 1-5]");
  1933. if(level < 1 && level > 5) return SendClientMessage(playerid,COLOR_RED,"Don't know that level :D");
  1934. format(string,sizeof(string),"You has been PROMOTE to admin level %i",level);
  1935. SendClientMessage(id,COLOR_ORANGE,string);
  1936. pInfo[id][WazzAdmLevel] = level;
  1937. }
  1938. else return SendClientMessage(playerid,COLOR_RED,"You must be rcon admin to use this command");
  1939. return 1;
  1940. }
  1941. CMD:makevip(playerid,params[])
  1942. {
  1943. if(IsPlayerAdmin(playerid))
  1944. {
  1945. new id,level,string[128];
  1946. if(sscanf(params,"ui",id,level)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /makevip [playerid] [level 1-3]");
  1947. if(level < 1 && level > 3) return SendClientMessage(playerid,COLOR_RED,"Don't know that level :D");
  1948. format(string,sizeof(string),"You has been PROMOTE to VIP level %i",level);
  1949. SendClientMessage(id,COLOR_ORANGE,string);
  1950. pInfo[id][WazzVIPLevel] = level;
  1951. }
  1952. else return SendClientMessage(playerid,COLOR_RED,"You must be rcon admin to use this command");
  1953. return 1;
  1954. }
  1955. CMD:makemegodadmin(playerid,params[])
  1956. {
  1957. if(IsPlayerAdmin(playerid))
  1958. {
  1959. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~g~Authorized ~w~Access!~n~~y~Welcome Administrator!", 3000, 3);
  1960. pInfo[playerid][WazzAdmLevel] = 5;
  1961. }
  1962. else return SendClientMessage(playerid,COLOR_RED,"You must be rcon admin to use this command");
  1963. return 1;
  1964. }
  1965. //VIP SYSTEM
  1966. CMD:vcmds(playerid,params[])
  1967. {
  1968. if(pInfo[playerid][WazzVIPLevel] >= 1)
  1969. {
  1970. ShowPlayerDialog(playerid,DIALOG_CVC,DIALOG_STYLE_LIST,"VIP commands",""brown"VIP Bronze\n"white"VIP Silver\n"yellow"VIP Golden","Choose","Cancel");
  1971. }
  1972. else return Error(playerid,11);
  1973. return 1;
  1974. }
  1975. CMD:vtime(playerid,params[])
  1976. {
  1977. if(pInfo[playerid][WazzVIPLevel] >= 1)
  1978. {
  1979. new hour,minu;
  1980. if(sscanf(params,"i",hour,minu)) return SendClientMessage(playerid,COLOR_YELLOW,"USAGE: /vtime [hours] [minutes]");
  1981. if(hour > 12 && hour < 0) return SendClientMessage(playerid,COLOR_RED,"Hours must be 0 - 12");
  1982. if(minu > 60 && minu < 0) return SendClientMessage(playerid,COLOR_RED,"Minutes must be 0 - 60");
  1983. SetPlayerTime(playerid,hour,minu);
  1984. }
  1985. else return Error(playerid,11);
  1986. return 1;
  1987. }
  1988. CMD:vworld(playerid,params[])
  1989. {
  1990. if(pInfo[playerid][WazzVIPLevel] >= 1)
  1991. {
  1992. new world;
  1993. if(sscanf(params,"i",world)) return SendClientMessage(playerid,COLOR_GREEN,"USAGE: /vworld [world 0-10]");
  1994. if(world > 10 && world < 0) return SendClientMessage(playerid,COLOR_RED,"Unknow world (0-10)");
  1995. SetPlayerVirtualWorld(playerid,world);
  1996. }
  1997. else return Error(playerid,11);
  1998. return 1;
  1999. }
  2000. CMD:vfix(playerid,params[])
  2001. {
  2002. if(pInfo[playerid][WazzVIPLevel] >= 1)
  2003. {
  2004. if(IsPlayerInAnyVehicle(playerid))
  2005. {
  2006. SetVehicleHealth(GetPlayerVehicleID(playerid),1000);
  2007. SendClientMessage(playerid,COLOR_LIGHTBLUE,"The vehicles engine has been fully fixed.");
  2008. }
  2009. else return SendClientMessage(playerid,COLOR_RED,"You don't in any cars!!!");
  2010. }
  2011. else return Error(playerid,11);
  2012. return 1;
  2013. }
  2014. CMD:vcarcolor(playerid,params[])
  2015. {
  2016. if(pInfo[playerid][WazzVIPLevel] >= 1)
  2017. {
  2018. new c1,c2;
  2019. if(sscanf(params,"ii",c1,c2)) return SendClientMessage(playerid,COLOR_YELLOW,"USAGE: /vcarcolor [color 1] [color 2]");
  2020. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"You don't in any cars!!!");
  2021. ChangeVehicleColor(GetPlayerVehicleID(playerid),c1,c2);
  2022. }
  2023. else return Error(playerid,11);
  2024. return 1;
  2025. }
  2026. CMD:vchat(playerid,params[])
  2027. {
  2028. if(pInfo[playerid][WazzVIPLevel] >= 1)
  2029. {
  2030. new text[128];
  2031. if(sscanf(params,"s[128]",text)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /vc(hat) [text]");
  2032. foreach(new i: Player)
  2033. {
  2034. if(pInfo[i][WazzVIPLevel] >= 1)
  2035. {
  2036. new string[64];
  2037. format(string,sizeof(string),"%s",text);
  2038. SendClientMessage(i,COLOR_PINK,string);
  2039. }
  2040. }
  2041. }
  2042. else return Error(playerid,11);
  2043. return 1;
  2044. }
  2045. CMD:vc(playerid,params[])
  2046. {
  2047. if(pInfo[playerid][WazzVIPLevel] >= 1)
  2048. {
  2049. new text[128];
  2050. if(sscanf(params,"s[128]",text)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /vc(hat) [text]");
  2051. foreach(new i: Player)
  2052. {
  2053. if(pInfo[i][WazzVIPLevel] >= 1)
  2054. {
  2055. new string[64];
  2056. format(string,sizeof(string),"%s",text);
  2057. SendClientMessage(i,COLOR_PINK,string);
  2058. }
  2059. }
  2060. }
  2061. else return Error(playerid,11);
  2062. return 1;
  2063. }
  2064. //VIP SILVER
  2065. CMD:vskin(playerid,params[])
  2066. {
  2067. if(pInfo[playerid][WazzVIPLevel] >= 2)
  2068. {
  2069. new sid;
  2070. if(sscanf(params,"i",sid)) return SendClientMessage(playerid,COLOR_BLUE,"USAGE: /vskin [skin id]");
  2071. if(sid < 0 && sid > 299) return SendClientMessage(playerid,COLOR_RED,"Unknow skin ( 0 - 299 )");
  2072. SetPlayerSkin(playerid,sid);
  2073. }
  2074. else return Error(playerid,12);
  2075. return 1;
  2076. }
  2077. CMD:vbike(playerid,params[])
  2078. {
  2079. if(pInfo[playerid][WazzVIPLevel] >= 2)
  2080. {
  2081. CreateCarForAdmin(playerid,522,-1,-1);
  2082. }
  2083. else return Error(playerid,12);
  2084. return 1;
  2085. }
  2086. CMD:vheli(playerid,params[])
  2087. {
  2088. if(pInfo[playerid][WazzVIPLevel] >= 2)
  2089. {
  2090. CreateCarForAdmin(playerid,411,-1,-1);
  2091. }
  2092. else return Error(playerid,12);
  2093. return 1;
  2094. }
  2095. CMD:vboat(playerid,params[])
  2096. {
  2097. if(pInfo[playerid][WazzVIPLevel] >= 2)
  2098. {
  2099. CreateCarForAdmin(playerid,452,-1,-1);
  2100. }
  2101. else return Error(playerid,12);
  2102. return 1;
  2103. }
  2104. CMD:vplane(playerid,params[])
  2105. {
  2106. if(pInfo[playerid][WazzVIPLevel] >= 2)
  2107. {
  2108. CreateCarForAdmin(playerid,593,-1,-1);
  2109. }
  2110. else return Error(playerid,12);
  2111. return 1;
  2112. }
  2113. CMD:vjetpack(playerid,params[])
  2114. {
  2115. if(pInfo[playerid][WazzVIPLevel] >= 2)
  2116. {
  2117. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
  2118. }
  2119. else return Error(playerid,12);
  2120. return 1;
  2121. }
  2122. //VIP GOLD
  2123. CMD:vcar(playerid,params[])
  2124. {
  2125. if(pInfo[playerid][WazzVIPLevel] >= 3)
  2126. {
  2127. new id,c1,c2;
  2128. if(sscanf(params,"iii",id,c1,c2)) return SendClientMessage(playerid,COLOR_PINK,"USAGE: /car [car id] [color 1] [color 2]");
  2129. CreateCarForAdmin(playerid,id,c1,c2);
  2130. }
  2131. else return Error(playerid,13);
  2132. return 1;
  2133. }
  2134. CMD:vheal(playerid,params[])
  2135. {
  2136. if(pInfo[playerid][WazzVIPLevel] >= 3)
  2137. {
  2138. SetPlayerHealth(playerid,100);
  2139. }
  2140. else return Error(playerid,13);
  2141. return 1;
  2142. }
  2143. CMD:varmour(playerid,params[])
  2144. {
  2145. if(pInfo[playerid][WazzVIPLevel] >= 3)
  2146. {
  2147. SetPlayerArmour(playerid,100);
  2148. }
  2149. else return Error(playerid,13);
  2150. return 1;
  2151. }
  2152. CMD:vnos(playerid,params[])
  2153. {
  2154. if(pInfo[playerid][WazzVIPLevel] >= 3)
  2155. {
  2156. new vehicleid = GetPlayerVehicleID(playerid);
  2157. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"You need to be in a vehicle.");
  2158. AddVehicleComponent(vehicleid, 1010);
  2159. SendClientMessage(playerid, 0x00CC00FF, "A cute NOS bottle has been added to your vehicle.");
  2160. }
  2161. else return Error(playerid,13);
  2162. return 1;
  2163. }
  2164. CMD:kill(playerid,params[])
  2165. {
  2166. SetPlayerHealth(playerid, 0.0);
  2167. SendClientMessage(playerid, -1, "You have killed yourself so you lost 1000$.");
  2168. GivePlayerMoney(playerid, -1000);
  2169. return 1;
  2170. }
  2171.  
  2172. CMD:help(playerid,params[])
  2173. {
  2174. new string [1000], irwan [1000], PlayerName[MAX_PLAYER_NAME];
  2175. format(irwan, sizeof(irwan), "/stats\n/admins\n/vips\n/changepass\n/report\n/closereport", PlayerName);
  2176. strcat(string, irwan);
  2177. ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_LIST, "{FFFFFF}J-CNR Help Menu", string, "CLOSE", "");
  2178. return 1;
  2179. }
  2180.  
  2181. CMD:time(playerid, params[])
  2182. {
  2183. static
  2184. string[128],
  2185. month[12],
  2186. date[6];
  2187.  
  2188. getdate(date[2], date[1], date[0]);
  2189. gettime(date[3], date[4], date[5]);
  2190.  
  2191. switch (date[1]) {
  2192. case 1: month = "January";
  2193. case 2: month = "February";
  2194. case 3: month = "March";
  2195. case 4: month = "April";
  2196. case 5: month = "May";
  2197. case 6: month = "June";
  2198. case 7: month = "July";
  2199. case 8: month = "August";
  2200. case 9: month = "September";
  2201. case 10: month = "October";
  2202. case 11: month = "November";
  2203. case 12: month = "December";
  2204. }
  2205. format(string, sizeof(string), "~g~%s %02d %d~n~~b~%02d:%02d:%02d", month, date[0], date[2], date[3], date[4], date[5]);
  2206. GameTextForPlayer(playerid, string, 6000, 1);
  2207. return 1;
  2208. }
  2209. //========[END OF COMMANDS]=========//
  2210. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  2211. {
  2212. return 1;
  2213. }
  2214.  
  2215. public OnPlayerExitVehicle(playerid, vehicleid)
  2216. {
  2217. new xid = xVeh[vehicleid], Float:xvHP;
  2218. GetVehicleHealth(vehicleid, xvHP);
  2219. if(xid != 0 && xVehicle[xid][xv_HizliPark] == 1 && !IsVehicleFlipped(vehicleid) && xvHP > 300)
  2220. {
  2221. GetVehiclePos(vehicleid, xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], xVehicle[xid][xv_Pos][2]);
  2222. GetVehicleZAngle(vehicleid, xVehicle[xid][xv_Pos][3]);
  2223. SavexVehicle(xid);
  2224. }
  2225. return 1;
  2226. }
  2227.  
  2228. public OnPlayerStateChange(playerid, newstate, oldstate)
  2229. {
  2230. if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  2231. {
  2232. if(IsBeingSpeced[playerid] == 1)
  2233. {
  2234. foreach(new i: Player)
  2235. {
  2236. if(spectatorid[i] == playerid)
  2237. {
  2238. PlayerSpectateVehicle(i, GetPlayerVehicleID(playerid));
  2239. }
  2240. }
  2241. }
  2242. }
  2243. if(newstate == PLAYER_STATE_ONFOOT)
  2244. {
  2245. if(IsBeingSpeced[playerid] == 1)
  2246. {
  2247. foreach(new i: Player)
  2248. {
  2249. if(spectatorid[i] == playerid)
  2250. {
  2251. PlayerSpectatePlayer(i, playerid);
  2252. }
  2253. }
  2254. }
  2255. }
  2256. if(newstate == PLAYER_STATE_DRIVER)
  2257. {
  2258. new xid = xVeh[GetPlayerVehicleID(playerid)];
  2259. if(xid != 0)
  2260. {
  2261. if(!strlen(xVehicle[xid][xv_Sahip]))
  2262. {
  2263. new str[512];
  2264. format(str, sizeof str, "{FFFFFF}---------------------------[J-CNR Vehicle Sell]---------------------------\n", str);
  2265. format(str, sizeof str, "%s\n", str);
  2266. format(str, sizeof str, "%s{00D700}Kendaraan ini dijual!\n", str);
  2267. format(str, sizeof str, "%s\n{0098FF}Nama mobil: {FFFF00}%s\n", str, GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]));
  2268. format(str, sizeof str, "%s{0098FF}Plate mobil: {FFFF00}%s\n", str, xVehicle[xid][xv_Plaka]);
  2269. format(str, sizeof str, "%s{0098FF}Harga: {FFFF00}$%d\n", str, xVehicle[xid][xv_Fiyat]);
  2270. format(str, sizeof str, "%s\n{FF8000}Kamu ingin membeli mobil ini?{00D700}\n", str);
  2271. format(str, sizeof str, "%s\n{FFFFFF}-------------------------------------------------------------------------", str);
  2272. ShowPlayerDialog(playerid, XV_DIALOGID+5, DIALOG_STYLE_MSGBOX, "J-CNR Vehicle Sell", str, "Buy", "Close");
  2273. }
  2274. else if(xStrcmp(Isim(playerid), xVehicle[xid][xv_Sahip]) && !Iter_Contains(xVehicleKeys<playerid>, xid))
  2275. {
  2276. SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Kamu tidak punya kunci untuk kendaraan ini!");
  2277. RemovePlayerFromVehicle(playerid);
  2278. }
  2279. else
  2280. {
  2281. SendClientMessage(playerid, -1, "{00FF00}[!] {DCDC22}Gunakan {ECB021}/v {DCDC22}untuk melihat vehicle menu.");
  2282. }
  2283. }
  2284. }
  2285. return 1;
  2286. }
  2287.  
  2288. public OnPlayerEnterCheckpoint(playerid)
  2289. {
  2290. DisablePlayerCheckpoint(playerid);
  2291. return 1;
  2292. }
  2293.  
  2294. public OnPlayerLeaveCheckpoint(playerid)
  2295. {
  2296. return 1;
  2297. }
  2298.  
  2299. public OnPlayerEnterRaceCheckpoint(playerid)
  2300. {
  2301. return 1;
  2302. }
  2303.  
  2304. public OnPlayerLeaveRaceCheckpoint(playerid)
  2305. {
  2306. return 1;
  2307. }
  2308.  
  2309. public OnRconCommand(cmd[])
  2310. {
  2311. if(!strcmp(cmd,"wrcon",true))
  2312. {
  2313. for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  2314. {
  2315. ShowPlayerDialog(playerid,DIALOG_RCON_PANEL,DIALOG_STYLE_LIST,"WazzAdmin Rcon Panel","1. Restart Server\n2. Host Name\n3. Game Mode TXT\n4. Reload Bans\n5. Ban IP\n6. Unban IP\n7. Gravity\n8. Weather\n9. Load FS\n10. Unload FS\n11. Reload FS\n12. Change RCON PW\n13. Stop Server","Ok","Cancel");
  2316. }
  2317. }
  2318. return 1;
  2319. }
  2320.  
  2321. public OnPlayerRequestSpawn(playerid)
  2322. {
  2323. return 1;
  2324. }
  2325.  
  2326. public OnObjectMoved(objectid)
  2327. {
  2328. return 1;
  2329. }
  2330.  
  2331. public OnPlayerObjectMoved(playerid, objectid)
  2332. {
  2333. return 1;
  2334. }
  2335.  
  2336. public OnPlayerPickUpPickup(playerid, pickupid)
  2337. {
  2338. return 1;
  2339. }
  2340.  
  2341. public OnVehicleMod(playerid, vehicleid, componentid)
  2342. {
  2343. new xid = xVeh[vehicleid];
  2344. if(xid != 0)
  2345. {
  2346. for(new i; i<14; i++)
  2347. {
  2348. xVehicle[xid][xv_Parca][i] = GetVehicleComponentInSlot(vehicleid, i);
  2349. }
  2350. }
  2351. return 1;
  2352. }
  2353.  
  2354. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  2355. {
  2356. new xid = xVeh[vehicleid];
  2357. if(xid != 0) xVehicle[xid][xv_Paintjob] = paintjobid;
  2358. return 1;
  2359. }
  2360.  
  2361. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  2362. {
  2363. new xid = xVeh[vehicleid];
  2364. if(xid != 0)
  2365. {
  2366. xVehicle[xid][xv_Renk][0] = color1;
  2367. xVehicle[xid][xv_Renk][1] = color2;
  2368. }
  2369. return 1;
  2370. }
  2371.  
  2372. public OnPlayerSelectedMenuRow(playerid, row)
  2373. {
  2374. return 1;
  2375. }
  2376.  
  2377. public OnPlayerExitedMenu(playerid)
  2378. {
  2379. return 1;
  2380. }
  2381.  
  2382. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  2383. {
  2384. if(IsBeingSpeced[playerid] == 1)
  2385. {
  2386. foreach(new i: Player)
  2387. {
  2388. if(spectatorid[i] == playerid)
  2389. {
  2390. SetPlayerInterior(i,GetPlayerInterior(playerid));
  2391. SetPlayerVirtualWorld(i,GetPlayerVirtualWorld(playerid));
  2392. }
  2393. }
  2394. }
  2395. return 1;
  2396. }
  2397.  
  2398. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  2399. {
  2400. if(admspec[playerid] == 1 && newkeys == KEY_YES)
  2401. {
  2402. SetCameraBehindPlayer(playerid);
  2403. admspec[playerid] = 0;
  2404. }
  2405. return 1;
  2406. }
  2407.  
  2408. public OnRconLoginAttempt(ip[], password[], success)
  2409. {
  2410. if(success)
  2411. {
  2412. for(new i=0; i<MAX_PLAYERS; i++)
  2413. {
  2414. ShowPlayerDialog(i,DIALOG_2ND_RCON,DIALOG_STYLE_INPUT,"2ND RCON",""white"This server is "green"protected "white"rcon system by "red"WazAdmin. "white"Please input the 2nd rcon password here to login","Login","Kick me");
  2415. }
  2416. }
  2417. return 1;
  2418. }
  2419.  
  2420. public OnPlayerUpdate(playerid)
  2421. {
  2422. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
  2423. {
  2424. #if ANTI_JETPACK == 1
  2425. if(JP[playerid] == 0) return Kick(playerid);
  2426. #if ANTI_JETPACK == 2
  2427. if(JP[playerid] == 0) return WazBan(playerid);
  2428. #if ANTI_JETPACK == 3
  2429. return 1;
  2430. #endif
  2431. #endif
  2432. #endif
  2433. }
  2434. if(pInfo[playerid][Warn] >= 5) return Kick(playerid);
  2435. return 1;
  2436. }
  2437.  
  2438. public OnPlayerStreamIn(playerid, forplayerid)
  2439. {
  2440. return 1;
  2441. }
  2442.  
  2443. public OnPlayerStreamOut(playerid, forplayerid)
  2444. {
  2445. return 1;
  2446. }
  2447.  
  2448. public OnVehicleStreamIn(vehicleid, forplayerid)
  2449. {
  2450. return 1;
  2451. }
  2452.  
  2453. public OnVehicleStreamOut(vehicleid, forplayerid)
  2454. {
  2455. return 1;
  2456. }
  2457.  
  2458. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  2459. {
  2460. switch(dialogid)
  2461. {
  2462. case DIALOG_REGISTER:
  2463. {
  2464. if (!response) return Kick(playerid);
  2465. if(response)
  2466. {
  2467. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""white"Registering...",""red"You have entered an invalid password.\n"white"Type your password below to register a new account.","Register","Quit");
  2468. new INI:File = INI_Open(UserPath(playerid));
  2469. INI_SetTag(File,"data");
  2470. INI_WriteInt(File,"Password",udb_hash(inputtext));
  2471. INI_WriteInt(File,"WazzLevel",0);
  2472. INI_WriteInt(File,"WazzVIPLevel",0);
  2473. INI_WriteInt(File,"Warn",0);
  2474. INI_WriteInt(File,"Banned",0);
  2475. INI_WriteInt(File,"Muted",0);
  2476. INI_WriteInt(File,"Freeze",0);
  2477. INI_WriteInt(File,"Cash",0);
  2478. INI_WriteInt(File,"Kills",0);
  2479. INI_WriteInt(File,"Deaths",0);
  2480. INI_Close(File);
  2481.  
  2482. SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  2483. SpawnPlayer(playerid);
  2484. ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""white"Success!",""green"Akun kamu telah terdaftar dan kamu diwajibkan relog untuk mengsave akun kamu","Ok","");
  2485. }
  2486. }
  2487. case DIALOG_LOGIN:
  2488. {
  2489. if ( !response ) return Kick ( playerid );
  2490. if( response )
  2491. {
  2492. if(udb_hash(inputtext) == pInfo[playerid][Pass])
  2493. {
  2494. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  2495. if(pInfo[playerid][Banned] >= 1) return Kick(playerid);
  2496. if(pInfo[playerid][Jailed] == 1)
  2497. {
  2498. SetPlayerPos(playerid, 264.8763,81.9862,1001.0390);
  2499. SetPlayerInterior(playerid, 6);
  2500. }
  2501. if(pInfo[playerid][Freeze] == 1)
  2502. {
  2503. TogglePlayerControllable(playerid,false);
  2504. }
  2505. GivePlayerMoney(playerid, pInfo[playerid][Cash]);
  2506. ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""white"Success!",""green"You have successfully logged in!","Ok","");
  2507. }
  2508. else
  2509. {
  2510. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""white"Login",""red"You have entered an incorrect password.\n"white"Type your password below to login.","Login","Quit");
  2511. }
  2512. return 1;
  2513. }
  2514. }
  2515. case DIALOG_REPORT:
  2516. {
  2517. if(response)
  2518. {
  2519. AddReport(playerid, inputtext);
  2520. }
  2521. }
  2522. case DIALOG_REPORTS:
  2523. {
  2524. new string[128];
  2525. if(response)
  2526. {
  2527. switch(listitem)
  2528. {
  2529. case 0:
  2530. {
  2531. ListReports(playerid);
  2532. return 1;
  2533. }
  2534. case 1:
  2535. {
  2536. if (!ReportCount) return SendClientMessage(playerid, COLOR_GREY, "There is no reports to delete."), ShowPlayerDialog(playerid, 21430, DIALOG_STYLE_LIST, "Reports", "List Reports\nDelete Reports", "Select", "Cancel");
  2537. format(string, sizeof(string), "Do you wish to delete all %d reports?", ReportCount);
  2538. ShowPlayerDialog(playerid,DIALOG_DELREPORT, DIALOG_STYLE_MSGBOX, "Delete Reports", string, "Yes", "No");
  2539. return 1;
  2540. }
  2541. }
  2542. }
  2543. }
  2544. case DIALOG_DELREPORT:
  2545. {
  2546. if (response)
  2547. {
  2548. for (new i = 0; i < MAX_REPORTS + 1; i += 1)
  2549. {
  2550. if (ReportIDTaken[i])
  2551. {
  2552. strmid(ReportInfo[i][Reporter], "", 0, strlen(""), 255);
  2553. strmid(ReportInfo[i][ReportString], "", 0, strlen(""), 255);
  2554. ReportInfo[i][ReportAnswered] = 0;
  2555. ReportIDTaken[i] = 0;
  2556. ReportInfo[i][Listitem][ReportInfo[i][Listitem]] = -1;
  2557. }
  2558. }
  2559. ReportCount = 0;
  2560. SendClientMessage(playerid,COLOR_GREY, "All reports deleted.");
  2561. return ShowPlayerDialog(playerid, DIALOG_DELREPORT, DIALOG_STYLE_LIST, "Reports", "List Reports\nDelete Reports", "Select", "Cancel");
  2562. }
  2563. else return ShowPlayerDialog(playerid, DIALOG_DELREPORT, DIALOG_STYLE_LIST, "Reports", "List Reports\nDelete Reports", "Select", "Cancel");
  2564. }
  2565. case DIALOG_HREPORT:
  2566. {
  2567. new string[255];
  2568. if(response)
  2569. {
  2570. for (new i = 0; i < MAX_REPORTS + 1; i += 1)
  2571. {
  2572. if (ReportIDTaken[i] == 0) continue;
  2573. if (ReportInfo[i][Listitem][listitem] == 1)
  2574. {
  2575. SetPVarInt(playerid, "ReportID", i);
  2576. format(string, sizeof(string), "Report #%d by %s:\n%s\n\nWould you like to handle this report or go back?", i, ReportInfo[i][Reporter], ReportInfo[i][ReportString]);
  2577. ShowPlayerDialog(playerid, DIALOG_AREPORT, DIALOG_STYLE_MSGBOX, "Report Handling", string, "Handle", "Back");
  2578. break;
  2579. }
  2580. }
  2581. }
  2582. else return ShowPlayerDialog(playerid, DIALOG_REPORTS, DIALOG_STYLE_LIST, "Reports", "List Reports\nDelete Reports", "Select", "Cancel");
  2583. }
  2584. case DIALOG_AREPORT:
  2585. {
  2586. if (response) ShowPlayerDialog(playerid, DIALOG_AREPORT2, DIALOG_STYLE_MSGBOX, "Choose", "Accept or deny report?", "Accept", "Deny");
  2587. else { ListReports(playerid); DeletePVar(playerid, "ReportID"); }
  2588. }
  2589. case DIALOG_AREPORT2:
  2590. {
  2591. if (response)
  2592. {
  2593. AcceptReport(playerid, GetPVarInt(playerid, "ReportID"));
  2594. }
  2595. else DenyReport(playerid, GetPVarInt(playerid, "ReportID"));
  2596. }
  2597. case DIALOG_CHOOSE_LEVEL:
  2598. {
  2599. if(response)
  2600. {
  2601. switch(listitem)
  2602. {
  2603. case 0:
  2604. {
  2605. ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,"Level 1",""green"/acmds\n/aland\n/adoor\n/agate\n/duty\n/reports\n/goto\n/gethere\n/mute\n/unmute\n/getinfo\n/clearchat\n/slap\n/asay\n/repair\n/a(chat)","Ok","");
  2606. }
  2607. case 1:
  2608. {
  2609. if(pInfo[playerid][WazzAdmLevel] >= 2)
  2610. {
  2611. ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,"Level 2",""green"/freeze\n/unfreeze\n/jail\n/unjail\n/announce\n/spec\n/specoff\n/acar\n/abike\n/aboat\n/aplane\n/heal\n/armour\n/car\n/fstyle\n/explode\n/kick","Ok","");
  2612. }
  2613. else return Error(playerid,2);
  2614. }
  2615. case 2:
  2616. {
  2617. if(pInfo[playerid][WazzAdmLevel] >= 3)
  2618. {
  2619. ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,"Level 3",""green"/akill\n/jetpack\n/gethereall\n/godcar\n/givemoney\n/giveweapon\n/setmoney\n/sethp\n/setarmor\n/setfstyle\n/setskin\n/setcolor\n/ban\n/unban","Ok","");
  2620. }
  2621. else return Error(playerid,3);
  2622. }
  2623. case 3:
  2624. {
  2625. if(pInfo[playerid][WazzAdmLevel] >= 4)
  2626. {
  2627. ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,"Level 4",""green"/slapall\n/explodeall\n/killall\n/muteall\n/unmuteall\n/healall\n/armourall","Ok","");
  2628. }
  2629. else return Error(playerid,4);
  2630. }
  2631. case 4:
  2632. {
  2633. if(pInfo[playerid][WazzAdmLevel] >= 5)
  2634. {
  2635. ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,"Level 5",""green"/setallskin\n/lockserver\n/unlockserver\n/gmx\n/fakeban\n/fakekick\n/fakemute\n/warn\n/frozed\n/muted","Ok","");
  2636. }
  2637. else return Error(playerid,5);
  2638. }
  2639. }
  2640. }
  2641. }
  2642. case DIALOG_CVC:
  2643. {
  2644. if(response)
  2645. {
  2646. switch(listitem)
  2647. {
  2648. case 0:
  2649. {
  2650. ShowPlayerDialog(playerid,DIALOG_VCMDS,DIALOG_STYLE_MSGBOX,"Bronze VIP","vcmds\n/vtime\n/vworld\n/vfix\n/vcarcolor\n/vc(hat)","OK","");
  2651. }
  2652. case 1:
  2653. {
  2654. if(pInfo[playerid][WazzVIPLevel] >= 2)
  2655. {
  2656. ShowPlayerDialog(playerid,DIALOG_VCMDS,DIALOG_STYLE_MSGBOX,"Silver VIP","/vskin\n/vbike\n/vheli\n/vboat\n/vplane\n/vjetpack","OK","");
  2657. }
  2658. else return Error(playerid,12);
  2659. }
  2660. case 2:
  2661. {
  2662. if(pInfo[playerid][WazzVIPLevel] >= 3)
  2663. {
  2664. ShowPlayerDialog(playerid,DIALOG_VCMDS,DIALOG_STYLE_MSGBOX,"Golden VIP","/vcar\n/vheal\n/varmour\n/vnos","OK","");
  2665. }
  2666. else return Error(playerid,13);
  2667. }
  2668. }
  2669. }
  2670. }
  2671. case DIALOG_VCMDS:
  2672. {
  2673. if(response) return ShowPlayerDialog(playerid,DIALOG_CVC,DIALOG_STYLE_LIST,"VIP commands",""brown"VIP Bronze\n"white"VIP Silver\n"yellow"VIP Golden","Choose","Cancel");
  2674. }
  2675. case DIALOG_RCON_PANEL:
  2676. {
  2677. if(response)
  2678. {
  2679. switch(listitem)
  2680. {
  2681. case 0: SendRconCommand("gmx");
  2682. case 1: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+1,DIALOG_STYLE_INPUT,"wPanel - HostName","Input Below", "Ok", "Cancel");
  2683. case 2: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+2,DIALOG_STYLE_INPUT,"wPanel - GM Text","Input Below", "Ok", "Cancel");
  2684. case 3: SendRconCommand("reloadbans");
  2685. case 4: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+3,DIALOG_STYLE_INPUT,"wPanel - Ban IP","Input Below", "Ok", "Cancel");
  2686. case 5: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+4,DIALOG_STYLE_INPUT,"wPanel - UnBan IP","Input Below", "Ok", "Cancel");
  2687. case 6: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+5,DIALOG_STYLE_INPUT,"wPanel - Gravity (Be Careful with this)","Input Below", "Ok", "Cancel");
  2688. case 7: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+6,DIALOG_STYLE_INPUT,"wPanel - Weather","Input Below", "Ok", "Cancel");
  2689. case 8: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+7,DIALOG_STYLE_INPUT,"wPanel - Load FS","Input Below", "Ok", "Cancel");
  2690. case 9: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+8,DIALOG_STYLE_INPUT,"wPanel - UnLoad FS","Input Below", "Ok", "Cancel");
  2691. case 10: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+9,DIALOG_STYLE_INPUT,"wPanel - ReLoad FS","Input Below", "Ok", "Cancel");
  2692. case 11: ShowPlayerDialog(playerid,DIALOG_RCON_PANEL+10,DIALOG_STYLE_INPUT,"wPanel - Change PW","Input Below", "Ok", "Cancel");
  2693. case 12: SendRconCommand("exit");
  2694. }
  2695. }
  2696. }
  2697. case DIALOG_RCON_PANEL+1:
  2698. {
  2699. if(response)
  2700. {
  2701. new str[128];
  2702. format(str,sizeof(str), "hostname %s", inputtext);
  2703. SendRconCommand(str);
  2704. }
  2705. }
  2706. case DIALOG_RCON_PANEL+2:
  2707. {
  2708. if(response)
  2709. {
  2710. new str[128];
  2711. format(str,sizeof(str), "gamemodetext %s", inputtext);
  2712. SendRconCommand(str);
  2713. }
  2714. }
  2715. case DIALOG_RCON_PANEL+3:
  2716. {
  2717. if(response)
  2718. {
  2719. new str[128];
  2720. format(str,sizeof(str), "banip %s", inputtext);
  2721. SendRconCommand(str);
  2722. }
  2723. }
  2724. case DIALOG_RCON_PANEL+4:
  2725. {
  2726. if(response)
  2727. {
  2728. new str[128];
  2729. format(str,sizeof(str), "unbanip %s", inputtext);
  2730. SendRconCommand(str);
  2731. }
  2732. }
  2733. case DIALOG_RCON_PANEL+5:
  2734. {
  2735. if(response)
  2736. {
  2737. new str[128];
  2738. format(str,sizeof(str), "gravity %s", inputtext);
  2739. SendRconCommand(str);
  2740. }
  2741. }
  2742. case DIALOG_RCON_PANEL+6:
  2743. {
  2744. if(response)
  2745. {
  2746. new str[128];
  2747. format(str,sizeof(str), "weather %s", inputtext);
  2748. SendRconCommand(str);
  2749. }
  2750. }
  2751. case DIALOG_RCON_PANEL+7:
  2752. {
  2753. if(response)
  2754. {
  2755. new str[128];
  2756. format(str,sizeof(str), "loadfs %s", inputtext);
  2757. SendRconCommand(str);
  2758. }
  2759. }
  2760. case DIALOG_RCON_PANEL+8:
  2761. {
  2762. if(response)
  2763. {
  2764. new str[128];
  2765. format(str,sizeof(str), "unloadfs %s", inputtext);
  2766. SendRconCommand(str);
  2767. }
  2768. }
  2769. case DIALOG_RCON_PANEL+9:
  2770. {
  2771. if(response)
  2772. {
  2773. new str[128];
  2774. format(str,sizeof(str), "reloadfs %s", inputtext);
  2775. SendRconCommand(str);
  2776. }
  2777. }
  2778. case DIALOG_RCON_PANEL+10:
  2779. {
  2780. new str[128];
  2781. format(str,sizeof(str), "rcon_password %s", inputtext);
  2782. SendRconCommand(str);
  2783. }
  2784. case DIALOG_2ND_RCON:
  2785. {
  2786. if(!response) return Kick(playerid);
  2787. if(response)
  2788. {
  2789. if(strlen(inputtext) == strlen(RCON_PASS))
  2790. {
  2791. GameTextForPlayer(playerid,"Admin accepted. Have a nice day sir.",5000,0);
  2792. }
  2793. else
  2794. {
  2795. if(pInfo[playerid][RconWarn] == MAX_RCON_WARNINGS)
  2796. {
  2797. pInfo[playerid][RconWarn] = 0;
  2798. Kick(playerid);
  2799. }
  2800. else
  2801. {
  2802. new string[256];
  2803. pInfo[playerid][RconWarn] ++;
  2804. format(string,sizeof(string),""white"This server is "green"protected "white"rcon system by "red"WazAdmin. "white"Please input the 2nd rcon password here to login. "red" Warnings: %i",pInfo[playerid][RconWarn]);
  2805. ShowPlayerDialog(playerid,DIALOG_2ND_RCON,DIALOG_STYLE_INPUT,"2ND RCON",string,"Login","Kick me");
  2806. }
  2807. }
  2808. }
  2809. }
  2810. }
  2811. if(dialogid == XV_DIALOGID)
  2812. {
  2813. if(response)
  2814. {
  2815. new tmp[8], xid;
  2816. GetPVarString(playerid, "selected_veh_plate", tmp, 8);
  2817. xid = GetVehiclexIDFromPlate(tmp);
  2818. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  2819.  
  2820. switch(listitem)
  2821. {
  2822. case 0: // arac nerede?
  2823. {
  2824. if(xVehicle[xid][xv_Garajda])
  2825. {
  2826. if(!xStrcmp(xVehicle[xid][xv_Sahip], Isim(playerid))) ShowPlayerDialog(playerid, XV_DIALOGID+4, DIALOG_STYLE_MSGBOX, "Where Is My Car?", "{FFA500}This vehicle is in the garage. You can take it from the garage by choosing the option in the vehicle menu.", "Back", "");
  2827. else ShowPlayerDialog(playerid, XV_DIALOGID+4, DIALOG_STYLE_MSGBOX, "Where Is My Car?", "{FFA500}This vehicle is in the garage. Only the vehicle owner can take it out from the garage.", "Back", "");
  2828. }
  2829. else
  2830. {
  2831. new Float:vpos[3];
  2832. GetVehiclePos(xVehicle[xid][xv_Veh], vpos[0], vpos[1], vpos[2]);
  2833. SetPlayerCheckpoint(playerid, vpos[0], vpos[1], vpos[2], 3);
  2834. SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}Vehicle has marked on the map!");
  2835. }
  2836. }
  2837. case 1: // garaj sok/çýkar
  2838. {
  2839. if(xStrcmp(xVehicle[xid][xv_Sahip], Isim(playerid))) return ShowPlayerDialog(playerid, XV_DIALOGID+4, DIALOG_STYLE_MSGBOX, inputtext, "{FF0000}[ERROR] {FFA500}Only the vehicle owner can use this feature!", "Back", "");
  2840. if(xVehicle[xid][xv_Garajda])
  2841. {
  2842. new str[128];
  2843. GetPlayerPos(playerid, xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], xVehicle[xid][xv_Pos][2]);
  2844. GetPlayerFacingAngle(playerid, xVehicle[xid][xv_Pos][3]);
  2845. xVehicle[xid][xv_Pos][3] += 90;
  2846. GetXYInFrontOfPlayer(playerid, xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], 3);
  2847. xVehicle[xid][xv_Veh] = CreateVehicle(xVehicle[xid][xv_ModelID], xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], xVehicle[xid][xv_Pos][2], xVehicle[xid][xv_Pos][3], xVehicle[xid][xv_Renk][0], xVehicle[xid][xv_Renk][1], -1);
  2848. xVeh[xVehicle[xid][xv_Veh]] = xid;
  2849. SetVehicleNumberPlate(xVehicle[xid][xv_Veh], xVehicle[xid][xv_Plaka]);
  2850. SetVehicleToRespawn(xVehicle[xid][xv_Veh]);
  2851. xVehicle[xid][xv_Garajda] = 0;
  2852. SavexVehicle(xid);
  2853. format(str, sizeof(str), "{ECEC13}%s {FFFB93}with {ECEC13}%s {FFFB93}plate number has taken from the garage!", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka]);
  2854. SendClientMessage(playerid, -1, str);
  2855. }
  2856. else
  2857. {
  2858. if(GetPlayerInGarageVehicleCount(playerid) >= GARAJ_MAX_ARAC) return SendClientMessage(playerid, -1, "{FF0000}[!] {DCDC22}You have reached the limit! You can't put more vehicles into the garage.");
  2859. new str[128];
  2860. DestroyVehicle(xVehicle[xid][xv_Veh]);
  2861. xVehicle[xid][xv_Garajda] = 1;
  2862. SavexVehicle(xid);
  2863. format(str, sizeof(str), "{ECEC13}%s {FFFB93}with {ECEC13}%s {FFFB93}plate number has put into the garage!", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka]);
  2864. SendClientMessage(playerid, -1, str);
  2865. }
  2866. }
  2867. case 2:
  2868. {
  2869. new str[288];
  2870. format(str, sizeof(str), "{FFFB93}Auto park adalah system ketika kamu keluar dari kendaraan kamu, maka akan auto park\nTapi ketika darah kendaraan kamu dibawah 300 atau tebalik park otomatis tidak akan bisa\n\nAuto park status : %s", (xVehicle[xid][xv_HizliPark]) ? ("{00FF00}Active") : ("{FF0000}Deactive"));
  2871. ShowPlayerDialog(playerid, XV_DIALOGID+1, DIALOG_STYLE_MSGBOX, "Auto Park System", str, (xVehicle[xid][xv_HizliPark]) ? ("Deactivate") : ("Activate"), "Back");
  2872. }
  2873. case 3:
  2874. {
  2875. if(xStrcmp(xVehicle[xid][xv_Sahip], Isim(playerid))) return ShowPlayerDialog(playerid, XV_DIALOGID+4, DIALOG_STYLE_MSGBOX, "Vehicle Keys", "{FF0000}[ERROR] {FFA500}Only the vehicle owner can use this feature!", "Back", "");
  2876. ShowPlayerDialog(playerid, XV_DIALOGID+2, DIALOG_STYLE_LIST, "Vehicle Keys", "{DCDC22}» {FFFB93}View Key Owners\n{DCDC22}» {FFFB93}Give Someone Key\n{DCDC22}» {FFFB93}Change the Lock", "Select", "Back");
  2877. }
  2878. case 4:
  2879. {
  2880. if(xStrcmp(xVehicle[xid][xv_Sahip], Isim(playerid))) return ShowPlayerDialog(playerid, XV_DIALOGID+4, DIALOG_STYLE_MSGBOX, "Vehicle Sale", "{FF0000}[ERROR] {FFA500}Only the vehicle owner can use this feature!", "Back", "");
  2881. ShowPlayerDialog(playerid, XV_DIALOGID+8, DIALOG_STYLE_LIST, "Sell The Vehicle", "{DCDC22}» {FFFB93}Sell To Car Dealer\n{DCDC22}» {FFFB93}Sell To Player", "Select", "Back");
  2882. }
  2883. case 5:
  2884. {
  2885. new str[256];
  2886. format(str, sizeof(str), "{FFFFFF}----------[ Vehicle Information ]----------\n\n{F0AE0F}-» {ECE913}Owner: {FFFFFF}%s\n{F0AE0F}-» {ECE913}Vehicle Name: {FFFFFF}%s\n{F0AE0F}-» {ECE913}Plate Number: {FFFFFF}%s", xVehicle[xid][xv_Sahip], GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka]);
  2887. ShowPlayerDialog(playerid, XV_DIALOGID+4, DIALOG_STYLE_MSGBOX, " Vehicle Information", str, "Back", "");
  2888. }
  2889. }
  2890. }
  2891. else
  2892. {
  2893. DeletePVar(playerid, "selected_veh_plate");
  2894. cmd_v(playerid, "");
  2895. }
  2896. }
  2897.  
  2898. if(dialogid == XV_DIALOGID+1)
  2899. {
  2900. new tmp[8], xid;
  2901. GetPVarString(playerid, "selected_veh_plate", tmp, 8);
  2902. xid = GetVehiclexIDFromPlate(tmp);
  2903. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  2904.  
  2905. if(response)
  2906. {
  2907. switch(xVehicle[xid][xv_HizliPark])
  2908. {
  2909. case 0:
  2910. {
  2911. SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}Auto Park has activated!");
  2912. xVehicle[xid][xv_HizliPark] = 1;
  2913. xvMenuGoster(playerid);
  2914. }
  2915. case 1:
  2916. {
  2917. SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}Auto Park has deactivated!");
  2918. xVehicle[xid][xv_HizliPark] = 0;
  2919. xvMenuGoster(playerid);
  2920. }
  2921. }
  2922. } else xvMenuGoster(playerid);
  2923. }
  2924.  
  2925. if(dialogid == XV_DIALOGID+2)
  2926. {
  2927. if(response)
  2928. {
  2929. new tmp[8], xid;
  2930. GetPVarString(playerid, "selected_veh_plate", tmp, 8);
  2931. xid = GetVehiclexIDFromPlate(tmp);
  2932. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  2933.  
  2934. switch(listitem)
  2935. {
  2936. case 0:
  2937. {
  2938. new query[128], Cache:keys;
  2939. mysql_format(mysqlB, query, sizeof(query), "SELECT Isim FROM xVehicleKeys WHERE AracID=%d ORDER BY AracID DESC LIMIT %d, 15", xid, GetPVarInt(playerid, "xvKeysPage")*15);
  2940. keys = mysql_query(mysqlB, query);
  2941. new rows = cache_num_rows();
  2942. if(rows)
  2943. {
  2944. new list[512], o_isim[MAX_PLAYER_NAME];
  2945. format(list, sizeof(list), "Player Name\n");
  2946. for(new i; i < rows; ++i)
  2947. {
  2948. cache_get_value_name(i, "Isim", o_isim);
  2949. format(list, sizeof(list), "%s%s\n", list, o_isim);
  2950. }
  2951. format(list, sizeof(list), "%s{F4D00B}<< Previous Page\n{F4D00B}>> Next Page", list);
  2952. ShowPlayerDialog(playerid, XV_DIALOGID+3, DIALOG_STYLE_TABLIST_HEADERS, "Key Owners (Page 1)", list, "Select", "Back");
  2953. }
  2954. else
  2955. {
  2956. SendClientMessage(playerid, 0xE74C3CFF, "No one has your vehicle's keys!");
  2957. }
  2958. cache_delete(keys);
  2959. }
  2960. case 1: ShowPlayerDialog(playerid, XV_DIALOGID+13, DIALOG_STYLE_INPUT, "Give Vehicle Key", "{FFFB93}Enter the player's ID or name that you want to give the key:", "Next", "Back");
  2961. case 2:
  2962. {
  2963. ShowPlayerDialog(playerid, XV_DIALOGID+15, DIALOG_STYLE_MSGBOX, "Change The Lock", "{FFFB93}Are you sure that you want to change the lock?\nAll keys will be removed from key owners.", "Confirm", "Back");
  2964. }
  2965. }
  2966. } else xvMenuGoster(playerid);
  2967. }
  2968.  
  2969. if(dialogid == XV_DIALOGID+3)
  2970. {
  2971. if(response)
  2972. {
  2973. new tmp[8], xid;
  2974. GetPVarString(playerid, "selected_veh_plate", tmp, 8);
  2975. xid = GetVehiclexIDFromPlate(tmp);
  2976. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  2977.  
  2978. if(!xStrcmp(inputtext, "<< Previous Page"))
  2979. {
  2980. SetPVarInt(playerid, "xvKeysPage", GetPVarInt(playerid, "xvKeysPage")-1);
  2981. if(GetPVarInt(playerid, "xvKeysPage") < 0)
  2982. {
  2983. SetPVarInt(playerid, "xvKeysPage", 0);
  2984. ShowPlayerDialog(playerid, XV_DIALOGID+2, DIALOG_STYLE_LIST, "Vehicle Keys", "{DCDC22}» {FFFB93}View Key Owners\n{DCDC22}» {FFFB93}Give Someone Key\n{DCDC22}» {FFFB93}Change the Lock", "Select", "Back");
  2985. return 1;
  2986. }
  2987.  
  2988. new query[128], Cache:keys;
  2989. mysql_format(mysqlB, query, sizeof(query), "SELECT Isim FROM xVehicleKeys WHERE AracID=%d ORDER BY AracID DESC LIMIT %d, 15", xid, GetPVarInt(playerid, "xvKeysPage")*15);
  2990. keys = mysql_query(mysqlB, query);
  2991. new rows = cache_num_rows();
  2992. if(rows)
  2993. {
  2994. new list[512], o_isim[MAX_PLAYER_NAME];
  2995. format(list, sizeof(list), "Player Name\n");
  2996. for(new i; i < rows; ++i)
  2997. {
  2998. cache_get_value_name(i, "Isim", o_isim);
  2999. format(list, sizeof(list), "%s%s\n", list, o_isim);
  3000. }
  3001. format(list, sizeof(list), "%s{F4D00B}<< Previous Page\n{F4D00B}>> Next Page", list);
  3002. new head[32];
  3003. format(head, sizeof(head), "Key Owners (Page %d)", GetPVarInt(playerid, "xvKeysPage")+1);
  3004. ShowPlayerDialog(playerid, XV_DIALOGID+3, DIALOG_STYLE_TABLIST_HEADERS, head, list, "Select", "Back");
  3005. }
  3006. else
  3007. {
  3008. /*SetPVarInt(playerid, "xvKeysPage", 0);
  3009. ShowPlayerDialog(playerid, XV_DIALOGID+2, DIALOG_STYLE_LIST, "Aracýn Anahtarlarý", "Anahtarý Olanlarý Gör\nBirine Anahtar Ver\nKilidi Deðiþtir", "Select", "Back");
  3010. */
  3011. SendClientMessage(playerid, 0xE74C3CFF, "There is no more key owners!");
  3012. }
  3013. cache_delete(keys);
  3014. }
  3015. else if(!xStrcmp(inputtext, ">> Next Page"))
  3016. {
  3017. SetPVarInt(playerid, "xvKeysPage", GetPVarInt(playerid, "xvKeysPage")+1);
  3018.  
  3019. new query[128], Cache:keys;
  3020. mysql_format(mysqlB, query, sizeof(query), "SELECT Isim FROM xVehicleKeys WHERE AracID=%d ORDER BY AracID DESC LIMIT %d, 15", xid, GetPVarInt(playerid, "xvKeysPage")*15);
  3021. keys = mysql_query(mysqlB, query);
  3022. new rows = cache_num_rows();
  3023. if(rows)
  3024. {
  3025. new list[512], o_isim[MAX_PLAYER_NAME];
  3026. format(list, sizeof(list), "Player Name\n");
  3027. for(new i; i < rows; ++i)
  3028. {
  3029. cache_get_value_name(i, "Isim", o_isim);
  3030. format(list, sizeof(list), "%s%s\n", list, o_isim);
  3031. }
  3032. format(list, sizeof(list), "%s{F4D00B}<< Previous Page\n{F4D00B}>> Next Page", list);
  3033. new head[32];
  3034. format(head, sizeof(head), "Key Owners (Sayfa %d)", GetPVarInt(playerid, "xvKeysPage")+1);
  3035. ShowPlayerDialog(playerid, XV_DIALOGID+3, DIALOG_STYLE_TABLIST_HEADERS, head, list, "Select", "Back");
  3036. }
  3037. else
  3038. {
  3039. SetPVarInt(playerid, "xvKeysPage", GetPVarInt(playerid, "xvKeysPage") - 1);
  3040. mysql_format(mysqlB, query, sizeof(query), "SELECT Isim FROM xVehicleKeys WHERE AracID=%d ORDER BY AracID DESC LIMIT %d, 15", xid, GetPVarInt(playerid, "xvKeysPage")*15);
  3041. keys = mysql_query(mysqlB, query);
  3042. rows = cache_num_rows();
  3043. if(rows)
  3044. {
  3045. new list[512], o_isim[MAX_PLAYER_NAME];
  3046. format(list, sizeof(list), "Player Name\n");
  3047. for(new i; i < rows; ++i)
  3048. {
  3049. cache_get_value_name(i, "Isim", o_isim);
  3050. format(list, sizeof(list), "%s%s\n", list, o_isim);
  3051. }
  3052. format(list, sizeof(list), "%s{F4D00B}<< Previous Page\n{F4D00B}>> Next Page", list);
  3053. new head[32];
  3054. format(head, sizeof(head), "Key Owners (Sayfa %d)", GetPVarInt(playerid, "xvKeysPage")+1);
  3055. ShowPlayerDialog(playerid, XV_DIALOGID+3, DIALOG_STYLE_TABLIST_HEADERS, head, list, "Select", "Back");
  3056. }
  3057. SendClientMessage(playerid, 0xE74C3CFF, "There is no more key owners!");
  3058. }
  3059. cache_delete(keys);
  3060. }
  3061. else
  3062. {
  3063. SetPVarString(playerid, "tmp_keyname", inputtext);
  3064. ShowPlayerDialog(playerid, XV_DIALOGID+14, DIALOG_STYLE_LIST, "Vehicle Key", "{DCDC22}» {FFFB93}Take The Key Back", "Apply", "Back");
  3065. }
  3066. }
  3067. }
  3068.  
  3069. if(dialogid == XV_DIALOGID+4) xvMenuGoster(playerid);
  3070.  
  3071. if(dialogid == XV_DIALOGID+5)
  3072. {
  3073. if(response)
  3074. {
  3075. new xid = xVeh[GetPlayerVehicleID(playerid)];
  3076. if(GetPlayerxVehicleCount(playerid) >= OYUNCU_MAX_ARAC) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}You have reached the limit! You can't buy more vehicle."), RemovePlayerFromVehicle(playerid);
  3077. if(GetPlayerMoney(playerid) < xVehicle[xid][xv_Fiyat]) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}You don't have enough money!"), RemovePlayerFromVehicle(playerid);
  3078. GivePlayerMoney(playerid, -xVehicle[xid][xv_Fiyat]);
  3079. format(xVehicle[xid][xv_Sahip], 24, "%s", Isim(playerid));
  3080. SavexVehicle(xid);
  3081. Delete3DTextLabel(xVehicle[xid][xv_Text]);
  3082. SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}Kamu telah berhasil membeli kendaraan ini, gunakan cmd {ECB021}/v {00FF00} untuk memanage kendaraan!");
  3083. }
  3084. else
  3085. {
  3086. if(!IsPlayerAdmin(playerid)) RemovePlayerFromVehicle(playerid);
  3087. }
  3088. }
  3089.  
  3090. if(dialogid == XV_DIALOGID+6)
  3091. {
  3092. if(response)
  3093. {
  3094. if(!xStrcmp(inputtext, "» This Vehicle"))
  3095. {
  3096. SetPVarString(playerid, "selected_veh_plate", xVehicle[xVeh[GetPlayerVehicleID(playerid)]][xv_Plaka]);
  3097. xvMenuGoster(playerid);
  3098. }
  3099. else if(!xStrcmp(inputtext, "» My Own Vehicles"))
  3100. {
  3101. new str[256], cnt;
  3102. format(str, sizeof(str), "Plate Number\tVehicle Name\tState");
  3103. foreach(new i : xVehicles)
  3104. {
  3105. if(!xStrcmp(xVehicle[i][xv_Sahip], Isim(playerid))) format(str, sizeof(str), "%s\n%s\t%s\t%s", str, xVehicle[i][xv_Plaka], GetVehicleNameFromModel(xVehicle[i][xv_ModelID]), (xVehicle[i][xv_Garajda]) ? ("{F0CE0F}In the Garage") : ("{8FE01F}On the Map")), cnt++;
  3106. }
  3107. if(!cnt) ShowPlayerDialog(playerid, XV_DIALOGID-1, DIALOG_STYLE_MSGBOX, "My Own Vehicles", "{FF0000}[!] {F0AE0F}You don't have any vehicle!", "OK", "");
  3108. else ShowPlayerDialog(playerid, XV_DIALOGID+7, DIALOG_STYLE_TABLIST_HEADERS, "My Own Vehicles", str, "Choose Car", "Back");
  3109. }
  3110. else if(!xStrcmp(inputtext, "» Vehicles That I Have Keys"))
  3111. {
  3112. new str[256], cnt;
  3113. format(str, sizeof(str), "Plate Number\tVehicle Name\tState");
  3114. foreach(new i : xVehicleKeys<playerid>)
  3115. {
  3116. format(str, sizeof(str), "%s\n%s\t%s\t%s", str, xVehicle[i][xv_Plaka], GetVehicleNameFromModel(xVehicle[i][xv_ModelID]), (xVehicle[i][xv_Garajda]) ? ("{F0CE0F}In the Garage") : ("{8FE01F}On the Map"));
  3117. cnt++;
  3118. }
  3119. if(!cnt) ShowPlayerDialog(playerid, XV_DIALOGID-1, DIALOG_STYLE_MSGBOX, "Vehicles That I Have Keys", "{FFA500}You don't have any vehicle's keys!", "OK", "");
  3120. else ShowPlayerDialog(playerid, XV_DIALOGID+7, DIALOG_STYLE_TABLIST_HEADERS, "Vehicles That I Have Keys", str, "Choose Car", "Back");
  3121. }
  3122. }
  3123. }
  3124.  
  3125. if(dialogid == XV_DIALOGID+7)
  3126. {
  3127. if(response)
  3128. {
  3129. new tmp[2][8];
  3130. split(inputtext, tmp, '\t');
  3131. SetPVarString(playerid, "selected_veh_plate", tmp[0]);
  3132. xvMenuGoster(playerid);
  3133. } else cmd_v(playerid, "");
  3134. }
  3135.  
  3136. if(dialogid == XV_DIALOGID+8)
  3137. {
  3138. if(response)
  3139. {
  3140. new str[256], tmpp[8], xid;
  3141. GetPVarString(playerid, "selected_veh_plate", tmpp, 8);
  3142. xid = GetVehiclexIDFromPlate(tmpp);
  3143. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3144.  
  3145. switch(listitem)
  3146. {
  3147. case 0:
  3148. {
  3149. format(str, sizeof(str), "{ECCB13}Are you sure that you want to sell your vehicle to car dealer?\n{FFFB93}Amount of payment: {15EC13}$%d\n\n{AAAAAA}(Payment is %%70 of the price that you bought)", (xVehicle[xid][xv_Fiyat] / 100) * 70);
  3150. ShowPlayerDialog(playerid, XV_DIALOGID+9, DIALOG_STYLE_MSGBOX, "Sell Vehicle To Car Dealer", str, "Confirm", "Back");
  3151. }
  3152. case 1:
  3153. {
  3154. if(GetPVarInt(playerid, "xv_teklif_id") != INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}You already offered to a player! Wait for the response for that offer.");
  3155. if(xVehicle[xid][xv_Garajda]) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Before you sell your vehicle, take it out from the garage!");
  3156. ShowPlayerDialog(playerid, XV_DIALOGID+10, DIALOG_STYLE_INPUT, "Sell Vehicle to Player", "{FFFB93}Enter the name or ID of the player that you want to sell your vehicle:", "Next", "Back");
  3157. }
  3158. }
  3159. } else xvMenuGoster(playerid);
  3160. }
  3161.  
  3162. if(dialogid == XV_DIALOGID+9)
  3163. {
  3164. if(response)
  3165. {
  3166. new query[128], tmpp[8], xid;
  3167. GetPVarString(playerid, "selected_veh_plate", tmpp, 8);
  3168. xid = GetVehiclexIDFromPlate(tmpp);
  3169. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3170.  
  3171. GivePlayerMoney(playerid, (xVehicle[xid][xv_Fiyat] / 100) * 70);
  3172. if(IsValidVehicle(xVehicle[xid][xv_Veh])) DestroyVehicle(xVehicle[xid][xv_Veh]);
  3173. Iter_Remove(xVehicles, xid);
  3174. DeletePVar(playerid, "selected_veh_plate");
  3175. foreach(new i : Player)
  3176. {
  3177. if(Iter_Contains(xVehicleKeys<i>, xid)) Iter_Remove(xVehicleKeys<i>, xid);
  3178. }
  3179.  
  3180. mysql_format(mysqlB, query, sizeof(query), "DELETE FROM xVehicleKeys WHERE AracID=%d", xid);
  3181. mysql_query(mysqlB, query);
  3182. mysql_format(mysqlB, query, sizeof(query), "DELETE FROM xVehicle WHERE ID=%d", xid);
  3183. mysql_query(mysqlB, query);
  3184. SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}You sold your vehicle!");
  3185. } else ShowPlayerDialog(playerid, XV_DIALOGID+8, DIALOG_STYLE_LIST, "Sell The Vehicle", "{DCDC22}» {FFFB93}Sell To Car Dealer\n{DCDC22}» {FFFB93}Sell To Player", "Select", "Back");
  3186. }
  3187.  
  3188. if(dialogid == XV_DIALOGID+10)
  3189. {
  3190. if(response)
  3191. {
  3192. new pid;
  3193. if(sscanf(inputtext, "u", pid)) return ShowPlayerDialog(playerid, XV_DIALOGID+10, DIALOG_STYLE_INPUT, "Sell Vehicle to Player", "{FF0000}[!] {F0AE0F}You wrote nothing!\n\n{FFFB93}Enter the name or ID of the player that you want to sell your vehicle:", "Next", "Back");
  3194. if(!IsPlayerConnected(pid)) return ShowPlayerDialog(playerid, XV_DIALOGID+10, DIALOG_STYLE_INPUT, "Sell Vehicle to Player", "{FF0000}[!] {F0AE0F}Player is not connected!\n\n{FFFB93}Enter the name or ID of the player that you want to sell your vehicle:", "Next", "Back");
  3195. if(GetPlayerxVehicleCount(playerid) >= OYUNCU_MAX_ARAC) return ShowPlayerDialog(playerid, XV_DIALOGID+10, DIALOG_STYLE_INPUT, "Sell Vehicle to Player", "{FF0000}[!] {F0AE0F}This player has reached the limit! Can't buy more vehicles.\n\n{FFFB93}Enter the name or ID of the player that you want to sell your vehicle:", "Next", "Back");
  3196. if(GetPVarInt(pid, "xv_teklif_gonderen") != INVALID_PLAYER_ID) return ShowPlayerDialog(playerid, XV_DIALOGID+10, DIALOG_STYLE_INPUT, "Sell Vehicle to Player", "{FF0000}[!] {F0AE0F}Someone else has offed to this player! Wait for that offer first.\n\n{FFFB93}Enter the name or ID of the player that you want to sell your vehicle:", "Next", "Back");
  3197. SetPVarInt(playerid, "xv_teklif_id", pid);
  3198. new str[128];
  3199. format(str, sizeof(str), "{FFFB93}Selected player: {ECEC13}%s {ECB021}(%d)\n\n{FFFB93}Enter the price you want:", Isim(pid), pid);
  3200. ShowPlayerDialog(playerid, XV_DIALOGID+11, DIALOG_STYLE_INPUT, "Sell the Vehicle - Price", str, "Send Offer", "Back");
  3201. } else SetPVarInt(playerid, "xv_teklif_id", INVALID_PLAYER_ID), ShowPlayerDialog(playerid, XV_DIALOGID+8, DIALOG_STYLE_LIST, "Sell The Vehicle", "{DCDC22}» {FFFB93}Sell To Car Dealer\n{DCDC22}» {FFFB93}Sell To Player", "Select", "Back");
  3202. }
  3203.  
  3204. if(dialogid == XV_DIALOGID+11)
  3205. {
  3206. if(response)
  3207. {
  3208. new tmpp[8], xid;
  3209. GetPVarString(playerid, "selected_veh_plate", tmpp, 8);
  3210. xid = GetVehiclexIDFromPlate(tmpp);
  3211. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3212.  
  3213. new pid = GetPVarInt(playerid, "xv_teklif_id");
  3214. if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, -1, "{FF0000}[!] {DCDC22}Offer has cancelled because of the player has disconnected.");
  3215. if(!isNumeric(inputtext)) return ShowPlayerDialog(playerid, XV_DIALOGID+11, DIALOG_STYLE_INPUT, "Sell the Vehicle - Price", "{FF0000}[!] {F0AE0F} Only enter numbers!\n\n{FFFB93}Enter the price you want:", "Send Offer", "Back");
  3216. if(GetPlayerMoney(pid) < strval(inputtext)) return ShowPlayerDialog(playerid, XV_DIALOGID+11, DIALOG_STYLE_INPUT, "Sell the Vehicle - Price", "{FF0000}[!] {F0AE0F} This player doesn't have that much money!\n\n{FFFB93}Enter the price you want:", "Send Offer", "Back");
  3217. SetPVarInt(pid, "xv_teklif_gonderen", playerid);
  3218. SetPVarInt(pid, "xv_teklif_fiyat", strval(inputtext));
  3219. SetPVarInt(pid, "xv_teklif_xid", xid);
  3220. offerTimer[pid] = SetTimerEx("TeklifBitir", 30000, false, "uu", playerid, pid);
  3221. new str[400];
  3222. format(str, sizeof(str), "{00BD00}[!] {FFFB93}Offer has sent to {ECEC13}%s", Isim(pid));
  3223. SendClientMessage(playerid, -1, str);
  3224. format(str, sizeof(str), "{FFFFFF}--------------------[ Vehicle Sale Offer ]-------------------\n\n{ECEC13}%s {FFFB93}has offering to sell you a vehicle.\n\nVehicle Name: {ECB021}%s\n{FFFB93}Plate Number: {ECB021}%s\n{FFFB93}Price: {00E900}$%d\n\n{FFFB93}Do you want to buy this vehicle?\n\n{FFFFFF}----------------------------------------------------------------------------", Isim(playerid), GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], strval(inputtext));
  3225. ShowPlayerDialog(pid, XV_DIALOGID+12, DIALOG_STYLE_MSGBOX, "Vehicle Sale Offer", str, "Accept", "Reject");
  3226. }
  3227. else
  3228. {
  3229. ShowPlayerDialog(playerid, XV_DIALOGID+10, DIALOG_STYLE_INPUT, "Sell Vehicle to Player", "{FFFB93}Enter the name or ID of the player that you want to sell your vehicle:", "Next", "Back");
  3230. SetPVarInt(playerid, "xv_teklif_id", INVALID_PLAYER_ID);
  3231. }
  3232. }
  3233.  
  3234. if(dialogid == XV_DIALOGID+12)
  3235. {
  3236. if(response)
  3237. {
  3238. new pid = GetPVarInt(playerid, "xv_teklif_gonderen");
  3239. new xid = GetPVarInt(playerid, "xv_teklif_xid");
  3240. new price = GetPVarInt(playerid, "xv_teklif_fiyat");
  3241. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}This offers time is up.");
  3242. if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, -1, "{FF0000}[!] {DCDC22}This offer has cancelled because of the player that offered has disconnected.");
  3243. if(xStrcmp(Isim(pid), xVehicle[xid][xv_Sahip])) return SendClientMessage(playerid, -1, "{FF0000}[!] {DCDC22}This offer has cancelled because of the player that offered is not the owner of that vehicle.");
  3244. if(GetPlayerMoney(playerid) < price)
  3245. {
  3246. SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}This offer has cancelled because of you don't have enough money!");
  3247. SendClientMessage(pid, -1, "{FF0000}[!] {F0AE0F}This offer has cancelled because of that player doesn't have enough money!");
  3248. }
  3249.  
  3250. format(xVehicle[xid][xv_Sahip], 24, "%s", Isim(playerid));
  3251. xVehicle[xid][xv_Fiyat] = price;
  3252. SavexVehicle(xid);
  3253. foreach(new i : Player)
  3254. {
  3255. if(IsValidVehicle(xVehicle[xid][xv_Veh]) && IsPlayerInVehicle(i, xVehicle[xid][xv_Veh]))
  3256. {
  3257. SendClientMessage(i, -1, "{FF0000}[!] {DCDC22}You have removed the vehicle because of this vehicle has been sold.");
  3258. RemovePlayerFromVehicle(i);
  3259. }
  3260. }
  3261.  
  3262. GivePlayerMoney(playerid, -price);
  3263. GivePlayerMoney(pid, price);
  3264.  
  3265. new query[256];
  3266. format(query, sizeof(query), "{FFFB93}You sold your {ECEC13}%s {FFFB93}with {ECEC13}%s {FFFB93}plate number, to {ECEC13}%s{FFFB93}, for {00E900}$%d{FFFB93} succesfully!", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], Isim(playerid), price);
  3267. ShowPlayerDialog(pid, XV_DIALOGID-1, DIALOG_STYLE_MSGBOX, "Sell Vehicle", query, "OK", "");
  3268. format(query, sizeof(query), "{FFFB93}You bought a {ECEC13}%s {FFFB93}with {ECEC13}%s {FFFB93}plate number, from {ECEC13}%s, for {00E900}$%d{FFFB93} succesfully!", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], Isim(pid), price);
  3269. ShowPlayerDialog(playerid, XV_DIALOGID-1, DIALOG_STYLE_MSGBOX, "Buy Vehicle", query, "OK", "");
  3270. mysql_format(mysqlB, query, sizeof(query), "DELETE FROM xVehicleKeys WHERE AracID=%d", xid);
  3271. mysql_query(mysqlB, query);
  3272. mysql_format(mysqlB, query, sizeof(query), "UPDATE xVehicle SET Sahip='%s' WHERE ID=%d", Isim(playerid), xid);
  3273. mysql_query(mysqlB, query);
  3274. }
  3275. else
  3276. {
  3277. SendClientMessage(playerid, -1, "{FF0000}[!] {DCDC22}You have rejected the offer.");
  3278. if(IsPlayerConnected(GetPVarInt(playerid, "xv_teklif_gonderen"))) SendClientMessage(GetPVarInt(playerid, "xv_teklif_gonderen"), -1, "{FF0000}[!] {DCDC22}The player that you offered your vehicle to sell, has rejected your offer!");
  3279. }
  3280. KillTimer(offerTimer[playerid]);
  3281. SetPVarInt(GetPVarInt(playerid, "xv_teklif_gonderen"), "xv_teklif_id", INVALID_PLAYER_ID);
  3282. SetPVarInt(playerid, "xv_teklif_gonderen", INVALID_PLAYER_ID);
  3283. DeletePVar(playerid, "xv_teklif_xid");
  3284. DeletePVar(playerid, "xv_teklif_fiyat");
  3285. }
  3286.  
  3287. if(dialogid == XV_DIALOGID+13)
  3288. {
  3289. if(response)
  3290. {
  3291. new str[150], tmpp[8], xid, pid;
  3292. GetPVarString(playerid, "selected_veh_plate", tmpp, 8);
  3293. xid = GetVehiclexIDFromPlate(tmpp);
  3294. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3295.  
  3296. if(sscanf(inputtext, "u", pid)) return ShowPlayerDialog(playerid, XV_DIALOGID+13, DIALOG_STYLE_INPUT, "Give Vehicle Key", "{FF0000}[!] {F0AE0F}You wrote nothing!\n\n{FFFB93}Enter the player's ID or name that you want to give the key:", "Next", "Back");
  3297. if(!IsPlayerConnected(pid)) return ShowPlayerDialog(playerid, XV_DIALOGID+13, DIALOG_STYLE_INPUT, "Give Vehicle Key", "{FF0000}[!] {F0AE0F}Player is not connected!\n{FFFB93}Enter the player's ID or name that you want to give the key:", "Next", "Back");
  3298. if(pid == playerid) return ShowPlayerDialog(playerid, XV_DIALOGID+13, DIALOG_STYLE_INPUT, "Give Vehicle Key", "{FF0000}[!] {F0AE0F}You can't give the key to yourself!\n{FFFB93}Enter the player's ID or name that you want to give the key:", "Next", "Back");
  3299. if(Iter_Contains(xVehicleKeys<pid>, xid)) return ShowPlayerDialog(playerid, XV_DIALOGID+4, DIALOG_STYLE_MSGBOX, "Give Vehicle Key", "{FF0000}[!] {F0AE0F}That player already have this vehicle's key!", "Back", "");
  3300. Iter_Add(xVehicleKeys<pid>, xid);
  3301. mysql_format(mysqlB, str, sizeof(str), "INSERT INTO xVehicleKeys SET AracID=%d, Isim='%e'", xid, Isim(pid));
  3302. mysql_query(mysqlB, str);
  3303. format(str, sizeof(str), "You gave the keys of the {ECEC13}%s {FFFB93} with {ECEC13}%s {FFFB93}plate number, to {ECEC13}%s {FFFB93}successfully!", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], Isim(pid));
  3304. SendClientMessage(playerid, -1, str);
  3305. format(str, sizeof(str), "{ECEC13}%s {FFFB93}has gave you the keys of {ECEC13}%s {FFFB93}with {ECEC13}%s {FFFB93}plate number!", Isim(playerid), GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka]);
  3306. SendClientMessage(pid, -1, str);
  3307. } else ShowPlayerDialog(playerid, XV_DIALOGID+2, DIALOG_STYLE_LIST, "Vehicle Keys", "{DCDC22}» {FFFB93}View Key Owners\n{DCDC22}» {FFFB93}Give Someone Key\n{DCDC22}» {FFFB93}Change the Lock", "Select", "Back");
  3308. }
  3309.  
  3310. if(dialogid == XV_DIALOGID+14)
  3311. {
  3312. if(response)
  3313. {
  3314. new str[150], tmpp[8], xid, pid;
  3315. GetPVarString(playerid, "selected_veh_plate", tmpp, 8);
  3316. xid = GetVehiclexIDFromPlate(tmpp);
  3317. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3318.  
  3319. new p_is[24];
  3320. GetPVarString(playerid, "tmp_keyname", p_is, 24);
  3321. pid = GetPlayerIDFromName(p_is);
  3322. if(IsPlayerConnected(pid))
  3323. {
  3324. Iter_Remove(xVehicleKeys<pid>, xid);
  3325. format(str, sizeof(str), "{ECEC13}%s {FFFB93}has took the keys of {ECEC13}%s {FFFB93} with {ECEC13}%s {FFFB93}plate number, back!", Isim(playerid), GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka]);
  3326. SendClientMessage(pid, -1, str);
  3327. }
  3328. mysql_format(mysqlB, str, sizeof(str), "DELETE FROM xVehicleKeys WHERE AracID=%d AND Isim='%e'", xid, p_is);
  3329. mysql_query(mysqlB, str);
  3330. format(str, sizeof(str), "You took the keys of {ECEC13}%s {FFFB93} with {ECEC13}%s {FFFB93}plate number, from {ECEC13}%s{FFFB93}", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], p_is);
  3331. SendClientMessage(playerid, -1, str);
  3332. }
  3333. else ShowPlayerDialog(playerid, XV_DIALOGID+2, DIALOG_STYLE_LIST, "Vehicle Keys", "{DCDC22}» {FFFB93}View Key Owners\n{DCDC22}» {FFFB93}Give Someone Key\n{DCDC22}» {FFFB93}Change the Lock", "Select", "Back");
  3334. }
  3335.  
  3336. if(dialogid == XV_DIALOGID+15)
  3337. {
  3338. if(response)
  3339. {
  3340. new str[128], tmpp[8], xid;
  3341. GetPVarString(playerid, "selected_veh_plate", tmpp, 8);
  3342. xid = GetVehiclexIDFromPlate(tmpp);
  3343. if(xid == 0) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3344.  
  3345. foreach(new i : Player)
  3346. {
  3347. if(IsPlayerInVehicle(i, xVehicle[xid][xv_Veh]) && xStrcmp(xVehicle[xid][xv_Sahip], Isim(i)))
  3348. {
  3349. SendClientMessage(i, -1, "{FF0000}[!] {DCDC22}You have removed from vehicle because of the owner of this vehicle has changed the lock.");
  3350. RemovePlayerFromVehicle(i);
  3351. }
  3352. if(Iter_Contains(xVehicleKeys<i>, xid)) Iter_Remove(xVehicleKeys<i>, xid);
  3353. }
  3354. mysql_format(mysqlB, str, sizeof(str), "DELETE FROM xVehicleKeys WHERE AracID=%d", xid);
  3355. mysql_query(mysqlB, str);
  3356. SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}You have succesfully changed vehicle's lock!");
  3357. } else ShowPlayerDialog(playerid, XV_DIALOGID+2, DIALOG_STYLE_LIST, "Vehicle Keys", "{DCDC22}» {FFFB93}View Key Owners\n{DCDC22}» {FFFB93}Give Someone Key\n{DCDC22}» {FFFB93}Change the Lock", "Select", "Back");
  3358. }
  3359.  
  3360. if(dialogid == XV_DIALOGID+16)
  3361. {
  3362. if(response)
  3363. {
  3364. switch(listitem)
  3365. {
  3366. case 0:
  3367. {
  3368. new query[128], Cache:vehs;
  3369. SetPVarInt(playerid, "xvKeysPage", 0);
  3370. mysql_format(mysqlB, query, sizeof(query), "SELECT ID FROM xVehicle ORDER BY ID ASC LIMIT %d, 15", GetPVarInt(playerid, "xvKeysPage")*15);
  3371. vehs = mysql_query(mysqlB, query);
  3372. new rows = cache_num_rows();
  3373. if(rows)
  3374. {
  3375. new list[512], v_id;
  3376. format(list, sizeof(list), "Vehicle ID\tPlate Number\tVehicle Name\n");
  3377. for(new i; i < rows; ++i)
  3378. {
  3379. cache_get_value_name_int(i, "ID", v_id);
  3380. format(list, sizeof(list), "%s%d\t%s\t%s\n", list, v_id, xVehicle[v_id][xv_Plaka], GetVehicleNameFromModel(xVehicle[v_id][xv_ModelID]));
  3381. }
  3382. format(list, sizeof(list), "%s{F4D00B}<< Previous Page\n{F4D00B}>> Next Page", list);
  3383. ShowPlayerDialog(playerid, XV_DIALOGID+17, DIALOG_STYLE_TABLIST_HEADERS, "Vehicle List (Page 1)", list, "Select", "Back");
  3384. }
  3385. else
  3386. {
  3387. SendClientMessage(playerid, 0xE74C3CFF, "{FF0000}[!] {DCDC22}No vehicles has been created.");
  3388. }
  3389. cache_delete(vehs);
  3390. }
  3391. case 1:
  3392. {
  3393. new str[128];
  3394. foreach(new i : xVehicles) if(!xVehicle[i][xv_Garajda]) SetVehicleToRespawn(xVehicle[i][xv_Veh]);
  3395. SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}All vehicles has respawned!");
  3396. format(str, sizeof(str), "{00BD00}[!] Admin {ECEC13}%s {FFFB93}has respawned all vehicles!", Isim(playerid));
  3397. SendClientMessageToAll(-1, str);
  3398. }
  3399. case 2:
  3400. {
  3401. ShowPlayerDialog(playerid, XV_DIALOGID+22, DIALOG_STYLE_INPUT, "Create Vehicle", "{FFFB93}Enter the model ID or the name of the vehicle:", "Next", "Back");
  3402. }
  3403. }
  3404. }
  3405. }
  3406.  
  3407. if(dialogid == XV_DIALOGID+17)
  3408. {
  3409. if(response)
  3410. {
  3411. if(!xStrcmp(inputtext, "<< Previous Page"))
  3412. {
  3413. SetPVarInt(playerid, "xvKeysPage", GetPVarInt(playerid, "xvKeysPage")-1);
  3414. if(GetPVarInt(playerid, "xvKeysPage") < 0)
  3415. {
  3416. SetPVarInt(playerid, "xvKeysPage", 0);
  3417. cmd_amenu(playerid, "");
  3418. return 1;
  3419. }
  3420.  
  3421. new query[128], Cache:vehs;
  3422. mysql_format(mysqlB, query, sizeof(query), "SELECT ID FROM xVehicle ORDER BY ID ASC LIMIT %d, 15", GetPVarInt(playerid, "xvKeysPage")*15);
  3423. vehs = mysql_query(mysqlB, query);
  3424. new rows = cache_num_rows();
  3425. if(rows)
  3426. {
  3427. new list[512], v_id;
  3428. format(list, sizeof(list), "Vehicle ID\tPlate Number\tVehicle Name\n");
  3429. for(new i; i < rows; ++i)
  3430. {
  3431. cache_get_value_name_int(i, "ID", v_id);
  3432. format(list, sizeof(list), "%s%d\t%s\t%s\n", list, v_id, xVehicle[v_id][xv_Plaka], GetVehicleNameFromModel(xVehicle[v_id][xv_ModelID]));
  3433. }
  3434. format(list, sizeof(list), "%s{F4D00B}<< Previous Page\n{F4D00B}>> Next Page", list);
  3435. new head[32];
  3436. format(head, sizeof(head), "Vehicle List (Page %d)", GetPVarInt(playerid, "xvKeysPage")+1);
  3437. ShowPlayerDialog(playerid, XV_DIALOGID+17, DIALOG_STYLE_TABLIST_HEADERS, head, list, "Select", "Back");
  3438. }
  3439. else
  3440. {
  3441. SetPVarInt(playerid, "xvKeysPage", 0);
  3442. }
  3443. cache_delete(vehs);
  3444. }
  3445. else if(!xStrcmp(inputtext, ">> Next Page"))
  3446. {
  3447. SetPVarInt(playerid, "xvKeysPage", GetPVarInt(playerid, "xvKeysPage")+1);
  3448.  
  3449. new query[128], Cache:vehs;
  3450. mysql_format(mysqlB, query, sizeof(query), "SELECT ID FROM xVehicle ORDER BY ID ASC LIMIT %d, 15", GetPVarInt(playerid, "xvKeysPage")*15);
  3451. vehs = mysql_query(mysqlB, query);
  3452. new rows = cache_num_rows();
  3453. if(rows)
  3454. {
  3455. new list[512], v_id;
  3456. format(list, sizeof(list), "Vehicle ID\tPlate Number\tVehicle Name\n");
  3457. for(new i; i < rows; ++i)
  3458. {
  3459. cache_get_value_name_int(i, "ID", v_id);
  3460. format(list, sizeof(list), "%s%d\t%s\t%s\n", list, v_id, xVehicle[v_id][xv_Plaka], GetVehicleNameFromModel(xVehicle[v_id][xv_ModelID]));
  3461. }
  3462. format(list, sizeof(list), "%s{F4D00B}<< Previous Page\n{F4D00B}>> Next Page", list);
  3463. new head[32];
  3464. format(head, sizeof(head), "Vehicle List (Page %d)", GetPVarInt(playerid, "xvKeysPage")+1);
  3465. ShowPlayerDialog(playerid, XV_DIALOGID+17, DIALOG_STYLE_TABLIST_HEADERS, head, list, "Select", "Back");
  3466. }
  3467. else
  3468. {
  3469. SetPVarInt(playerid, "xvKeysPage", GetPVarInt(playerid, "xvKeysPage") - 1);
  3470. mysql_format(mysqlB, query, sizeof(query), "SELECT ID FROM xVehicle ORDER BY ID ASC LIMIT %d, 15", GetPVarInt(playerid, "xvKeysPage")*15);
  3471. vehs = mysql_query(mysqlB, query);
  3472. rows = cache_num_rows();
  3473. if(rows)
  3474. {
  3475. new list[512], v_id;
  3476. format(list, sizeof(list), "Vehicle ID\tPlate Number\tVehicle Name\n");
  3477. for(new i; i < rows; ++i)
  3478. {
  3479. cache_get_value_name_int(i, "ID", v_id);
  3480. format(list, sizeof(list), "%s%d\t%s\t%s\n", list, v_id, xVehicle[v_id][xv_Plaka], GetVehicleNameFromModel(xVehicle[v_id][xv_ModelID]));
  3481. }
  3482. format(list, sizeof(list), "%s{F4D00B}<< Previous Page\n{F4D00B}>> Next Page", list);
  3483. new head[32];
  3484. format(head, sizeof(head), "Vehicle List (Page %d)", GetPVarInt(playerid, "xvKeysPage")+1);
  3485. ShowPlayerDialog(playerid, XV_DIALOGID+17, DIALOG_STYLE_TABLIST_HEADERS, head, list, "Select", "Back");
  3486. }
  3487. SendClientMessage(playerid, 0xE74C3CFF, "There is no more vehicle! You are at the last page.");
  3488. }
  3489. cache_delete(vehs);
  3490. }
  3491. else
  3492. {
  3493. new tm[2][8];
  3494. split(inputtext, tm, '\t');
  3495. SetPVarInt(playerid, "adm_sl_id", strval(tm[0]));
  3496. ShowPlayerDialog(playerid, XV_DIALOGID+18, DIALOG_STYLE_LIST, "xVehicle Admin Menu", "{ECCB13}» {FFFFFF}View Vehicle Info\n{ECCB13}» {FFFFFF}Get the Vehicle Here\n{ECCB13}» {FFFFFF}Respawn Vehicle\n{ECCB13}» {FFFFFF}Change Vehicle's Price\n{ECCB13}» {FFFFFF}Remove Vehicle Owner\n{ECCB13}» {FFFFFF}Remove Vehicle", "Select", "Back");
  3497. }
  3498. } else cmd_amenu(playerid, "");
  3499. }
  3500.  
  3501. if(dialogid == XV_DIALOGID+18)
  3502. {
  3503. if(response)
  3504. {
  3505. new xid = GetPVarInt(playerid, "adm_sl_id");
  3506. if(xid == 0 || !Iter_Contains(xVehicles, xid)) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3507. switch(listitem)
  3508. {
  3509. case 0: // araç bilgileri
  3510. {
  3511. new str[256], sahip[24];
  3512. if(!strlen(xVehicle[xid][xv_Sahip])) format(sahip, sizeof(sahip), "-For Sale-");
  3513. else format(sahip, sizeof(sahip), "%s", xVehicle[xid][xv_Sahip]);
  3514. format(str, sizeof(str), "{FFFFFF}----------[ Vehicle Information ]----------\n\n{F0AE0F}-» {ECE913}Owner: {FFFFFF}%s\n{F0AE0F}-» {ECE913}Vehicle Name: {FFFFFF}%s\n{F0AE0F}-» {ECE913}Plate Number: {FFFFFF}%s\n{F0AE0F}-» {ECE913}State: %s", sahip, GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], (xVehicle[xid][xv_Garajda]) ? ("{F0CE0F}In The Garage") : ("{8FE01F}On The Map"));
  3515. ShowPlayerDialog(playerid, XV_DIALOGID+19, DIALOG_STYLE_MSGBOX, "Vehicle Info", str, "Back", "");
  3516. }
  3517. case 1: // aracý çek
  3518. {
  3519. GetPlayerPos(playerid, xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], xVehicle[xid][xv_Pos][2]);
  3520. GetPlayerFacingAngle(playerid, xVehicle[xid][xv_Pos][3]);
  3521. xVehicle[xid][xv_Pos][0] += 1;
  3522. xVehicle[xid][xv_Pos][1] += 1;
  3523. if(xVehicle[xid][xv_Garajda])
  3524. {
  3525. xVehicle[xid][xv_Veh] = CreateVehicle(xVehicle[xid][xv_ModelID], xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], xVehicle[xid][xv_Pos][2], xVehicle[xid][xv_Pos][3], xVehicle[xid][xv_Renk][0], xVehicle[xid][xv_Renk][1], -1);
  3526. xVeh[xVehicle[xid][xv_Veh]] = xid;
  3527. SetVehicleNumberPlate(xVehicle[xid][xv_Veh], xVehicle[xid][xv_Plaka]);
  3528. SetVehicleToRespawn(xVehicle[xid][xv_Veh]);
  3529. xVehicle[xid][xv_Garajda] = 0;
  3530. }
  3531. else
  3532. {
  3533. SetVehiclePos(xVehicle[xid][xv_Veh], xVehicle[xid][xv_Pos][0], xVehicle[xid][xv_Pos][1], xVehicle[xid][xv_Pos][2]);
  3534. SetVehicleZAngle(xVehicle[xid][xv_Veh], xVehicle[xid][xv_Pos][3]);
  3535. }
  3536. DeletePVar(playerid, "adm_sl_id");
  3537. new str[128];
  3538. format(str, sizeof(str), "You have teleported the {ECEC13}%s {FFFB93}with {ECEC13}%s {FFFB93}plate number, to you! {ECB021}(ID: %d)", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], xid);
  3539. SendClientMessage(playerid, -1, str);
  3540. }
  3541. case 2: // yenile
  3542. {
  3543. if(xVehicle[xid][xv_Garajda]) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}You can not respawn the vehicle in garage!");
  3544. SetVehicleToRespawn(xVehicle[xid][xv_Veh]);
  3545. SendClientMessage(playerid, -1, "{00BD00}[!] {00FF00}You have respawned the vehicle!");
  3546. }
  3547. case 3: // fiyatýný deðiþtir
  3548. {
  3549. new str[128];
  3550. format(str, sizeof(str), "{FFFB93}Vehicle's current price: {ECEC13}$%d\n\n{FFFB93}Enter the value you want to change:", xVehicle[xid][xv_Fiyat]);
  3551. ShowPlayerDialog(playerid, XV_DIALOGID+26, DIALOG_STYLE_INPUT, "Change the Price", str, "OK", "Back");
  3552. }
  3553. case 4: // araç sahibini sil
  3554. {
  3555. new str[256];
  3556. format(str, sizeof(str), "{FFFB93}Are you sure that you want to remove the owner of {ECEC13}%s {FFFB93}with {ECEC13}%s {FFFB93}plate number? {ECB021}(ID: %d)\n{AAAAAA}(The vehicle will be put on sale and the vehicle's keys will be removed from the key owners.)", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], xid);
  3557. ShowPlayerDialog(playerid, XV_DIALOGID+20, DIALOG_STYLE_MSGBOX, "Remove Vehicle Owner", str, "Confirm", "Back");
  3558. }
  3559. case 5: // aracý sil
  3560. {
  3561. new str[256];
  3562. format(str, sizeof(str), "{FFFB93}Are you sure that you want to remove the vehicle {ECEC13}%s {FFFB93}with {ECEC13}%s {FFFB93}plate number? {ECB021}(ID: %d)", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], xid);
  3563. ShowPlayerDialog(playerid, XV_DIALOGID+21, DIALOG_STYLE_MSGBOX, "Remove Vehicle", str, "Confirm", "Back");
  3564. }
  3565. }
  3566. }
  3567. else
  3568. {
  3569. DeletePVar(playerid, "adm_sl_id");
  3570. cmd_amenu(playerid, "");
  3571. }
  3572. }
  3573.  
  3574. if(dialogid == XV_DIALOGID+19) ShowPlayerDialog(playerid, XV_DIALOGID+18, DIALOG_STYLE_LIST, "xVehicle Admin Menu", "{ECCB13}» {FFFFFF}View Vehicle Info\n{ECCB13}» {FFFFFF}Get the Vehicle Here\n{ECCB13}» {FFFFFF}Respawn Vehicle\n{ECCB13}» {FFFFFF}Change Vehicle's Price\n{ECCB13}» {FFFFFF}Remove Vehicle Owner\n{ECCB13}» {FFFFFF}Remove Vehicle", "Select", "Back");
  3575.  
  3576. if(dialogid == XV_DIALOGID+20)
  3577. {
  3578. if(response)
  3579. {
  3580. new xid = GetPVarInt(playerid, "adm_sl_id");
  3581. if(xid == 0 || !Iter_Contains(xVehicles, xid)) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3582. if(!strlen(xVehicle[xid][xv_Sahip])) return ShowPlayerDialog(playerid, XV_DIALOGID+19, DIALOG_STYLE_MSGBOX, "Remove Vehicle Owner", "{FF0000}[!] {DCDC22}This vehicle has no owner!", "Back", "");
  3583. format(xVehicle[xid][xv_Sahip], 24, "");
  3584. foreach(new i : Player)
  3585. {
  3586. if(IsPlayerInVehicle(i, xVehicle[xid][xv_Veh]))
  3587. {
  3588. SendClientMessage(i, -1, "{FF0000}[!] {DCDC22}You have removed from the vehicle because of the admin has removed the owner of this vehicle.");
  3589. RemovePlayerFromVehicle(i);
  3590. }
  3591. if(Iter_Contains(xVehicleKeys<i>, xid)) Iter_Remove(xVehicleKeys<i>, xid);
  3592. }
  3593. new str[150];
  3594. mysql_format(mysqlB, str, sizeof(str), "DELETE FROM xVehicleKeys WHERE AracID=%d", xid);
  3595. mysql_query(mysqlB, str);
  3596. SavexVehicle(xid);
  3597. format(str, sizeof(str), "{00FF00}Kendaraan ini dijual!\n{FFA500}Nama mobil: {FFFFFF}%s\n{FFA500}Plate mobil: {FFFFFF}%s\n{FFA500}Harga: {00FF00}$%d", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], xVehicle[xid][xv_Fiyat]);
  3598. xVehicle[xid][xv_Text] = Create3DTextLabel(str, 0x008080FF, 0.0, 0.0, 0.0, 50.0, 0);
  3599. Attach3DTextLabelToVehicle(xVehicle[xid][xv_Text], xVehicle[xid][xv_Veh], 0.0, 0.0, 1.0);
  3600. DeletePVar(playerid, "adm_sl_id");
  3601. format(str, sizeof(str), "{FFFB93}You have removed the owner of the vehicle ID: {ECB021}%d", xid);
  3602. SendClientMessage(playerid, -1, str);
  3603. } else ShowPlayerDialog(playerid, XV_DIALOGID+18, DIALOG_STYLE_LIST, "xVehicle Admin Menu", "{ECCB13}» {FFFFFF}View Vehicle Info\n{ECCB13}» {FFFFFF}Get the Vehicle Here\n{ECCB13}» {FFFFFF}Respawn Vehicle\n{ECCB13}» {FFFFFF}Change Vehicle's Price\n{ECCB13}» {FFFFFF}Remove Vehicle Owner\n{ECCB13}» {FFFFFF}Remove Vehicle", "Select", "Back");
  3604. }
  3605.  
  3606. if(dialogid == XV_DIALOGID+21)
  3607. {
  3608. if(response)
  3609. {
  3610. new xid = GetPVarInt(playerid, "adm_sl_id");
  3611. if(xid == 0 || !Iter_Contains(xVehicles, xid)) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3612. DestroyVehicle(xVehicle[xid][xv_Veh]);
  3613. Iter_Remove(xVehicles, xid);
  3614. DeletePVar(playerid, "adm_sl_id");
  3615. foreach(new i : Player)
  3616. {
  3617. if(Iter_Contains(xVehicleKeys<i>, xid)) Iter_Remove(xVehicleKeys<i>, xid);
  3618. }
  3619. new query[128];
  3620. mysql_format(mysqlB, query, sizeof(query), "DELETE FROM xVehicleKeys WHERE AracID=%d", xid);
  3621. mysql_query(mysqlB, query);
  3622. mysql_format(mysqlB, query, sizeof(query), "DELETE FROM xVehicle WHERE ID=%d", xid);
  3623. mysql_query(mysqlB, query);
  3624. format(query, sizeof(query), "{FFFB93}You have removed the vehicle ID:{ECB021}%d", xid);
  3625. SendClientMessage(playerid, -1, query);
  3626. } else ShowPlayerDialog(playerid, XV_DIALOGID+18, DIALOG_STYLE_LIST, "xVehicle Admin Menu", "{ECCB13}» {FFFFFF}View Vehicle Info\n{ECCB13}» {FFFFFF}Get the Vehicle Here\n{ECCB13}» {FFFFFF}Respawn Vehicle\n{ECCB13}» {FFFFFF}Change Vehicle's Price\n{ECCB13}» {FFFFFF}Remove Vehicle Owner\n{ECCB13}» {FFFFFF}Remove Vehicle", "Select", "Back");
  3627. }
  3628.  
  3629. if(dialogid == XV_DIALOGID+22)
  3630. {
  3631. if(response)
  3632. {
  3633. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, XV_DIALOGID+22, DIALOG_STYLE_INPUT, "Create Vehicle", "{FF0000}[!] {F0AE0F}You wrote nothing!\n\n{FFFB93}Enter the model ID or the name of the vehicle:", "Next", "Back");
  3634. new veh;
  3635. if(!isNumeric(inputtext)) veh = GetVehicleModelIDFromName(inputtext); else veh = strval(inputtext);
  3636. if(veh < 400 || veh > 611) return ShowPlayerDialog(playerid, XV_DIALOGID+22, DIALOG_STYLE_INPUT, "Create Vehicle", "{FF0000}[!] {F0AE0F}Invalid vehicle name or ID!\n\n{FFFB93}Enter the model ID or the name of the vehicle:", "Next", "Back");
  3637. SetPVarInt(playerid, "xv_ao_model", veh);
  3638. new str[192];
  3639. format(str, sizeof(str), "{00BD00}[!] {00FF00}Selected model: {ECEC13}%s {ECB021}(%d)\n\n{FFFB93}Enter the color 1 of the vehicle:\n{AAAAAA}(Between 0-255)", GetVehicleNameFromModel(GetPVarInt(playerid, "xv_ao_model")), GetPVarInt(playerid, "xv_ao_model"));
  3640. ShowPlayerDialog(playerid, XV_DIALOGID+23, DIALOG_STYLE_INPUT, "Create Vehicle - Color", str, "Next", "Back");
  3641. } else cmd_amenu(playerid, "");
  3642. }
  3643.  
  3644. if(dialogid == XV_DIALOGID+23)
  3645. {
  3646. if(response)
  3647. {
  3648. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, XV_DIALOGID+23, DIALOG_STYLE_INPUT, "Create Vehicle - Color", "{FF0000}[!] {F0AE0F}You wrote nothing!\n\n{FFFB93}Enter the color 1 of the vehicle:\n{AAAAAA}(Between 0-255)", "Next", "Back");
  3649. if(!isNumeric(inputtext))return ShowPlayerDialog(playerid, XV_DIALOGID+23, DIALOG_STYLE_INPUT, "Create Vehicle - Color", "{FF0000}[!] {F0AE0F}Only use numbers!\n\n{FFFB93}Enter the color 1 of the vehicle:\n{AAAAAA}(Between 0-255)", "Next", "Back");
  3650. if(strval(inputtext) < 0 || strval(inputtext) > 255) return ShowPlayerDialog(playerid, XV_DIALOGID+23, DIALOG_STYLE_INPUT, "Create Vehicle - Color", "{FF0000}[!] {F0AE0F}You must enter a value between 0 - 255!\n\n{FFFB93}Enter the color 1 of the vehicle:\n{AAAAAA}(Between 0-255)", "Next", "Back");
  3651. SetPVarInt(playerid, "xv_ao_col1", strval(inputtext));
  3652. new str[128];
  3653. format(str, sizeof(str), "{00BD00}[!] {00FF00}Selected color 1: {ECEC13}%d\n\n{FFFB93}Enter the color 2 of the vehicle:\n{AAAAAA}(Between 0-255)", GetPVarInt(playerid, "xv_ao_col1"));
  3654. ShowPlayerDialog(playerid, XV_DIALOGID+24, DIALOG_STYLE_INPUT, "Create Vehicle - Color", str, "Next", "Back");
  3655. } else DeletePVar(playerid, "xv_ao_model"), ShowPlayerDialog(playerid, XV_DIALOGID+22, DIALOG_STYLE_INPUT, "Create Vehicle", "{FFFB93}Enter the model ID or the name of the vehicle:", "Next", "Back");
  3656. }
  3657.  
  3658. if(dialogid == XV_DIALOGID+24)
  3659. {
  3660. if(response)
  3661. {
  3662. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, XV_DIALOGID+24, DIALOG_STYLE_INPUT, "Create Vehicle - Color", "{FF0000}[!] {F0AE0F}You wrote nothing!\n\n{FFFB93}Enter the color 2 of the vehicle:\n{AAAAAA}(Between 0-255)", "Next", "Back");
  3663. if(!isNumeric(inputtext))return ShowPlayerDialog(playerid, XV_DIALOGID+24, DIALOG_STYLE_INPUT, "Create Vehicle - Color", "{FF0000}[!] {F0AE0F}Only use numbers!\n\n{FFFB93}Enter the color 2 of the vehicle:\n{AAAAAA}(Between 0-255)", "Next", "Back");
  3664. if(strval(inputtext) < 0 || strval(inputtext) > 255) return ShowPlayerDialog(playerid, XV_DIALOGID+24, DIALOG_STYLE_INPUT, "Create Vehicle - Color", "{FF0000}[!] {F0AE0F}You must enter a value between 0 - 255!\n\n{FFFB93}Enter the color 2 of the vehicle:\n{AAAAAA}(Between 0-255)", "Next", "Back");
  3665. SetPVarInt(playerid, "xv_ao_col2", strval(inputtext));
  3666. new str[128];
  3667. format(str, sizeof(str), "{00BD00}[!] {00FF00}Selected color 2: {ECEC13}%d\n\n{FFFB93}Enter the price of the vehicle:", GetPVarInt(playerid, "xv_ao_col2"));
  3668. ShowPlayerDialog(playerid, XV_DIALOGID+25, DIALOG_STYLE_INPUT, "Create Vehicle - Price", str, "Create", "Back");
  3669. }
  3670. else
  3671. {
  3672. DeletePVar(playerid, "xv_ao_col1");
  3673. new str[192];
  3674. format(str, sizeof(str), "{00BD00}[!] {00FF00}Selected model: {ECEC13}%s {ECB021}(%d)\n\n{FFFB93}Enter the color 1 of the vehicle:\n{AAAAAA}(Between 0-255)", GetVehicleNameFromModel(GetPVarInt(playerid, "xv_ao_model")), GetPVarInt(playerid, "xv_ao_model"));
  3675. ShowPlayerDialog(playerid, XV_DIALOGID+23, DIALOG_STYLE_INPUT, "Create Vehicle - Color", str, "Next", "Back");
  3676. }
  3677. }
  3678.  
  3679. if(dialogid == XV_DIALOGID+25)
  3680. {
  3681. if(response)
  3682. {
  3683. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, XV_DIALOGID+25, DIALOG_STYLE_INPUT, "Create Vehicle - Price", "{FF0000}[!] {F0AE0F}You wrote nothing!\n\n{FFFB93}Enter the price of the vehicle:", "Create", "Back");
  3684. if(!isNumeric(inputtext))return ShowPlayerDialog(playerid, XV_DIALOGID+25, DIALOG_STYLE_INPUT, "Create Vehicle - Price", "{FF0000}[!] {F0AE0F}Only use numbers!\n\n{FFFB93}Enter the price of the vehicle:", "Create", "Back");
  3685. if(strval(inputtext) < 0) return ShowPlayerDialog(playerid, XV_DIALOGID+25, DIALOG_STYLE_INPUT, "Create Vehicle - Price", "{FF0000}[!] {F0AE0F}Only use positive numbers!\n\n{FFFB93}Enter the price of the vehicle:", "Create", "Back");
  3686. new tmp_var[3], Float:ppos[4], veh, xid;
  3687. tmp_var[0] = GetPVarInt(playerid, "xv_ao_model");
  3688. tmp_var[1] = GetPVarInt(playerid, "xv_ao_col1");
  3689. tmp_var[2] = GetPVarInt(playerid, "xv_ao_col2");
  3690. GetPlayerPos(playerid, ppos[0], ppos[1], ppos[2]);
  3691. GetPlayerFacingAngle(playerid, ppos[3]);
  3692. veh = CreatexVehicle(tmp_var[0], "", strval(inputtext), ppos[0], ppos[1], ppos[2], ppos[3], tmp_var[1], tmp_var[2]);
  3693. xid = xVeh[veh];
  3694. PutPlayerInVehicle(playerid, veh, 0);
  3695. new str[256];
  3696. SendClientMessage(playerid, -1, "------------------------------------------------------------------------------------------------------------");
  3697. format(str, sizeof(str), "{00FF00}[!] Vehicle {ECEC13}%s {ECB021}(%d) {FFFB93}has been created with the colors {ECEC13}%d, %d", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_ModelID], xVehicle[xid][xv_Renk][0], xVehicle[xid][xv_Renk][1]);
  3698. SendClientMessage(playerid, -1, str);
  3699. format(str, sizeof(str), "{FFFB93}Plate number: {ECEC13}%s, {FFFB93}Vehicle ID: {ECB021}%d, {FFFB93}Price: {ECB021}$%d", xVehicle[xid][xv_Plaka], xid, xVehicle[xid][xv_Fiyat]);
  3700. SendClientMessage(playerid, -1, str);
  3701. SendClientMessage(playerid, -1, "{FFFB93}To change the location of the vehicle, get into vehicle, go wherever you want and type {ECEC13}/park");
  3702. SendClientMessage(playerid, -1, "------------------------------------------------------------------------------------------------------------");
  3703. DeletePVar(playerid, "xv_ao_model");
  3704. DeletePVar(playerid, "xv_ao_col1");
  3705. DeletePVar(playerid, "xv_ao_col2");
  3706. }
  3707. else
  3708. {
  3709. DeletePVar(playerid, "xv_ao_col2");
  3710. new str[128];
  3711. format(str, sizeof(str), "{00BD00}[!] {00FF00}Selected color 1: {ECEC13}%d\n\n{FFFB93}Enter the color 2 of the vehicle:\n{AAAAAA}(Between 0-255)", GetPVarInt(playerid, "xv_ao_col1"));
  3712. ShowPlayerDialog(playerid, XV_DIALOGID+24, DIALOG_STYLE_INPUT, "Create Vehicle - Color", str, "Next", "Back");
  3713. }
  3714. }
  3715.  
  3716. if(dialogid == XV_DIALOGID+26)
  3717. {
  3718. if(response)
  3719. {
  3720. new xid = GetPVarInt(playerid, "adm_sl_id");
  3721. if(xid == 0 || !Iter_Contains(xVehicles, xid)) return SendClientMessage(playerid, -1, "{FF0000}[!] {F0AE0F}Couldn't find the vehicle!");
  3722. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, XV_DIALOGID+26, DIALOG_STYLE_INPUT, "Change the Price", "{FF0000}[!] {F0AE0F}HYou wrote nothing!\n\n{FFFB93}Enter the value you want to change:", "OK", "Back");
  3723. if(!isNumeric(inputtext)) return ShowPlayerDialog(playerid, XV_DIALOGID+26, DIALOG_STYLE_INPUT, "Change the Price", "{FF0000}[!] {F0AE0F}Only use numbers!\n\n{FFFB93}Enter the value you want to change:", "OK", "Back");
  3724. if(strval(inputtext) < 0) return ShowPlayerDialog(playerid, XV_DIALOGID+26, DIALOG_STYLE_INPUT, "Change the Price", "{FF0000}[!] {F0AE0F}Only use positive numbers!\n\n{FFFB93}Enter the value you want to change:", "OK", "Back");
  3725. xVehicle[xid][xv_Fiyat] = strval(inputtext);
  3726. new str[150];
  3727. if(!strlen(xVehicle[xid][xv_Sahip]))
  3728. {
  3729. Delete3DTextLabel(xVehicle[xid][xv_Text]);
  3730. format(str, sizeof(str), "{00FF00}This Vehicle Is For Sale!\n{FFA500}Vehicle Name: {FFFFFF}%s\n{FFA500}Plate Number: {FFFFFF}%s\n{FFA500}Price: {00FF00}$%d", GetVehicleNameFromModel(xVehicle[xid][xv_ModelID]), xVehicle[xid][xv_Plaka], xVehicle[xid][xv_Fiyat]);
  3731. xVehicle[xid][xv_Text] = Create3DTextLabel(str, 0x008080FF, 0.0, 0.0, 0.0, 50.0, 0);
  3732. Attach3DTextLabelToVehicle(xVehicle[xid][xv_Text], xVehicle[xid][xv_Veh], 0.0, 0.0, 1.0);
  3733. }
  3734. SavexVehicle(xid);
  3735. format(str, sizeof(str), "{00BD00}[!] {00FF00}You have changed the price to {ECEC13}$%d!", xVehicle[xid][xv_Fiyat]);
  3736. SendClientMessage(playerid, -1, str);
  3737. }
  3738. ShowPlayerDialog(playerid, XV_DIALOGID+18, DIALOG_STYLE_LIST, "xVehicle Admin Menu", "{ECCB13}» {FFFFFF}View Vehicle Info\n{ECCB13}» {FFFFFF}Get the Vehicle Here\n{ECCB13}» {FFFFFF}Respawn Vehicle\n{ECCB13}» {FFFFFF}Change Vehicle's Price\n{ECCB13}» {FFFFFF}Remove Vehicle Owner\n{ECCB13}» {FFFFFF}Remove Vehicle", "Select", "Back");
  3739. }
  3740. return 1;
  3741. }
  3742.  
  3743. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  3744. {
  3745. return 1;
  3746. }
  3747.  
  3748. public OnPlayerCommandPerformed( playerid, cmdtext[ ], success )
  3749. {
  3750. if( success == 0 )
  3751. return SendClientMessage(playerid, -1, "Unknown command, please check /help for the list of commands." );
  3752. return 1;
  3753. }
  3754. forward SaveIn(filename[],text[]);
  3755. public SaveIn(filename[],text[]) //Credits to Luxirion - Recover from RomAdmin
  3756. {
  3757. new File:file;
  3758. new filepath[256];
  3759. new string[256];
  3760. new year, month, day;
  3761. new hour, minute, second;
  3762.  
  3763. getdate(year, month, day);
  3764. gettime(hour, minute, second);
  3765. format(filepath, sizeof(filepath), "JCNRLogs/%s", filename);
  3766. file = fopen(filepath, io_append);
  3767. format(string, sizeof(string),"[%02d/%02d/%02d | %02d:%02d:%02d] %s\r\n", day, month, year, hour, minute, second, text);
  3768. fwrite(file, string);
  3769. fclose(file);
  3770. return 1;
  3771. }
  3772.  
  3773. forward KickPlayer(playerid);
  3774. public KickPlayer(playerid)
  3775. {
  3776. return Kick(playerid);
  3777. }
  3778.  
  3779. forward KickAll();
  3780. public KickAll()
  3781. {
  3782. foreach(new i: Player)
  3783. {
  3784. if(!IsPlayerWAdmin(i))
  3785. {
  3786. Kick(i);
  3787. }
  3788. }
  3789. }
  3790.  
  3791. forward OnDuty(playerid);
  3792. public OnDuty(playerid)
  3793. {
  3794. Duting[playerid] = 1;
  3795. SetPlayerHealth(playerid,9999999.0);
  3796. DutyWeapon[playerid][0] = GivePlayerWeapon(playerid,24,99999);
  3797. DutyWeapon[playerid][1] = GivePlayerWeapon(playerid,27,99999);
  3798. DutyWeapon[playerid][2] = GivePlayerWeapon(playerid,32,99999);
  3799. DutyWeapon[playerid][3] = GivePlayerWeapon(playerid,32,99999);
  3800. DutyWeapon[playerid][4] = GivePlayerWeapon(playerid,34,99999);
  3801. DutyWeapon[playerid][5] = GivePlayerWeapon(playerid,37,99999);
  3802. DutyWeapon[playerid][6] = GivePlayerWeapon(playerid,38,99999);
  3803. return 1;
  3804. }
  3805.  
  3806. forward OffDuty(playerid);
  3807. public OffDuty(playerid)
  3808. {
  3809. Duting[playerid] = 0;
  3810. SetPlayerHealth(playerid,100);
  3811. RemovePlayerWeapon(playerid,DutyWeapon[playerid][0]);
  3812. RemovePlayerWeapon(playerid,DutyWeapon[playerid][1]);
  3813. RemovePlayerWeapon(playerid,DutyWeapon[playerid][2]);
  3814. RemovePlayerWeapon(playerid,DutyWeapon[playerid][3]);
  3815. RemovePlayerWeapon(playerid,DutyWeapon[playerid][4]);
  3816. RemovePlayerWeapon(playerid,DutyWeapon[playerid][5]);
  3817. RemovePlayerWeapon(playerid,DutyWeapon[playerid][6]);
  3818. return 1;
  3819. }
  3820.  
  3821. public Count()
  3822. {
  3823. if(!iscountactivated){KillTimer(CountTimer);}
  3824. else
  3825. {
  3826. new string[4];
  3827. format(string,sizeof(string),"%i",countamount);
  3828. GameTextForAll(string,1000,3);
  3829. countamount--;
  3830. if(countamount == -1) {iscountactivated = 0, GameTextForAll("~g~~h~Go!",1000,3);}
  3831. }
  3832. return 1;
  3833. }
  3834.  
  3835. public ReportedLoop()
  3836. {
  3837. for (new i = 0; i < MAX_PLAYERS; i += 1)
  3838. {
  3839. if (reported[i] > 0) reported[i] -= 1;
  3840. }
  3841. return 1;
  3842. }
  3843.  
  3844. stock GetName(playerid)
  3845. {
  3846. new PlayerName[MAX_PLAYER_NAME];
  3847. GetPlayerName(playerid,PlayerName,MAX_PLAYER_NAME);
  3848. return PlayerName;
  3849. }
  3850.  
  3851. stock CreateCarForAdmin(playerid,vehicleid,color1,color2)
  3852. {
  3853. new SpawnedVehicle[MAX_PLAYERS];
  3854. if(SpawnedVehicle[playerid] != 0)
  3855. {
  3856. DestroyVehicle(SpawnedVehicle[playerid]);
  3857. }
  3858. new Float:X, Float:Y, Float:Z, Float:Angle;
  3859. GetPlayerPos(playerid, Float:X, Float:Y, Float:Z);
  3860. GetPlayerFacingAngle(playerid, Float:Angle);
  3861. SpawnedVehicle[playerid] = CreateVehicle(vehicleid, X, Y, Z + 2.0, Angle, color1, color2, 600);
  3862. SetVehicleVirtualWorld(SpawnedVehicle[playerid], GetPlayerVirtualWorld(playerid));
  3863. LinkVehicleToInterior(SpawnedVehicle[playerid], GetPlayerInterior(playerid));
  3864. PutPlayerInVehicle(playerid, SpawnedVehicle[playerid], 0);
  3865. }
  3866.  
  3867. stock AcceptReport(playerid, reportid)
  3868. {
  3869. new
  3870. reporter = -1,
  3871. string[128];
  3872. for (new i = 0; i < MAX_PLAYERS; i += 1)
  3873. {
  3874. if (strcmp(ReportInfo[reportid][Reporter], GetName(i), false) == 0)
  3875. {
  3876. reporter = i;
  3877. break;
  3878. }
  3879. }
  3880. if (reporter != -1)
  3881. {
  3882. SendClientMessage(reporter, COLOR_YELLOW, "An administrator has accepted your report and it is now currently being resolved.");
  3883. format(string, sizeof(string), "You've accepted report #%d, reported by %s (ID: %d).", reportid, GetName(reporter), reporter);
  3884. SendClientMessage(playerid, COLOR_YELLOW, string);
  3885. SendClientMessage(playerid, COLOR_WHITE, "HINT: Use /closereport when you've resolved the report.");
  3886. AcceptingAdminID[reporter] = playerid;
  3887. PlayerThatReported[playerid] = reporter;
  3888. ReportInfo[reportid][ReportAnswered] = 1;
  3889. return 1;
  3890. }
  3891. else SendClientMessage(playerid, COLOR_GREY, "The reporter is currently offline.");
  3892. return 1;
  3893. }
  3894.  
  3895. stock DenyReport(playerid, reportid)
  3896. {
  3897. new
  3898. reporter = -1,
  3899. string[128];
  3900. for (new i = 0; i < MAX_PLAYERS; i += 1)
  3901. {
  3902. if (strcmp(ReportInfo[reportid][Reporter], GetName(i), false) == 0)
  3903. {
  3904. reporter = i;
  3905. break;
  3906. }
  3907. }
  3908. if (reporter != -1)
  3909. {
  3910. new weburl[128];
  3911. GetServerVarAsString("weburl", weburl, sizeof(weburl));
  3912.  
  3913. SendClientMessage(reporter, COLOR_YELLOW, "An administrator has denied your report, therefore it has not been resolved.");
  3914. format(string, sizeof(string), "If you think this is an issue, submit a complaint on our forums (%s).", weburl);
  3915. SendClientMessage(reporter, COLOR_YELLOW, string);
  3916. format(string, sizeof(string), "You've denied report #%d, reported by %s (ID: %d).", reportid, GetName(reporter), reporter);
  3917. SendClientMessage(playerid, COLOR_YELLOW, string);
  3918. AcceptingAdminID[reporter] = -1;
  3919. PlayerThatReported[playerid] = -1;
  3920.  
  3921. strmid(ReportInfo[reportid][Reporter], "", 0, strlen(""), 255);
  3922. strmid(ReportInfo[reportid][ReportString], "", 0, strlen(""), 255);
  3923. ReportInfo[reportid][ReportAnswered] = 0;
  3924. ReportInfo[reportid][Listitem][ReportInfo[reportid][Listitem]] = -1;
  3925. ReportIDTaken[reportid] = 0;
  3926. ReportCount -= 1;
  3927. DeletePVar(playerid, "ReportID");
  3928. ShuffleListitems();
  3929. return 1;
  3930. }
  3931. else SendClientMessage(playerid, COLOR_GREY, "The reporter is currently offline.");
  3932. return 1;
  3933. }
  3934.  
  3935. stock ShuffleListitems()
  3936. {
  3937. new l;
  3938. for (new i = 0; i < MAX_REPORTS + 1; i += 1)
  3939. {
  3940. if (ReportIDTaken[i])
  3941. {
  3942. ReportInfo[i][Listitem][l] = l;
  3943. l += 1;
  3944. }
  3945. }
  3946. return 1;
  3947. }
  3948.  
  3949. stock ListReports(playerid)
  3950. {
  3951. new l;
  3952. new s[149];
  3953. new str[128];
  3954. new string[MAX_REPORTS * 64];
  3955. if (ReportCount != 0)
  3956. {
  3957. for (new i = 0; i < MAX_REPORTS + 1; i += 1)
  3958. {
  3959. strmid(s, ReportInfo[i][ReportString], 0, strlen(ReportInfo[i][ReportString]), 255);
  3960. if (ReportIDTaken[i])
  3961. {
  3962. if (ReportInfo[i][ReportAnswered]) continue;
  3963. format(str, sizeof(str), "Report #%d by %s: %s\n", i, ReportInfo[i][Reporter], s);
  3964. strcat(string, str);
  3965. ReportInfo[i][Listitem][l] = 1;
  3966. l += 1;
  3967. }
  3968. }
  3969. ShowPlayerDialog(playerid, DIALOG_HREPORT, DIALOG_STYLE_LIST, "Reports", string, "Select", "Back");
  3970. }
  3971. else
  3972. {
  3973. SendClientMessage(playerid, COLOR_GREY, "There are no reports to be listed.");
  3974. ShowPlayerDialog(playerid, DIALOG_REPORTS, DIALOG_STYLE_LIST, "Reports", "List Reports\nDelete Reports", "Select", "Cancel");
  3975. }
  3976. return 1;
  3977. }
  3978.  
  3979. stock AddReport(playerid, report[])
  3980. {
  3981. if (IsPlayerConnected(playerid))
  3982. {
  3983. if (ReportCount >= MAX_REPORTS) return SendClientMessage(playerid, COLOR_GREY, "There are too many unresolved reports at the moment, try again later.");
  3984. if (strlen(report) < 3) return SendClientMessage(playerid, COLOR_GREY, "Your report must be more than 2 characters in length.");
  3985. new reportid = -1;
  3986. new string[176];
  3987. for (new i = 0; i < MAX_REPORTS + 1; i += 1)
  3988. {
  3989. if (!ReportIDTaken[i])
  3990. {
  3991. reportid = i;
  3992. break;
  3993. }
  3994. }
  3995. if (reportid != -1)
  3996. {
  3997. new weburl[128];
  3998. GetServerVarAsString("weburl", weburl, sizeof(weburl));
  3999.  
  4000. format(string, sizeof(string), "Report from %s (ID: %d): %s", GetName(playerid), playerid, report);
  4001. ReportBroadCast(YELLOW2, string);
  4002. SendClientMessage(playerid, COLOR_YELLOW, "You've just submitted a report. Your report will be reviewed by any online administrators.");
  4003. format(string, sizeof(string), "If your report is not resolved, you can always take it to our forums (%s)", weburl);
  4004. SendClientMessage(playerid, COLOR_YELLOW, string);
  4005. reported[playerid] = 10;
  4006.  
  4007. strmid(ReportInfo[reportid][Reporter], GetName(playerid), 0, strlen(GetName(playerid)), 255);
  4008. strmid(ReportInfo[reportid][ReportString], report, 0, strlen(report), 255);
  4009. ReportInfo[reportid][ReportAnswered] = 0;
  4010. ReportIDTaken[reportid] = 1;
  4011. ReportCount += 1;
  4012. return 1;
  4013. }
  4014. else return SendClientMessage(playerid,COLOR_GREY, "Your report could not be submitted.");
  4015. }
  4016. return 0;
  4017. }
  4018.  
  4019. stock StringBlank(string[])
  4020. {
  4021. if (strlen(string) <= 0) return 1;
  4022. return 0;
  4023. }
  4024.  
  4025. stock ReportBroadCast(color, const string[])
  4026. {
  4027. for (new i = 0; i < MAX_PLAYERS; i += 1)
  4028. {
  4029. if(pInfo[i][WazzAdmLevel] >= 1)
  4030. {
  4031. SendClientMessage(i, color, string);
  4032. }
  4033. }
  4034. return 1;
  4035. }
  4036.  
  4037. stock UsageMessage(playerid, msg[])
  4038. {
  4039. new
  4040. string[128];
  4041.  
  4042. format(string, sizeof(string), "{AFAFAF}USAGE:{FFFFFF} %s", msg);
  4043. return SendClientMessage(playerid, COLOR_WHITE, string);
  4044. }
  4045.  
  4046. stock IsPlayerWAdmin(playerid)
  4047. {
  4048. if(pInfo[playerid][WazzAdmLevel] >= 1)
  4049. return pInfo[playerid][WazzAdmLevel];
  4050. else
  4051. return 0;
  4052. }
  4053.  
  4054. stock WazBan(playerid)
  4055. {
  4056. new INI:File = INI_Open(UserPath(playerid));
  4057. INI_WriteInt(File,"Banned",1);
  4058. INI_Close(File);
  4059. SendClientMessage(playerid,COLOR_RED,"You has been banned from this server.");
  4060. Kick(playerid);
  4061. }
  4062.  
  4063. stock INI_Get(filename[],key[])
  4064. {
  4065. new File:F,string[128];
  4066. new sname[24],sval[24];
  4067. F = fopen(filename,io_read);
  4068. if(!F) return sname;
  4069. while(fread(F,string))
  4070. {
  4071. sscanf(string,"p<=>s[24]s[24]",sname,sval);
  4072. if(!strcmp(sname,key))
  4073. {
  4074. sval[strlen(sval)-2] = 0;
  4075. fclose(F);
  4076. return sval;
  4077. }
  4078. }
  4079. fclose(F);
  4080. sname[0] = '\0';
  4081. return sname;
  4082. }
  4083.  
  4084. forward FreePlayer(playerid);
  4085. public FreePlayer(playerid)
  4086. {
  4087. SendClientMessage(playerid,COLOR_RED,"You have been free! [REASON]: Run out of time!");
  4088. SpawnPlayer(playerid);
  4089. pInfo[playerid][Jailed] = 0;
  4090. return 1;
  4091. }
  4092.  
  4093. #if BOT_FEATURE == true
  4094. forward SendRandomMsgToAll();
  4095. public SendRandomMsgToAll()
  4096. {
  4097. new string[128];
  4098. switch(random(3))
  4099. {
  4100. case 0:
  4101. {
  4102. format(string,sizeof(string),""green"%s:"white" Hello i'm WazAdmin's Bot",BOT_NAME);
  4103. SendClientMessageToAll(COLOR_WHITE,string);
  4104. }
  4105. case 1:
  4106. {
  4107. format(string,sizeof(string),""green"%s:"white" WazzUp say thank you to you for using WazAdmin system",BOT_NAME);
  4108. SendClientMessageToAll(COLOR_WHITE,string);
  4109. }
  4110. case 2:
  4111. {
  4112. format(string,sizeof(string),""green"%s:"white" My Master is WazzUp",BOT_NAME);
  4113. SendClientMessageToAll(COLOR_WHITE,string);
  4114. }
  4115. }
  4116. }
  4117. #endif
  4118.  
  4119. xvMenuGoster(playerid)
  4120. {
  4121. new str[256], tmp[8], xid;
  4122. GetPVarString(playerid, "selected_veh_plate", tmp, 8);
  4123. xid = GetVehiclexIDFromPlate(tmp);
  4124. if(xid == 0) return 1;
  4125. format(str, sizeof(str), "{FFA500}» {FFFFFF} Where Is My Car?\n%s\n{FFA500}» {FFFFFF} Auto Park System\n{FFA500}» {%s} Vehicle Keys\n{FFA500}» {%s} Sell the Vehicle\n{FFA500}» {CACACA} Vehicle Info",
  4126. (xVehicle[xid][xv_Garajda]) ? (!xStrcmp(xVehicle[xid][xv_Sahip], Isim(playerid))) ? ("{FFA500}» {FFFFFF} Take Out Vehicle From Garage") : ("{FFA500}» {FF0000} Take Out Vehicle From Garage") : (!xStrcmp(xVehicle[xid][xv_Sahip], Isim(playerid))) ? ("{FFA500}» {FFFFFF} Put Vehicle In Garage") : ("{FFA500}» {FF0000} Put Vehicle In Garage"), (xStrcmp(xVehicle[xid][xv_Sahip], Isim(playerid))) ? ("FF0000") : ("FFFFFF"), (xStrcmp(xVehicle[xid][xv_Sahip], Isim(playerid))) ? ("FF0000") : ("FFFFFF"));
  4127. ShowPlayerDialog(playerid, XV_DIALOGID, DIALOG_STYLE_LIST, "Vehicle Menu", str, "Select", "Back");
  4128. return 1;
  4129. }
  4130.  
  4131. forward TeklifBitir(gonderen, alan);
  4132. public TeklifBitir(gonderen, alan)
  4133. {
  4134. SetPVarInt(alan, "xv_teklif_gonderen", INVALID_PLAYER_ID);
  4135. DeletePVar(alan, "xv_teklif_xid");
  4136. DeletePVar(alan, "xv_teklif_fiyat");
  4137. if(IsPlayerConnected(gonderen)) SetPVarInt(gonderen, "xv_teklif_id", INVALID_PLAYER_ID), SendClientMessage(gonderen, -1, "{FF0000}[!] {DCDC22}The vehicle sale offer has cancelled because of the player didn't respond.");
  4138. return 1;
  4139. }
  4140.  
  4141. CreatexVehicle(modelid, owner[], price, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2)
  4142. {
  4143. new id = Iter_Free(xVehicles);
  4144.  
  4145. xVehicle[id][xv_Veh] = CreateVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, -1);
  4146.  
  4147. xVeh[xVehicle[id][xv_Veh]] = id;
  4148. xVehicle[id][xv_ModelID] = modelid;
  4149. xVehicle[id][xv_Renk][0] = color1;
  4150. xVehicle[id][xv_Renk][1] = color2;
  4151. xVehicle[id][xv_Paintjob] = -1;
  4152. xVehicle[id][xv_Pos][0] = spawn_x;
  4153. xVehicle[id][xv_Pos][1] = spawn_y;
  4154. xVehicle[id][xv_Pos][2] = spawn_z;
  4155. xVehicle[id][xv_Pos][3] = z_angle;
  4156. format(xVehicle[id][xv_Sahip], 24, "%s", owner);
  4157. xVehicle[id][xv_Fiyat] = price;
  4158. plate_check:
  4159. format(xVehicle[id][xv_Plaka], 8, "%s", CreatePlate());
  4160. foreach(new i : xVehicles) if(!xStrcmp(xVehicle[id][xv_Plaka], xVehicle[i][xv_Plaka])) goto plate_check;
  4161. SetVehicleNumberPlate(xVehicle[id][xv_Veh], xVehicle[id][xv_Plaka]);
  4162. SetVehicleToRespawn(xVehicle[id][xv_Veh]);
  4163. Iter_Add(xVehicles, id);
  4164. new query[256];
  4165. format(query, sizeof(query),"INSERT INTO `xVehicle` (`ID`,`Sahip`,`Fiyat`,`X`,`Y`,`Z`,`A`,`Model`,`Renk1`,`Renk2`,`Plaka`) VALUES ('%d','%s','%d','%f','%f','%f','%f','%d','%d','%d','%s')",
  4166. id, owner, price, spawn_x, spawn_y, spawn_z, z_angle, modelid, color1, color2, xVehicle[id][xv_Plaka]);
  4167. mysql_query(mysqlB, query);
  4168.  
  4169. if(!strlen(xVehicle[id][xv_Sahip]))
  4170. {
  4171. new str[150];
  4172. format(str, sizeof(str), "{00FF00}This Vehicle Is For Sale!\n{FFA500}Vehicle Name: {FFFFFF}%s\n{FFA500}Plate Number: {FFFFFF}%s\n{FFA500}Price: {00FF00}$%d", GetVehicleNameFromModel(xVehicle[id][xv_ModelID]), xVehicle[id][xv_Plaka], xVehicle[id][xv_Fiyat]);
  4173. xVehicle[id][xv_Text] = Create3DTextLabel(str, 0x008080FF, 0.0, 0.0, 0.0, 50.0, 0);
  4174. Attach3DTextLabelToVehicle(xVehicle[id][xv_Text], xVehicle[id][xv_Veh], 0.0, 0.0, 1.0);
  4175. }
  4176. return xVehicle[id][xv_Veh];
  4177. }
  4178.  
  4179. SavexVehicle(xvehid)
  4180. {
  4181. if(xvehid == 0) return 0;
  4182. new query[512];
  4183.  
  4184. mysql_format(mysqlB, query, sizeof(query), "UPDATE `xVehicle` SET Sahip='%e', Fiyat=%d, X=%f, Y=%f, Z=%f, A=%f, HizliPark=%d, Model=%d, Renk1=%d, Renk2=%d, Plaka='%s', PJ=%d, Garajda=%d, Parca1=%d, Parca2=%d, Parca3=%d, Parca4=%d, Parca5=%d, Parca6=%d, Parca7=%d, Parca8=%d, Parca9=%d, Parca10=%d, Parca11=%d, Parca12=%d, Parca13=%d, Parca14=%d WHERE ID=%d",
  4185. xVehicle[xvehid][xv_Sahip], xVehicle[xvehid][xv_Fiyat], xVehicle[xvehid][xv_Pos][0], xVehicle[xvehid][xv_Pos][1], xVehicle[xvehid][xv_Pos][2], xVehicle[xvehid][xv_Pos][3], xVehicle[xvehid][xv_HizliPark], xVehicle[xvehid][xv_ModelID], xVehicle[xvehid][xv_Renk][0], xVehicle[xvehid][xv_Renk][1], xVehicle[xvehid][xv_Plaka], xVehicle[xvehid][xv_Paintjob], xVehicle[xvehid][xv_Garajda],
  4186. xVehicle[xvehid][xv_Parca][0],
  4187. xVehicle[xvehid][xv_Parca][1],
  4188. xVehicle[xvehid][xv_Parca][2],
  4189. xVehicle[xvehid][xv_Parca][3],
  4190. xVehicle[xvehid][xv_Parca][4],
  4191. xVehicle[xvehid][xv_Parca][5],
  4192. xVehicle[xvehid][xv_Parca][6],
  4193. xVehicle[xvehid][xv_Parca][7],
  4194. xVehicle[xvehid][xv_Parca][8],
  4195. xVehicle[xvehid][xv_Parca][9],
  4196. xVehicle[xvehid][xv_Parca][10],
  4197. xVehicle[xvehid][xv_Parca][11],
  4198. xVehicle[xvehid][xv_Parca][12],
  4199. xVehicle[xvehid][xv_Parca][13],
  4200. xvehid);
  4201. mysql_query(mysqlB, query);
  4202. return 1;
  4203. }
  4204.  
  4205. forward LoadxVehicles();
  4206. public LoadxVehicles()
  4207. {
  4208. new rows = cache_num_rows();
  4209. new id, loaded;
  4210. if(rows)
  4211. {
  4212. while(loaded < rows)
  4213. {
  4214. cache_get_value_name_int(loaded, "ID", id);
  4215. cache_get_value_name(loaded, "Sahip", xVehicle[id][xv_Sahip], MAX_PLAYER_NAME);
  4216. cache_get_value_name_int(loaded, "Fiyat", xVehicle[id][xv_Fiyat]);
  4217. cache_get_value_name_float(loaded, "X", xVehicle[id][xv_Pos][0]);
  4218. cache_get_value_name_float(loaded, "Y", xVehicle[id][xv_Pos][1]);
  4219. cache_get_value_name_float(loaded, "Z", xVehicle[id][xv_Pos][2]);
  4220. cache_get_value_name_float(loaded, "A", xVehicle[id][xv_Pos][3]);
  4221. cache_get_value_name_int(loaded, "HizliPark", xVehicle[id][xv_HizliPark]);
  4222. cache_get_value_name_int(loaded, "Model", xVehicle[id][xv_ModelID]);
  4223. cache_get_value_name_int(loaded, "Renk1", xVehicle[id][xv_Renk][0]);
  4224. cache_get_value_name_int(loaded, "Renk2", xVehicle[id][xv_Renk][1]);
  4225. cache_get_value_name(loaded, "Plaka", xVehicle[id][xv_Plaka], 8);
  4226. cache_get_value_name_int(loaded, "Garajda", xVehicle[id][xv_Garajda]);
  4227. cache_get_value_name_int(loaded, "PJ", xVehicle[id][xv_Paintjob]);
  4228. cache_get_value_name_int(loaded, "Parca1", xVehicle[id][xv_Parca][0]);
  4229. cache_get_value_name_int(loaded, "Parca2", xVehicle[id][xv_Parca][1]);
  4230. cache_get_value_name_int(loaded, "Parca3", xVehicle[id][xv_Parca][2]);
  4231. cache_get_value_name_int(loaded, "Parca4", xVehicle[id][xv_Parca][3]);
  4232. cache_get_value_name_int(loaded, "Parca5", xVehicle[id][xv_Parca][4]);
  4233. cache_get_value_name_int(loaded, "Parca6", xVehicle[id][xv_Parca][5]);
  4234. cache_get_value_name_int(loaded, "Parca7", xVehicle[id][xv_Parca][6]);
  4235. cache_get_value_name_int(loaded, "Parca8", xVehicle[id][xv_Parca][7]);
  4236. cache_get_value_name_int(loaded, "Parca9", xVehicle[id][xv_Parca][8]);
  4237. cache_get_value_name_int(loaded, "Parca10", xVehicle[id][xv_Parca][9]);
  4238. cache_get_value_name_int(loaded, "Parca11", xVehicle[id][xv_Parca][10]);
  4239. cache_get_value_name_int(loaded, "Parca12", xVehicle[id][xv_Parca][11]);
  4240. cache_get_value_name_int(loaded, "Parca13", xVehicle[id][xv_Parca][12]);
  4241. cache_get_value_name_int(loaded, "Parca14", xVehicle[id][xv_Parca][13]);
  4242.  
  4243. if(!xVehicle[id][xv_Garajda])
  4244. {
  4245. xVehicle[id][xv_Veh] = CreateVehicle(xVehicle[id][xv_ModelID], xVehicle[id][xv_Pos][0], xVehicle[id][xv_Pos][1], xVehicle[id][xv_Pos][2], xVehicle[id][xv_Pos][3], xVehicle[id][xv_Renk][0], xVehicle[id][xv_Renk][1], -1);
  4246. xVeh[xVehicle[id][xv_Veh]] = id;
  4247. SetVehicleNumberPlate(xVehicle[id][xv_Veh], xVehicle[id][xv_Plaka]);
  4248. SetVehicleToRespawn(xVehicle[id][xv_Veh]);
  4249. }
  4250. Iter_Add(xVehicles, id);
  4251. loaded++;
  4252.  
  4253. if(!strlen(xVehicle[id][xv_Sahip]))
  4254. {
  4255. new str[150];
  4256. format(str, sizeof(str), "{00FF00}This Vehicle Is For Sale!\n{FFA500}Vehicle Name: {FFFFFF}%s\n{FFA500}Plate Number: {FFFFFF}%s\n{FFA500}Price: {00FF00}$%d", GetVehicleNameFromModel(xVehicle[id][xv_ModelID]), xVehicle[id][xv_Plaka], xVehicle[id][xv_Fiyat]);
  4257. xVehicle[id][xv_Text] = Create3DTextLabel(str, 0x008080FF, 0.0, 0.0, 0.0, 50.0, 0);
  4258. Attach3DTextLabelToVehicle(xVehicle[id][xv_Text], xVehicle[id][xv_Veh], 0.0, 0.0, 1.0);
  4259. }
  4260. }
  4261. }
  4262. printf("[xVehicle] %d vehicle loaded.", loaded);
  4263. return 1;
  4264. }
  4265.  
  4266. stock LoadVehicleMod(xid)
  4267. {
  4268. for(new c; c<14; c++) AddVehicleComponent(xVehicle[xid][xv_Veh], xVehicle[xid][xv_Parca][c]);
  4269. ChangeVehiclePaintjob(xVehicle[xid][xv_Veh], xVehicle[xid][xv_Paintjob]);
  4270. return 1;
  4271. }
  4272.  
  4273. stock LoadxVehicleKeys(playerid)
  4274. {
  4275. Iter_Clear(xVehicleKeys<playerid>);
  4276.  
  4277. new query[72];
  4278. mysql_format(mysqlB, query, sizeof(query), "SELECT * FROM xVehicleKeys WHERE Isim='%e'", Isim(playerid));
  4279. mysql_tquery(mysqlB, query, "LoadCarKeys", "i", playerid);
  4280. return 1;
  4281. }
  4282.  
  4283.  
  4284. forward LoadCarKeys(playerid);
  4285. public LoadCarKeys(playerid)
  4286. {
  4287. if(!IsPlayerConnected(playerid)) return 1;
  4288. new rows = cache_num_rows();
  4289. if(rows)
  4290. {
  4291. new loaded, vehid;
  4292. while(loaded < rows)
  4293. {
  4294. cache_get_value_name_int(loaded, "AracID", vehid);
  4295. Iter_Add(xVehicleKeys<playerid>, vehid);
  4296. loaded++;
  4297. }
  4298. }
  4299.  
  4300. return 1;
  4301. }
  4302.  
  4303. stock GetVehiclexIDFromPlate(plate[])
  4304. {
  4305. foreach(new i : xVehicles) if(!xStrcmp(plate, xVehicle[i][xv_Plaka])) return i;
  4306. return 0;
  4307. }
  4308.  
  4309. stock CreatePlate() // Owner: 'KoczkaHUN'
  4310. {
  4311. const len = 7, hyphenpos = 4;
  4312. new plate[len+1];
  4313. for (new i = 0; i < len; i++)
  4314. {
  4315. if (i + 1 == hyphenpos)
  4316. {
  4317. plate[i] = '-';
  4318. continue;
  4319. }
  4320. if (random(2)) plate[i] = 'A' + random(26);
  4321. else plate[i] = '0' + random(10);
  4322. }
  4323. return plate;
  4324. }
  4325.  
  4326. stock IsVehicleFlipped(vehicleid)
  4327. {
  4328. new Float:Quat[2];
  4329. GetVehicleRotationQuat(vehicleid, Quat[0], Quat[1], Quat[0], Quat[0]);
  4330. return (Quat[1] >= 0.60 || Quat[1] <= -0.60);
  4331. }
  4332.  
  4333. stock GetPlayerxVehicleCount(playerid)
  4334. {
  4335. new count;
  4336. foreach(new i : xVehicles)
  4337. {
  4338. if(!xStrcmp(xVehicle[i][xv_Sahip], Isim(playerid))) count++;
  4339. }
  4340. return count;
  4341. }
  4342.  
  4343. stock GetPlayerInGarageVehicleCount(playerid)
  4344. {
  4345. new count;
  4346. foreach(new i : xVehicles)
  4347. {
  4348. if(!xStrcmp(xVehicle[i][xv_Sahip], Isim(playerid)) && xVehicle[i][xv_Garajda]) count++;
  4349. }
  4350. return count;
  4351. }
  4352.  
  4353. stock GetVehicleNameFromModel(modelid)
  4354. {
  4355. new string[64];
  4356. format(string,sizeof(string),"%s",VehicleNames[modelid - 400]);
  4357. return string;
  4358. }
  4359.  
  4360. stock GetVehicleModelIDFromName(vname[])
  4361. {
  4362. for(new i = 0; i < 211; i++)
  4363. {
  4364. if ( strfind(VehicleNames[i], vname, true) != -1 )
  4365. return i + 400;
  4366. }
  4367. return -1;
  4368. }
  4369.  
  4370. stock GetPlayerIDFromName(name[])
  4371. {
  4372. foreach(new i : Player) if(!xStrcmp(Isim(i), name)) return i;
  4373. return INVALID_PLAYER_ID;
  4374. }
  4375.  
  4376. stock xStrcmp(str1[], str2[])
  4377. {
  4378. if(strlen(str1) == strlen(str2) && strcmp(str1, str2) == 0) return 0;
  4379. return 1;
  4380. }
  4381.  
  4382. stock split(const src[], dest[][], const delimiter) // From: wiki.samp [Owner: Kaliber|Kaliber]
  4383. {
  4384. new n_pos,num,old,str[1];
  4385. str[0] = delimiter;
  4386. while(n_pos != -1)
  4387. {
  4388. n_pos = strfind(src,str,false,n_pos+1);
  4389. strmid(dest[num++], src, (!num)?0:old+1,(n_pos==-1)?strlen(src):n_pos,256);
  4390. old=n_pos;
  4391. }
  4392. return 1;
  4393. }
  4394.  
  4395. stock Isim(playerid)
  4396. {
  4397. new ism[24];
  4398. GetPlayerName(playerid, ism, 24);
  4399. return ism;
  4400. }
  4401.  
  4402. stock isNumeric(const string[]) {
  4403. new length=strlen(string);
  4404. if (length==0) return false;
  4405. for (new i = 0; i < length; i++) {
  4406. if (
  4407. (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-'
  4408. || (string[i]=='-' && i!=0) // A '-' but not at first.
  4409. || (string[i]=='+' && i!=0) // A '+' but not at first.
  4410. ) return false;
  4411. }
  4412. if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
  4413. return true;
  4414. }
  4415.  
  4416. stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
  4417. {
  4418. // Created by Y_Less
  4419.  
  4420. new Float:a;
  4421.  
  4422. GetPlayerPos(playerid, x, y, a);
  4423. GetPlayerFacingAngle(playerid, a);
  4424.  
  4425. if (GetPlayerVehicleID(playerid)) {
  4426. GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  4427. }
  4428.  
  4429. x += (distance * floatsin(-a, degrees));
  4430. y += (distance * floatcos(-a, degrees));
  4431. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement