Advertisement
Guest User

Trunk system

a guest
Dec 9th, 2010
918
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.86 KB | None | 0 0
  1. if(strcmp(cmd, "/trunk", true) == 0) // By LordMan
  2. {
  3. if(IsPlayerConnected(playerid))
  4. {
  5. new x_nr[24];
  6. x_nr = strtok(cmdtext, idx);
  7. if(!strlen(x_nr))
  8. {
  9. SendClientMessage(playerid, COLOR_WHITE, "HINT: /trunk [name]");
  10. SendClientMessage(playerid, COLOR_WHITE, "Available names: info, putgun, takegun, putarmour, takearmour");
  11. if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
  12. {
  13. SendClientMessage(playerid, COLOR_WHITE, "You can /trunk frisk as a cop");
  14. }
  15. return 1;
  16. }
  17. if(strcmp(x_nr,"info",true) == 0)
  18. {
  19. new counter = 0;
  20. new result;
  21. new plyName[MAX_PLAYER_NAME];
  22.  
  23. GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  24. for(new i; i != MAX_VEHICLES; i++)
  25. {
  26. new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  27. if(dist)
  28. {
  29. result = i;
  30. counter++;
  31. }
  32. }
  33. switch(counter)
  34. {
  35. case 0:
  36. {
  37. SendClientMessage(playerid, COLOR_GREY, " No cars with trunk near you");
  38. }
  39.  
  40. case 1:
  41. {
  42. if(IsAnOwnableCar(result))
  43. {
  44. if(PlayerInfo[playerid][pPcarkey] == result) { }
  45. else if(PlayerInfo[playerid][pPcarkey2] == result) { }
  46. else
  47. {
  48. SendClientMessage(playerid, COLOR_GREY, " Trunk is locked !");
  49. return 1;
  50. }
  51. }
  52. if(IsPlayerInAnyVehicle(playerid))
  53. {
  54. SendClientMessage(playerid, COLOR_GREY, " You can't open the trunk while you're in the car");
  55. return 1;
  56. }
  57. if(IsAPlane(result) || IsABike(result) || IsAOBike(result) || IsABoat(result) || IsAPizzabike(result) || IsABus(result) || IsATowcar(result) || IsAHarvest(result) || IsADrugHarvest(result) || IsASweeper(result) || result >=78 && result <= 83 || GetVehicleModel(GetPlayerVehicleID(result)) == 523)
  58. {
  59. SendClientMessage(playerid, COLOR_GREY, " This vehicle doesn't have the trunk !");
  60. return 1;
  61. }
  62.  
  63. SendClientMessage(playerid, COLOR_LIGHT_BLUE, "|_______ Vehicle Trunk _______|");
  64. for(new slot = 1; slot != MAX_TRUNK_SLOTS; slot++)
  65. {
  66. new gunname[24];
  67. if(vehTrunk[result][slot] != 0)
  68. {
  69. GetWeaponName(vehTrunk[result][slot], gunname, sizeof(gunname));
  70. format(string, sizeof(string), "| Slot %i: %s (Ammo: %i)", slot, gunname, vehTrunkAmmo[result][slot]);
  71. SendClientMessage(playerid, COLOR_WHITE, string);
  72. }
  73. else
  74. {
  75. format(string, sizeof(string), "| Slot %i: Empty (Ammo: N/A)", slot);
  76. SendClientMessage(playerid, COLOR_WHITE, string);
  77. }
  78. }
  79. format(string, sizeof(string), "| Body armour: %f%", vehTrunkArmour[result]);
  80. SendClientMessage(playerid, COLOR_WHITE, string);
  81. format(string, sizeof(string), "* %s opens the trunk and checks what is inside.", sendername);
  82. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  83. return 1;
  84. }
  85.  
  86. default:
  87. {
  88. SendClientMessage(playerid, COLOR_GREY, " Found more then one car in range");
  89. return 1;
  90. }
  91. }
  92. return 1;
  93. }
  94. else if(strcmp(x_nr,"putgun",true) == 0)
  95. {
  96. new counter = 0;
  97. new result;
  98. new plyName[MAX_PLAYER_NAME];
  99.  
  100. GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  101. for(new i; i != MAX_VEHICLES; i++)
  102. {
  103. new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  104. if(dist)
  105. {
  106. result = i;
  107. counter++;
  108. }
  109. }
  110. switch(counter)
  111. {
  112. case 0:
  113. {
  114. SendClientMessage(playerid, COLOR_GREY, " No cars with trunk near you");
  115. }
  116.  
  117. case 1:
  118. {
  119. if(vehTrunkCounter[result] != (MAX_TRUNK_SLOTS-1))
  120. {
  121. if(IsAnOwnableCar(result))
  122. {
  123. if(PlayerInfo[playerid][pPcarkey] == result) { }
  124. else if(PlayerInfo[playerid][pPcarkey2] == result) { }
  125. else
  126. {
  127. SendClientMessage(playerid, COLOR_GREY, " Trunk is locked !");
  128. return 1;
  129. }
  130. }
  131. if(ReduceTime[playerid] == 1)
  132. {
  133. SendClientMessage(playerid, COLOR_GREY, " You need to wait 3 seconds before using this command !");
  134. return 1;
  135. }
  136. if(IsPlayerInAnyVehicle(playerid))
  137. {
  138. SendClientMessage(playerid, COLOR_GREY, " You can't open the trunk while you're in the car");
  139. return 1;
  140. }
  141. if(IsAPlane(result) || IsABike(result) || IsAOBike(result) || IsABoat(result) || IsAPizzabike(result) || IsABus(result) || IsATowcar(result) || IsAHarvest(result) || IsADrugHarvest(result) || IsASweeper(result) || result >=78 && result <= 83|| GetVehicleModel(GetPlayerVehicleID(result)) == 523)
  142. {
  143. SendClientMessage(playerid, COLOR_GREY, " This vehicle doesn't have the trunk !");
  144. return 1;
  145. }
  146. new buffer[128];
  147. new gunname[24];
  148. new gunID = GetPlayerWeapon(playerid);
  149. new gunAmmo = GetPlayerAmmo(playerid);
  150.  
  151. if(gunID != 0 && gunAmmo != 0)
  152. {
  153. ReduceTime[playerid] = 1;
  154. SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
  155. GetWeaponName(gunID, gunname, sizeof(gunname));
  156. vehTrunkCounter[result]++;
  157. vehTrunk[result][vehTrunkCounter[result]] = gunID;
  158. vehTrunkAmmo[result][vehTrunkCounter[result]] = gunAmmo;
  159. format(buffer, sizeof(buffer), "You have put your %s (Ammo: %i) in the car's trunk.", gunname, gunAmmo);
  160. SendClientMessage(playerid, COLOR_WHITE, buffer);
  161. RemovePlayerWeapon(playerid, gunID);
  162. format(string, sizeof(string), "* %s opens car's trunk and puts a weapon there.", sendername);
  163. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  164. SaveTrunk();
  165. return 1;
  166. }
  167. }
  168. else
  169. {
  170. SendClientMessage(playerid, COLOR_GREY, " Car's trunk is full");
  171. return 1;
  172. }
  173. }
  174.  
  175. default:
  176. {
  177. SendClientMessage(playerid, COLOR_GREY, " Found more then one car in range");
  178. return 1;
  179. }
  180. }
  181. return 1;
  182. }
  183. else if(strcmp(x_nr,"takegun",true) == 0)
  184. {
  185. new counter = 0;
  186. new result;
  187. new plyName[MAX_PLAYER_NAME];
  188.  
  189. GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  190. for(new i; i != MAX_VEHICLES; i++)
  191. {
  192. new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  193. if(dist)
  194. {
  195. result = i;
  196. counter++;
  197. }
  198. }
  199.  
  200. switch(counter)
  201. {
  202. case 0:
  203. {
  204. SendClientMessage(playerid, COLOR_GREY, " No cars with trunk near you");
  205. return 1;
  206. }
  207.  
  208. case 1:
  209. {
  210. if(IsPlayerInAnyVehicle(playerid))
  211. {
  212. SendClientMessage(playerid, COLOR_GREY, " You can't open the trunk while you're in the car");
  213. return 1;
  214. }
  215. if(ReduceTime[playerid] == 1)
  216. {
  217. SendClientMessage(playerid, COLOR_GREY, " You need to wait 3 seconds before using this command !");
  218. return 1;
  219. }
  220. if(IsAnOwnableCar(result))
  221. {
  222. if(PlayerInfo[playerid][pPcarkey] == result) { }
  223. else if(PlayerInfo[playerid][pPcarkey2] == result) { }
  224. else
  225. {
  226. SendClientMessage(playerid, COLOR_GREY, " Trunk is locked !");
  227. return 1;
  228. }
  229. }
  230. if(IsAPlane(result) || IsABike(result) || IsAOBike(result) || IsABoat(result) || IsAPizzabike(result) || IsABus(result) || IsATowcar(result) || IsAHarvest(result) || IsADrugHarvest(result) || IsASweeper(result) || result >=78 && result <= 83 || GetVehicleModel(GetPlayerVehicleID(result)) == 523)
  231. {
  232. SendClientMessage(playerid, COLOR_GREY, " This vehicle doesn't have the trunk !");
  233. return 1;
  234. }
  235. if(vehTrunkCounter[result] != 0)
  236. {
  237. ReduceTime[playerid] = 1;
  238. SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
  239. new buffer[128];
  240. new gunName[100];
  241.  
  242. SafeGivePlayerWeapon(playerid, vehTrunk[result][vehTrunkCounter[result]], vehTrunkAmmo[result][vehTrunkCounter[result]]);
  243. GetWeaponName(vehTrunk[result][vehTrunkCounter[result]], gunName, sizeof(gunName));
  244. format(buffer, sizeof(buffer), "You've taken a %s (Ammo: %i) from the vehicle.", gunName, vehTrunkAmmo[result][vehTrunkCounter[result]]);
  245. SendClientMessage(playerid, COLOR_WHITE, buffer);
  246. vehTrunk[result][vehTrunkCounter[result]] = '\0';
  247. vehTrunkAmmo[result][vehTrunkCounter[result]] = '\0';
  248. vehTrunkCounter[result]--;
  249. format(string, sizeof(string), "* %s opens car's trunk and takes a weapon.", sendername);
  250. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  251. SaveTrunk();
  252. return 1;
  253. }
  254. else
  255. {
  256. SendClientMessage(playerid, COLOR_GREY, " Trunk is empty ! ");
  257. return 1;
  258. }
  259. }
  260.  
  261. default:
  262. {
  263. SendClientMessage(playerid, COLOR_GREY, " Found more then one car in range");
  264. return 1;
  265. }
  266. }
  267. return 1;
  268. }
  269. else if(strcmp(x_nr,"putarmour",true) == 0)
  270. {
  271. new counter = 0;
  272. new result;
  273. new plyName[MAX_PLAYER_NAME];
  274.  
  275. GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  276. for(new i; i != MAX_VEHICLES; i++)
  277. {
  278. new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  279. if(dist)
  280. {
  281. result = i;
  282. counter++;
  283. }
  284. }
  285. switch(counter)
  286. {
  287. case 0:
  288. {
  289. SendClientMessage(playerid, COLOR_GREY, " No cars with trunk near you");
  290. return 1;
  291. }
  292.  
  293. case 1:
  294. {
  295. if(IsPlayerInAnyVehicle(playerid))
  296. {
  297. SendClientMessage(playerid, COLOR_GREY, " You can't open the trunk while you're in the car");
  298. return 1;
  299. }
  300. if(IsAnOwnableCar(result))
  301. {
  302. if(PlayerInfo[playerid][pPcarkey] == result) { }
  303. else if(PlayerInfo[playerid][pPcarkey2] == result) { }
  304. else
  305. {
  306. SendClientMessage(playerid, COLOR_GREY, " Trunk is locked !");
  307. return 1;
  308. }
  309. }
  310. if(IsAPlane(result) || IsABike(result) || IsAOBike(result) || IsABoat(result) || IsAPizzabike(result) || IsABus(result) || IsATowcar(result) || IsAHarvest(result) || IsADrugHarvest(result) || IsASweeper(result) || result >=78 && result <= 83 || GetVehicleModel(GetPlayerVehicleID(result)) == 523)
  311. {
  312. SendClientMessage(playerid, COLOR_GREY, " This vehicle doesn't have the trunk !");
  313. return 1;
  314. }
  315.  
  316. new Float:plyArmour;
  317. GetPlayerArmour(playerid, plyArmour);
  318.  
  319. if(plyArmour != 0)
  320. {
  321. SafeSetPlayerArmour(playerid, 0);
  322. vehTrunkArmour[result] = plyArmour;
  323.  
  324. format(string, sizeof(string), "* %s takes off his/her body armour and puts it into car trunk.", sendername);
  325. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  326. SaveTrunk();
  327. return 1;
  328. }
  329. else
  330. {
  331. SendClientMessage(playerid, COLOR_GREY, " You haven't got any armour ");
  332. return 1;
  333. }
  334. }
  335.  
  336. default:
  337. {
  338. SendClientMessage(playerid, COLOR_GREY, " Found more then one car in range");
  339. return 1;
  340. }
  341. }
  342. return 1;
  343. }
  344. else if(strcmp(x_nr,"takearmour",true) == 0)
  345. {
  346. new counter = 0;
  347. new result;
  348. new plyName[MAX_PLAYER_NAME];
  349.  
  350. GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  351. for(new i; i != MAX_VEHICLES; i++)
  352. {
  353. new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  354. if(dist)
  355. {
  356. result = i;
  357. counter++;
  358. }
  359. }
  360. switch(counter)
  361. {
  362. case 0:
  363. {
  364. SendClientMessage(playerid, COLOR_GREY, " No cars with trunk near you");
  365. return 1;
  366. }
  367.  
  368. case 1:
  369. {
  370. if(IsPlayerInAnyVehicle(playerid))
  371. {
  372. SendClientMessage(playerid, COLOR_GREY, " You can't open the trunk while you're in the car");
  373. return 1;
  374. }
  375. if(IsAnOwnableCar(result))
  376. {
  377. if(PlayerInfo[playerid][pPcarkey] == result) { }
  378. else if(PlayerInfo[playerid][pPcarkey2] == result) { }
  379. else
  380. {
  381. SendClientMessage(playerid, COLOR_GREY, " Trunk is locked !");
  382. return 1;
  383. }
  384. }
  385. if(IsAPlane(result) || IsABike(result) || IsAOBike(result) || IsABoat(result) || IsAPizzabike(result) || IsABus(result) || IsATowcar(result) || IsAHarvest(result) || IsADrugHarvest(result) || IsASweeper(result) || result >=78 && result <= 83 || GetVehicleModel(GetPlayerVehicleID(result)) == 523)
  386. {
  387. SendClientMessage(playerid, COLOR_GREY, " This vehicle doesn't have the trunk !");
  388. return 1;
  389. }
  390. if(vehTrunkArmour[result] != 0)
  391. {
  392. SafeSetPlayerArmour(playerid, vehTrunkArmour[result]);
  393. vehTrunkArmour[result] = 0;
  394.  
  395. format(string, sizeof(string), "* %s takes out the body armour from the trunk and puts it on.", sendername);
  396. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  397. SaveTrunk();
  398. return 1;
  399. }
  400. else
  401. {
  402. SendClientMessage(playerid, COLOR_GREY, " There are no body armour in the trunk ! ");
  403. return 1;
  404. }
  405. }
  406.  
  407. default:
  408. {
  409. SendClientMessage(playerid, COLOR_GREY, " Found more then one car in range");
  410. return 1;
  411. }
  412. }
  413. return 1;
  414. }
  415. else if(strcmp(x_nr,"frisk",true) == 0)
  416. {
  417. if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
  418. {
  419. new counter = 0;
  420. new result;
  421. new plyName[MAX_PLAYER_NAME];
  422.  
  423. GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  424. for(new i; i != MAX_VEHICLES; i++)
  425. {
  426. new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  427. if(dist)
  428. {
  429. result = i;
  430. counter++;
  431. }
  432. }
  433. switch(counter)
  434. {
  435. case 0:
  436. {
  437. SendClientMessage(playerid, COLOR_GREY, " No cars with trunk near you");
  438. }
  439.  
  440. case 1:
  441. {
  442. if(IsPlayerInAnyVehicle(playerid))
  443. {
  444. SendClientMessage(playerid, COLOR_GREY, " You can't open the trunk while you're in the car");
  445. return 1;
  446. }
  447. if(IsAPlane(result) || IsABike(result) || IsAOBike(result) || IsABoat(result) || IsAPizzabike(result) || IsABus(result) || IsATowcar(result) || IsAHarvest(result) || IsADrugHarvest(result) || IsASweeper(result) || result >=78 && result <= 83 || GetVehicleModel(GetPlayerVehicleID(result)) == 523)
  448. {
  449. SendClientMessage(playerid, COLOR_GREY, " This vehicle doesn't have the trunk !");
  450. return 1;
  451. }
  452.  
  453. SendClientMessage(playerid, COLOR_LIGHT_BLUE, "|_______ Vehicle Trunk _______|");
  454. for(new slot = 1; slot != MAX_TRUNK_SLOTS; slot++)
  455. {
  456. new gunname[100];
  457. if(vehTrunk[result][slot] != 0)
  458. {
  459. GetWeaponName(vehTrunk[result][slot], gunname, sizeof(gunname));
  460. format(string, sizeof(string), "| Slot %i: %s (Ammo: %i)", slot, gunname, vehTrunkAmmo[result][slot]);
  461. SendClientMessage(playerid, COLOR_WHITE, string);
  462. }
  463. else
  464. {
  465. format(string, sizeof(string), "| Slot %i: Empty (Ammo: N/A)", slot);
  466. SendClientMessage(playerid, COLOR_WHITE, string);
  467. }
  468. }
  469. format(string, sizeof(string), "| Body armour: %f%", vehTrunkArmour[result]);
  470. SendClientMessage(playerid, COLOR_WHITE, string);
  471. format(string, sizeof(string), "* %s opens the trunk and checks what is inside.", sendername);
  472. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  473. return 1;
  474. }
  475.  
  476. default:
  477. {
  478. SendClientMessage(playerid, COLOR_GREY, " Found more then one car in range");
  479. return 1;
  480. }
  481. }
  482. }
  483. else
  484. {
  485. SendClientMessage(playerid, COLOR_GREY, " You're not the cop ! ");
  486. return 1;
  487. }
  488. return 1;
  489. }
  490. else
  491. {
  492. SendClientMessage(playerid, COLOR_WHITE, "HINT: /trunk [name]");
  493. SendClientMessage(playerid, COLOR_WHITE, "Available names: info, putgun, takegun, putarmour, takearmour");
  494. if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
  495. {
  496. SendClientMessage(playerid, COLOR_WHITE, "You can /trunk frisk as a cop");
  497. }
  498. return 1;
  499. }
  500. }
  501. return 1;
  502. }
  503.  
  504. if(!strcmp(cmdtext, "/windows", true) || !strcmp(cmdtext, "/wi", true)) // By LordMan
  505. {
  506. if(IsPlayerConnected(playerid))
  507. {
  508. if(gPlayerLogged[playerid] == 0)
  509. {
  510. SendClientMessage(playerid, COLOR_GREY, " You need to login first ! ");
  511. return 1;
  512. }
  513. new playercar = GetPlayerVehicleID(playerid);
  514. if(IsPlayerInAnyVehicle(playerid))
  515. {
  516. if(IsModelAPlane(playercar) || IsModelABike(playercar) || IsModelAHeli(playercar) || IsModelABoat(playercar) || IsModelASpecial(playercar))
  517. {
  518. SendClientMessage(playerid, COLOR_GREY, " This vehicle doesn't have the window to roll");
  519. return 1;
  520. }
  521. if(VehicleWindows[playercar] == 0)
  522. {
  523. VehicleWindows[GetPlayerVehicleID(playerid)] = 1;
  524. format(string, sizeof(string), "* %s rolls down the window.", sendername);
  525. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  526. return 1;
  527. }
  528. else if(VehicleWindows[playercar] == 1)
  529. {
  530. VehicleWindows[GetPlayerVehicleID(playerid)] = 0;
  531. format(string, sizeof(string), "* %s rolls up the window.", sendername);
  532. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  533. return 1;
  534. }
  535. new y, m, d;
  536. new h,mi,s;
  537. getdate(y,m,d);
  538. gettime(h,mi,s);
  539. format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /windows",d,m,y,h,mi,s,sendername);
  540. CommandLog(string);
  541. return 1;
  542. }
  543. else
  544. {
  545. SendClientMessage(playerid, COLOR_GREY, " You need to be in the vehicle to use this function !");
  546. return 1;
  547. }
  548. }
  549. return 1;
  550. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement