Advertisement
Guest User

Skripta

a guest
Nov 17th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.02 KB | None | 0 0
  1. CMD:fmembers(playerid, params[])
  2. {
  3. if(!PlayerData[playerid][pFaction])
  4. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in a faction.");
  5.  
  6. ShowFactionMembers(playerid, 1);
  7. return 1;
  8. }
  9.  
  10. CMD:hq(playerid, params[])
  11. {
  12. if(!pLoggedIn[playerid])return true;
  13.  
  14. new string[128], factionid = PlayerData[playerid][pFaction];
  15.  
  16. if( !factionid ) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  17. if( !FactionData[factionid][factionCopPerms] && !FactionData[factionid][factionMedPerms] )
  18. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your faction can't do this.");
  19.  
  20. if(isnull(params)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /hq [text]");
  21.  
  22. format(string, sizeof(string), "HQ: %s %s: %s", ReturnRank(playerid), ReturnName(playerid, 0), params);
  23. SendFactionMessageEx(playerid, COLOR_CYAN, string);
  24.  
  25. FactionNotifyBeep(playerid);
  26.  
  27. return true;
  28. }
  29.  
  30. CMD:swat(playerid, params[])
  31. {
  32. if(!pLoggedIn[playerid])return true;
  33.  
  34. new string[128], factionid = PlayerData[playerid][pFaction];
  35.  
  36. if( !factionid ) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  37. if( !FactionData[factionid][factionCopPerms] )return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Vaša fakcija ovo ne može.");
  38.  
  39. if (!IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[factionid][factionSpawn][0], FactionData[factionid][factionSpawn][1], FactionData[factionid][factionSpawn][2]))
  40. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Niste blizu vašeg faction spawna.");
  41.  
  42. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Moraš biti on-duty, kako bi počeo SWATirat.");
  43.  
  44. SetPlayerSkin(playerid, 285);
  45.  
  46. PauseAntiCheat(playerid);
  47. ArmorGiven[playerid] = 1;
  48.  
  49. SetPlayerArmour(playerid, 200);
  50. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  51.  
  52. format(string, sizeof(string), "** HQ: %s %s is now ready for tactical duty! **", ReturnRank(playerid), ReturnName(playerid, 0));
  53. SendLawMessage(COLOR_COP, string);
  54.  
  55. PlayerData[playerid][pSWATduty] = true;
  56. return true;
  57. }
  58.  
  59. CMD:trace(playerid, params[])
  60. {
  61. if(!pLoggedIn[playerid])return true;
  62.  
  63. new string[128], phone, playerb;
  64.  
  65. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Ne možete koristit ovu karakteristiku.");
  66. if(sscanf(params, "d", phone))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /trace [phone number]");
  67. if(PlayerData[playerid][pIsTracing])return SendClientMessage(playerid, COLOR_ADM, "TRACE:{FFFFFF} Već ste počeli tracing, molimo pričekajte.");
  68.  
  69. playerb = IsValidNumber(phone);
  70. PlayerData[playerid][pTraceNum] = playerb;
  71.  
  72. format(string, sizeof(string), "** HQ: %s %s initiated a trace on 555-%d! **", ReturnRank(playerid), ReturnName(playerid, 0), phone);
  73. SendLawMessage(COLOR_COP, string);
  74.  
  75. PlayerTextDrawShow(playerid, Trace_PTD[playerid][0]);
  76. PlayerTextDrawSetString(playerid, Trace_PTD[playerid][0], "Trace_Initiated");
  77.  
  78. SetTimerEx("TracingSteps", 4000, false, "i", playerid);
  79. PlayerData[playerid][pIsTracing] = true;
  80. return true;
  81. }
  82.  
  83. CMD:ftrace(playerid, params[])return cmd_factiontrace(playerid, params);
  84. CMD:factiontrace(playerid, params[])
  85. {
  86. if(!pLoggedIn[playerid])return true;
  87.  
  88. new string[128], phone, playerb;
  89.  
  90. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Ne možete koristit ovu karakteristiku.");
  91. if(sscanf(params, "d", phone))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /factiontrace [phone number]");
  92. if(PlayerData[playerid][pIsTracing])return SendClientMessage(playerid, COLOR_ADM, "TRACE:{FFFFFF} Već ste počeli tracing, molimo pričekajte.");
  93.  
  94. playerb = IsValidNumber(phone);
  95. PlayerData[playerid][pTraceNum] = playerb;
  96.  
  97. format(string, sizeof(string), "** HQ: %s %s initiated a wide-trace on 555-%d! **", ReturnRank(playerid), ReturnName(playerid, 0), phone);
  98. SendLawMessage(COLOR_COP, string);
  99.  
  100. PlayerTextDrawShow(playerid, Trace_PTD[playerid][0]);
  101. PlayerTextDrawSetString(playerid, Trace_PTD[playerid][0], "Trace_Initiated");
  102.  
  103. SetTimerEx("TracingSteps", 4000, false, "i", playerid);
  104. PlayerData[playerid][pIsTracing] = 2;
  105. return true;
  106. }
  107.  
  108. CMD:apb(playerid, params[])
  109. {
  110. if(!pLoggedIn[playerid])return true;
  111. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Ne možete koristit ovu karakteristiku.");
  112.  
  113. new string[128], sub_string[128];
  114.  
  115. if(sscanf(params, "s[128]S()[128]", string, sub_string))
  116. {
  117. SendClientMessage(playerid, COLOR_ADM, "___________________________________");
  118. SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb [action]");
  119. SendClientMessage(playerid, COLOR_ADM, "[Display] /apb display");
  120. SendClientMessage(playerid, COLOR_ADM, "[Details] /apb details [number]");
  121. SendClientMessage(playerid, COLOR_ADM, "[Clear] /apb clear [number]");
  122. SendClientMessage(playerid, COLOR_ADM, "[Modify] /apb modify [number] [text]");
  123. SendClientMessage(playerid, COLOR_ADM, "[Create] /apb create [suspect]//[charges]");
  124. SendClientMessage(playerid, COLOR_ADM, "[Example] /apb create John Doe, Red Sentinel // Murder");
  125. SendClientMessage(playerid, COLOR_ADM, "___________________________________");
  126. return true;
  127. }
  128.  
  129. if(!strcmp(string, "display")){
  130. format(string, sizeof(string), "___________All Point Bulletins(%d)_________", CountAllBulletins());
  131. SendClientMessage(playerid, COLOR_ADM, string);
  132.  
  133. for(new i = 1; i < MAX_APBS; i++)
  134. {
  135. if(APBData[i][bulletinExists])
  136. {
  137. format(string, sizeof(string), "%d. APB: %s", i, APBData[i][bulletinDetails]);
  138. SendClientMessage(playerid, COLOR_ADM, string);
  139. }
  140. }
  141.  
  142. SendClientMessage(playerid, COLOR_ADM, "_______________________________________");
  143. }
  144. else if(!strcmp(string, "details")){
  145. new number;
  146.  
  147. if(sscanf(sub_string, "d", number))
  148. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb details [number]");
  149.  
  150. if(!APBData[number][bulletinExists])return SendClientMessage(playerid, COLOR_ADM, "SERVER: Ovdje nema APB-a.");
  151.  
  152. format(string, sizeof(string), "___________All Point Bulletin Number %d_________", number);
  153. SendClientMessage(playerid, COLOR_ADM, string);
  154.  
  155. format(string, sizeof(string), "APB: %s", APBData[number][bulletinDetails]);
  156. SendClientMessage(playerid, COLOR_ADM, string);
  157.  
  158. format(string, sizeof(string), "___________ISSUED BY: %s_________", APBData[number][bulletinBy]);
  159. SendClientMessage(playerid, COLOR_ADM, string);
  160. }
  161. else if(!strcmp(string, "clear")){
  162. new number;
  163.  
  164. if(sscanf(sub_string, "d", number))
  165. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb clear [number]");
  166.  
  167. if(!APBData[number][bulletinExists])return SendClientMessage(playerid, COLOR_ADM, "SERVER: Ovdje nema APB-a.");
  168.  
  169. format(string, sizeof(string), "%s %s cleared All Points Bulletin number %d!", ReturnRank(playerid), ReturnName(playerid, 0), number);
  170. SendLawMessage(COLOR_ADM, string);
  171.  
  172. APBData[number][bulletinExists] = false;
  173. APBData[number][bulletinID] = 0;
  174. format(APBData[number][bulletinDetails], 128, " ");
  175. }
  176. else if(!strcmp(string, "modify")){
  177. new number, newtext[128];
  178.  
  179. if(sscanf(sub_string, "ds[128]", number, newtext))
  180. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb modify [number] [text]");
  181.  
  182. if(!APBData[number][bulletinExists])return SendClientMessage(playerid, COLOR_ADM, "SERVER Ovdje nema APB-a.");
  183. if(number > MAX_APBS || number < 1)return SendClientMessage(playerid, COLOR_ADM, "SERVER: Ovdje nema APB-a.");
  184.  
  185. format(APBData[number][bulletinDetails], 128, "%s", newtext);
  186. format(APBData[number][bulletinBy], 128, "%s", ReturnName(playerid, 1));
  187.  
  188. format(string, sizeof(string), "%s %s modified All Points Bulletin number %d!", ReturnRank(playerid), ReturnName(playerid, 0), number);
  189. SendLawMessage(COLOR_ADM, string);
  190. }
  191. else if(!strcmp(string, "create")){
  192. new text[128], new_id;
  193.  
  194. if(sscanf(sub_string, "s[128]", text))
  195. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb create [text]");
  196.  
  197. for(new i = 1; i < MAX_APBS; i++)
  198. {
  199. if(!APBData[i][bulletinExists])
  200. {
  201. new_id = i;
  202. break;
  203. }
  204. }
  205.  
  206. if(new_id == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} There are one too many APBs right now.");
  207.  
  208. APBData[new_id][bulletinID] = new_id;
  209. APBData[new_id][bulletinExists] = true;
  210. format(APBData[new_id][bulletinDetails], 128, "%s", text);
  211. format(APBData[new_id][bulletinBy], 128, "%s", ReturnName(playerid, 1));
  212.  
  213. format(string, sizeof(string), "%s %s added a new All Points Bulletin ( /apb details %d )!", ReturnRank(playerid), ReturnName(playerid, 0), new_id);
  214. SendLawMessage(COLOR_ADM, string);
  215. }
  216.  
  217. return true;
  218. }
  219.  
  220. CMD:togcolor(playerid, params[])
  221. {
  222. if(!pLoggedIn[playerid])return true;
  223. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Ne možete koristit to trenutno.");
  224.  
  225. if(PlayerData[playerid][pTogColor])
  226. {
  227. SetPlayerColor(playerid, COLOR_COP);
  228. SendClientMessage(playerid, COLOR_YELLOW, "-> Vaša boja je vraćena.");
  229.  
  230. PlayerData[playerid][pTogColor] = false;
  231. }
  232. else
  233. {
  234. SetPlayerColor(playerid, COLOR_WHITE);
  235. SendClientMessage(playerid, COLOR_YELLOW, "-> Vasa boje ja sada bela. Izgledace kao da ste van duznosti..");
  236.  
  237. PlayerData[playerid][pTogColor] = true;
  238. }
  239.  
  240. return true;
  241. }
  242.  
  243. CMD:gov(playerid, params[])
  244. {
  245. new factionid = PlayerData[playerid][pFaction], string[128];
  246.  
  247. if(!FactionData[factionid][factionCopPerms] && !FactionData[factionid][factionMedPerms])
  248. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Nemate permisiju da koristite ovu komandu.");
  249.  
  250. if(PlayerData[playerid][pFactionRank] > FactionData[factionid][factionEditrank])
  251. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Vaš rank nema permisije za ovu komandu.");
  252.  
  253. if(isnull(params))
  254. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /gov [text]");
  255.  
  256. if(strlen(params) > 80)
  257. {
  258. format(string, sizeof(string), "[Government Announcement] %.80s", params);
  259. SendClientMessageToAll(COLOR_COP, string);
  260. format(string, sizeof(string), "[Government Announcement] ...%s", params[80]);
  261. SendClientMessageToAll(COLOR_COP, string);
  262. }
  263. else
  264. {
  265. format(string, sizeof(string), "[Government Announcement] %s", params);
  266. SendClientMessageToAll(COLOR_COP, string);
  267. }
  268.  
  269. format(string, sizeof(string), "Announcement by %s[ID: %i]", ReturnName(playerid, 1), playerid);
  270. SendAdminMessage(COLOR_YELLOW, string);
  271.  
  272. return true;
  273. }
  274.  
  275. CMD:factionbank(playerid, params[])
  276. {
  277. if(!IsLAWFaction(playerid))
  278. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Your faction doesn't have a bank.");
  279.  
  280. new
  281. factionid = PlayerData[playerid][pFaction];
  282.  
  283. if(PlayerData[playerid][pFactionRank] > FactionData[factionid][factionEditrank])
  284. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Vaš rank nema permisije za ovu komandu.");
  285.  
  286. new specifier[60], method[30];
  287.  
  288. if(sscanf(params, "s[60]S()[30]", specifier, method))
  289. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /factionbank [deposit/withdraw/balance]");
  290.  
  291. if(!strcmp(specifier, "deposit"))
  292. {
  293. new
  294. quantity;
  295.  
  296. if(sscanf(method, "i", quantity))
  297. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /factionbank deposit [quantity]");
  298.  
  299. if(quantity > PlayerData[playerid][pMoney] || quantity < 1)
  300. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have that quantity.");
  301.  
  302. GiveMoney(playerid, -quantity);
  303. FactionData[factionid][factionBank]+= quantity;
  304.  
  305. Message(playerid, COLOR_ACTION, "You deposited $%s into the %s's bank! (%s)", MoneyFormat(quantity), ReturnFactionName(factionid), ReturnDateEx());
  306. }
  307. else if(!strcmp(specifier, "withdraw"))
  308. {
  309. new
  310. quantity;
  311.  
  312. if(PlayerData[playerid][pFactionRank] != 1)
  313. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Only your factions Rank 1 can withdraw.");
  314.  
  315. if(sscanf(method, "i", quantity))
  316. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /factionbank withdraw [quantity]");
  317.  
  318. if(quantity > FactionData[factionid][factionBank] || quantity < 1)
  319. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have that much in the bank.");
  320.  
  321. GiveMoney(playerid, quantity);
  322. FactionData[factionid][factionBank]-= quantity;
  323.  
  324. Message(playerid, COLOR_ACTION, "You withdrew $%s from the %s's bank. (%s)", MoneyFormat(quantity), ReturnFactionName(factionid), ReturnDateEx());
  325. }
  326. else if(!strcmp(specifier, "balance"))
  327. return Message(playerid, COLOR_ACTION, "The %s has: $%s in their bank. (%s)", ReturnFactionName(factionid), MoneyFormat(FactionData[factionid][factionBank]), ReturnDateEx());
  328.  
  329. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Nevazeca opcija.");
  330. return 1;
  331. }
  332.  
  333. CMD:take(playerid, params[])
  334. {
  335. if(!PlayerData[playerid][pLAWduty])
  336. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Niste ovlasteni.");
  337.  
  338. new playerb, specifier[90], b_string[128], string[128];
  339.  
  340. if(sscanf(params, "us[90]S()[128]", playerb, specifier, b_string))
  341. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /take [playerid OR name] [weapons, license, drugs]");
  342.  
  343. if(!IsPlayerConnected(playerb))
  344. return SendClientMessage(playerid, COLOR_ADM, Specifirali ste pogrešnog igrača.");
  345.  
  346. if(!pLoggedIn[playerb])
  347. return SendClientMessage(playerid, COLOR_ADM, "Taj igrac nije ulogovan..");
  348.  
  349. if(!strcmp(specifier, "weapons"))
  350. {
  351. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Morate biti blize tom igracu.");
  352.  
  353. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s took %s's weapons!", ReturnRank(playerid), ReturnName(playerid, 0), ReturnName(playerb, 0));
  354. ClearPlayerWeapons(playerb, 0);
  355.  
  356. format(string, sizeof string, "Took %s's weapons", ReturnName(playerb));
  357. LogPlayerAction(playerid, string);
  358.  
  359. format(string, sizeof string, "Weapons taken by %s", ReturnName(playerid));
  360. LogPlayerAction(playerb, string);
  361.  
  362. printf("[Debug] %s took %s's weapons with /take.", ReturnName(playerid), ReturnName(playerb));
  363. }
  364. else if(!strcmp(specifier, "license"))
  365. {
  366. new lictype[90];
  367.  
  368. if(sscanf(b_string, "s[90]", lictype))
  369. return SendClientMessage(playerid, COLOR_ADM, "CMD: /take [playerid OR name] license [driver, weapons]");
  370.  
  371. if(!strcmp(b_string, "driver"))
  372. {
  373. format(string, sizeof(string), "** HQ Announcement: %s %s revoked %s's driver's license! **", ReturnRank(playerid), ReturnName(playerid, 1), ReturnName(playerb, 1));
  374. SendLawMessage(COLOR_COP, string);
  375.  
  376. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s took %s's driver's license!", ReturnRank(playerid), ReturnName(playerid, 0), ReturnName(playerb, 0));
  377. PlayerData[playerb][pDriversLicense] = false;
  378.  
  379. // Log later.
  380. }
  381. else if(!strcmp(b_string, "weapons"))
  382. {
  383. format(string, sizeof(string), "** HQ Announcement: %s %s revoked %s's weapons license! **", ReturnRank(playerid), ReturnName(playerid, 1), ReturnName(playerb, 1));
  384. SendLawMessage(COLOR_COP, string);
  385.  
  386. format(string, sizeof(string), "-> %s %s revoked your weapons license.", ReturnRank(playerid), ReturnName(playerid, 1));
  387. SendClientMessage(playerb, COLOR_YELLOW, string);
  388.  
  389. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s took %s's weapons license!", ReturnRank(playerid), ReturnName(playerid, 0), ReturnName(playerb, 0));
  390. PlayerData[playerb][pWeaponsLicense] = false;
  391.  
  392. // Log later.
  393. }
  394. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Nevazeca opcija.");
  395. }
  396. else if(!strcmp(specifier, "drugs"))
  397. {
  398. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s took %s's drugs.", ReturnRank(playerid), ReturnName(playerid, 0), ReturnName(playerb, 0));
  399. printf("[Debug] %s took %s's drugs with /take.", ReturnName(playerid), ReturnName(playerb));
  400.  
  401. format(string, sizeof string, "Took %s's drugs", ReturnName(playerb));
  402. LogPlayerAction(playerid, string);
  403.  
  404. format(string, sizeof string, "Drugs taken by %s", ReturnName(playerid));
  405. LogPlayerAction(playerb, string);
  406.  
  407. for(new i = 1; i < MAX_PLAYER_DRUGS; i++)
  408. {
  409. DrugData[playerb][drugType][i] = 0;
  410. DrugData[playerb][drugQuanity][i] = 0;
  411. }
  412.  
  413. return 1;
  414. }
  415. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Nevazeca opcija.");
  416. return true;
  417. }
  418.  
  419. CMD:grantpf(playerid, params[])
  420. {
  421. if(!pLoggedIn[playerid])return true;
  422.  
  423. if(!PlayerData[playerid][pLAWduty])
  424. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} Niste ovlasteni.");
  425.  
  426. new playerb, string[128];
  427.  
  428. if(sscanf(params, "u", playerb))
  429. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /grantpf [playerid/DioImena]");
  430.  
  431. if(!IsPlayerConnected(playerb))
  432. return SendClientMessage(playerid, COLOR_ADM, "Specifirali ste pogrešnog igrača.");
  433.  
  434. if(!pLoggedIn[playerb])
  435. return SendClientMessage(playerid, COLOR_ADM, "Taj igrac nije ulogovan..");
  436.  
  437.  
  438. if(PlayerData[playerb][pWeaponsLicense])
  439. return SendClientMessage(playerid, COLOR_GREY, "Osoba već ima licencu za oružje.");
  440.  
  441. PlayerData[playerb][pWeaponsLicense] = true;
  442.  
  443. format(string, sizeof(string), "-> %s %s granted you a weapons license.", ReturnRank(playerid), ReturnName(playerid, 1));
  444. SendClientMessage(playerb, COLOR_YELLOW, string);
  445.  
  446. format(string, sizeof(string), "** HQ Announcement: %s %s granted %s a weapons license! **", ReturnRank(playerid), ReturnName(playerid, 1), ReturnName(playerb, 1));
  447. SendLawMessage(COLOR_COP, string);
  448.  
  449. format(string, sizeof(string), "%s gave a PF license to %s", ReturnName(playerid, 1), ReturnName(playerb, 1));
  450. adminWarn(4, string);
  451.  
  452. // Log it later.
  453. return true;
  454. }
  455.  
  456. CMD:siren(playerid, params[])
  457. {
  458. if(!IsPlayerInAnyVehicle(playerid))
  459. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Niste u vozilu.");
  460.  
  461. if(!IsLAWFaction(playerid))
  462. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFF} You aren't authorized to use this command.");
  463.  
  464. new vehicleid = GetPlayerVehicleID(playerid);
  465.  
  466. if (!FactionCar[vehicleid][carSirenOn])
  467. {
  468. new
  469. model = GetVehicleModel(vehicleid),
  470. preset = -1;
  471.  
  472. for(new i = 0; i < sizeof(g_SirenPresets); i++)
  473. {
  474. if(model == g_SirenPresets[i][SirenForModel])
  475. {
  476. preset = i;
  477. }
  478. }
  479. if(preset == -1) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Sirene nisu kompatibilne za ovo vozilo!");
  480.  
  481. FactionCar[vehicleid][carSirenObject] = CreateDynamicObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 20.0);
  482. AttachDynamicObjectToVehicle(FactionCar[vehicleid][carSirenObject], vehicleid, g_SirenPresets[preset][PosX], g_SirenPresets[preset][PosY], g_SirenPresets[preset][PosZ], 0.0, 0.0, 0.0);
  483.  
  484. FactionCar[vehicleid][carSirenOn] = true;
  485. GameTextForPlayer(playerid, "~g~SIREN IS ON", 3000, 4);
  486. }
  487. else
  488. {
  489. DestroyDynamicObject(FactionCar[vehicleid][carSirenObject]);
  490. FactionCar[vehicleid][carSirenOn] = false;
  491.  
  492. GameTextForPlayer(playerid, "~r~SIREN IS OFF", 3000, 4);
  493. }
  494.  
  495. return true;
  496. }
  497.  
  498. CMD:badge(playerid, params[])
  499. {
  500. new playerb, string[128];
  501.  
  502. if (sscanf(params, "u", playerb))
  503. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /badge [playerid/DioImena]");
  504.  
  505. if (!IsPlayerConnected(playerb))
  506. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Taj igrac nije konektovan.");
  507.  
  508. if (!pLoggedIn[playerb])
  509. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Taj igrac nije ulogovan.");
  510.  
  511. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5))
  512. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player to show your badge.");
  513.  
  514. if (!PlayerData[playerid][pFaction])
  515. return SendClientMessage(playerid, COLOR_ADM, "Niste ni u jednoj od law fakcija.");
  516.  
  517. if (!FactionData[PlayerData[playerid][pFaction]][factionCopPerms] && !FactionData[PlayerData[playerid][pFaction]][factionMedPerms])
  518. return SendClientMessage(playerid, COLOR_ADM, "Vi nemate badge.");
  519.  
  520. if (playerb == playerid)
  521. {
  522. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s looks at their badge.", ReturnName(playerid, 0));
  523. }
  524. else
  525. {
  526. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s shows %s their badge.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  527. }
  528.  
  529. SendClientMessage(playerb, COLOR_COP, "______________________________________");
  530. format (string, sizeof(string), " Name: %s", ReturnNameLetter(playerid));
  531. SendClientMessage(playerb, COLOR_GRAD2, string);
  532.  
  533. format (string, sizeof(string), " Rank: %s", ReturnRank(playerid));
  534. SendClientMessage(playerb, COLOR_GRAD2, string);
  535.  
  536. format (string, sizeof(string), " Agency: %s", ReturnFactionName(PlayerData[playerid][pFaction]));
  537. SendClientMessage(playerb, COLOR_GRAD2, string);
  538.  
  539. format (string, sizeof(string), " Badge Number: #%d", ReturnBadgeNumber(playerid));
  540. SendClientMessage(playerb, COLOR_GRAD2, string);
  541.  
  542. SendClientMessage(playerb, COLOR_COP, "______________________________________");
  543. return true;
  544. }
  545.  
  546. CMD:carsign(playerid, params[])
  547. {
  548. if (!IsLAWFaction(playerid))
  549. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFFF} You aren't authorized to use this.");
  550.  
  551. if(!IsPlayerInAnyVehicle(playerid))
  552. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Niste u vozilu.");
  553.  
  554. new vehicleid = GetPlayerVehicleID(playerid);
  555.  
  556. if (!IsValidFactionCar(vehicleid))
  557. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Možete jedino postavit carsign na vozila od fakcije.");
  558.  
  559. if (isnull(params))
  560. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /carsign [carsign text]");
  561.  
  562. if(strlen(params) < 2 || strlen(params) >= 50)
  563. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your text must be greater than 1 character and less than 50.");
  564.  
  565. if (!FactionCar[vehicleid][carHasCallsign])
  566. {
  567. FactionCar[vehicleid][carHasCallsign] = true;
  568. SendClientMessage(playerid, COLOR_ADM, "/remove_carsign to remove the carsign. Added.");
  569.  
  570. format(FactionCar[vehicleid][carsCallsignText], 90, "%s", params);
  571. FactionCar[vehicleid][carsCallsign] = CreateDynamic3DTextLabel(params, 0xFFFFFFFF, -0.7, -1.9, -0.3, 25.0, .attachedvehicle = GetPlayerVehicleID(playerid));
  572. }
  573. else
  574. {
  575. DestroyDynamic3DTextLabel(FactionCar[vehicleid][carsCallsign]);
  576.  
  577. format(FactionCar[vehicleid][carsCallsignText], 90, "%s", params);
  578. FactionCar[vehicleid][carsCallsign] = CreateDynamic3DTextLabel(params, 0xFFFFFFFF, -0.7, -1.9, -0.3, 25.0, .attachedvehicle = GetPlayerVehicleID(playerid));
  579. }
  580.  
  581. printf("[DEBUG] %s created 3DText Carsign with vehicleid %d. Text: %s", ReturnName(playerid), vehicleid, params);
  582. return true;
  583. }
  584.  
  585. CMD:remove_carsign(playerid, params[])
  586. {
  587. if (!IsLAWFaction(playerid))
  588. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFFF} You aren't authorized to use this.");
  589.  
  590. if(!IsPlayerInAnyVehicle(playerid))
  591. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Niste u vozilu.");
  592.  
  593. new vehicleid = GetPlayerVehicleID(playerid);
  594.  
  595. if (!IsValidFactionCar(vehicleid))
  596. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Možete jedino odstranit carsign sa faction vozila.");
  597.  
  598. if (!FactionCar[vehicleid][carHasCallsign])
  599. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This vehicle isn't using a carsign.");
  600.  
  601. DestroyDynamic3DTextLabel(FactionCar[vehicleid][carsCallsign]);
  602. FactionCar[vehicleid][carHasCallsign] = false;
  603.  
  604. SendClientMessage(playerid, COLOR_ADM, "Carsign je obrisan, da bi ga vratili ukucajte /carsign ponovo");
  605. return true;
  606. }
  607.  
  608. CMD:impound(playerid, params[])
  609. {
  610. if (!IsPoliceFaction(playerid))
  611. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFFF} You aren't authorized to use this.");
  612.  
  613. if(!PlayerData[playerid][pLAWduty])
  614. return SendClientMessage(playerid, COLOR_ADM, "PRISTUP ODBIJEN:{FFFFFFF} You aren't authorized to use this.");
  615.  
  616. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  617. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Niste u vozilu");
  618.  
  619. new
  620. vehicleid = GetPlayerVehicleID(playerid),
  621. string[128]
  622. ;
  623.  
  624. if(!IsValidPlayerCar(vehicleid) || IsValidRentalCar(vehicleid) || IsValidFactionCar(vehicleid))
  625. return SendClientMessage(playerid, COLOR_ADM, "Ovo vozilo ne možete impoundat.");
  626.  
  627. if(!IsPlayerInDynamicArea(playerid, ImpoundLotArea))
  628. return SendClientMessage(playerid, COLOR_ADM, "Niste u prostoru za impound");
  629.  
  630. GetPlayerPos(playerid, CarData[vehicleid][carImpoundPos][0], CarData[vehicleid][carImpoundPos][1], CarData[vehicleid][carImpoundPos][2]);
  631. CarData[vehicleid][carImpounded] = true;
  632.  
  633. SaveCar(vehicleid);
  634.  
  635. format(string, sizeof(string), "You impounded %s's %s.", ReturnSQLName(CarData[vehicleid][carOwnerID]), ReturnVehicleName(vehicleid));
  636. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  637.  
  638. foreach(new i : Player) if(PlayerData[i][pSQLID] == CarData[vehicleid][carOwnerID])
  639. {
  640. format(string, sizeof(string), "Vas %s je impoundovan od strane %s.", ReturnVehicleName(vehicleid), ReturnName(playerid, 1));
  641. SendClientMessage(i, COLOR_DARKGREEN, string);
  642. }
  643. return 1;
  644. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement